24小时热门版块排行榜    

查看: 6271  |  回复: 9

古道西风11

新虫 (初入文坛)

[求助] 求助 用matlab拟合三元线性回归方程及分析

用matlab拟合三元线性回归方程,我自己弄了一个如下
x1=[23.00 23.00 23.00 23.00 23.00 28.00 28.00 28.00 28.00 28.00]';
x2=[0.30 0.30 0.30 0.30 0.30 0.10 0.10 0.10 0.10 0.10]';
x3=[0.00 0.69 1.09 1.38 1.61 0.00 0.69 1.09 1.38 1.61]';
y=[-0.91 -0.35 -0.05 0.15 0.29 -0.58 -0.04 0.23 0.41 0.54];
x=[ones(10,1) x1 x2 x3];
>> [b,bint,r,rint,stats]=regress(y,x);
??? Error using ==> or
Matrix dimensions must agree.

Error in ==> regress at 70
wasnan = (isnan(y) | any(isnan(X),2));

>> b,bint,stats,rcoplot(r,rint)

b =

         0
   -0.0115
   -1.7878
    0.6751


bint =

         0         0
   -0.0168   -0.0062
   -2.2782   -1.2973
    0.5701    0.7800


stats =

    0.9747  134.6812    0.0000    0.0059
问题:
1.我编写的程序对吗?
2.输入程序中,总是会出现warning的那段文字,不知道怎么修改?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-11 12:11:55
x,y的行数应该一样,所以y应该是列向量
showmethemoney
2楼2012-07-11 09:50:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

古道西风11

新虫 (初入文坛)

请问y写成列向量后又出现问题了,这是怎么回事啊??
>> x1=[23.00 23.00 23.00 23.00 23.00 28.00 28.00 28.00 28.00 28.00]';
x2=[0.30 0.30 0.30 0.30 0.30 0.10 0.10 0.10 0.10 0.10]';
x3=[0.00 0.69 1.09 1.38 1.61 0.00 0.69 1.09 1.38 1.61]';
>> y=[-0.91
      -0.35
      -0.05
      0.15
      0.29
      -0.58
      -0.04
      0.23
      0.41
      0.54];
>> x=[ones(10,1) x1 x2 x3];
>> [b,bint,r,rint,stats]=regress(y,x);
Warning: X is rank deficient to within machine precision.
> In regress at 82
>> b,bint,stats,rcoplot(r,rint)
3楼2012-07-11 10:17:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★
臭水沟: 金币+2, 谢谢交流~~ 2012-07-11 12:12:08
引用回帖:
3楼: Originally posted by 古道西风11 at 2012-07-11 10:17:45
请问y写成列向量后又出现问题了,这是怎么回事啊??
>> x1=';
x2=';
x3=';
>> y=;
>> x=;
>> =regress(y,x);
Warning: X is rank deficient to within machine precision.
> I ...

Most likely you have too many predictor variables, and too few observations. As an alaogy, imagine trying to fit a cubic polynomial regression with only two observations. REGRESS will make a choise about which coefficients to set to zero, but it can't possibly know what you really want.

变量太多,你可以试一下,分别使用x(:,1:2), x(:,1:3), x(:,2:3)算一下,使用3列时总会出现一个b=0。
showmethemoney
4楼2012-07-11 10:38:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

古道西风11

新虫 (初入文坛)

我上面编写的程序是在别人的二元线性回归方程的基础上自己改的,我没学过matlab,所以,对您的所说的"分别使用x(:,1:2), x(:,1:3), x(:,2:3)算一下,使用3列时总会出现一个b=0"不是十分明白什么意思,我主要就是想依据上面的数据拟合出来一个三元线性回归方程,如果您愿意的话,请您帮写一个程序行吗?万分感谢!
5楼2012-07-11 11:29:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
臭水沟: 金币+1, 谢谢交流~~ 2012-07-11 12:12:17
古道西风11: 金币+10, ★★★很有帮助, 解决了问题 2012-07-11 12:33:22
引用回帖:
5楼: Originally posted by 古道西风11 at 2012-07-11 11:29:51
我上面编写的程序是在别人的二元线性回归方程的基础上自己改的,我没学过matlab,所以,对您的所说的"分别使用x(:,1:2), x(:,1:3), x(:,2:3)算一下,使用3列时总会出现一个b=0"不是十分明白什么意思,我主 ...

