Оценки коэффициентов для моделей, описанных в линейной регрессии, основаны на независимости членов модели. Когда члены коррелируются и столбцы конструктивной матрицы X имеют аппроксимированную линейную зависимость, матрица (XTX) -1 становится близкой к сингулярной. В результате оценка наименьших квадратов
1XTy
становится очень чувствительным к случайным ошибкам в наблюдаемом ответе y, создавая большую дисперсию. Такая ситуация мультиколлинеарности может возникнуть, например, когда данные собираются без экспериментальной схемы.
Риджевая регрессия решает проблему, оценивая коэффициенты регрессии с использованием
− 1XTy
где k - параметр гребня, а I - единичная матрица. Небольшие положительные значения k улучшают кондиционирование проблемы и уменьшают дисперсию оценок. Несмотря на смещение, уменьшенная дисперсия оценок гребня часто приводит к меньшей среднеквадратической ошибке по сравнению с оценками наименьших квадратов.
Функция 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