Важность предикторов в множественной регрессии: частичное против стандартизированных коэффициентов

21

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

Насколько я знаю, с помощью summaryя получаю оценки коэффициентов, а с anovaсуммой квадратов для каждого фактора - доля суммы квадратов одного фактора, деленная на сумму суммы квадратов плюс остатки, является частичной (следующий код в ).R2R

library(car)
mod<-lm(education~income+young+urban,data=Anscombe)
    summary(mod)

Call:
lm(formula = education ~ income + young + urban, data = Anscombe)

Residuals:
    Min      1Q  Median      3Q     Max 
-60.240 -15.738  -1.156  15.883  51.380 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.868e+02  6.492e+01  -4.418 5.82e-05 ***
income       8.065e-02  9.299e-03   8.674 2.56e-11 ***
young        8.173e-01  1.598e-01   5.115 5.69e-06 ***
urban       -1.058e-01  3.428e-02  -3.086  0.00339 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 26.69 on 47 degrees of freedom
Multiple R-squared:  0.6896,    Adjusted R-squared:  0.6698 
F-statistic: 34.81 on 3 and 47 DF,  p-value: 5.337e-12

anova(mod)
Analysis of Variance Table

Response: education
          Df Sum Sq Mean Sq F value    Pr(>F)    
income     1  48087   48087 67.4869 1.219e-10 ***
young      1  19537   19537 27.4192 3.767e-06 ***
urban      1   6787    6787  9.5255  0.003393 ** 
Residuals 47  33489     713                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Размер коэффициентов для «молодого» (0,8) и «городского» (-0,1, примерно 1/8 от первого, игнорируя «-») не соответствует объясненной дисперсии («молодой» ~ 19500 и «городской» ~ 6790, то есть около 1/3).

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

Anscombe.sc<-data.frame(scale(Anscombe))
mod<-lm(education~income+young+urban,data=Anscombe.sc)
summary(mod)

Call:
lm(formula = education ~ income + young + urban, data = Anscombe.sc)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.29675 -0.33879 -0.02489  0.34191  1.10602 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.084e-16  8.046e-02   0.000  1.00000    
income       9.723e-01  1.121e-01   8.674 2.56e-11 ***
young        4.216e-01  8.242e-02   5.115 5.69e-06 ***
urban       -3.447e-01  1.117e-01  -3.086  0.00339 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.5746 on 47 degrees of freedom
Multiple R-squared:  0.6896,    Adjusted R-squared:  0.6698 
F-statistic: 34.81 on 3 and 47 DF,  p-value: 5.337e-12

anova(mod)
Analysis of Variance Table

Response: education
          Df  Sum Sq Mean Sq F value    Pr(>F)    
income     1 22.2830 22.2830 67.4869 1.219e-10 ***
young      1  9.0533  9.0533 27.4192 3.767e-06 ***
urban      1  3.1451  3.1451  9.5255  0.003393 ** 
Residuals 47 15.5186  0.3302                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1    

Но это не имеет большого значения, частичное и размер коэффициентов (теперь это стандартизированные коэффициенты ) все еще не совпадают:R2

22.3/(22.3+9.1+3.1+15.5)
# income: partial R2 0.446, Coeff 0.97
9.1/(22.3+9.1+3.1+15.5)
# young:  partial R2 0.182, Coeff 0.42
3.1/(22.3+9.1+3.1+15.5)
# urban:  partial R2 0.062, Coeff -0.34

Так что справедливо ли сказать, что «молодой» объясняет в три раза большую дисперсию, чем «городской», потому что частичное для «молодого» в три раза больше, чем «городского»? R2Почему коэффициент «молодой» тогда не в три раза больше, чем «городской» (игнорируя знак)?

Я полагаю, что ответ на этот вопрос также скажет мне ответ на мой первоначальный запрос: должен ли я использовать частичное или коэффициенты, чтобы проиллюстрировать относительную важность факторов? (Игнорируя направление влияния - знак - пока.)R2

Редактировать:

Частичное eta-квадрат, кажется, является другим названием для того, что я назвал частичным . etasq {heplots} - полезная функция, которая дает похожие результаты:R2

etasq(mod)
          Partial eta^2
