我想在Proc UCM中使用指标变量。我有每周交易量,我想用天数作为指标变量,因为如果公众假期在周三或周四下跌,那么交易量下降的速度远远高于周五假期的影响。那我怎样才能创建指标变量呢?平日。 MON TUE WEN THU FRI。如果假期是MON,我正在MON = 1,否则所有人都有同样的规则。如果我包含所有变量,会出现虚拟陷阱的问题。
答案 0 :(得分:3)
你应该能够安全地使用变量;但是,我建议尝试使用第7期的三角周期分量并查看它的票价。如果您想进行虚拟方法,可以在运行模型之前在数据步骤中执行此操作:
data want;
set have;
array weekday[*] Mon Tue Wed Thu Fri Sat
do i = 1 to 6;
weekday[i] = (weekday(date) = i);
end;
ThxGiving = (date = holiday('THANKSGIVING', year(date) ) );
run;
proc ucm data=want;
model y = mon tue wed thu fri sat ThxGiving;
level;
irregular;
run;
您的MON-SAT
变量将捕获每日效果,而ThxGiving
将捕捉自然星期四需求和感恩节的独特效果。我不认为虚拟陷阱会成为问题,因为正常星期四不太可能预测感恩节需求,反之亦然。
同样,我首先建议在进入虚拟变量路线之前尝试在工作日包含循环触发模式。
proc ucm data=want;
model y = ThxGiving;
cycle period=7;
level;
irregular;
run;