matlab线性回归问题A=[1 1 1 2;1 0 0 0;1 1 2 3]X=A(:,1:3);Y=A(:,4);[b,bint,r,rint,stats] = regress(Y,X)A =1 1 1 21 0 0 01 1 2 3b =-0.00001.00001.0000bint =NaN NaNNaN NaNNaN NaNr =1.0e-015 *0.88820.12810rint =NaN NaNNaN NaNNaN NaNstats =1 NaN NaN
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/18 11:14:12
![matlab线性回归问题A=[1 1 1 2;1 0 0 0;1 1 2 3]X=A(:,1:3);Y=A(:,4);[b,bint,r,rint,stats] = regress(Y,X)A =1 1 1 21 0 0 01 1 2 3b =-0.00001.00001.0000bint =NaN NaNNaN NaNNaN NaNr =1.0e-015 *0.88820.12810rint =NaN NaNNaN NaNNaN NaNstats =1 NaN NaN](/uploads/image/z/15237423-63-3.jpg?t=matlab%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E9%97%AE%E9%A2%98A%3D%5B1+1+1+2%3B1+0+0+0%3B1+1+2+3%5DX%3DA%28%3A%2C1%3A3%29%3BY%3DA%28%3A%2C4%29%3B%5Bb%2Cbint%2Cr%2Crint%2Cstats%5D+%3D+regress%28Y%2CX%29A+%3D1+1+1+21+0+0+01+1+2+3b+%3D-0.00001.00001.0000bint+%3DNaN+NaNNaN+NaNNaN+NaNr+%3D1.0e-015+%2A0.88820.12810rint+%3DNaN+NaNNaN+NaNNaN+NaNstats+%3D1+NaN+NaN)
matlab线性回归问题A=[1 1 1 2;1 0 0 0;1 1 2 3]X=A(:,1:3);Y=A(:,4);[b,bint,r,rint,stats] = regress(Y,X)A =1 1 1 21 0 0 01 1 2 3b =-0.00001.00001.0000bint =NaN NaNNaN NaNNaN NaNr =1.0e-015 *0.88820.12810rint =NaN NaNNaN NaNNaN NaNstats =1 NaN NaN
matlab线性回归问题
A=[1 1 1 2;1 0 0 0;1 1 2 3]
X=A(:,1:3);
Y=A(:,4);
[b,bint,r,rint,stats] = regress(Y,X)
A =
1 1 1 2
1 0 0 0
1 1 2 3
b =
-0.0000
1.0000
1.0000
bint =
NaN NaN
NaN NaN
NaN NaN
r =
1.0e-015 *
0.8882
0.1281
0
rint =
NaN NaN
NaN NaN
NaN NaN
stats =
1 NaN NaN NaN
出现了大量的NAN,正常么,怎么回事啊?
matlab线性回归问题A=[1 1 1 2;1 0 0 0;1 1 2 3]X=A(:,1:3);Y=A(:,4);[b,bint,r,rint,stats] = regress(Y,X)A =1 1 1 21 0 0 01 1 2 3b =-0.00001.00001.0000bint =NaN NaNNaN NaNNaN NaNr =1.0e-015 *0.88820.12810rint =NaN NaNNaN NaNNaN NaNstats =1 NaN NaN
因为照你的数据我们可以精确的得到
Y=0*X1+1*X2+1*X3+0,
最后一个零是原来误差存在的地方.现在你的情况下没有误差了,所以你得到的结果将无限精确.
计算bint需要用到估计标准差,但是因为你的数据无法用来估计这个差,(因为你的数据无法提供误差变化的信息)所以就无法得到bint.
同理也不能得到rint.
你看吧,你得到的残差小到了10的负15次方,说明你根本没有误差.