资源描述:
《数据回归分析和拟合的matlab实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据回归分析和拟合的Matlab实现本次将教程的主要内容包含:一、多元线性回归 2#多元线性回归:regress二、多项式回归 3#一元多项式:polyfit或者polytool多元二项式:rstool或者rsmdemo三、非线性回归 4#非线性回归:nlinfit四、逐步回归 5#逐步回归:stepwise一、多元线性回归多元线性回归:1、b=regress(Y,X) 确定回归系数的点估计值2、[b,bint,r,rint,stats]=regress(Y,X,alpha) 求回归系数的点估计和区间估计、并检验回归模
2、型①bint表示回归系数的区间估计.②r表示残差③rint表示置信区间④stats表示用于检验回归模型的统计量,有三个数值:相关系数r2、F值、与F对应的概率p说明:相关系数r2越接近1,说明回归方程越显著;14时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p<α时拒绝H0⑤alpha表示显著性水平(缺省时为0.05)3、rcoplot(r,rint) 画出残差及其置信区间具体参见下面的实例演示4、实例演示,函数使用说明(1)输入数据>>x=[143145146147149150153154155156157158159
3、160162164]';>>X=[ones(16,1)x];>>Y=[8885889192939395969897969899100102]';回归分析及检验复制内容到剪贴板代码: >>[b,bint,r,rint,stats]=regress(Y,X)b= -16.0730 0.7194bint= -33.7071 1.5612 0.6047 0.8340r= 1.2056 -3.2331 -0.9524 1.3282 140.8895 1.1702 -0.9879 0.2927 0.5734 1.
4、8540 0.1347 -1.5847 -0.3040 -0.0234 -0.4621 0.0992rint= -1.2407 3.6520 -5.0622 -1.4040 -3.5894 1.6845 -1.2895 3.9459 -1.8519 3.6309 -1.5552 3.8955 -3.7713 1.7955 -2.5473 3.1328 -2.2471 3.3939 -0.7540 4.4621 -2.6814 2.9508 -4.2188 1.0494 -3
5、.0710 2.4630 -2.7661 2.7193 -3.1133 2.1892 -2.4640 2.6624stats= 0.9282 180.9531 0.0000 1.743714运行结果解读如下参数回归结果为,对应的置信区间分别为[-33.7017,1.5612]和[0.6047,0.834]r2=0.9282(越接近于1,回归效果越显著),F=180.9531,p=0.0000,由p<0.05,可知回归模型y=-16.073+0.7194x成立(3)残差分析作残差图rcoplot(r,rint)从残
6、差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点。(4)预测及作图z=b(1)+b(2)*xplot(x,Y,'k+',x,z,'r')x=[10971284150213941303155519172051211122862311200324352625294831553372];%因变量时间序列数据y=[69887298880773810251316153915611765176219601902201
7、3244627362825];%自变量时间序列数据X=[ones(size(x')),x'];[b,bint,r,rint,stats]=regress(y',X,0.05);%调用一元回归分析函数rcoplot(r,rint)%画出在置信度区间下误差分布.[bbintrrints]=regress(y,x,alpha);%y=[....]'%x=[ones(n,1)x1x2x3....xn];[b,bint,r,rint,stats]=regress(y,X,alpha)这是regress最完整的用法,其中y为要拟合的因变量X为对应
8、于你要求的系数的系数矩阵alpha为显著水平输出的b是你要求的系数组成的矩阵bint是置信区间r是用来诊断奇异点的stats会返回四个变量theR2statistic,相关系数theFstatisticanditsp-v