数学建模社区-数学中国

标题: Too many output argument线性回归错误 [打印本页]

作者: 慢跑20    时间: 2013-6-7 21:19
标题: Too many output argument线性回归错误
5个变量,ABCDE,函数Y.
最后
[b,bint,r,rint,stats]=regress(Y',X);
b,bint,r,rint,stats;

可以得到B,BINT,R,RINT.
但是如果最后:  [b,bint,r,rint,stats]=regress(Y',X,alpha);b,bint,r,rint,stats;

则会出现:
Error using alpha
Too many output arguments.
???课本上就是 regress(Y',X,alpha);
另外问一下,课本上说R^2=....  F=....   P<0.0001  S^2=0.049
但是MATLAB只显示b,r
R^2就是显示的R的平方么?那F,P,S^2为啥没有显示呢?

A=[701.24  724.57  746.62  778.27  800.80  827.75  846.43  861.55  876.83  891.23  1035.79];
B=[2187.45  2482.49  2969.52  3585.72  4282.14  4950.91  5813.56  6801.57  7806.53  8201.23  9510.91];
C=[1325.05 1455.57  1522.89  1448.82 1942.93  2142.83  2317.28 2560.28  2659.30  2840.31 3285.31];
D=[20905.68 22759.92  24940.68  25935.84 27596.40  21494.40  22567.08 24301.38  26729.31  29244.52 30658.00];
E=[16306.68 17024.76  18925.92  19960.32 19569.60  15911.88  16628.16 18474.49  19779.09  21526.10 25012.00];
X=[ones(11,1) A’ B’ C’ D’ E’];
Y=[201.90 219.00 221.10 324.50  346.97 332.90  359.53  406.98 440.69  475.96  479.25];
[b,bint,r,rint,stats]=regress(Y',X);
b,bint,r,rint,stats;

作者: madio    时间: 2013-6-8 06:18
regress(Y',X,alpha);
这个写法中alpha是有值的,你没有给它赋值当然提示错了,如果不写默认是0.05,你可以直接写数,
比如:[b,bint,r,rint,stats]=regress(Y',X,0.01);
作者: 天十    时间: 2013-6-8 11:05
其中regress(Y',X,alpha);只是一种调用格式,alpha代表显著性水平,默认值为0.05.也就是说,这个如果不写,就代表0.05.
b,bint,r,rint,stats;
这个应该改成 b,bint,r,rint,stats 把分号去掉就显示了
stats =

    0.9780   44.3564    0.0004  443.7778
其中第一个值就是R^2,R为相关系数;
第二个值代表F,F代表统计量
第三个值代表P,P为统计量F对应的概率
第四个值就是估计误差方差S^2




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5