上面那样的就可以了。问题是你的x的第2列和第3列,也就是x1和x2在回归计算时有问题,所以matlab默认把常数项b(1)为零。
你可以把x1改成另外的一系列数试试,或者把x1删掉,或者再做多组(x1,x2,x3,y)的数据用作回归。
showmethemoney
6楼2012-07-11 11:51:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

古道西风11

新虫 (初入文坛)

谢谢,问题解决!
7楼2012-07-11 12:33:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

08小贝

金虫 (正式写手)

本人菜鸟一枚,请问楼主 你这个的回归刚才怎么写呀?我在做一个题目,跟你的有点类似。。但是不知道怎么写回归方程。。请楼主赐教~~
8楼2012-09-28 20:31:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhaowl764

禁虫 (初入文坛)

本帖内容被屏蔽

9楼2013-05-14 13:15:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

singingp

金虫 (小有名气)

迭代数: 33
计算用时(时:分:秒:微秒): 00:00:00:241
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.0274286872091944
残差平方和(SSE): 0.00752332882019822
相关系数(R): 0.998018933040592
相关系数之平方(R^2): 0.996041790707481
决定系数(DC): 0.996041790707481
卡方系数(Chi-Square): -0.0155244265746169
F统计(F-Statistic): 2013.11596653563

参数        最佳估算
----------        -------------
a                  -37.3038021226221
b                  -934.025053065556
c                  0.724150995543315
d                  1137.33012469023

====== 结果输出 =====

No        实测值y        计算值y
1        -0.91        -0.8648400
2        -0.35        -0.3651759
3        -0.05        -0.0755155
4        0.15        0.1344883
5        0.29        0.3010431
6        -0.58        -0.5788400
7        -0.04        -0.0791759
8        0.23        0.2104845
9        0.41        0.4204883
10        0.54        0.5870431
10楼2015-04-28 12:12:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 古道西风11 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] NSFC申报书里申请人简历中代表性论著还需要在申报书最后的附件里面再上传一遍吗 20+5 NSFC2026我来了 2026-03-10 14/700 2026-03-15 23:53 by 不负韶华的虎
[文学芳草园] 伙伴们,祝我生日快乐吧 +15 myrtle 2026-03-10 24/1200 2026-03-15 21:16 by 苏州_逗号
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[考研] 材料专硕326求调剂 +4 墨煜姒莘 2026-03-15 4/200 2026-03-15 11:02 by dyw
[考研] 294求调剂 +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[考研] 283求调剂 +6 小楼。 2026-03-12 9/450 2026-03-14 22:15 by cfxczx2015
[考研] 290求调剂 +4 @将就将就看 2026-03-10 8/400 2026-03-14 14:23 by 千千运气
[考研] 297求调剂 +4 学海漂泊 2026-03-13 4/200 2026-03-14 11:51 by 热情沙漠
[考研] 材料080500调剂求收留 +3 一颗meteor 2026-03-13 3/150 2026-03-14 10:54 by peike
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-09 6/300 2026-03-14 02:14 by JourneyLucky
[考研] 332分材料工程调剂 +3 莓好时光海苔 2026-03-09 3/150 2026-03-14 02:03 by JourneyLucky
[基金申请] 有必要更换申报口吗 20+3 fannyamoy 2026-03-11 3/150 2026-03-14 00:52 by zhanghaozhu
[考研] 321求调剂 +3 CUcat 2026-03-10 3/150 2026-03-14 00:25 by JourneyLucky
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 083000环境科学与工程调剂 +8 mingmingry 2026-03-09 9/450 2026-03-11 10:23 by 沙漠之狐994
[基金申请] 提交后的基金本子,已让学校撤回了,可否换口子提交 +3 dut_pfx 2026-03-10 3/150 2026-03-11 08:38 by kudofaye
[考研] 求调剂材料专硕293 +6 段_(:з」∠)_ 2026-03-10 6/300 2026-03-10 18:22 by ms629
信息提示
请填处理意见