R中线性回归模型的拟合
我对R中的线性回归分析有一个问题: 我有几个自变量(大约20-30个)和一个因变量。为了达到最佳模型,我尝试“所有”自变量的相关组合,以最大化我的调整后的R^2。然而,这是一个很大的工作。所以我的问题是:是否有一种方法可以自动拟合R中的回归模型,即自动选择存储在数据框中的这些自变量,从而产生对因变量变化的最佳描述R中线性回归模型的拟合,r,regression,linear-regression,lm,R,Regression,Linear Regression,Lm,我对R中的线性回归分析有一个问题: 我有几个自变量(大约20-30个)和一个因变量。为了达到最佳模型,我尝试“所有”自变量的相关组合,以最大化我的调整后的R^2。然而,这是一个很大的工作。所以我的问题是:是否有一种方法可以自动拟合R中的回归模型,即自动选择存储在数据框中的这些自变量,从而产生对因变量变化的最佳描述 谢谢你的帮助 您可以使用步骤功能,但是如果检查您的工作的人反对数据挖掘,那么使用这种方法进行的分析可能会遇到一些困难。下面是步骤中的一个示例 > summary(lm1 <
谢谢你的帮助 您可以使用
步骤
功能,但是如果检查您的工作的人反对数据挖掘,那么使用这种方法进行的分析可能会遇到一些困难。下面是步骤
中的一个示例
> summary(lm1 <- lm(Fertility ~ ., data = swiss))
Call:
lm(formula = Fertility ~ ., data = swiss)
Residuals:
Min 1Q Median 3Q Max
-15.2743 -5.2617 0.5032 4.1198 15.3213
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 66.91518 10.70604 6.250 1.91e-07 ***
Agriculture -0.17211 0.07030 -2.448 0.01873 *
Examination -0.25801 0.25388 -1.016 0.31546
Education -0.87094 0.18303 -4.758 2.43e-05 ***
Catholic 0.10412 0.03526 2.953 0.00519 **
Infant.Mortality 1.07705 0.38172 2.822 0.00734 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 7.165 on 41 degrees of freedom
Multiple R-squared: 0.7067, Adjusted R-squared: 0.671
F-statistic: 19.76 on 5 and 41 DF, p-value: 5.594e-10
> slm1 <- step(lm1)
Start: AIC=190.69
Fertility ~ Agriculture + Examination + Education + Catholic +
Infant.Mortality
Df Sum of Sq RSS AIC
- Examination 1 53.03 2158.1 189.86
<none> 2105.0 190.69
- Agriculture 1 307.72 2412.8 195.10
- Infant.Mortality 1 408.75 2513.8 197.03
- Catholic 1 447.71 2552.8 197.75
- Education 1 1162.56 3267.6 209.36
Step: AIC=189.86
Fertility ~ Agriculture + Education + Catholic + Infant.Mortality
Df Sum of Sq RSS AIC
<none> 2158.1 189.86
- Agriculture 1 264.18 2422.2 193.29
- Infant.Mortality 1 409.81 2567.9 196.03
- Catholic 1 956.57 3114.6 205.10
- Education 1 2249.97 4408.0 221.43
> summary(slm1)
Call:
lm(formula = Fertility ~ Agriculture + Education + Catholic +
Infant.Mortality, data = swiss)
Residuals:
Min 1Q Median 3Q Max
-14.6765 -6.0522 0.7514 3.1664 16.1422
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 62.10131 9.60489 6.466 8.49e-08 ***
Agriculture -0.15462 0.06819 -2.267 0.02857 *
Education -0.98026 0.14814 -6.617 5.14e-08 ***
Catholic 0.12467 0.02889 4.315 9.50e-05 ***
Infant.Mortality 1.07844 0.38187 2.824 0.00722 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 7.168 on 42 degrees of freedom
Multiple R-squared: 0.6993, Adjusted R-squared: 0.6707
F-statistic: 24.42 on 4 and 42 DF, p-value: 1.717e-10
>摘要(lm1 | t |)
(截距)66.91518 10.70604 6.250 1.91e-07***
农业-0.17211 0.07030-2.448 0.01873*
检查-0.25801 0.25388-1.016 0.31546
教育-0.870940.18303-4.7582.43e-05***
天主教0.10412 0.03526 2.953 0.00519**
婴儿死亡率1.07705 0.38172 2.822 0.00734**
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
剩余标准误差:41个自由度上的7.165
倍数R平方:0.7067,调整后的R平方:0.671
F-统计量:5和41 DF的19.76,p-值:5.594e-10
>slm1汇总表(slm1)
电话:
lm(公式=生育率~农业+教育+天主教+
婴儿死亡率,数据=瑞士)
残差:
最小1季度中值3季度最大值
-14.6765 -6.0522 0.7514 3.1664 16.1422
系数:
估计标准误差t值Pr(>t)
(截距)62.101319.60489 6.466 8.49e-08***
农业-0.15462 0.06819-2.267 0.02857*
教育-0.98026 0.14814-6.617 5.14e-08***
天主教0.12467 0.02889 4.315 9.50e-05***
婴儿死亡率1.07844 0.38187 2.824 0.00722**
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
剩余标准误差:42个自由度上的7.168
倍数R平方:0.6993,调整后的R平方:0.6707
F-统计量:4和42 DF上的24.42,p-值:1.717e-10
您应该尝试逐步回归,通过不同的方法选择最佳组合-正向选择或反向选择。此外,您可以尝试使用正则化。这个问题值得对进行模型选择的优点和最佳方法进行长期、详细的讨论。要获得简短的答案,请查看step()
的帮助,包跳跃
,更好的是,使用名为lasso回归的方法(包glmnet
)