京公网安备 11010802034615号
经营许可证编号:京B2-20210330
“最优“回归方程的选择”
当变量中含有对Y影响不大的变量时,可能因为误差平方和的自由度减小而使方差的估计增大,从而影响回归预测的精度,适当的选择一个变量建立一个最优的回归方程十重要。此处采用逐步回归法。
逐步回归法计算
#水泥热量与四种成分的关系
cement<-data.frame(
X1=c( 7, 1, 11, 11, 7, 11, 3, 1, 2, 21, 1, 11, 10),
X2=c(26, 29, 56, 31, 52, 55, 71, 31, 54, 47, 40, 66, 68),
X3=c( 6, 15, 8, 8, 6, 9, 17, 22, 18, 4, 23, 9, 8),
X4=c(60, 52, 20, 47, 33, 22, 6, 44, 22, 26, 34, 12, 12),
Y =c(78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7, 72.5,
93.1,115.9, 83.8, 113.3, 109.4)
)
lm.sol<-lm(Y ~ X1+X2+X3+X4, data=cement)
summary(lm.sol)
Call:
lm(formula = Y ~ X1 + X2 + X3 + X4, data = cement)
Residuals:
Min 1Q Median 3Q Max
-3.1750 -1.6709 0.2508 1.3783 3.9254
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 62.4054 70.0710 0.891 0.3991
X1 1.5511 0.7448 2.083 0.0708 .
X2 0.5102 0.7238 0.705 0.5009
X3 0.1019 0.7547 0.135 0.8959
X4 -0.1441 0.7091 -0.203 0.8441
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.446 on 8 degrees of freedom
Multiple R-squared: 0.9824, Adjusted R-squared: 0.9736
F-statistic: 111.5 on 4 and 8 DF, p-value: 4.756e-07
#回归系数没有一项通过检测
#用step( )做回归分析
lm.ste<-step(lm.sol)
Start: AIC=26.94
Y ~ X1 + X2 + X3 + X4
Df Sum of Sq RSS AIC
- X3 1 0.1091 47.973 24.974
- X4 1 0.2470 48.111 25.011
- X2 1 2.9725 50.836 25.728
<none> 47.864 26.944
- X1 1 25.9509 73.815 30.576
Step: AIC=24.97
Y ~ X1 + X2 + X4
Df Sum of Sq RSS AIC
<none> 47.97 24.974
- X4 1 9.93 57.90 25.420
- X2 1 26.79 74.76 28.742
- X1 1 820.91 868.88 60.629
用全部变量做回归分析时,AIC值为26.94。接下来显示如果去除X3,则AIC = 24.97,去掉x4则为25.01,去掉X3可以使AIC达到最小,R软件自动去掉x3.
summary(lm.ste)
Call:
lm(formula = Y ~ X1 + X2 + X4, data = cement)
Residuals:
Min 1Q Median 3Q Max
-3.0919 -1.8016 0.2562 1.2818 3.8982
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 71.6483 14.1424 5.066 0.000675 ***
X1 1.4519 0.1170 12.410 5.78e-07 ***
X2 0.4161 0.1856 2.242 0.051687 .
X4 -0.2365 0.1733 -1.365 0.205395
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.309 on 9 degrees of freedom
Multiple R-squared: 0.9823, Adjusted R-squared: 0.9764
F-statistic: 166.8 on 3 and 9 DF, p-value: 3.323e-08
回归系数显著性水平有大提高,但是X2,X2系数检验不理想。从step()可以看出去掉x4,AIC从24.97变为25.42,是增加的最少的,除AIC准则外,残差平方各也是逐步回归的重要指标之一,从直观上看,拟合越好的直线,残差平方和应该最小,去掉x4后,残差平方和上升了9.93,也是最少的。从这两项指标看,应该去掉x4.
lm.opt <- lm(Y ~ X1+X2,data = cement);
summary(lm.opt)
Call:
lm(formula = Y ~ X1 + X2, data = cement)
Residuals:
Min 1Q Median 3Q Max
-2.893 -1.574 -1.302 1.363 4.048
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 52.57735 2.28617 23.00 5.46e-10 ***
X1 1.46831 0.12130 12.11 2.69e-07 ***
X2 0.66225 0.04585 14.44 5.03e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.406 on 10 degrees of freedom
Multiple R-squared: 0.9787, Adjusted R-squared: 0.9744
F-statistic: 229.5 on 2 and 10 DF, p-value: 4.407e-09
这个结果还算满意
Y = 52.58 + 1.46831*X1 + 0.66225*X2
改变step( )中的某些参数,可能得到不同的结果。
lm.ste<-step(lm.sol, trace=0, k=3); lm.ste
Call:
lm(formula = Y ~ X1 + X2, data = cement)
Coefficients:
(Intercept) X1 X2
52.5773 1.4683 0.663
直接去掉X3和X4。
从增加变量的角度考虑逐步回归
lm0<-lm(Y~1, data=cement)
lm.ste<-step(lm0, scope = ~X1+X2+X3+X4, k=4)
Start: AIC=73.44
Y ~ 1
Df Sum of Sq RSS AIC
+ X4 1 1831.90 883.87 62.852
+ X2 1 1809.43 906.34 63.178
+ X1 1 1450.08 1265.69 67.519
+ X3 1 776.36 1939.40 73.067
<none> 2715.76 73.444
Step: AIC=62.85
Y ~ X4
Df Sum of Sq RSS AIC
+ X1 1 809.10 74.76 34.742
+ X3 1 708.13 175.74 45.853
<none> 883.87 62.852
+ X2 1 14.99 868.88 66.629
- X4 1 1831.90 2715.76 73.444
Step: AIC=34.74
Y ~ X4 + X1
Df Sum of Sq RSS AIC
+ X2 1 26.79 47.97 32.974
+ X3 1 23.93 50.84 33.728
<none> 74.76 34.742
- X1 1 809.10 883.87 62.852
- X4 1 1190.92 1265.69 67.519
Step: AIC=32.97
Y ~ X4 + X1 + X2
Df Sum of Sq RSS AIC
- X4 1 9.93 57.90 31.420
<none> 47.97 32.974
- X2 1 26.79 74.76 34.742
+ X3 1 0.11 47.86 36.944
- X1 1 820.91 868.88 66.629
Step: AIC=31.42
Y ~ X1 + X2
Df Sum of Sq RSS AIC
<none> 57.90 31.420
+ X4 1 9.93 47.97 32.974
+ X3 1 9.79 48.11 33.011
- X1 1 848.43 906.34 63.178
- X2 1 1207.78 1265.69 67.519
这里取k4,最后还剩下x1与x2。
在R中,还有两个函数可以做逐步回归,一个是add1( )函数,用于增加变量,一个是drop1( )函数,用于减小变量。事实上,step( )就是使用这两个函数来自动增加和减小变量。
add1(lm0, scope = ~X1+X2+X3+X4, test="F")
Single term additions
Model:
Y ~ 1
Df Sum of Sq RSS AIC F value Pr(>F)
<none> 2715.76 71.444
X1 1 1450.08 1265.69 63.519 12.6025 0.0045520 **
X2 1 1809.43 906.34 59.178 21.9606 0.0006648 ***
X3 1 776.36 1939.40 69.067 4.4034 0.0597623 .
X4 1 1831.90 883.87 58.852 22.7985 0.0005762 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
打算减少变量
drop1(lm.sol, test="F")
Single term deletions
Model:
Y ~ X1 + X2 + X3 + X4
Df Sum of Sq RSS AIC F value Pr(>F)
<none> 47.864 26.944
X1 1 25.9509 73.815 30.576 4.3375 0.07082 .
X2 1 2.9725 50.836 25.728 0.4968 0.50090
X3 1 0.1091 47.973 24.974 0.0182 0.89592
X4 1 0.2470 48.111 25.011 0.0413 0.84407
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
根据每步计算的结果情况,人工选择增加还是去掉某些变量。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
一、问题:为什么 ID 会"断号" 很多刚接触 MySQL 的同学都会有一个困惑:表里的主键 ID 是自增的,删了中间几行数据之后,ID 变 ...
2026-10-22一、问题场景:为什么会重复 JOIN 同一个子查询 在写复杂 SQL 时,经常遇到这种需求:同一张表或同一个聚合子查询,要和主表关联 ...
2026-10-22人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22