В какой-то литературе я читал, что необходимо стандартизировать регрессию с несколькими объясняющими переменными, если они в разных единицах. (Стандартизация заключается в вычитании среднего значения и делении на стандартное отклонение.) В каких других случаях мне нужно стандартизировать мои данные? Существуют ли случаи, когда мне следует центрировать только мои данные (т.е. без деления на стандартное отклонение)?
multiple-regression
standardization
centering
mathieu_r
источник
источник
Ответы:
В регрессии часто рекомендуется центрировать переменные так, чтобы предикторы имели среднее значение0 . Это делает так, чтобы термин «перехват» интерпретировался как ожидаемое значение Yi когда значения предиктора установлены на их средние значения . Иначе, пересечение интерпретируется как ожидаемое значение Yi когда предикторы установлены в 0, что может не быть реалистичной или интерпретируемой ситуацией (например, что, если предикторами были рост и вес?). Другая практическая причина масштабирования в регрессии - это когда одна переменная имеет очень большой масштаб, например, если вы использовали численность населения страны в качестве предиктора. В этом случае коэффициенты регрессии могут быть на очень малого порядка величины (например, 10−6 ), который может немного раздражать при чтении результатов работы компьютера, поэтому вы можете преобразовать переменную, например, в численность населения в миллионах. Соглашение, согласно которому вы стандартизируете прогнозы, в основном существует так, чтобы единицы коэффициентов регрессии были одинаковыми.
Как @gung ссылается на и @ MånsT явно показывает (+1 к обоим, кстати), центрирование / масштабирование не влияет на ваш статистический вывод в регрессионных моделях - оценки корректируются соответствующим образом, и значенияp будут одинаковыми.
Другие ситуации, когда центрирование и / или масштабирование могут быть полезны:
когда вы пытаетесь суммировать или усреднять переменные, которые находятся в разных масштабах , возможно, создать какой-либо составной счет. Без масштабирования может быть случай, когда одна переменная оказывает большее влияние на сумму только из-за ее масштаба, что может быть нежелательным.
Для упрощения расчетов и обозначений. Например, образец ковариационной матрицы из матрицы значений центрированных с их помощью выборки простоX′X . Точно так же, если одномерная случайная величина X была отцентрирована по среднему значению, то var(X)=E(X2) и дисперсию можно оценить из выборки, посмотрев на выборочное среднее квадратов наблюдаемых значений.
В связи с вышеизложенным, PCA может интерпретироваться как разложение по сингулярным значениям матрицы данных только тогда, когда столбцы сначала центрируются по их средствам.
Обратите внимание, что масштабирование не является необходимым в последних двух пунктах, о которых я упоминал, и центрирование может не потребоваться в первом пункте, о котором я говорил, поэтому эти два пункта не обязательно должны идти рука об руку все время.
источник
Вы столкнулись с общим убеждением. Однако, как правило, вам не нужно центрировать или стандартизировать данные для множественной регрессии. Различные объясняющие переменные почти всегда находятся в разных масштабах (т. Е. Измеряются в разных единицах). Это не проблема; Бета-версии оцениваются таким образом, что они соответствующим образом преобразуют единицы каждой объясняющей переменной в единицы переменной отклика. Иногда люди говорят, что если вы сначала стандартизировали свои переменные, вы можете интерпретировать бета-версии как показатели важности. Например, если и β 2 = .3β1=.6 β2=.3 , тогда первая объясняющая переменная вдвое важнее второй. Хотя эта идея привлекательна, к сожалению, она недействительна. Есть несколько проблем, но, пожалуй, проще всего понять, что у вас нет возможности контролировать возможные ограничения диапазона в переменных. Определение «важности» различных объясняющих переменных по отношению друг к другу - очень сложная философская проблема. Ничто из этого не означает, что стандартизация плохая или неправильная , просто она обычно не нужна .
(Обновление добавлено намного позже :) Аналогичный случай, о котором я забыл упомянуть, - это создание условий взаимодействия . Если термин взаимодействия / продукта создается из двух переменных, которые не центрированы на 0, будет индуцирована некоторая коллинеарность (точная величина зависит от различных факторов). Сосредоточение сначала решает эту потенциальную проблему. Более полное объяснение см. В этом превосходном ответе @Affine: диагностика коллинеарности проблематична только тогда, когда включен термин взаимодействия .
источник
В дополнение к замечаниям в других ответах, я хотел бы отметить, что масштаб и расположение объясняющих переменных не влияет на достоверность регрессионной модели.
таким образом
Таким образом, масштабирование просто соответствует масштабированию соответствующих уклонов.
источник
Если вы используете градиентный спуск, чтобы соответствовать вашей модели, стандартизация ковариат может ускорить сходимость (потому что, когда у вас немасштабированные ковариаты, соответствующие параметры могут неадекватно доминировать в градиенте). Чтобы проиллюстрировать это, немного кода R:
Кроме того, для некоторых приложений SVM масштабирование может улучшить прогнозирующую производительность: Масштабирование характеристик в описании данных опорных векторов .
источник
Я предпочитаю «веские причины» для центрирования и стандартизации (они существуют очень часто). В общем, они больше связаны с набором данных и проблемой, чем с методом анализа данных.
Очень часто я предпочитаю центрировать (т.е. смещать источник данных) другие точки, которые физически / химически / биологически / ... более значимы, чем среднее (см. Также ответ Макроса), например
среднее значение контрольной группы
пустой сигнал
Численная стабильность является причиной, связанной с алгоритмом, для центрирования и / или масштабирования данных.
Также взгляните на аналогичный вопрос о стандартизации . Который также охватывает "только центр".
источник
Чтобы проиллюстрировать проблему числовой стабильности, упомянутую @cbeleites, приведу пример от Саймона Вуда о том, как «сломаться»
lm()
. Сначала мы сгенерируем несколько простых данных и подгоним простую квадратичную кривую.Но если мы добавим 900 к X, то результат должен быть почти таким же, за исключением смещения вправо, нет? К сожалению нет...
Изменить, чтобы добавить к комментарию @Scortchi - если мы посмотрим на объект, возвращенный функцией lm (), мы увидим, что квадратный член не был оценен и отображается как NA.
И действительно, как предлагает @Scortchi, если мы посмотрим на матрицу модели и попытаемся решить ее напрямую, она «сломается».
Тем
lm()
не менее, не дает мне никаких предупреждений или сообщений об ошибках, кромеNA
s вI(X^2)
строкеsummary(B)
в R-3.1.1. Конечно, другие алгоритмы могут быть «сломаны» по-разному на разных примерах.источник
lm
не в состоянии оценить коэффициент для квадратичного члена, и дает предупреждение о единственной матрице дизайна - возможно, более наглядно иллюстрирующей проблему, чем эти графики.Я серьезно сомневаюсь, может ли центрирование или стандартизация исходных данных действительно смягчить проблему мультиколлинеарности, когда в регрессию включены квадратные термины или другие термины взаимодействия, как некоторые из вас, в особенности Ганг, рекомендовали выше.
Чтобы проиллюстрировать мою точку зрения, давайте рассмотрим простой пример.
Предположим, что истинная спецификация принимает следующую форму, так что
Таким образом, соответствующее уравнение МНК определяется как
Довольно легко показать, что среднее значение задано следующим образом: ˉ y = ^ b 0 + ^ byi
Таким образом, если мое понимание центрирования правильное, то я не думаю, что центрирование данных могло бы помочь смягчить проблему MC, вызванную включением квадратов или других терминов более высокого порядка в регрессию.
Буду рад услышать ваше мнение!
источник
x = c(1,2,3); x2 = x^2; cor(x, x2); # [1] 0.9897433; xc = c(-1,0,1); xc2 = xc^2; cor(xc, xc2) # [1] 0
.