“最优“回归方程的选择”
当变量中含有对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
根据每步计算的结果情况,人工选择增加还是去掉某些变量。
数据分析咨询请扫描二维码
CDA数据分析师认证:CDA认证分为三个等级:Level Ⅰ、Level Ⅱ和Level Ⅲ,每个等级的报考条件如下: Le ...
2024-11-14自学数据分析可能是一条充满挑战却又令人兴奋的道路。随着数据在现代社会中的重要性日益增长,掌握数据分析技能不仅能提升你的就 ...
2024-11-14数据分析相关职业选择 数据分析领域正在蓬勃发展,为各种专业背景的人才提供了丰富的职业机会。从初学者到有经验的专家,每个人 ...
2024-11-14数据挖掘与分析在金融行业的使用 在当今快速发展的金融行业中,数据挖掘与分析的应用愈发重要,成为驱动行业变革和提升竞争力的 ...
2024-11-14学习数据挖掘需要掌握哪些技能 数据挖掘是一个不断发展的领域,它结合了统计学、计算机科学和领域专业知识,旨在从数据中提取有 ...
2024-11-14统计学作为一门基于数据的学科,其广泛的应用领域和多样的职业选择,使得毕业生拥有丰厚的就业前景。无论是在政府还是企业,统计 ...
2024-11-14在当今高速发展的技术环境下,企业正在面临前所未有的机遇和挑战。数字化转型已成为企业保持竞争力和应对市场变化的必由之路。要 ...
2024-11-13爬虫技术在数据分析中扮演着至关重要的角色,其主要作用体现在以下几个方面: 数据收集:爬虫能够自动化地从互联网上抓取大量数 ...
2024-11-13在数据分析中,数据可视化是一种将复杂数据转化为图表、图形或其他可视形式的技术,旨在通过直观的方式帮助人们理解数据的含义与 ...
2024-11-13在现代银行业中,数字化用户行为分析已成为优化产品和服务、提升客户体验和提高业务效率的重要工具。通过全面的数据采集、深入的 ...
2024-11-13在这个数据飞速增长的时代,企业若想在竞争中占据优势,必须充分利用数据分析优化其营销策略。数据不仅有助于理解市场趋势,还可 ...
2024-11-13数据分析行业的就业趋势显示出多个积极的发展方向。随着大数据和人工智能技术的不断进步,数据分析在各行各业中的应用变得越来越 ...
2024-11-13市场数据分析是一门涉及多种技能和工具的学科,对企业在竞争激烈的市场中保持竞争力至关重要。通过数据分析,企业不仅可以了解当 ...
2024-11-13数据分析与数据挖掘是数据科学领域中两个关键的组成部分,它们各有独特的目标、方法和应用场景。尽管它们经常在实际应用中结合使 ...
2024-11-13在如今这个数据驱动的时代,数据分析能力已经成为许多行业的重要技能。无论是为工作需要,还是为了职业转型,掌握数据分析都能够 ...
2024-11-13在如今这个数据驱动的时代,数据分析能力已经成为许多行业的重要技能。无论是为工作需要,还是为了职业转型,掌握数据分析都能够 ...
2024-11-13作为一名业务分析师,你肩负着将业务需求转化为技术解决方案的重任。面试这一角色时,涉及的问题多种多样,涵盖技术技能、分析能 ...
2024-11-13自学数据分析可能看似一项艰巨的任务,尤其在开始时。但是,通过一些策略和方法,你可以系统地学习和掌握数据分析的相关知识和技 ...
2024-11-10Excel是数据分析领域中的一款强大工具,它凭借其灵活的功能和易用的界面,成为了许多数据分析师和从业者的首选。无论是简单的数 ...
2024-11-10在快速发展的商业环境中,数据分析能力已经成为许多行业的核心竞争力。无论是初学者还是经验丰富的专家,搭建一个有效的数据分析 ...
2024-11-10