楼主: muspoet
3175 4

可以给这段程序加些注释吗? [推广有奖]

  • 0关注
  • 0粉丝

已卖:51份资源

高中生

75%

还不是VIP/贵宾

-

威望
0
论坛币
13 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
205 点
帖子
16
精华
0
在线时间
32 小时
注册时间
2008-12-28
最后登录
2018-8-21

楼主
muspoet 发表于 2008-12-28 20:44:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

刚开始学unit root test,然后接触sas程序,看不懂,不知道能不能麻烦给这段程序的每个过程加上些注释啊?希望可以稍微详细一点

尤其是%dftest(resdat_ols,uhat_ols,trend=0,outstat=results2);

这句,不知道是干嘛用的?

谢谢了~~

dm "out;clear;log;clear;";
data simples;
infile "f:\Teaching\ef5470\ef5470_2007\Sas_programs\lab1data.csv" firstobs=2 dlm=',';
input date $ gdp p m d;
run;
%dftest(simples, gdp,dif=(1),trend=0,outstat=results);
proc print data=results;
run;
proc reg data=simples outest=beta tableout ;
model gdp = p m d;
output out=resdat_ols residual=uhat_ols predicted=yhat_ols;
run;
%dftest(resdat_ols,uhat_ols,trend=0,outstat=results2);
proc print data=results2;
run;
data simples; set simples resdat_ols;
et=lag(uhat_ols);
dgdp=gdp-lag(gdp);
dp=p-lag(p);
dm=m-lag(m);
dd=d-lag(d);
run;
proc reg data=simples outest=beta tableout ;
model dgdp = et dp dm dd;
run;
proc arima data=simples;
identify var=dgdp
 nlag=30 ;
run;
estimate p=1 q=4
 nodf
 noconstant
 method=ml
 plot;
run;
forecast
 lead=10
 out=predict
 printall;
run;

二维码

扫码加我 拉你入群

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

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

关键词:noconstant unit root Predicted teaching constant 程序 注释

回帖推荐

yongyitian 发表于3楼  查看完整内容

dftest(var1, var2, var3, va4, var5) 是一个 macro, 共有5个变量var1: input filenamevar2: a variablevar3 and var4 are parameters, var5 is output filename.%dftest() 调用这个macro.data simples;infile "f:\Teaching\ef5470\ef5470_2007\Sas_programs\lab1data.csv" firstobs=2 dlm=',';input date $ gdp p m d;run;   /* input the datafile ‘lab1data.csv’ to generate a dataset ‘Simples’ */%dftest(simp ...

本帖被以下文库推荐

沙发
muspoet 发表于 2008-12-28 20:50:00
补充一下,如果我现在数据集中有gdp p m d 四个变量,我想对每个变量的数据进行unit root test,确定是integrated to order 多少的,那么以上这段程序可以怎么修改下,完成这个步骤啊?谢谢!

藤椅
yongyitian 发表于 2008-12-29 02:10:00

dftest(var1, var2, var3, va4, var5) 是一个 macro, 共有5个变量

var1: input filename

var2: a variable

var3 and var4 are parameters, var5 is output filename.

%dftest() 调用这个macro.

data simples;
infile "f:\Teaching\ef5470\ef5470_2007\Sas_programs\lab1data.csv" firstobs=2 dlm=',';
input date $ gdp p m d;
run;   /* input the datafile ‘lab1data.csv’ to generate a dataset ‘Simples’ */

%dftest(simples, gdp,dif=(1),trend=0,outstat=results);  

/* call macro dftest, use ‘simples’ as input dataset, gdp as a variable, output results to the dataset ‘Results’ */

proc print data=results;
run;    /* look at the ‘results’ dataset */

proc reg data=simples outest=beta tableout ;
model gdp = p m d;  
output out=resdat_ols residual=uhat_ols predicted=yhat_ols;
run;  

/* call regression procedure, the model is gdp=a1*p + a2*m + a3*d + constant,

output results to three datasets: resdat_ols, uhat_ols, and yhat_ols. */

%dftest(resdat_ols,uhat_ols,trend=0,outstat=results2);

/* call macro dftest, use ‘resdat_ols’ as input dataset, uhat_ols as a variable, output results to the dataset ‘Results2’ */

proc print data=results2;
run;    /* look at the results2 */

data simples; set simples resdat_ols;
et=lag(uhat_ols);
dgdp=gdp-lag(gdp);
dp=p-lag(p);
dm=m-lag(m);
dd=d-lag(d);
run;

/* combining simples and resdat_ols to create a new dataset ‘simples’ with 5 calculated variables (et, dgdp, dp, dm, dd) */

proc reg data=simples outest=beta tableout ;
model dgdp = et dp dm dd;
run;   /* call regression procedure again */

/* below is call arima procedure for time series analysis */
proc arima data=simples;
identify var=dgdp
 nlag=30 ;
run;
estimate p=1 q=4
 nodf
 noconstant
 method=ml
 plot;
run;
forecast
 lead=10
 out=predict
 printall;
run;

/* hope it helps */

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

板凳
sushe1527 发表于 2008-12-29 10:53:00

楼上真牲口

[此贴子已经被作者于2008-12-29 12:01:18编辑过]

报纸
hxin3 发表于 2008-12-29 11:08:00
The beginner need it!!!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 19:41