有时候我们在使用matlab的时候,想进行多元线性回归方程的分析和拟合,怎么进行呢,下面来分享一下方法
第一步我们首先需要知道matlab中用于建立多元线性回归模型的是“[b,bint,r,rint,stats]=regress(Y,X)”,其中b是方程的系数矩阵,bint是回归系数的区间,r残差,rint置信区间,stats用于检验回归模型是否正确,分别是R的平方,F值,概率P,具体如下图所示:
第二步我们打开matlab,在命令行窗口中输入“
x=[143 144 145 147 148 150 153 154 155 156 157 158 159 160 161 162]';
X=[ones(16,1),x];
Y=[87 85 88 91 92 90 93 95 98 98 97 95 97 99 100 102]';
[b,bint,r,rint,stats]=regress(Y,X)”,其中需要注意的是Y,X都是列向量,x后面加'是进行转置,将行向量转成列向量,如下图所示:
第三步我们可以看一下b的值,其中方程常数B0=-20.7500,变量系数B1=0.7500,置信区间是[-42.1526,0.6526]和[0.6105,0.8895],R的平方为0.9047,F为132.8768,P为0.0000,其中R的平方越接近于1代表回归模型越准确,P<0.5也代表Y=-20.7500+0.7500X方程成立,如下图所示:
第四步我们也可以绘制出图形,来看一下效果,t为样本数量,y_fitting为拟合的值,通过plot(t,y_fitting,'r-',t,Y(t,:),'b-',t,abs(y_fitting-Y(t,:)),'k-');绘制出Y实际值曲线和拟合值曲线,以及残差曲线,如下图所示:
第五步我们也可以将残差的置信区间上限,下限绘制出来,如下图所示:
第六步运行脚本,我们可以看到多元线性回归的拟合效果,两条曲线已经比较接近了,如下图所示:
第七步我们可以看到残差值都在置信区间上限,下限里面,代表回归模型正常,如下图所示:
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!