24小时热门版块排行榜    

查看: 1377  |  回复: 10

shi2012

金虫 (小有名气)

[求助] Matlab多元回归! 已有3人参与

现有一函数,y=a*x1+b*x2+c*x3+d*x4,现已知x1,x2,x3,x4,同时知道系数b,c,d的范围,且a+b+c+d=1,请问如何求出a,b,c,d的值?
例如,此处,y=55.65,x1=53.73,x2=66.93,x3=7.63,x4=28.22,b=0~0.1,c=0~0.1,d=0~0.05。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

【答案】应助回帖

感谢参与,应助指数 +1
只有这么一些数据不知道效果会怎么样。如果这样的话,一般用多元线性回归就可以解决了,c = inv(X'*X)*X'*y
然而你的系数有限制,所以最简单的线性回归不能解决,需要用优化的方式获得最佳的拟合结果,可以参考这里:
http://www.mathworks.com/matlabc ... ion-with-constraint
http://www.mathworks.com/matlabc ... /view_thread/152296
另外可以自己设计目标函数来进行优化,因为上述涉及到的函数是优化最小二乘~~

祝好运
What would Jesus do?
10楼2014-09-26 11:34:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

【答案】应助回帖

感谢参与,应助指数 +1
把d写成1-a-b-c
在命令窗口输入cftool,然后回车试试
2楼2014-09-26 08:37:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NUAA_TIMI

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
a: 0.911164097934957
b: 0.0999996526550123
c: 1.40239660072488E-8
d: 2.53798530728699E-11
under review……
3楼2014-09-26 09:57:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NUAA_TIMI

新虫 (正式写手)

a: 1.01257709158832
b: 0.0128668655316662
c: 3.74817526898506E-5
d: 0.0135645102975376
under review……
4楼2014-09-26 09:58:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NUAA_TIMI

新虫 (正式写手)

好多种可能呢!
under review……
5楼2014-09-26 09:59:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shi2012

金虫 (小有名气)

引用回帖:
2楼: Originally posted by hytao2012 at 2014-09-26 08:37:24
把d写成1-a-b-c
在命令窗口输入cftool,然后回车试试

貌似不行诶,cftool不是只有一元线性回归么?如果在这里的X,Y为多元的呢?
6楼2014-09-26 10:09:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shi2012

金虫 (小有名气)

引用回帖:
5楼: Originally posted by NUAA_TIMI at 2014-09-26 09:59:54
好多种可能呢!

但是在这里a,b,c,d都有范围的啊!你给的结果都不在这个范围里面
7楼2014-09-26 10:28:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

按照你给的条件,一个方程,4个变量,这个方程的解有无数多个,可能需要更多的数据~~
What would Jesus do?
8楼2014-09-26 10:56:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shi2012

金虫 (小有名气)

引用回帖:
8楼: Originally posted by dnp at 2014-09-26 10:56:54
按照你给的条件,一个方程,4个变量,这个方程的解有无数多个,可能需要更多的数据~~

如果,y=[54.65; 24.40; 11.91; 5.30; 2.08; 0.49; 1.17 ];
x1=[53.73; 26.09; 12.48; 4.80; 1.42; 0.30; 1.17];
x2=[66.93; 7.76; 4.06; 2.83; 12.15; 5.82; 0.44];
x3=[7.63; 76.95; 1.63; 10.01; 2.56; 0.96; 0.25];
x4=[28.22; 18.65; 8.01; 37.42; 3.03; 4.25; 0.42 ];
9楼2014-09-26 11:18:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shi2012 的主题更新
信息提示
请填处理意见