【问题标题】:Change normal regression model to rolling regression将正态回归模型更改为滚动回归
【发布时间】:2020-06-10 09:45:23
【问题描述】:

我有一个样本数据集,其中包含 3 年内 13 个国家/地区的 1000 种不同产品的销售数量:

13 个国家 =(美国、中国、英国……) 1000 个产品 =(产品 A、B、C ...)

销售额 --> 我的因变量。

点击次数和另外 3 个变量作为自变量。

我编写了一个回归模型,它可以工作。在下一步中,我想做一个滚动回归:我该如何调整代码呢?

感谢您的帮助和许多问候! :)

# prepare data
nest_dt = raw_data %>%
    group_by(product, country) %>%
    nest()

# function
lm_function = function(data, formula) {
    lm(formula = formula,
       data = data)
}

# regression
lm_data = nest_data %>%
    mutate(lm = map(
        .x = data,
        .f = lm_function,
        formula = sales ~ clicks + needs + guesses + interests
    ))

# show solution
solution_data = lm_data %>%
    mutate(solution = map(lm, sw_tidy)) %>%
    unnest(solution) %>%
    select(-data, -lm)

# where to put?!?
rollapply(lm_function, width=10, roll)

【问题讨论】:

  • 您能否使用?dput附上您的数据样本
  • @OttoKässi 感谢您的回复,我正在尝试附上我的数据样本。

标签: r regression


【解决方案1】:

您可以尝试roll 包中的roll_lm 函数。请参阅此处的说明:Package ‘roll’ on Cran

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2019-10-09
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多