exponenta event banner

горный хребет

Регрессия хребта

Описание

пример

B = ridge(y,X,k) возвращает оценки коэффициентов для моделей регрессии гребня данных предиктора X и ответ y. Каждый столбец B соответствует конкретному параметру гребня k. По умолчанию функция вычисляет B после центрирования и масштабирования предикторов, чтобы они имели среднее значение 0 и стандартное отклонение 1. Поскольку модель не включает постоянный член, не добавляйте столбец 1 в X.

пример

B = ridge(y,X,k,scaled) задает масштаб для оценок коэффициентов в B. Когда scaled является 1 (по умолчанию), ridge не восстанавливает коэффициенты к исходной шкале данных. Когда scaled является 0, ridge восстанавливает коэффициенты в масштабе исходных данных. Дополнительные сведения см. в разделе Масштабирование коэффициентов.

Примеры

свернуть все

Выполните регрессию гребня для диапазона параметров гребня и наблюдайте, как изменяются оценки коэффициента.

Загрузить acetylene набор данных.

load acetylene

acetylene содержит наблюдения для переменных предиктора x1, x2, и x3и переменная ответа y.

Постройте график переменных предиктора относительно друг друга. Наблюдайте любую корреляцию между переменными.

plotmatrix([x1 x2 x3])

MATLAB figure

Например, обратите внимание на линейную корреляцию между x1 и x3.

Вычисляют оценки коэффициентов для многолинейной модели с терминами взаимодействия, для диапазона параметров гребня. Использовать x2fx для создания терминов взаимодействия и ridge для выполнения регрессии гребня.

X = [x1 x2 x3];
D = x2fx(X,'interaction');
D(:,1) = []; % No constant term
k = 0:1e-5:5e-3;
B = ridge(y,D,k);

Постройте след хребта.

figure
plot(k,B,'LineWidth',2)
ylim([-100 100])
grid on 
xlabel('Ridge Parameter') 
ylabel('Standardized Coefficient') 
title('Ridge Trace') 
legend('x1','x2','x3','x1x2','x1x3','x2x3')

Figure contains an axes. The axes with title Ridge Trace contains 6 objects of type line. These objects represent x1, x2, x3, x1x2, x1x3, x2x3.

Оценки стабилизируются справа от участка. Обратите внимание, что коэффициент x2x3 признак изменения члена взаимодействия при значении параметра ≈5*10-4 гребня.

Прогнозирование значений миль на галлон (MPG) с использованием регрессии хребта.

Загрузить carbig набор данных.

load carbig
X = [Acceleration Weight Displacement Horsepower];
y = MPG;

Разбейте данные на обучающие и тестовые наборы.

n = length(y);
rng('default') % For reproducibility
c = cvpartition(n,'HoldOut',0.3);
idxTrain = training(c,1);
idxTest = ~idxTrain;

Найдите коэффициенты регрессионной модели гребня (с k = 5).

k = 5;
b = ridge(y(idxTrain),X(idxTrain,:),k,0);

Предсказать MPG значения для тестовых данных с использованием модели.

yhat = b(1) + X(idxTest,:)*b(2:end);

Сравните прогнозируемые значения с фактическими значениями миль на галлон (MPG) с помощью ссылочной линии.

scatter(y(idxTest),yhat)
hold on
plot(y(idxTest),y(idxTest))
xlabel('Actual MPG')
ylabel('Predicted MPG')
hold off

Figure contains an axes. The axes contains 2 objects of type scatter, line.

Входные аргументы

свернуть все

Данные ответа, указанные как n-by-1 числовой вектор, где n - количество наблюдений.

Типы данных: single | double

Данные предиктора, заданные как n-за-p-числовая матрица. Строки X соответствуют n наблюдениям и столбцам X соответствуют p предикторам.

Типы данных: single | double

Параметры гребня, заданные как числовой вектор.

Пример: [0.2 0.3 0.4 0.5]

Типы данных: single | double

Флаг масштабирования, определяющий, оценивает ли коэффициент в B восстанавливаются в масштабе исходных данных, указанных как 0 или 1. Если scaled является 0, то ridge выполняет это дополнительное преобразование. В этом случае B содержит коэффициенты p + 1 для каждого значения k, с первой строкой B соответствует постоянному члену в модели. Если scaled является 1, то программное обеспечение пропускает дополнительное преобразование, и B содержит коэффициенты p без постоянного коэффициента члена.

Выходные аргументы

свернуть все

Оценки коэффициентов, возвращаемые в виде числовой матрицы. Строки B соответствуют предикторам в Xи столбцы B соответствуют параметрам гребня k.

