最小二乘回归拟合matlab版本(多重共线性)

 根据已知样本点,由最小二乘回归法得到拟合函数:

理论知识:

 这里是有两个变量,所以有所不同:

matlab仿真:

X =

    1.1000    1.4000    1.7000    1.7000    1.8000
    1.1000    1.5000    1.8000    1.7000    1.9000
    1.0000    1.0000    1.0000    1.0000    1.0000

Y =

   16.3000   16.8000   19.2000   18.0000   19.5000

然后计算即可

求取w

x1 = [1.1 1.4 1.7 1.7 1.8] 
x2 = [1.1 1.5 1.8 1.7 1.9]
x3 = [1 1 1 1 1]
Y = [16.3 16.8 19.2 18 19.5]
scatter3(x1,x2,Y)
hold on

Y2=Y.'

X = [x1;x2;x3]
X2 = X.'

P=X*X2
P2=inv(P)

Q=X*Y2

W=P2*Q

plot3(x1,x2,11.27+0.5*x1+3.7*x2)

结果如下:

x1 =

    1.1000    1.4000    1.7000    1.7000    1.8000


x2 =

    1.1000    1.5000    1.8000    1.7000    1.9000


x3 =

     1     1     1     1     1


Y =

   16.3000   16.8000   19.2000   18.0000   19.5000


Y2 =

   16.3000
   16.8000
   19.2000
   18.0000
   19.5000


X =

    1.1000    1.4000    1.7000    1.7000    1.8000
    1.1000    1.5000    1.8000    1.7000    1.9000
    1.0000    1.0000    1.0000    1.0000    1.0000


X2 =

    1.1000    1.1000    1.0000
    1.4000    1.5000    1.0000
    1.7000    1.8000    1.0000
    1.7000    1.7000    1.0000
    1.8000    1.9000    1.0000


P =

   12.1900   12.6800    7.7000
   12.6800   13.2000    8.0000
    7.7000    8.0000    5.0000


P2 =

  125.0000 -112.5000  -12.5000
 -112.5000  103.7500    7.2500
  -12.5000    7.2500    7.8500


Q =

  139.7900
  145.3400
   89.8000


W =

    0.5000
    3.7000
   11.2700

根据得到的W结果作图:

 

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值