用matlab解多元回归方程,Y = BX,Y,B,X为矩阵,我需要具体的MATLAB操作过程,好的话追加财富值

年份 x1 x2 x3 x4 y
1992年 25402.2 681 26923.5 5.52 780
1993年 34879.8 3667 35333.9 5.8 834
1994年 46923.5 8128 48197.9 8.62 648
1995年 60750.5 4036 60793.7 8.35 555
1996年 76094.9 21332 71176.6 8.31 917
1997年 90995.3 30722 78973 8.29 1194
1998年 104498.5 23544 84402.3 8.28 1147
1999年 119897.9 31320 89677.1 8.28 1367
2000年 134610.4 60827 99214.6 8.28 2073
2001年 158301.9 38305 109655.2 8.28 1646
2002年 185007 27990 120332.7 8.28 1358
2003年 221222.8 32115 135822.8 8.28 1497
2004年 254107 42334 159878.3 8.28 1267
2005年 298755.7 31665 184937.4 8.19 1161
2006年 345603.59 90469 216314.4 7.97 2675
2007年 403442.2 460556.22 265810.3 7.61 5261.56
2008年 475166.6 267113 314045.4 6.95 1820.81
2009年 606225 535987 340902.8 6.83 3277
2010年 725774 545634 401202 6.77 2808
求出 x1 、 x2 、x3 、 x4 与 y的多元回归方程

先输入X,Y矩阵,X为19 x 4的矩阵,Y为19 x 1的列向量

用matlab函数regress计算多元回归方程

>> B = regress(Y,X)

B =

   -0.0110

    0.0062

    0.0182

  100.8726

B就是回归方程的解x1~x4。

函数regress的高级用法有

>> [B,BINT] = regress(Y,X)

B =

   -0.0110

    0.0062

    0.0182

  100.8726

BINT =

   -0.0272    0.0051

    0.0020    0.0104

   -0.0116    0.0479

  -21.6227  223.3680

BINT是B的95%的置信区间矩阵

还有

[B,BINT,R,RINT] = REGRESS(Y,X)

等用法,用来发现奇异观测值,数据中的坏点。

R =

  1.0e+003 *

    0.0096

   -0.0317

   -0.6310

   -0.7478

   -0.5090

   -0.2659

   -0.2168

    0.0287

    0.5398

    0.3247

    0.2015

    0.4328

    0.0645

    0.0711

    1.1872

    1.2417

   -1.0127

   -0.2618

   -0.5622

RINT =

  1.0e+003 *

   -1.3735    1.3926

   -1.4198    1.3565

   -1.9006    0.6386

   -2.0300    0.5345

   -1.8297    0.8117

   -1.6164    1.0847

   -1.5825    1.1489

   -1.3466    1.4040

   -0.8002    1.8797

   -1.0444    1.6938

   -1.1572    1.5603

   -0.8702    1.7358

   -1.2683    1.3973

   -1.1816    1.3238

    0.1151    2.2593

    0.6329    1.8505

   -1.5208   -0.5045

   -1.3322    0.8086

   -1.4891    0.3647

如果RINT(i, :)所定区间没有包含0,

则第i个残差在默认的5%的显著性水平比我们所预期的要大这可说明第i个观测值是个奇异点

计算结果RINT中倒数第四第五行,满足上述条件,说明这两行,即2006年2007年的数据是奇异观测值

对应的残差R中这两行为  1.1872    1.2417相比其他年份的残差要大。

最后画图:

>> Y_wedge = B(1)*X(:,1)+B(2)*X(:,2)+B(3)*X(:,3)+B(4)*X(:,4);

>> year=[1992:1:2010];

>> plot(year,y,'*r',year,Y_wedge,'g');legend('观测值','估计值')

>> xlabel('年度')

温馨提示:答案为网友推荐,仅供参考
相似回答