R软件一元线性回归分析报告(非常详细)
R 软件一元线性回归分析合金钢强度与碳含量的数据碳含量合金钢强度口,号/%/107pa10.1042.020.1143.030.1245.040.1345.050.1445.060.1547.570.1649.080.1753.090.1850.0100.2055.0110.2155.0120.2360.0这里取碳含量为x是普通变量,取合金钢强度为y是随机变量使用R软件对以上数据绘出散点图程序如下:>x=matrix(c(0.1,42,0.11,43,0.12,45,0.13,45,0.14,45,0.15,47.5,0.16,49,0.17,53,0.18,50,0.2,55,0.21, 55,0.23,60),nrow=12,ncol=2,byrow=T,dimnames=list(1:12,c("C","E")>outputcost=as.data.frame(x)>plot(outputcost$C,outputcost$E)outputcost$C 很显然这些点根本上但并不准确地落在一条直线上。 下面在之前数据录入的根底上做回归分析程序接前文,下同 > lm.sol = lm(EC,data = outputcost)>summary(lm.sol)得到以下结果:Call:lm(formula = E C, data = outputcost) Residuals:Min 1Q Median 3Q Max-2.00449 -0.63600 -0.02401 0.71297 2.32451 Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) 28.0831.567 17.92 6.27e-09 *C 132.899 9.606 13.84 7.59e-08 *Signif. codes: 0 *' 0.001 *' 0.01 *' 0.05 .' 0.1 ' 1Residual standard error: 1.309 on 10 degrees of freedomMultiple R-squared: 0.9503, Adjusted R-squared: 0.9454由计算结果分析:常数项R =28.083,变量即碳含量的系数R01得到回归方程:y由于回归模型建立使用的是最小二乘法 ,而最小二乘法只是一 种单纯的数学方法 ,存在着一定的缺陷 ,即不论变量间有无相关关 系或有无显著线性相关关系 ,用最小二乘法都可以找到一条直线去 拟合变量间关系。所以回归模型建立之后 ,还要对其进展显著性检 验:在上面的结果中sd(R二,sd(B )=o而对应于两个系数的P值 01和,故是非常显著的。关于方程的检验,残差的标准差J =。相关系数的平方R2 =。关 于F分布的P值为,也是非常显著的。我们将得到的直线方程画在散点图上,程序如下:> abline(lm.sol)得到散点图与相应的回归直线:下面分析残差:在R软件中,可用函数residuals计算回归方程的残差。程序如下:=residuals(lm.sol);plot(y.res)得到残差图ser.y2 4 6 8 10 12Index从残差图可以看出,第 8 个点有些反常,这样我们用程序将第8个点的残差标出,程序如下:>text(8,y.res8,labels=8,adj=1.2)ser.y22112 4 6 8 10 12 Index 这个点可能有问题,下面做简单处理,去掉该样本点,编程如下: >i=1:12;outputcost2=as.data.frame(xi!=8,) lm2=lm(EC,data=outputcost2) summary(lm2) 结果输出如下:Call:lm(formula = E C, data = outputcost2)Residuals:Min 1Q Median 3Q Max-1.7567 -0.5067 -0.1308 0.6821 1.6787Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) 28.124 1.335 21.06 5.75e-09 *C 131.293 8.217 15.98 6.51e-08 *Signif. codes: 0 *' 0.001 *' 0.01 *' 0.05 .' 0.1 ' 1Residual standard error: 1.115 on 9 degrees of freedomMultiple R-squared: 0.966,Adjusted R-squared: 0.9622由结果分析,去掉第8个点之后,回归方程系数变化不大,R2相关系数有所提高,并且p-值变小了,这说明样本点8可以去掉。所得 新模型较为理想。总结程序如下:>x2=matrix(c(0.1,42,0.11,43,0.12,45,0.13,45,0.14,45,0.15,47.5,0.16,49 ,0.18,50,0.2,55,0.21,55,0.23,60),nrow=11,ncol=2,byrow=T,dimnames=list(1:11,c("C","E")>outputcost=as.data.frame(x2)>plot(outputcost$C,outputcost$E)>lm.sol = lm(EC,data = outputcost)>summary(lm.sol)Call:lm(formula = E C, data = outputcost)Residuals:Min 1Q Median 3Q Max-1.7567 -0.5067 -0.1308 0.6821 1.6787Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) 28.1241.335 21.06 5.75e-09 *C 131.293 8.217 15.98 6.51e-08 *Signif. codes: 0 *' 0.001 *' 0.01 *' 0.05 .' 0.1 ' 1Residual standard error: 1.115 on 9 degrees of freedomMultiple R-squared: 0.966, Adjusted R-squared: 0.9622>abline(lm.sol)得到最后的散点图和回归直线得到回归方程y =+x