【问题标题】:linear regression model with lagging effect/interaction具有滞后效应/交互作用的线性回归模型
【发布时间】:2020-12-10 19:52:23
【问题描述】:

我想用数字连续数据创建如下模型:

revenue~variable+variable2+variable3

我的数据有大约 1000 个观察值,共有 5 个变量,即上述因变量和 3 个自变量,以及日期。每行代表一天。我想建立模型,使自变量不仅影响因变量(收入),而且影响前几天的自变量。我希望前几天的效果随着时间的推移而减少。因此,例如,昨天的自变量对今天的收入的影响会比前一天更大,等等......一直到前 100 天。

为了更清楚起见,这是一个广告模型,研究个人看到一种广告(自变量是电视广告的类型)如何影响收入,距离越远的广告不太可能引起行动和购买。

换句话说,可能会在模型中添加衰减项。

【问题讨论】:

  • 考虑对变量使用adstock 转换来捕捉广告影响的减弱,而不是引入大量变量。这种转换比尝试强制执行 n 个约束要容易。
  • 这个问题在交叉验证stats.stackexchange.com 上会更好,因为它是关于创建/选择要使用的算法,而不是如何让你的代码工作。
  • 根据您期望的衰减率,使用每日数据,我会使用 7 天移动总计(需要在分解时进行适当计算)来消除星期几的影响。然后对滚动数据进行滞后和衰减转换。如果是展示广告,那么没问题(预计衰减率会很短),但如果广告是品牌电视广告,您的客户预计会看到一些持续 2/3 周的残留效果。当确切的滞后开始时,每日数据也很难确定,你必须这样做 Y = b1*X1 + 0.5*X1_lag1 + 0.2*X1_lag2。涵盖了滞后和衰减,接下来是收益递减或 R&F 的因素

标签: r regression linear-regression


【解决方案1】:

我从事计量经济学工作。我用这个

df <- data.frame(X1=(seq(1,10,by=1))) 

library(dplyr)
df <- 
  df %>%
  mutate(X1_lag1 = dplyr::lag(X1, n = 1, default = NA))
df

> df
   X1 X1_lag1
1   1      NA
2   2       1
3   3       2
4   4       3
5   5       4
6   6       5
7   7       6
8   8       7
9   9       8
10 10       9

其中 df 是数据框,X1 是您想要滞后的变量,而 X1_lag1 是新的滞后变量。 您可以对滞后变量的 0.5*X1_lag1 进行衰减,创建排列。在 SAS 中,我可以在衰减因子上设置一个系数,但它会变得非常混乱。我宁愿创建多个衰减排列,看看哪个最合适。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2021-06-16
    • 2021-04-09
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    相关资源
    最近更新 更多