当前位置:酷酷问答>百科问答>利用R软件进行回归分析

利用R软件进行回归分析

2024-10-10 08:58:06 编辑:zane 浏览量:519

利用R软件进行回归分析

的有关信息介绍如下:

利用R软件进行回归分析

R软件进行回归分析,运行相应代码后,可以自动计算出线性或者非线性模型,并检验模型中各个参数的显著性。得出模型结果后,还可以利用predict()函数求出预测值和预测区间。plot()函数可以帮助我们绘制出拟合图。

打开R软件,文件>新建脚本程序,输入需要进行回归分析的数据。

首先绘制出散点图,观察二者的关系是线性的或者非线性的,以建立合适的回归模型。

程序代码:

#输入数据

x=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24)

y=c(276,277,283,294,308,330,355,387,422,461,507,558,613,675,741,811,886,966,1053,1142,1239,1340,1445,1556)

#绘制散点图

plot(x,y,col=1:7)

其中plot为绘图命令,col表示散点的颜色。

运行后得到下图。

从图形可知,y与x成非线性关系,图形比较契合二次曲线,建立回归模型y=a+b*x+c*(x^2)

计算回归参数:

#回归分析

test=lm(y~1+x+I(x^2))

test

其中lm表示建立模型,其中的公式y=1+x+I(x^2),1表示常数项,I(x^2)表示x的平方项,注意这里合起来是相当于组成另外一个变量,单独x^2不能得到预想的结果。

运行得到参数,模型为:

y=280.944-6.909*x +2.501*(x^2)

查看显著性检验结果。

运行代码summary(test)

表示提取模型的计算结果。

该结果中,call显示出模型公式,residuals显示出残差的四分位数值,estimate这一列反映了模型的参数估计值,std.Error为标准差,Pr(>|t|)这一列位计算的P值,最下面是解释。可以看出该模型的每个参数的P值的显著性标记均为“***”,表示极为显著。该模型通过回归检验。

利用predict()函数求该回归模型的预测值和预测区间。

程序代码为:

#预测

pred=data.frame(x=25)

test.pred=predict(test,pred,interval="prediction",level=0.95)

test.pred

其中pred表示要预测的点,这里必须以数据框的形式输入,predict函数才能计算;interval="prediction"表示给出对应的预测区间,参数level=0.95表示显著性水平。由此得到的预测结果为:Y'=1671.368 ,区间[1669.628,1673.109]。

计算全部拟合值,并绘制拟合曲线图。

#计算全部拟合值

nihe=predict(test)

#曲线拟合图

plot(x,y,col=1:7)

lines(nihe)

其中predict计算出全部拟合值。在绘制曲线命令lines()之前,需要先用plot()绘制出散点图。

从图中可以看出,拟合效果非常好。

在实际数据分析中,还会涉及多元线性回归方程、非线性回归模型等。可以使用命令lm(y~X1+X2+X3+I(X3^2)).....等等建立合适的模型,以得到更好的拟合效果。

版权声明:文章由 酷酷问答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.kukuwd.com/answer/72428.html
热门文章