24小时热门版块排行榜    

查看: 2127  |  回复: 8

wenzimu

新虫 (初入文坛)

[求助] matlab中如何用regress实现批量回归并出图

现在有三组143*4的矩阵数据,分别命名为GDP,LGDP,GRO。现在想通过regress以GDP为因变量,LGDP,GRO为自变量进行回归。如果是整体回归,那直接调用函数regress就可以了,但现在遇到的问题是想每列数据分区间求各自的回归方程并画图。比如第一列数据中,GDP(1:11,1)与LGDP(1:11,1),GRO(1:11,1);GDP(12:22,1)与LGDP(12:22,1),GRO(12:22,1);GDP(23:33,1)与LGDP(23:33,1),GRO(23:33,1)......GDP(133:143,1)与LGDP(133:143,1),GRO(133:143,1)这样分别进行批量回归,并画出实际值GDP与拟合值GDP的图;然后第二列、第三列、第四列数据也同样进行这样的拟合(如下图所示),不知这样该如何实现,还请高人帮忙~!

示意图
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wenzimu

新虫 (初入文坛)

我自己用随机数做了一下,但最后发现回归参数不能一起出现在同一个矩阵中,最后矩阵中只有某一组的回归参数,请问这种情况怎么解决啊?
>> X=rand(143,4);
>> Y=rand(143,4);
>> C=ones(11,1);
>> for n=0:12
       i=11*n
   for j=1:4
   Xj=X(1+i:11+i,j);
   Xj=[Xj,C]
   Yj=Y(1+i:11+i,j)
   [b,bint,r,rint,stats]=regress(Yj,Xj)
end
end
2楼2012-08-16 16:17:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
改成这样
CODE:
[b(:,:,n+1),bint(:,:,n+1),r(:,:,n+1),rint(:,:,n+1),stats(:,:,n+1)]=regress(Yj,Xj);

showmethemoney
3楼2012-08-16 18:05:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wenzimu

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by csgt0 at 2012-08-16 18:05:20
改成这样

=regress(Yj,Xj);

>> X=rand(143,4);
>> Y=rand(143,4);
>> C=ones(11,1);
>> for n=0:12
       i=11*n
   for j=1:4
       Xj=X(1+i:11+i,j)
       Yj=Y(1+i:11+i,j)
       Xj=[Xj,C]
      [b(:,:,n+1),bint(:,:,n+1),r(:,:,n+1),stats(:,:,n+1)]=regress(Yj,Xj)  
end
end

csgt0版主,我按照你的提示做了一遍,可是出错了,错误:“??? Subscripted assignment dimension mismatch.”  能帮我再看一下吗?谢谢!
4楼2012-08-16 18:40:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★
wenzimu: 金币+1, ★★★很有帮助 2012-08-17 14:06:19
xzhdty: 金币+2, 谢谢 2012-08-17 16:50:48
引用回帖:
4楼: Originally posted by wenzimu at 2012-08-16 18:40:35
>> X=rand(143,4);
>> Y=rand(143,4);
>> C=ones(11,1);
>> for n=0:12
       i=11*n
   for j=1:4
       Xj=X(1+i:11+i,j)
       Yj=Y(1+i:11+i,j)
       Xj=
      =regre ...

没问题啊,原版的
CODE:
X=rand(143,4);
Y=rand(143,4);
C=ones(11,1);
for n=0:12
      i=11*n;
    for j=1:4
        Xj=X(1+i:11+i,j);
        Yj=Y(1+i:11+i,j);
        Xj=[Xj,C];
       [b(:,:,n+1),bint(:,:,n+1),r(:,:,n+1),stats(:,:,n+1)]=regress(Yj,Xj);
end
end

比如b的

b(:,:,1) =

   -0.1501
    0.5187


b(:,:,2) =

   -0.3011
    0.6585


b(:,:,3) =

    0.0059
    0.4830


b(:,:,4) =

   -0.3984
    0.6927


b(:,:,5) =

    0.0696
    0.4994


b(:,:,6) =

   -0.4565
    0.6888


b(:,:,7) =

    0.1679
    0.5196


b(:,:,8) =

   -0.4132
    0.8050


b(:,:,9) =

   -0.4390
    0.7496


b(:,:,10) =

   -0.8774
    0.9798


b(:,:,11) =

    0.2749
    0.3699


