24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2193  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 288求调剂 +10 没有答案_ 2026-04-05 10/500 2026-04-07 10:21 by linyelide
[考研] 312求调剂 +13 gtw1 2026-04-06 15/750 2026-04-06 20:25 by lijunpoly
[考研] 机械专硕274求调剂,不挑专业学校 +6 泛泛2333 2026-04-05 8/400 2026-04-06 18:06 by 泛泛2333
[考研] 298求调剂 +3 manman511 2026-04-05 3/150 2026-04-05 18:09 by kk112233
[考研] 材料调剂 +9 革微桂 2026-04-04 9/450 2026-04-05 08:27 by 544594351
[考研] 一志愿郑大0705求调剂 +3 橘十一 2026-04-02 4/200 2026-04-05 00:05 by chongya
[考研] 材料调剂 +15 一样YWY 2026-04-01 15/750 2026-04-04 22:23 by hemengdong
[考研] 一志愿0817化学工程与技术,求调剂 +24 我不是只因 2026-04-02 28/1400 2026-04-04 15:15 by dongzh2009
[考研] 22408,264求调剂 +3 ywh729 2026-04-03 4/200 2026-04-04 11:04 by ywh729
[考研] 297求调剂 +11 ljy20040718! 2026-04-03 13/650 2026-04-04 09:23 by 来看流星雨10
[考研] 286求调剂 +8 lim0922 2026-04-02 8/400 2026-04-03 20:19 by rzh123456
[考研] 285求调剂 +5 AZMK 2026-04-03 8/400 2026-04-03 18:17 by AZMK
[考研] 274求调剂 +9 顺理成张 2026-04-03 10/500 2026-04-03 15:10 by 啊俊!
[考研] 313求调剂 +3 ~微微凉~ 2026-04-03 3/150 2026-04-03 11:25 by 啵啵啵0119
[考研] 生物学硕341求调剂 +4 你笑起来像云朵 2026-04-03 4/200 2026-04-03 10:32 by macy2011
[考研] 材料考研调剂 +10 Gs大王 2026-04-02 10/500 2026-04-03 09:47 by 遗忘消失的灆
[考研] 295求调剂 +7 愿旅途永远坦然 2026-04-02 7/350 2026-04-03 08:22 by fangshan711
[考研] 312求调剂 +6 小小墨123 2026-04-02 7/350 2026-04-03 07:32 by jsw79
[考研] 26考研调剂 +4 Wnz.20030617 2026-04-01 5/250 2026-04-02 16:11 by 1939136013狗壮
[考研] 一志愿安徽大学计算机科学与技术学硕,331分求调剂 +5 蒋昌鹏qtj 2026-04-01 5/250 2026-04-02 08:10 by fxue1114
信息提示
请填处理意见