主成分回归分析app
对于OXY数据集的变量解释以下:dom
对上述数据进行回归模型的拟合,获得模型:spa
从模型的显著性检验结果看出:除了常数项以及β3显著,其余变量系数都不经过显著性检验。同时,从模型总体拟合效果来看,R^2为0.8618,调整的R^2为0.7697,总体拟合效果能够经过。最后,p值为0.00198说明,拒绝原假设,即有理由认为回归模型从总体上拟合效果比较好。code
下面针对系数通不过检验进行分析。orm
##残差图,异方差,自相关检验
plot(lm.sol$residuals,main = "the residuals of liner model",ylab = "re")
abline(h=0,lty=2)
#多重共线性检验
kappa(qr(OXY))blog
结果:ip
借助残差图,其随机围绕着re=0波动,能够排除模型不存在自相关以及异方差问题。ci
kappa(qr(OXY))
[1] 264.2117
it
由其条件数为264大于100,可认为,该模型存在较强的多重共线性。io
则采用主成分回归法,来消减模型存在多重共线性带来的影响,即系数通不过显著性检验。
求主成分:
由cumulative proportion能够获得当主成分个数m等于3时,累计贡献率为83.526%大于80%,便可认为前三个主成分,就基本提取了原数据绝大部分的信息。因此,之前三个主成分的得分值做其观测值z1,z2,z3,并把它添加到数据集OXY中,创建回归模型:
y =46.3800+2.0593*z1 -1.4782*z2 +0.6950*z3
可从summary(lm.sol.1)结果获得,除了z3的系数没经过显著性检验。同时模型的总体
拟合效果获得提升,R^2为0.8676,调整的R^2为0.8345,同时p值远远小于0.05,说明
模型总体拟合效果较佳。
lm.sol.1<-lm(y~z1+z2+z3, data=OXY)
summary(lm.sol.1)
Call:
lm(formula = y ~ z1 + z2 + z3, data = OXY)
Residuals:
Min 1Q Median 3Q Max
-2.3880 -1.5069 0.3160 0.7009 4.3672
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 46.3800 0.4762 97.394 < 2e-16 ***
z1 2.0593 0.2591 7.950 4.01e-06 ***
z2 -1.4782 0.4093 -3.611 0.00357 **
z3 0.6950 0.4512 1.540 0.14942
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.905 on 12 degrees of freedom
Multiple R-squared: 0.8676, Adjusted R-squared: 0.8345
F-statistic: 26.2 on 3 and 12 DF, p-value: 1.49e-05
使用逆变换法,获得原始变量的回归方程:
beta<-coef(lm.sol.1); A<-loadings(prin.oxy)
x.bar<-prin.oxy$center; x.sd<-prin.oxy$scale
coef<-(beta[2]*A[,1]+ beta[3]*A[,2])/x.sd
beta0 <- beta[1]- sum(x.bar * coef)
c(beta0, coef)
(hntercept) x1 x2 x3 x4 x5 x6 y
84.48047095 -0.19517781 -0.11688617 -1.04312708 -0.12361966 -0.03916300 -0.05573319 0.31272008
便可以获得原始变量的回归方程
从其系数能够大体获得如下结论:
即认为人体肺活量与年龄,体重,脉搏成负相关,与运动时最大脉搏成正比。