Matlab多元线性回归
[ b , bint , r , rint , stats ]=regress ( y , x ) ,
其中b 是回归方程中的参数估计值,bint 是b 的置信区间,r 和rint 分别表示残差及残差对应的置信区间。StatS 数组包含三个数字,分别是相关系数,F 统计量及对应的概率p 值。 拟合结果:
Y=b(1)x(1)+b(2)x(2)+b(3)x(3)+…+b(n)x(n) b(1)是系数,x(1)为全1的一个列向量。 注意:不是插值。
x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3155 3372];%因变量时间序列数据
y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];%自变量时间序列数据 X=[ones(size(x')),x'];
[b,bint,r,rint,stats]=regress(y',X,0.05);%调用一元回归分析函数 rcoplot(r,rint)%画出在置信度区间下误差分布.
举例:
x =
1 2 4 9 1 4 3 7 1 5 9 0 1 9 1 8 >> y=[10 3 90 48]';
>> [ b , bint , r , rint , stats ]=regress ( y , x )
得到的结果 b =
-186.8333 16.0238 21.8571 8.5952
bint =
NaN NaN NaN NaN NaN NaN
NaN NaN r =
1.0e-013 *
-0.5684 -0.9948 -0.1421 0.1421
rint =
NaN NaN NaN NaN NaN NaN NaN NaN
stats =
1 NaN NaN NaN 另外,用b=inv(x)*y
得到的结果和上面用regression得到的一样。可见,求逆的问题也是用了最小二乘的原理。
但是,regress更优于inv,体现在当x的元素存在缺陷时。举例: x =
1 0 0 4 1 0 0 3 1 0 0 5 1 0 0 8 y =
3 4 3 9
[ b , bint , r , rint , stats ]=regress ( y , x )
Warning: X is rank deficient to within machine precision. b =
-0.9643 0 0 1.1429 bint =
-12.0010 10.0724 0 0 0 0 -0.9245 3.2102 r =
-0.6071 1.5357 -1.7500 0.8214
rint =
-9.2316 -1.9141 -7.4997 0.2465
stats =
0.7388
8.0173 4.9855 3.9997 1.3964 5.6575 0.1405 3.2321
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Matlab多元线性回归在线全文阅读。
相关推荐: