SAS中文论坛

标题: 如何将分组回归得到的参数制成表输出,谢谢高手! [打印本页]

作者: shiyiming    时间: 2010-6-6 12:13
标题: 如何将分组回归得到的参数制成表输出,谢谢高手!
我有一个数据库,里面很多组股票的数据,而我想根据代号分组,每组做一次回归,
模型就是,成交量=a1+a2*开盘价  (即 [color=#0040FF:6nlprnyn]Vol=a1+a2*Price[/color:6nlprnyn])

[color=#FF0000:6nlprnyn]  代号    开盘价  成交量
   ID          Price      Vol[/color:6nlprnyn]
C600000       10        567
C600000       12        456
C600000       14        123
C600000       12        164
C600000       15        678

C600008       10        567
C600008       12        456
C600008       14        123
C600008       12        164

C600030       15        678
C600030       10        567
C600030       12        456
C600030       14        123

C600134       12        164
C600134       15        678
C600134       10        567
C600134       12        456
..........       ....       ....

做完回归后,将“ id a2  a2对应的p值   t值 ”输出成另外一张表,举个例子输出结果类似于这样
  [color=#FF0000:6nlprnyn] ID        a2           p值      t值[/color:6nlprnyn]
C600000       1.3        0.0001    3.678
C600008       1.6        0.0012    4.567
C600030       0.5        0.0145    1.345
C600134       0.7        0.0020    3.242
..........       ....        ........    ......

上面的只是我举得例子,而实际数据库量非常大,所以不可能一遍一遍做回归,但我刚开始学SAS,也尝试编了好几天都没有成功,哪位高手能帮帮我,真的非常非常谢谢你了!
作者: shiyiming    时间: 2010-6-7 21:05
标题: Re: 如何将分组回归得到的参数制成表输出,谢谢高手!
[code:39ng14a6]PROC SORT; BY ID; RUN; *You got to sort first;
PROC REG OUTEST = B TABLEOUT; *TABLEOUT adds T&P to the output dataset;
        BY ID;
        MODEL Vol = Price;
RUN;
QUIT;

PROC TRANSPOSE DATA = B OUT =C(KEEP = ID PARMS T PVALUE RENAME = (PARMS = a2 PVALUE = p)) ;
        ID _TYPE_;        BY ID;
        VAR PRICE;
RUN;[/code:39ng14a6]

顺便说一句:REG的输出功能是独一无二的强大。考虑了使用者的实际功用。BY分割数据但是输出数据依然被串接起来。很方便。在实际分析中我从不使用REG,感觉它是一个理论很单纯功能很丰富主要为银行所使用的过程。另外一个类似的过程是logistic。
作者: shiyiming    时间: 2010-6-8 11:37
标题: Re: 如何将分组回归得到的参数制成表输出,谢谢高手!
also can be done by :

ods output parameterestimates=estimate;
proc reg data=stock;
model vol=price;
by id;
run;
作者: shiyiming    时间: 2010-6-8 14:19
标题: Re: 如何将分组回归得到的参数制成表输出,谢谢高手!
<!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> yes, code had be run!!!
作者: shiyiming    时间: 2010-6-14 11:22
标题: Re: 如何将分组回归得到的参数制成表输出,谢谢高手!
好些天没来了,非常感谢jingju11和gzgoon的解答!




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2