楼主: climax577
7565 13

[原创博文] 求高人指点 [推广有奖]

  • 0关注
  • 0粉丝

大专生

40%

还不是VIP/贵宾

-

威望
0
论坛币
1389 个
通用积分
0.2100
学术水平
1 点
热心指数
3 点
信用等级
0 点
经验
410 点
帖子
40
精华
0
在线时间
36 小时
注册时间
2009-9-19
最后登录
2016-12-22

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人是sas菜鸟,现有以下循环回归程序:
data tes;
input t1 t2  t3 t4;
datalines;
-0.0367        -0.1254       -0.0078      0.0123
-0.0292        -0.1817        0.0431      0.0235   
0.0141          0.0108        0.0143      0.0325
0.0139          0.0302        0.0399      0.1265
-0.0106        -0.0946        0.1088      0,0876
run;
%macro fun;
data est;  *create an empty dataset to load values;
length est 8.;
delete;
run;
%do i=1 %to 2;   
proc reg data=tes outest=out(keep=t&i rename=(t&i=est));  *output each estimate dataset,leave one interested;      
   model t%eval(&i+2)=t%eval(&i+1) t&i/acov;
quit;
proc append base=est data=out force;*put all output datasets together to a bigger one 'est';
run;
%end;
proc means data=est n mean std t prt;
var est;
quit;
proc print;
run;
quit;
%mend fun;
%fun
问题:1.上述程序只能计算出一个斜率的平均值,如何编程求出上述循环多元回归的两个斜率的平均值?
          2. 如何才能求出避免自相关及异方差问题的robust的估计,比如Newey and West估计量?
二维码

扫码加我 拉你入群

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

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

关键词:求高人指点 高人指点 Interested estimate interest create values 程序

回帖推荐

BraveMadMan 发表于2楼  查看完整内容

第一个问题:

本帖被以下文库推荐

沙发
BraveMadMan 发表于 2010-7-7 22:38:45 |只看作者 |坛友微信交流群
第一个问题:
  1. data tes;
  2. input t1 t2  t3 t4;
  3. datalines;
  4. -0.0367        -0.1254       -0.0078      0.0123
  5. -0.0292        -0.1817        0.0431      0.0235   
  6. 0.0141          0.0108        0.0143      0.0325
  7. 0.0139          0.0302        0.0399      0.1265
  8. -0.0106        -0.0946        0.1088      0,0876
  9. run;

  10. %macro fun;
  11. data est;  *create an empty dataset to load values;
  12. length est1 8. est2 8.;
  13. delete;
  14. run;

  15. %do i=1 %to 2;   
  16. proc reg data=tes outest=out(keep=t&i t%eval(&i+1) rename=(t&i=est1 t%eval(&i+1) = est2));  *output each estimate dataset,leave one interested;      
  17.    model t%eval(&i+2)=t%eval(&i+1) t&i /acov;
  18. quit;
  19. proc append base=est data=out force;*put all output datasets together to a bigger one 'est';
  20. run;
  21. %end;

  22. proc means data=est n mean std t prt;
  23. var est1 est2;
  24. quit;
  25. proc print;
  26. run;
  27. quit;
  28. %mend fun;
  29. %fun
复制代码
Don't get lost in technical details. What is the big picture?

使用道具

藤椅
climax577 发表于 2010-7-8 09:55:33 |只看作者 |坛友微信交流群
非常感谢!!!

使用道具

板凳
climax577 发表于 2010-7-8 11:39:52 |只看作者 |坛友微信交流群
run 了一下,似乎append语句有点问题:
WARNING: 变量 est2 在 BASE 文件中未找到。变量将不能添加到 BASE 文件。
WARNING: 变量 est1 在 BASE 文件中未找到。变量将不能添加到 BASE 文件。
WARNING: 变量 est 在 DATA 文件中没有找到。
NOTE: 指定了 FORCE,故将发生删除/截取。
NOTE: 从数据集 WORK.OUT 读取了 1 个观测。
NOTE: 添加了 1 个观测。
NOTE: 数据集 WORK.EST 有 2 个观测和 1 个变量。
NOTE: “PROCEDURE APPEND”所用时间(总处理时间):
      实际时间         0.00 秒
      CPU 时间         0.00 秒


ERROR: 变量 EST1 没有找到。
ERROR: 变量 EST2 没有找到。

NOTE: SAS 系统由于错误而停止了该步的处理。

使用道具

报纸
BraveMadMan 发表于 2010-7-8 11:51:28 |只看作者 |坛友微信交流群
4# climax577

试了一下,没问题。你确认运行的是完全是我发的程序?特别是下边这段:

data est;  *create an empty dataset to load values;
length est1 8. est2 8.;
delete;
run;
Don't get lost in technical details. What is the big picture?

使用道具

地板
climax577 发表于 2010-7-8 12:02:57 |只看作者 |坛友微信交流群
谢谢,我再试一下

使用道具

7
ljliu 发表于 2010-7-8 13:12:51 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

使用道具

8
climax577 发表于 2010-7-8 13:34:58 |只看作者 |坛友微信交流群
出现两个问题:
1.       NOTE: 变量 est1 未初始化。
           NOTE: 变量 est2 未初始化。
2.      proc means: 无法确定 LINE 和 COLUMN。
NOTE 242-205: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 22-322: 语法错误,期望下列之一: ;, (, APPENDVER, APPENDVERSION, BASE, CREATE, DATA,
              FORCE, NEW, OUT.
202: 无法确定 LINE 和 COLUMN。
NOTE: NOSPOOL 已打开。用 OPTION SPOOL 重新运行可恢复出错的 LINE 和 COLUMN。
ERROR 202-322: 该选项或参数不可识别,将被忽略。
NOTE: 由于上述错误,没有处理语句。

使用道具

9
pobel 在职认证  发表于 2010-7-8 17:14:46 |只看作者 |坛友微信交流群
  1. %macro fun;

  2. %do i=1 %to 2;   

  3. proc reg data=tes outest=out(keep=t&i t%eval(&i+1) rename=(t&i=est1 t%eval(&i+1) = est2));  *output each estimate dataset,leave one interested;      
  4.    model t%eval(&i+2)=t%eval(&i+1) t&i /acov;
  5. quit;
  6.   %if &i=1 %then %do;
  7.       data est; set out;run;
  8.   %end;
  9.   %else %do;
  10.        proc append base=est data=out force;*put all output datasets together to a bigger one 'est';
  11.          run;
  12.    %end;
  13. %end;

  14. proc means data=est n mean std t prt;
  15.   var est1 est2;
  16. quit;
  17. proc print;
  18. run;
  19. quit;
  20. %mend fun;
  21. %fun
复制代码
和谐拯救危机

使用道具

10
pobel 在职认证  发表于 2010-7-8 17:17:03 |只看作者 |坛友微信交流群
%macro fun;

%do i=1 %to 2;   

proc reg data=tes outest=out&i(keep=t&i t%eval(&i+1) rename=(t&i=est1 t%eval(&i+1) = est2));  *output each estimate dataset,leave one interested;      

   model t%eval(&i+2)=t%eval(&i+1) t&i /acov;
run;
quit;

%end;

data est;
     set out1 out2;
run;


proc means data=est n mean std t prt;
  var est1 est2;
quit;

proc print;
run;
%mend fun;

%fun
和谐拯救危机

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 08:59