income        0.6154918
young         0.3576083
urban         0.1685162
Residuals            NA
Роберт
источник
Что вы пытаетесь сделать или показать точно? Предполагаемое влияние? Значение?
IMA
Да, я знаком с t- и F-тестами. Я хотел бы показать оценочное влияние, для которого афаики t- и F-тесты не подходят.
Роберт
1
Мой вопрос: должен ли я использовать частичное R² или коэффициенты, чтобы показать, какое влияние каждый фактор оказывает на результат? Я предполагал, что оба указывают в одном направлении. Вы говорите, что это неправда, потому что в данных есть мультиколлинеарность. Хорошо, поэтому, когда я хочу сделать утверждение, например, что фактор 'молодой' влияет на результат в x раз больше / в x раз важнее, чем фактор 'городской', я смотрю на частичное R² или коэффициенты?
Роберт
1
Я не согласен с @IMA. Частичное R в квадрате напрямую связано с частичной корреляцией, которая является хорошим способом изучения скорректированных по конфоундеру отношений между iv и dv.
Майкл М
1
Я отредактировал ваш вопрос, чтобы он снова появился на первой странице. Я был бы очень заинтересован в хорошем ответе; если ничего не появится, я могу даже предложить награду. Кстати, коэффициенты регрессии после стандартизации всех предикторов называются «стандартизированными коэффициентами». Я ввел этот термин в ваш вопрос, чтобы прояснить его.
говорит амеба: восстанови Монику

Ответы:

10

Короче говоря , я бы не использовал и частичный и стандартизированные коэффициенты в одном и том же анализе, поскольку они не являются независимыми. Я бы сказал, что обычно, вероятно, более интуитивно понятно сравнивать отношения с использованием стандартизированных коэффициентов, поскольку они легко связаны с определением модели (т. Е. Y = β X ). Частичная R 2 , в свою очередь, является по существу доля уникальной общей дисперсии между предсказателем и зависимой переменной (Dv) (так что для первого предиктора это квадрат частичной корреляции г х 1 у . Х 2 . . . Х Nр2Yзнак равноβИкср2рИкс1Y,Икс2,,,ИксN). Кроме того, для подбора с очень маленькой ошибкой все коэффициенты имеют частичное значение 1, поэтому они бесполезны при определении относительной важности предикторов.р2


Определение размера эффекта

  • стандартизированный коэффициент, - коэффициенты β, полученные при оценке модели по стандартизированным переменным (среднее значение = 0, стандартное отклонение = 1).βsTdβ
  • частичный - доля остаточного отклонения, объясняемая добавлением предиктора в ограниченную модель (полная модель без предиктора). Такой же как:р2

    • квадрат частичной корреляции между предиктором и зависимой переменной, контролирующий все остальные предикторы в модели. .рпaрTяaL2знак равнорИксяY,ИксИкся2
    • частичная - доля типа III сумма квадратов из предиктора к сумме квадратов , приписанных к предсказателю и ошибки SS эффекту / ( СС эффект + СС ошибка )η2SSэффект/(SSэффект+SSошибка)
  • - разница в R 2 между ограниченной и полной моделью. Равно:Δр2р2

    • квадрат semipartial корреляции рИкся(Y,ИксИкся)2
    • для суммы квадратов типа III: эффект SS / общее количество SS - то, что вы рассчитывали как частичное R 2 в вопросе.η2SSэффект/SSобщее количествор2

Все они тесно связаны, но отличаются тем, как они обрабатывают структуру корреляции между переменными. Чтобы немного лучше понять эту разницу, давайте предположим, что у нас есть 3 стандартизированные (среднее = 0, sd = 1) переменные , корреляции которых равны r x y , r x z , r y z . Мы будем принимать х в качестве зависимой переменной и у и гИкс,Y,Zrxy,rxz,ryZИксYZв качестве предикторов. Мы будем выражать все коэффициенты размера эффекта в терминах корреляций, чтобы мы могли ясно видеть, как каждый обрабатывает структуру корреляции. Сначала мы перечислим коэффициенты в регрессионной модели оцененные с использованием OLS. Формула для коэффициентов: β y = r x y - r y z r z xИксзнак равноβYY+βZZ корень квадратный изчастичнойR2для предикторов будет равен:

βYзнак равнорИксY-рYZрZИкс1-рYZ2βZзнак равнорИксZ-рYZрYИкс1-рYZ2,
рчастичный2

Rxy.z2=rxyryZrzИкс(1-рИксZ2)(1-рYZ2)рИксZ,Y2знак равнорИксZ-рYZрYИкс(1-рИксY2)(1-рYZ2)

Δр2

рИксYZ2-рИксZ2знак равнорY(Икс,Z)знак равнорИксY-рYZрZИкс(1-рYZ2)рИксZY2-рИксY2знак равнорZ(Икс,Y)знак равнорИксZ-рYZрYИкс(1-рYZ2)

βΔр2рчастичный2βsTd

