Как разделить r-квадрат между переменными предиктора в множественной регрессии?

16

Я только что прочитал статью, в которой авторы провели множественную регрессию с двумя предикторами. Общее значение r-квадрата составило 0,65. Они предоставили таблицу, которая делит r-квадрат между двумя предикторами. Стол выглядел так:

            rsquared beta    df pvalue
whole model     0.65   NA  2, 9  0.008
predictor 1     0.38 1.01 1, 10  0.002
predictor 2     0.27 0.65 1, 10  0.030

В этой модели, Rиспользующей mtcarsнабор данных, общее значение r-квадрата составляет 0,76.

summary(lm(mpg ~ drat + wt, mtcars))

Call:
lm(formula = mpg ~ drat + wt, data = mtcars)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4159 -2.0452  0.0136  1.7704  6.7466 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   30.290      7.318   4.139 0.000274 ***
drat           1.442      1.459   0.989 0.330854    
wt            -4.783      0.797  -6.001 1.59e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 3.047 on 29 degrees of freedom
Multiple R-squared:  0.7609,    Adjusted R-squared:  0.7444 
F-statistic: 46.14 on 2 and 29 DF,  p-value: 9.761e-10

Как я могу разделить значение r-квадрат между двумя переменными предиктора?

Лучиано
источник
1
Этот пост содержит информацию о том, как разделить . R2
COOLSerdash
8
Этот комментарий может кратко и неадекватно представлять точку зрения, что это часто оказывается бесполезным, если не опасным. Успех или неудачу модели лучше всего рассматривать как результат командной работы предикторов (и их конкретных функциональных форм, условий взаимодействия и т. Д. И т. Д.) И должен оцениваться как таковой. Естественно, большинство из нас интересуется относительной важностью предикторов, и это не бессмыслица, но попытки точно измерить ее должны сопровождаться полным изложением технических и философских ограничений такого упражнения.
Ник Кокс

Ответы:

5

Вы можете просто получить две отдельные корреляции и возвести их в квадрат или запустить две отдельные модели и получить R ^ 2. Они будут суммироваться, только если предикторы ортогональны.

Джон
источник
2
Под «ортогональным» вы подразумеваете, что два предиктора не должны быть связаны друг с другом?
Лучано
3
Да, некоррелированные ... это единственный способ, которым они суммируют в общую сумму.
Джон
12

Кроме того ответу Джона , вы можете получить квадратичные полуп частичные корреляции для каждого предиктора.

  • Некоррелированные предикторы . Если предикторы являются ортогональными (то есть некоррелированными), то квадратичные получастичные корреляции будут такими же, как квадратные корреляции нулевого порядка.
  • Коррелированные предикторы: если предикторы коррелированы, то квадратичная получастичная корреляция будет представлять уникальную дисперсию, объясненную данным предиктором. В этом случае сумма квадратов полуполных корреляций будет меньше, чем R2 . Эта оставшаяся объясненная дисперсия будет представлять дисперсию, объясненную более чем одной переменной.

Если вы ищете функцию R есть spcor() вppcor пакете.

Вы также можете рассмотреть более широкую тему оценки важности переменных в множественной регрессии (например, см. Эту страницу о пакете relayimpo ).

Джером англим
источник
3

Я добавил тег к вашему вопросу. Вот часть ее тега вики :

Одним из распространенных методов является добавление регрессоров в модель по одному и запись увеличения мере добавления каждого регрессора. Поскольку это значение зависит от регрессоров, уже имеющихся в модели, это необходимо делать для каждого возможного порядка, в котором они могут войти в модель, а затем усреднить по порядкам. Это выполнимо для маленьких моделей, но становится слишком сложным для больших моделей, поскольку число возможных порядков равно p ! для рR2p!p предикторов.

Grömping (2007, Американский статистик ) дает обзор и ссылки на литературу в контексте оценки переменной важности.

С. Коласса - Восстановить Монику
источник
y ~ a + by ~ b + ay ~ ay ~ a + by ~ by ~ a + by ~ b + a2p
R2aabR2y~1y~abR2y~by~a+b
С. Коласса - Восстановить Монику
Right, yes, I see. I mis-read the sentence. You need to evaluate 2p models, but also 2! model differences.
naught101
@naught101: almost correct. There are 2p=q=0p(pq) models ((pq) models containing q out of the p predictors). Except for the trivial model (q=0), you want to compare each model with q predictors with another q different submodels, each one of which we arrive at by removing one predictor, so we have q=1pq(pq) comparisons. (Each model appears multiple times here, and indeed we have more comparisons than 2p models.) And if we have interactions, things become more complicated yet.
S. Kolassa - Reinstate Monica