1

我想在 Proc UCM 中使用指标变量。我有一个每周的交易量,我想使用天数作为指标变量,因为如果公共假期在周三或周四下降,那么交易量的下降率远高于周五假期的影响。那么我如何为工作日。周一周二周四周五。如果假期在周一,我将设置 MON=1,否则对所有人都为零相同的规则。如果我包含所有变量,是否会出现虚拟陷阱的问题。

4

1 回答 1

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;
于 2016-01-27T18:49:37.270 回答