anovaр2lm

AnovacarFTF(1,N)знак равноT2(N)anova(mod)Anova(mod, type = 2)options(contrasts = c("contr.sum","contr.poly"))Anova(mod,type=3)р2etasq()пр2


кредит

Крис Новак
источник
βзнак равно(ИксИкс)ИксY
1
Вы правы, я имел в виду, что SS-тесты типа III и t-тесты для коэффициентов дают в основном те же F-тест и значение p.
Крис Новак
2
@amoeba, выполнив некоторые вычисления, я отредактировал свой ответ, включив в него ваши предложения, немного разъяснив различия между двумя величинами эффекта и лучше ответив на ответ ОП.
Крис Новак
1
Δр2р2р2р2
1
Δр2рп2Δр2рп2р21
говорит амеба: восстанови Монику
8

Как уже объяснялось в нескольких других ответах и ​​в комментариях, этот вопрос основывался как минимум на трех путаницах:

  1. anova()TAnova()car

  2. р2βsTd

  3. р2SSэффект/(SSэффект+SSошибка)SSэффект/SSобщее количествор2SSэффект

После того, как эти недоразумения прояснены, остается вопрос о том, каковы наиболее подходящие показатели размера или важности эффекта предиктора.


В R есть пакет, relaimpoкоторый обеспечивает несколько показателей относительной важности.

library(car)
library(relaimpo)
mod <- lm(education~income+young+urban, data=Anscombe)
metrics <- calc.relimp(mod, type = c("lmg", "first", "last", "betasq", "pratt", "genizi", "car"))

Используя тот же Anscombeнабор данных, что и в вашем вопросе, это дает следующие метрики:

Relative importance metrics: 

              lmg      last      first    betasq       pratt     genizi        car
income 0.47702843 0.4968187 0.44565951 0.9453764  0.64908857 0.47690056 0.55375085
young  0.14069003 0.1727782 0.09702319 0.1777135  0.13131006 0.13751552 0.13572338
urban  0.07191039 0.0629027 0.06933945 0.1188235 -0.09076978 0.07521276 0.00015460

Некоторые из этих метрик уже обсуждались:

  • betasqквадратные стандартизированные коэффициенты, те же значения, которые вы получили с помощью lm().
  • firstSSэффект/SSобщее количествоSSэффектanova()
  • lastр2SSэффект/SSобщее количествоSSэффектр2anova()

р2

Есть еще четыре метрики relaimpo- и еще одна (пятая) доступна, если пакет relaimpoустановлен вручную: версия CRAN исключает эту метрику из-за потенциального конфликта с ее автором, который, как ни странно, имеет патент США на свой метод , Я запускаю R онлайн и не имею доступа к нему, поэтому, если кто-то может установить вручную relaimpo, пожалуйста, добавьте этот дополнительный показатель к моим выводам выше для полноты.

Есть две метрики, prattкоторые могут быть отрицательными (плохими) и geniziдовольно неясными.

Два интересных подхода есть lmgи car.

SSэффект/SSобщее количествоSSэффект

Второй вводится в (Zuber & Strimmer, 2011) и имеет много привлекательных теоретических свойств; это квадратичные стандартизированные коэффициенты после того, как предикторы были сначала стандартизированы, а затем отбелены с преобразованием ZCA / Mahalanobis (т.е. отбелены при минимизации ошибки восстановления).

2:1lmg+878:1car

Список используемой литературы:

  1. Ссылки на относительную важность на веб -сайте Ульрике Грёмпинг - она ​​является автором relaimpo.

  2. Grömping, U. (2006). Относительное значение для линейной регрессии в R: пакетлечений . Журнал статистического программного обеспечения 17, выпуск 1.

  3. Grömping, U. (2007). Оценки относительной важности в линейной регрессии на основе дисперсионного разложения . Американский статистик 61, 139-147.

  4. Зубер В. и Стриммер К. (2010). Высокомерная регрессия и выбор переменных с использованием показателей CAR . Статистические приложения в генетике и молекулярной биологии 10.1 (2011): 1-27.

  5. Grömping, U. (2015). Переменная важность в регрессионных моделях . Междисциплинарные обзоры Wiley: вычислительная статистика, 7 (2), 137-152. (за платой)

амеба говорит восстановить монику
источник
Очень хорошее резюме с дополнительной оценочной информацией о различных коэффициентах важности. Кстати, вы используете онлайн этот R движок pbil.univ-lyon1.fr/Rweb или другой?
ttnphns
1
Я использую r-fiddle.org , но я никогда не пробовал ничего другого и не знаю, как это сравнивается. Это выглядит довольно гладко, хотя.
говорит амеба: восстанови Монику
Очень четкое резюме и дополнительная информация о размерах эффекта (+1)
Крис Новак,
4

