Оценки коэффициентов для моделей, описанных в Linear Regression, основаны на независимости членов модели. Когда условия коррелируются, и столбцы матрицы проекта X иметь приблизительную линейную зависимость, матрица (XTX)–1 становится близкой к сингулярной. В результате оценка методом наименьших квадратов
становится высокочувствительным к случайным ошибкам в наблюдаемой y отклика, создавая большое отклонение. Такая ситуация multicollinearity может возникнуть, например, когда данные собираются без экспериментального проекта.
Ridge regression решает проблему путем оценки коэффициентов регрессии с помощью
где k - ridge parameter, а I - тождества матрица. Небольшие положительные значения k улучшают обусловленность задачи и уменьшают отклонение оценок. Несмотря на смещение, уменьшенное отклонение оценок гребня часто приводит к меньшей средней квадратной ошибке по сравнению с оценками методом наименьших квадратов.
Функция Statistics and Machine Learning Toolbox™ ridge
осуществляет регрессию гребня.
Этот пример показывает, как выполнить регрессию гребня.
Загрузите данные в acetylene.mat
, с наблюдениями переменных предиктора x1
, x2
, x3
и переменной отклика y
.
load acetylene
Постройте график переменных предиктора друг против друга.
subplot(1,3,1) plot(x1,x2,'.') xlabel('x1') ylabel('x2') grid on axis square subplot(1,3,2) plot(x1,x3,'.') xlabel('x1') ylabel('x3') grid on axis square subplot(1,3,3) plot(x2,x3,'.') xlabel('x2') ylabel('x3') grid on axis square
Обратите внимание на корреляцию между x1
и другие две переменные предиктора.
Использование ridge
и x2fx
вычислить оценки коэффициентов для многолинейной модели с терминами взаимодействия, для области значений параметров гребня.
X = [x1 x2 x3]; D = x2fx(X,'interaction'); D(:,1) = []; % No constant term k = 0:1e-5:5e-3; betahat = ridge(y,D,k);
Постройте график трассировки гребня.
figure plot(k,betahat,'LineWidth',2) ylim([-100 100]) grid on xlabel('Ridge Parameter') ylabel('Standardized Coefficient') title('{\bf Ridge Trace}') legend('x1','x2','x3','x1x2','x1x3','x2x3')
Оценки стабилизируются справа от графика. Обратите внимание, что коэффициент x2x3
термин взаимодействия изменяет знак на значении параметра хребта .
fitrlinear
| lasso
| lassoglm
| lassoPlot
| ridge