matlab多组回归分析
答案:1 悬赏:80 手机版
解决时间 2021-04-03 15:13
- 提问者网友:藍了天白赴美
- 2021-04-02 18:38
matlab多组回归分析
最佳答案
- 五星知识达人网友:duile
- 2021-04-02 18:49
matlab多组回归分析可以用 regress()回归分析函数或其他的拟合函数(lsqcurvefit、nlinfit等)来实现。由于你给的数据偏少,下面以你的数据为例,进行分析
y=[1 2 3 4 5 6 7 8]';
x1=[94 65 95 15 47 23 65 52]';
x2=[45 66 22 54 87 16 65 54]';
X=[ones(8,1) x1 x2 x1.^2 x2.^2 x1.^3 x2.^3];
[a,bint,r,rint,stats] = regress(y,X);
运行结果
z=a+b*x+c*y+d*x^2+e*x^2+f*x^3+g*x^3 %表达式
a=-12.3279 b=-2.0631 c=3.9929 d=0.052567 e=-0.094348 f=-0.00036336 g=0.00061139 %系数
决定系数:R²=0.75384 %这个说明拟合精度偏低,一般要求,R²≈1
F统计量:F=0.51039 概率值:p=0.78889
追问不是啊兄弟,我是要分别做回归,y跟x1做完回归,得到的R平方,y跟x2做回归的到的R平方,我的y要跟一万多组x做回归,我就想写个循环之类的,得到跟没个x的回归分析。追答用for循环来完成,代码已发私信。
y=[1 2 3 4 5 6 7 8]';
x1=[94 65 95 15 47 23 65 52]';
x2=[45 66 22 54 87 16 65 54]';
X=[ones(8,1) x1 x2 x1.^2 x2.^2 x1.^3 x2.^3];
[a,bint,r,rint,stats] = regress(y,X);
运行结果
z=a+b*x+c*y+d*x^2+e*x^2+f*x^3+g*x^3 %表达式
a=-12.3279 b=-2.0631 c=3.9929 d=0.052567 e=-0.094348 f=-0.00036336 g=0.00061139 %系数
决定系数:R²=0.75384 %这个说明拟合精度偏低,一般要求,R²≈1
F统计量:F=0.51039 概率值:p=0.78889
追问不是啊兄弟,我是要分别做回归,y跟x1做完回归,得到的R平方,y跟x2做回归的到的R平方,我的y要跟一万多组x做回归,我就想写个循环之类的,得到跟没个x的回归分析。追答用for循环来完成,代码已发私信。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