R 模型变量得分

R model variable score

我在R中建立了一个线性回归模型,并试图获得每个解释变量(自变量)(即x1,x2,x3)的贡献量(而不是系数)。问题:

  1. 我怎样才能得到这样数量的拟合数据。这是每个 x (x1, x2, x3) 对每个观察值贡献的数值。
  2. 我怎样才能获得相同数量的新(未见)数据
df = data.frame(y, x1, x2, x3)
mod = lm(y ~ x1 + x2 + x3, data = df)

正如@Ali 所建议的,我认为 summary(mod) 确实 回答了您的问题。让我再解释一下。由于您没有提供您的数据,我将以内置的虹膜数据为例。

mod = lm(Sepal.Length ~ ., data=iris[,1:4])
summary(mod)$coefficients
               Estimate Std. Error   t value     Pr(>|t|)
(Intercept)   1.8559975 0.25077711  7.400984 9.853855e-12
Sepal.Width   0.6508372 0.06664739  9.765380 1.199846e-17
Petal.Length  0.7091320 0.05671929 12.502483 7.656980e-25
Petal.Width  -0.5564827 0.12754795 -4.362929 2.412876e-05

注意标有“估计”的列。这些是模型系数。明确地说,让我们通过一个示例来说明它们与预测的关系。

iris[1,]
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa

predict(mod, newdata=iris[1,])
       1 
5.015416 

好的,如果我们使用模型预测第一行,我们会得到答案 5.015416。系数是怎么来的?

 1.8559975 +            ## Intercept
 0.6508372 * 3.5 +      ## Sepal.Width
 0.7091320 * 1.4 +      ## Petal.Length
-0.5564827 * 0.2        ## Petal.Width
[1] 5.015416