我有一个季节性很强的产品的每日销售数据。我想在回归模型中捕捉季节性。我已经读过,如果您有季度或月度数据,在这种情况下,您可以分别创建 3 个和 11 个虚拟变量——但我可以处理每日数据吗?
我有三年的日常数据。自变量是价格点、促销标志(是/否)和温度。因变量是该产品的销售额。我不是在寻找时间序列模型,因为我使用的是多元回归模型。
我有一个季节性很强的产品的每日销售数据。我想在回归模型中捕捉季节性。我已经读过,如果您有季度或月度数据,在这种情况下,您可以分别创建 3 个和 11 个虚拟变量——但我可以处理每日数据吗?
我有三年的日常数据。自变量是价格点、促销标志(是/否)和温度。因变量是该产品的销售额。我不是在寻找时间序列模型,因为我使用的是多元回归模型。
@Irishstat 几乎涵盖了我要说的内容,但我会用我自己在使用时间序列回归和 OLS 回归对这些数据进行建模方面的个人经验做出回应。
如果是每日数据,那么我将执行以下操作:
为不同的季节性创建一个虚拟变量:
为趋势变量创建虚拟变量:
如果时间序列呈现线性趋势,则添加时间趋势变量。
如果时间序列呈现非线性趋势,则添加非线性时间趋势变量,例如二次/三次/对数
添加自变量变量
这是一个时间序列数据,因此应注意独立变量的超前和滞后效应。例如,在您的示例中,您提到了价格点促销标志,它们可能不会立即对您的响应产生影响,即可能存在滞后和衰减/永久影响。因此,例如,如果今天进行促销,您今天的销售额可能会增加,但促销的效果会在几天后衰减。没有简单的方法可以使用多元回归对此进行建模,您可能希望使用简约的传递函数建模,并且可以处理任何类型的超前和滞后效应。请参阅我之前发布的此示例,其中存在干预(在您的情况下为价格点)并且突然增加,然后是衰减效应。话虽如此,如果你有关于领先和滞后效应的先验知识,在您的案例虚拟变量之前和之后创建额外的变量,以及(是/否)促销变化。
您还需要添加移动假期指标变量,例如,正如 Irishstat 指出的那样,您需要添加正在移动假期的复活节/感恩节(在美国)。如果您使用虚拟编码方案来捕捉季节性,将自动处理固定日期的假期。
此外,您需要识别异常值,例如加性/脉冲(一次性事件)或水平偏移(永久偏移),并将它们添加为回归量。在时间序列数据的多元回归中识别异常值几乎是不可能的;您将需要时间序列异常值检测方法,例如Tsay程序或Chen 和 Liu程序,这些方法已包含在 AUTOBOX、SPSS、SAS 等软件或tsoutlier
R 中的包中。
潜在问题:
以下是使用 OLS 多元回归对时间序列数据进行建模时会遇到的问题。
使用多元回归还有很多缺点。如果预测对您更重要,那么我会保留至少 6 个月的数据并测试您的多元回归的预测能力。如果您的主要目标是解释自变量之间的相关性,那么我会谨慎使用多元回归,而是使用时间序列方法,例如 ARIMAX/GLS。
如果您有兴趣,可以参考Pankratz的优秀文本,了解传递函数和动态回归建模。对于一般时间序列预测,请参阅Makridakis 等人。此外, Diebold提供了一个很好的参考文本,用于基于回归和时间序列的预测。
您需要的是一个模型,该模型将包含每日效应、每周效应、每月效应、每月每周效应、每月每日效应、假期的领先和滞后效应、未指定但凭经验可识别的水平/阶梯变化,本地时间趋势,季节性脉冲和脉冲的变化,同时结合 ARIMA 结构并可能处理参数的变化和随时间的误差变化。这称为传递函数,可以很容易地重述(但不是简约)作为多元线性回归。
具体而言,每日指标需要 6 个预测变量。一般来说,必须仔细协调(确定)需要什么样的预测器。如果你手头有很多时间,你可以尝试我提到的一些结构。或者,您可能需要一些高级软件/咨询来帮助您解决有生之年的问题。