使用 ARMAX 模型进行电视归因是否有效?

机器算法验证 r 时间序列 预测 有马 阿玛克斯
2022-03-16 16:22:27

假设我有一个每小时有一些基线流量的网站。我还间歇性地投放电视广告,这增加了我的网络流量。我想确定我的电视广告在提高网络流量方面的效果。

如果我将每小时电视广告支出或展示次数作为外生变量拟合 ARMAX 模型,那么声称 AR 项代表“基线流量”而回归项代表应归因于电视广告的流量是否有效?

这是我正在尝试做的一些示例代码:

library(forecast)

xmat <- as.matrix(cbind(data[,c("AdSpend","Impressions")]))
xvar <- data$WebSessions

fit <- Arima(x=xvar, xreg=xmat, order=c(12,0,0), include.constant=FALSE)

reg_terms <- fit$coef["AdSpend"] * data$AdSpend + fit$coef["Impressions"] * data$Impressions
AR_terms <- fitted(fit) - reg_terms

然后,我可以使用 AR_terms(基准每小时网络流量)和 reg_terms(电视归因的每小时流量)创建堆积面积图。

在此处输入图像描述

这是一种有效的方法吗?

谢谢您的帮助。

1个回答

这是一个很好的问题。我建议你喝杯咖啡,仔细阅读Rob Hyndman 关于“ARIMAX 模型混淆”的博文

基本上,答案是否定的。如果您拟合一个简单的 AR(I)MAX 模型,则您的协变量系数不能被解释为促进效应。问题是协变量值的变化将对依赖于先前拟合的预测产生影响。这很难解释和交流。

但是,并非所有内容都丢失了,因为您对 R's 的调用实际上Arima()并不适合 AR(I)MAX 模型。相反,它首先回归您对协变量的观察,然后使用 AR(I)MA 过程对残差进行建模。也就是说,它适合所谓的带有 AR(I)MA 误差的回归对于这个模型,您的解释 - 协变量及其系数捕捉促销效果,而 ARMA 部分捕捉“其余部分” - 是完全有效的。

现在,我不知道是 AR(I)MAX 模型还是带有 AR(I)MA 误差的回归会产生更好的预测。鉴于我不知道在 R 中实际拟合 AR(I)MAX 模型的简单方法以及上述解释困难,我建议您不要过分担心真正的 AR(I)MAX 模型并坚持用什么Arima()给你。

但是,我怀疑网上冲浪和看电视可能- 周末和一周其他时间的日内模式可能会有所不同。我在你的情节中没有看到这一点,但你可能想看看你的数据是否表现出这一点。如果是这样,已经有一些关于多季节性预测的工作,主要使用指数平滑和/或状态空间模型的变体。其中一些可能能够同时模拟多个季节性和解释变量。