楼主: liouzone
1729 2

[原创博文] 回归时不确定变量个数model要怎么写 [推广有奖]

  • 0关注
  • 0粉丝

初中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
173 点
帖子
3
精华
0
在线时间
33 小时
注册时间
2010-12-2
最后登录
2022-5-3

楼主
liouzone 发表于 2011-9-12 17:57:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大大,刚开始学SAS,现在碰到个问题,想请教一下论坛里的高手,先谢谢。
我要进行回归,但是我变量的个数是不确定的,只是输入有如下两张表:一张存了变量的个数及名称,一张存了回归的数据。(下面的只是个例子,真实数据从数据库里面读。)
data WORK.varUsedTable;
input varIndex varUsed $;
cards;
1 y
2 x1
3 x2
;
run;
data WORK.regDataListTable;
input y x1 x2;
cards;
3 4 5
4 5 6
5 6 7
6 7 8
;
但是输入的数据中xi的个数是不确定的。
进行回归的时候。model应该怎么写?
proc reg data=WORK.regDataListTable;model y = x1 x2  /dw aic adjrsq;(这边应该怎么写)output out=WORK.regOutDataTable1 R=rd;quit;谢谢各位啦。
还有个问题,如果要对一个数据集操作,从第二行开始,这行的值更新为这行的值减去上行的值乘以一个固定值,即若一变量为y,更新为y=y-lag(y)*&rho.;
但变量个数也不确定,要怎么写?
data WORK.regInDataTable3;    set WORK.regDataListTable;        y=y-lag(y)*&rho.;        x1=x1-lag(x1)*&rho.;        x2=x2-lag(x2)*&rho.;        ...(不确定个数的多变量的话,这边怎么写)run;
非常感谢。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:model 变量个数 mode ODE del 数据库

沙发
jingju11 发表于 2011-9-13 04:28:09
  1. %macro reg_mcr(Xs, Y);
  2.         data _t;        drop i lags;
  3.                 set WORK.regDataListTable;
  4.                 array _Vs[*] &Y &Xs;
  5.                 do i =1 to dim(_Vs);
  6.                          lags = lag(_Vs[i]);
  7.                          if _n_ >1 then _Vs[i] =_Vs[i]-lags*ρ
  8.                 end;
  9.         run;
  10.         proc reg data =_t;
  11.                  model &Y = &Xs  /dw aic adjrsq;
  12.                 output out=WORK.regOutDataTable1 R=rd;
  13.         quit;
  14. %mend reg_mcr;
  15. data _null_;
  16.         length Xs $256;  *if that is long enough;
  17.         do until(Eof);
  18.                 set varUsedTable end =Eof;
  19.                 if varIndex=1 then Y =varUsed; *Assuming 1st variable as Y;
  20.                         else Xs =catx(' ', Xs, varUsed);
  21.         end;
  22.         %let rho =0; *clearly, if rho =0, no lag value applied;
  23.         call execute('%reg_mcr('||Xs||','||Y||')');
  24. run;
复制代码
changing regDataListTable results in different fititng-variable combinations.
JingJu

藤椅
liouzone 发表于 2011-9-16 13:52:20
非常感谢,太有用了。以后要常来向各位学习。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 11:13