通过了解一些未来事件来增强预测

时间:2019-12-02 18:01:10

标签: machine-learning time-series forecasting arima amazon-forecast

使用AWS Forecast时,是否可以通过“部分未来信息”扩展模型以改善预测?

到目前为止,我已经从AWS Forecast获得了相当可靠的预测,但是怀疑如果可以提供一些有关已知未来事件的信息,我可以在一定程度上改善预测。

我对预测和机器学习非常陌生,通过“部分未来信息”,我的意思是:

  • 我正在尝试预测变量X的时间序列在未来的行为
  • 我正在使用过去的时间序列信息训练一个模型,该模型包含许多不同的变量,包括X
  • 我还想为这些变量的子集提供已知的未来时间序列信息,因为1)它们应该对预测产生重大影响,并且2)这将使我能够执行“假设分析” < / li>

更具体地说:

  • 我正在尝试根据过去的收入,网络流量,广告支出和促销折扣来预测未来的收入
  • 到目前为止,AWS Forecast一直为我提供良好的预测(我从模型中隐瞒了许多个月的已知数据,并且其关于“未来”的预测与已知数据非常吻合)
  • 但是,我真的也想向AWS Forecast讲述例如计划在不久的将来进行的重要广告活动
  • 我还非常希望能够更改一些将来的变量或变量,并查看它们如何影响结果(“如果我下个月在广告上花费$ Z,该怎么办?”)

当前,我将所有过去的收入,网络流量,广告支出和促销折扣信息作为一个“目标时间序列”以3列的CSV文件格式提供给AWS Forecast(指标名称,时间戳,指标值);度量标准名称的大约15个不同值;约10,000行数据(几年价值的15个变量的每日值=〜2 * 365 * 15 =〜11,000行)。每个指标都在相同的时间间隔内提供(例如,所有指标都在2017-10-01和2019-11-25之间提供)。

我想提供一些额外的部分数据,以突出显示已知的未来重大事件(广告,促销折扣),以进一步改善我们的预测。

例如:

  • 2017年10月1日至2019年11月25日的收入
  • 2017年10月1日至2019年11月25日的网络流量
  • 从2017年10月1日至2019年11月25日的广告支出
  • 2017年10月1日至2019年11月25日的促销折扣
  • 计划在 2019-11-26至2020-02-01
  • 中的广告支出

有人可以帮助我介绍一些术语和“操作方法”吗?

1 个答案:

答案 0 :(得分:0)

通常,要在历史数据中使用变量,您也需要在将来对其进行预测。这就像尝试预测用电量,然后将历史温度放入数据集中。如果您没有未来气温的预测,那么这些信息对改善您的预测没有任何帮助。因为现在我知道“多一度的温度会对用电量产生什么影响”,但是如果我不知道明天的温度会怎样,那该怎么办?

在您的情况下,您有1个要预测(收入)的指标和3个支持数据:点击量,广告支出,折扣。您将来的广告支出非常好,但是如果没有其他两个支出,您会有点不走运(根据上一段)。

但是,您仍然可以在此处执行某事,但是您只需要作一些假设即可。我要做的是为将来的所有日期选择一个固定值,并为所有将来的日期设置一个固定值。也许合适的值是零折扣(全价商品)和每天(我正在弥补)每天1000的网络流量。现在,您拥有过去和将来的完整数据集。

设置完成后,尽管有警告,您现在仍可以回答问题。您得出的预测现在在说...

如果不提供折扣,并且每天吸引1000名用户访问网站,那么在计划的广告支出下,这是我们可以期望的收入。

也许您可以通过在将来输入与前一年相同的流量值来改善这一点。在这种情况下,您现在可以说...

如果我们不提供折扣并且网站获得与去年同期相同的访问量,那么我们可以从计划的广告支出中获得多少收入。

您可以采用诸如“流量上升10%”之类的变体,也可以猜测折扣会是多少,或者像以前一样,可以复制一年前的折扣和流量并说出来。

如果我们像去年一样提供折扣,并且像去年一样看到网站流量,那么给定计划的广告支出,这是我们可以期望的收入。

我怀疑您有这个主意,所以我将停止所有变更。当然,这些实际上只是这些数据的未来预测。但是,“创建折扣或网络流量的预测”并不需要复杂且花哨的东西是毫无价值的。 “与去年相同”是即将发生的事情的完全有效的“预测”。