当前位置:   article > 正文

数学建模之回归分析算法(含matlab源代码)_matlab多元线性回归代码

matlab多元线性回归代码

目录

一、一元线性回归

1、步骤

 2、matlab命令(多元线性回归)

3、举例

 二、一元非线性回归

 三、多项式回归

1、一元多项式回归

 应用

 2、多元二项式

应用

 四、非线性回归

 应用

五、 逐步回归

 应用


一、一元线性回归

1、步骤

 2、matlab命令(多元线性回归

 

 r²和F越大越好 p越小越好

3、举例

  1. x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
  2. X=[ones(16,1) x];
  3. Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]';
  4. %回归分析检验
  5. [b,bint,r,rint,stats]=regress(Y,X)
  6. b,bint,stats
  7. %作残差图:
  8. rcoplot(r,rint)ats
  9. %预测及作图:
  10. z=b(1)+b(2)* %随机
  11. plot(x,Y,'k+',x,z,'r')

 

 

 从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点.

 二、一元非线性回归

 

 三、多项式回归

1、一元多项式回归

 

 应用

 法一:使用二次多项式回归

  1. t=1/30:1/30:14/30;
  2. s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
  3. [p,S]=polyfit(t,s,2)

 法二:多元线性回归:

  1. t=1/30:1/30:14/30;
  2. s=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
  3. T=[ones(14,1) t' (t.^2)'];
  4. [b,bint,r,rint,stats]=regress(s',T);
  5. b,stats

 

 预测和作图:

  1. Y=polyconf(p,t,S)
  2. plot(t,s,'k+',t,Y,'r')

 2、多元二项式

应用

 法一:使用多元二项式

  1. x1=[1000 600 1200 500 300 400 1300 1100 1300 300];
  2. x2=[5 7 6 6 8 7 5 4 3 9];
  3. y=[100 75 80 70 50 65 90 100 110 60]';
  4. x=[x1' x2'];
  5. rstool(x,y,'purequadratic')

 

 将左边图形下方方框中的“800”改成1000,右边图形下方的方框中仍输入6.则画面左边的“Predicted Y”下方的数据由原来的“86.3791”变为88.4791,即预测出平均收入为1000.价格为6时的商品需求量为88.4791.

 

beta, rmse

beta =

  110.5313
    0.1464
  -26.5709
   -0.0001
    1.8475


rmse =

    4.5362

 法二:

 

  1. X=[ones(10,1) x1' x2' (x1.^2)' (x2.^2)'];
  2. [b,bint,r,rint,stats]=regress(y,X);
  3. b.stats

 四、非线性回归

 应用

 

  1. x=2:16;
  2. y=[6.42 8.20 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76];
  3. beta0=[8 2]';%随机取得
  4. [beta,r ,J]=nlinfit(x',y','volum',beta0);
  5. beta

 预测和作图:

  1. [YY,delta]=nlpredci('volum',x',beta,r ,J);
  2. plot(x,y,'k+',x,YY,'r')

 

五、 逐步回归

 应用

 

  1. x1=[7 1 11 11 7 11 3 1 2 21 1 11 10]';
  2. x2=[26 29 56 31 52 55 71 31 54 47 40 66 68]';
  3. x3=[6 15 8 8 6 9 17 22 18 4 23 9 8]';
  4. x4=[60 52 20 47 33 22 6 44 22 26 34 12 12]';
  5. y=[78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4]';
  6. x=[x1 x2 x3 x4];
  7. stepwise(x,y)
  8. % 对变量y和x1 x2做线性回归
  9. X=[ones(13,1) x1 x2];
  10. b=regress(y,X)

 

 做线性回归结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/683671
推荐阅读
相关标签
  

闽ICP备14008679号