预测变量在多元线性回归中的重要性

机器算法验证 r 多重回归
2022-03-28 17:07:13

我正在用 R 运行多元线性回归。

mod=lm(varP ~ var1 +var2+var3+var4)

表格是:

all:
lm(formula = varP ~ var1 + var2 + var3 + var4)

Residuals:
    Min      1Q  Median      3Q     Max     
-4.9262 -0.6985  0.0472  0.7319  4.3305 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.700823   0.084737   8.271 1.45e-15 ***
var1      1.080172   0.175348   6.160 1.59e-09 ***
var2     -0.057803   0.007777  -7.432 5.25e-13 ***
var3     -9.924772   4.268235  -2.325   0.0205 *  
var4     -0.015104   0.001290 -11.710  < 2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.139 on 460 degrees of freedom
Multiple R-squared:  0.657, Adjusted R-squared:  0.654 
F-statistic: 220.3 on 4 and 460 DF,  p-value: < 2.2e-16

这意味着我的模型解释了 65.4% 的方差。但是现在,我想确定每个预测变量的重要性。

我正在使用:

lm.sumSquares(mod) 

dR-sqr 是否与解释这一重要性相关?

              SS       dR-sqr pEta-sqr  df        F p-value
(Intercept)   88.73054 0.0510   0.1294   1  68.4015  0.0000
var4         177.88026 0.1022   0.2296   1 137.1262  0.0000
var2          71.65234 0.0412   0.1072   1  55.2361  0.0000
var1          49.22579 0.0283   0.0762   1  37.9477  0.0000
var3           7.01377 0.0040   0.0116   1   5.4069  0.0205

Error (SSE)  596.71237     NA       NA 460       NA      NA    
Total (SST) 1739.76088     NA       NA  NA       NA      NA
1个回答

如果你使用 R,你可以使用 caret 包,它有一个内置的方法来赋予变量重要性。请参阅此链接(http://caret.r-forge.r-project.org/varimp.html

你基本上只需要做

 varImp(mod, scale = FALSE)