Содействующие оценки для моделей, описанных в Линейной регрессии, полагаются на независимость образцовых условий. Когда условия коррелируются и столбцы матрицы проекта, X имеет аппроксимированную линейную зависимость, матрица (X T X) –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
изменяет знак в значении гребенчатого параметра .