Если scaled является 1, то B - матрица p-by-m, где m - количество элементов в k. Если scaled является 0, то B является (p + 1) -по-m матрицей.

Подробнее

свернуть все

Регрессия хребта

Регрессия Риджа - это метод оценки коэффициентов линейных моделей, которые включают линейно коррелированные предикторы.

Оценки коэффициентов для моделей множественной линейной регрессии основаны на независимости членов модели. Когда члены коррелируются и столбцы конструктивной матрицы X имеют аппроксимированную линейную зависимость, матрица (XTX) -1 близка к сингулярной. Поэтому оценка наименьших квадратов

β ^ = (XTX) 1XTy

очень чувствителен к случайным ошибкам в наблюдаемом ответе y, создавая большую дисперсию. Такая ситуация мультиколлинеарности может возникнуть, например, при сборе данных без экспериментальной конструкции.

Регрессия Риджа решает проблему мультиколлинеарности, оценивая коэффициенты регрессии с использованием

β ^ = (XTX + kI) − 1XTy

где k - параметр гребня, а I - единичная матрица. Небольшие положительные значения k улучшают кондиционирование проблемы и уменьшают дисперсию оценок. Несмотря на смещение, уменьшенная дисперсия оценок гребней часто приводит к меньшей среднеквадратичной ошибке по сравнению с оценками наименьших квадратов.

Масштабирование коэффициентов

Масштабирование оценок коэффициентов для моделей регрессии гребня зависит от значения scaled входной аргумент.

Предположим, что параметр гребня k равен 0. Коэффициенты, возвращенные ridge, когда scaled равно 1, являются оценками bi1 в многолинейной модели

y - λ y = b11z1 +... + bp1zp +

где zi = (xi - μi)/σi являются сосредоточенными и чешуйчатыми предсказателями, y - μy - сосредоточенный ответ, и ε - остаточный член. Можно переписать модель как

y = b00 + b10x1 +... + bp0xp +

с b00=μy−∑i=1pbi1μiσi и bi0 = bi1starti. Члены bi0 соответствуют коэффициентам, возвращаемым ridge когда scaled равно 0.

В более общем смысле, для любого значения k, если B1 = ridge(y,X,k,1), то

       m = mean(X);
       s = std(X,0,1)';
       B1_scaled = B1./s;
       B0 = [mean(y)-m*B1_scaled; B1_scaled]

где B0 = ridge(y,X,k,0).

Совет

  • ridge удовольствия NaN значения в X или y как отсутствующие значения. ridge пропускает наблюдения с отсутствующими значениями из аппроксимации регрессии гребня.

  • В общем, набор scaled равно 1 для создания графиков, на которых коэффициенты отображаются в одном масштабе. Пример использования графика трассировки гребня см. в разделе Регрессия гребня, где коэффициенты регрессии отображаются как функция параметра гребня. При составлении прогнозов установить scaled равно 0. Пример см. в разделе Прогнозирование значений с использованием регрессии гребня.

Альтернативная функциональность

  • Ридж, лассо и эластичная сетчатая регуляризация - все это методы оценки коэффициентов линейной модели при наложении штрафа на большие коэффициенты. Тип штрафа зависит от метода (подробнее см. в разделе Подробнее). Для выполнения регуляризации лассо или эластичной сетки используйте lasso вместо этого.

  • Если у вас есть высокоразмерные полные или разреженные данные предиктора, вы можете использовать fitrlinear вместо ridge. При использовании fitrlinear, укажите 'Regularization','ridge' аргумент пары имя-значение. Установка значения 'Lambda' аргумент пары имя-значение для вектора параметров гребня по вашему выбору. fitrlinear возвращает обученную линейную модель Mdl. Можно получить доступ к оценкам коэффициентов, хранящимся в Beta свойство модели с помощью Mdl.Beta.

Ссылки

[1] Хоэрл, А. Э. и Р. У. Кеннард. «Регрессия Риджа: предвзятая оценка для неоргональных проблем». Технометрические данные. т. 12, № 1, 1970, стр. 55-67.

[2] Хоэрл, А. Э. и Р. У. Кеннард. «Регрессия Риджа: применение к неоргональным проблемам». Технометрические данные. т. 12, № 1, 1970, стр. 69-82.

[3] Марквардт, Д. В. «Обобщенная обратная, риджевая регрессия, смещенная линейная оценка и нелинейная оценка». Технометрические данные. т. 12, № 3, 1970, стр. 591-612.

[4] Марквардт, Д. В. и Р. Д. Сни. «Регрессия хребта на практике.» Американский статистик. т. 29, № 1, 1975, стр. 3-20.

См. также

| | |

Представлен до R2006a