b(:,:,12) =

    0.2595
    0.2433
showmethemoney
5楼2012-08-17 09:33:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

b(:,:,13) =

    0.3210
    0.3065
showmethemoney
6楼2012-08-17 09:34:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wenzimu

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by csgt0 at 2012-08-17 09:34:50
b(:,:,13) =

    0.3210
    0.3065

谢谢csgt0版主热心的答复。按照您的方法,可以实现了。有个小疑问想再麻烦您一下,就是如果代码中的Xj,Yj等这些变量也要像b这样输出13组值应该怎么改代码呢,因为按照这个运算的话,好像只能得到Xj和Yj最后一组的值,而其他的值得不到。再次感谢,真的太麻烦您了!
7楼2012-08-17 14:55:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

引用回帖:
7楼: Originally posted by wenzimu at 2012-08-17 14:55:39
谢谢csgt0版主热心的答复。按照您的方法,可以实现了。有个小疑问想再麻烦您一下,就是如果代码中的Xj,Yj等这些变量也要像b这样输出13组值应该怎么改代码呢,因为按照这个运算的话,好像只能得到Xj和Yj最后一组的 ...

把维数往上加就行了
CODE:
clc
clear
X=rand(143,4);
Y=rand(143,4);
C=ones(11,1);
for n=0:12
       i=11*n;
     for j=1:4
         Xj1=X(1+i:11+i,j);
         Yj(:,j,n+1)=Y(1+i:11+i,j);
         Xj(:,:,j,n+1)=[Xj1,C];
        [b(:,:,n+1),bint(:,:,n+1),r(:,:,n+1),stats(:,:,n+1)]=regress(Yj(:,j,n+1),Xj(:,:,j,n+1));
end
end

showmethemoney
8楼2012-08-17 15:28:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xsx小虾米

新虫 (初入文坛)

【答案】应助回帖

如果不是每11个回归一次,二是滚动回归,也就是说1到11行回归一次,2到12,3-13这样的代码该怎么写??
9楼2012-12-23 18:06:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wenzimu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 22408总分284求调剂 +3 InAspic 2026-03-13 3/150 2026-03-15 11:10 by zhq0425
[考研] 材料专硕326求调剂 +4 墨煜姒莘 2026-03-15 4/200 2026-03-15 11:02 by dyw
[考研] 268求调剂 +5 一定有学上- 2026-03-14 6/300 2026-03-14 22:20 by 运气yunqi
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[基金申请] 现在如何回避去年的某一个专家,不知道名字 +3 zk200107 2026-03-12 6/300 2026-03-14 17:13 by zk200107
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 293求调剂 +5 上班不着吉 2026-03-09 5/250 2026-03-14 02:37 by JourneyLucky
[考研] 301求调剂 +3 归零lbm 2026-03-09 3/150 2026-03-14 02:20 by JourneyLucky
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-09 6/300 2026-03-14 02:14 by JourneyLucky
[考研] 调剂 +3 13853210211 2026-03-10 3/150 2026-03-14 00:47 by JourneyLucky
[考研] 材料工程专硕,一志愿中国矿业大学,总分314,求调剂 +5 无懈可击的巨人 2026-03-10 5/250 2026-03-14 00:37 by JourneyLucky
[考研] 招收0805(材料)调剂 +3 18595523086 2026-03-13 3/150 2026-03-14 00:33 by 123%、
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 考研调剂 +4 芬达46 2026-03-12 4/200 2026-03-13 16:04 by ruiyingmiao
[考研] 274求调剂 +3 S.H1 2026-03-12 3/150 2026-03-13 15:15 by JourneyLucky
[考研] 工科调剂 +4 Jiang191123! 2026-03-11 4/200 2026-03-13 15:15 by Miko19
[考研] 0703一志愿211 285分求调剂 +4 ly3471z 2026-03-13 4/200 2026-03-13 13:00 by JourneyLucky
[考研] 282分材料专业求调剂院校 +18 枫桥ZL 2026-03-09 25/1250 2026-03-13 10:47 by 白夜悠长
[考研] 化工学硕306求调剂 +9 42838695 2026-03-12 9/450 2026-03-13 10:16 by houyaoxu
[考研] 求调剂材料专硕293 +6 段_(:з」∠)_ 2026-03-10 6/300 2026-03-10 18:22 by ms629
信息提示
请填处理意见