Вы написали:

Мой вопрос: должен ли я использовать частичное R² или коэффициенты, чтобы показать, какое влияние каждый фактор оказывает на результат?

Здесь важно не путать две вещи. Во-первых, возникает вопрос спецификации модели. Алгоритм lm предполагает выполнение OLS-предположений. Среди прочего это означает, что для несмещенных оценок в модели может отсутствовать переменная значимого NO (за исключением случаев, когда она некоррелирована со всеми другими регрессорами, редко).
Таким образом, при поиске модели дополнительное влияние на R² или скорректированное R², безусловно, представляет интерес. Можно подумать, что целесообразно добавлять регрессоры, например, до тех пор, пока скорректированное значение R² не прекратит улучшаться. Есть интересные проблемы с пошаговыми регрессионными процедурами, такими как эта, но это не тема. В любом случае я предполагаю, что была причина, по которой вы выбрали свою модель.

ОДНАКО: это дополнительное влияние на R² не идентично действительному или общему влиянию регрессора на независимую переменную именно из-за мультиколлинеарности: если вы уберете регрессор, часть его влияния теперь будет относиться к другим регрессорам, которые связаны с этим. Таким образом, настоящее влияние не показано правильно.

И есть еще одна проблема: оценки действительны только для полной модели со всеми другими регрессорами. Либо эта модель еще не верна, и поэтому обсуждение влияния не имеет смысла - или это правильно, и тогда вы не сможете устранить регрессор и все же успешно использовать методы OLS.

Итак: подходит ли ваша модель и использование OLS? Если это так, то оценки отвечают на ваш вопрос - они являются вашим буквальным лучшим предположением о влиянии переменных на регрессивную / зависимую переменную.
Если нет, то ваша первая работа - найти правильную модель. Для этого может быть использовано частичное R². Поиск по спецификации модели или ступенчатой ​​регрессии даст много интересных подходов на этом форуме. Что работает, будет зависеть от ваших данных.

IMA
источник
1
Спасибо за ваш ответ! Я не уверен, что ваше утверждение о том, что «это дополнительное влияние на R² не идентично реальному или общему влиянию регрессора на независимую переменную», не вызывает сомнений. Например, пакет relayimpo cran.r-project.org/web/packages/relaimpo/relaimpo.pdf использует частичный R² «для оценки относительной важности в линейных моделях».
Роберт
1
Как вы думаете, вы могли бы предоставить ссылку на ваш взгляд, что R² следует использовать только для выбора модели?
Роберт
1
@robert: смысл в relaimpoтом, чтобы предоставить альтернативы частичному R ^ 2, именно по той причине, которую дает IMA!
Scortchi - Восстановить Монику
1
@ Scortchi: Wow, посмотрев в руководство к relaimpoпакету, я понял, что существует целый мир различных подходов к количественной оценке относительной важности предикторов в линейной регрессии. В настоящее время я просматриваю несколько статей, связанных там ( этот препринт 2010 года пока выглядит довольно хорошо), и это беспорядок! Я не понимал, что этот вопрос настолько сложен, когда я предложил свою награду. Кажется, это не было должным образом обсуждено в резюме. Это неясная тема? Если так, то почему?
говорит амеба: восстанови монику
2
@amoeba: Необычный ответ заключается в том, что «относительная важность предикторов» не так важна для большинства целей. Если у вас есть модель, которой вы довольны, вы можете использовать ее, чтобы сказать, что курение одной сигареты в день эквивалентно употреблению пяти гамбургеров с точки зрения риска сердечного приступа - важность заключается в содержательной интерпретации того, что ты моделируешь; Если вы сравниваете модели, вы сравниваете целые модели - скажем, с и без дорогой для измерения пары предикторов - и вам не нужно беспокоиться о том, как сила прогнозирования может быть справедливо поделена.
Scortchi - Восстановить Монику
3

Что касается разницы между коэффициентом линейной регрессии и частичной корреляцией, вы можете прочитать это , например.

