r - 如何使用包括(非促销和促销)销售的销售数据创建基线预测?
问题描述
我有一个带有销售列和另一列(基本/促销)编码 1 或 0 的 df。我想创建一个基线预测。所以我必须排除/忽略促销销售。通过这样做,我的时间序列中会出现多个差距......有没有一种方法可以根据包含促销周的销售数据来预测基线销售?
这是一个可重现的df:
df <- data.frame(Sales =c(50,75,450,56,65,790,45,59,49,63,750,65,49,57,695,834,76,58,69,71,540,830,43),
Non-Promo/Promo=c(0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,1,0))
df
我希望你能帮助解决这个问题,因为我没有想法。非常感谢!!!
解决方案
假设您有每周数据my_sales
,并且促销活动是promo
。
my_sales = ts(c(50,75,450,56,65,790,45,59,49,63,750,65,49,57,695,834,76,58,69,71,
540,830,43), frequency = 52, start = c(2020,1))
promo = as.data.frame( c(0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,1))
colnames(promo) <- "xreg"
我们拟合了一个 arima 模型,包括以下促销活动:
library(forecast)
fit <- auto.arima(my_sales, xreg = as.matrix(promo))
要进行预测,您需要了解未来的事件。因此,我刚刚在您的示例前 11 周创建了这个 future_promo 示例
future_promo = as.data.frame(c(0,0,0,1,0,0,1,0,0,0,0))
colnames(future_promo) <- "xreg"
fc <- forecast(fit, xreg = as.matrix(future_promo))
plot(fc)
fc
fc$mean
是您提前 11 周的预测点吗
推荐阅读
- r - 如何使用 distHarvesine() 有效地使用经度和纬度数据?
- ios - 尝试集成 Facebook iOS SDK 时出现链接错误
- javascript - 用于从表单中添加复选框的 JavaScript 函数
- flutter - Flutter SDK安装未完成
- c# - 在 .Net 中使用动力学重载方法
- node.js - 如何在 node-pg-migrate 迁移中插入记录?
- angular - 状态更改时交换按钮图像
- c# - 打开 SqlConnection 时等待与 Task.WaitAll - 为什么等待抛出异常?
- php - 从 api-platform 中的 api rerun 返回特定状态
- html - 如何将 html 对话框与 Firefox 左对齐或右对齐?