全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1840 0
2016-08-24
现在压力测试做到最后阶段,需要在模型调整中,考虑到通常宏观因素对PD的影响有一定的滞后效应,故对不同的宏观变量选取不同的滞后时点进行尝试。最终确定了符合业务含义且表现较为显著的回归结果。X1=GDP;X2=HPI;X3=贷款利率,要怎样选取不同的宏观变量选取不同的滞后时点进行尝试,如何判断选取的变量是最终确定符合业务含义且表现较为显著的回归结果?

微信截图_20160824102713.png 微信截图_20160824102629.png
/*房屋按揭*/
/*生成滞后i期的数据*/
%macro lagvars;
data B;
set STRESS.A;
x1_0=x1;x2_0=x2;x3_0=x3;
%do i=1 %to 10;
x1_&i.=lag(x1_%eval(&i.-1));
x2_&i.=lag(x2_%eval(&i.-1));
x3_&i.=lag(x3_%eval(&i.-1));
%end;
y_1=lag(y);
run;
%mend;
%lagvars;
/*不同滞后期组合回归*/
%macro mdlsel;
data param;
run;
%do i=0 %to 10;%do j=0 %to 10;%do k=0 %to  10;
proc reg  data=B(where=("200607"<=OBS_YM<="201506"))  outest=et noprint;
model y=x1_&i. x2_&j. x3_&k.  y_1/selection=stepwise sls=0.05 sle=0.05;
quit;
data est;
set et(keep=x1_&i. x2_&j.  x3_&k. y_1 rename=(x1_&i.=x1 x2_&j.=x2 x3_&k.=x3));
i=&i.;j=&j.;k=&k.;
run;
data param;
set param est;
run;
%end;%end;%end;
data param;
set param;
sel=(x1<0)*(x2<0)*(x3>0);
run;
data paramspd;
set param(where=(sel=1));
ord=sum(i,j,k);
mx=max(i,j,k);
run;
proc sort data=paramspd;
by mx;
run;
%mend;
%mdlsel;
/*最终回归模型*/
proc reg  data=B(where=("200607"<=OBS_YM<="201506"))  outest=et;
model y=y_1
X1_0 X2_0 X3_6 /;
quit;

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群