Однако путаница, выраженная в этом вопросе, кажется, имеет другую природу. Похоже, это тип сумм квадратов по умолчанию, используемый тем или иным статистическим пакетом (тема, неоднократно обсуждаемая на нашем сайте). Линейная регрессия использует то, что называется в расчете ANOVA Type III SS. Во многих программах ANOVA это тоже опция по умолчанию. В Rфункции anovaмне кажется (я не пользователь R, так что я просто предполагаю, что) по умолчанию используется тип I SS («последовательный SS», который зависит от порядка, в котором предикторы указаны в модели). Итак, несоответствие, которое вы наблюдали и которое не исчезло при стандартизации («масштабировании») ваших переменных, заключается в том, что вы указали ANOVA с параметром Type I по умолчанию.

Ниже приведены результаты, полученные в SPSS с вашими данными:

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

В этих распечатках вы можете указать, что параметры (коэффициенты регрессии) одинаковы независимо от типа расчета СС. Вы также можете заметить, что частичный Eta в квадрате [который является SSeffect / (SSeffect + SSerror) и = частичный R-квадрат в нашем случае, потому что предикторы являются числовыми ковариатами], полностью совпадает в таблице эффектов и коэффициентов только при типе SS это III. Когда тип SS равен I, только последний из 3 предикторов «городской» сохраняет то же значение (.169); это потому, что в последовательности ввода предикторов это последний. В случае SS типа III порядок ввода не имеет значения, как в регрессии. Кстати, это несоответствие наблюдается и в p-значениях. Хотя вы не видите этого в моих таблицах, потому что в столбце "Sig" есть только 3 десятичных знака,

Возможно, вы захотите прочитать больше о различных «типах SS» в ANOVA / линейной модели. Концептуально, тип III или «регрессионный» тип СС является фундаментальным и изначальным. Другие типы СС (I, II, IV, их существует даже больше) являются специальными устройствами для более полной оценки эффектов, менее расточительными, чем позволяют параметры регрессии в ситуации коррелированных предикторов.

Как правило, размеры эффектов и их p-значения важнее сообщать, чем параметры и их p-значения, если только целью исследования не является создание модели для будущего. Параметры - это то, что позволяет вам предсказывать, но «влияние» или «эффект» могут быть более широким понятием, чем «сила линейного предсказания». Чтобы сообщить о влиянии или важности, возможны и другие коэффициенты, кроме квадрата Eta. Одним из них является коэффициент оставления одного: важностью предиктора является остаточная сумма квадратов с предиктором, удаленным из модели, нормализованным, так что значения важности для всех предикторов составляют 1.

ttnphns
источник
+1, спасибо за участие в обсуждении. У меня есть терминологический вопрос. «Частичное R в квадрате» определяется как SSeffect / (SSeffect + SSerror). Как называется SSeffect / SStotal? Насколько я понимаю (поправьте меня, если я ошибаюсь), если мы используем декомпозицию SS типа III, то этот SSeffect / SStotal будет равен квадратной частичной корреляции между ответом и этим предиктором (с учетом всех других предикторов). У этого количества есть имя? Частичное R2 аналогично частичному квадрату эта, но почему нет названия для аналога самого квадрата эта? Я смущен этим.
говорит амеба: восстанови Монику
Ой, я думаю, что я написал какую-то чепуху выше: квадратная частичная корреляция - это SSeffect / (SSeffect + SSerror), т.е. точно частичная R2, ​​верно? Тем не менее, вопрос о том, как вызвать SSeffect / SStotal (что OP пытался вычислить в своем первоначальном вопросе!), Остается. Должны ли мы просто назвать это эта квадрат? Или «разделенный R2» (понимая, конечно, что для SS типа III эти «разделы» не будут суммироваться с общим R2)?
говорит амеба: восстанови монику
1
Да, SSeffect / SStotal - это просто квадрат. В этой конкретной модели это Eta-квадрат предиктора (не путать с маргинальным ETA-квадратом = Eta-квадратом, когда предиктор только один в модели = Пирсона нулевого порядка r ^ 2, в нашем случае непрерывных предикторов).
ttnphns
1
Точно так. Частичная корреляция - это (конкретный случай) эта. Я думаю , что это правильное поэтому называть эту ETA в модели части ETA. Я просто не помню ни одного текста, где я сталкиваюсь с термином «частично» или «частично» эта. Если вы узнаете это, пожалуйста, дайте мне знать.
ttnphns
1
Да; почему, я думаю так же. Но r, частичное r, полупериодическое r являются частными случаями соответствующего эта. Важное терминологическое различие между ними, однако, возникает в контексте, когда, помимо общего категориального (фиктивного) «нелинейного» эффекта, мы добавляем линейный (или полиномиальный) эффект предиктора, как если бы он был числовым. Здесь мы показываем 3 эффекта: Комбинированный Etasq = Линейный Rsq + Отклонение от линейности.
ttnphns