Facebook先知:提供不同的数据集以建立更好的模型

时间:2019-04-27 20:12:24

标签: python machine-learning facebook-prophet

我的数据框看起来像这样。我的目标是根据event_id 1 event_id 2 < / p>

event_id

我想预测该数据在未来10天内的销量:

ds tickets_sold y event_id
3/12/19 90  90  1
3/13/19 40  130 1
3/14/19 13  143 1
3/15/19 8   151 1
3/16/19 13  164 1
3/17/19 14  178 1
3/20/19 10  188 1
3/20/19 15  203 1
3/20/19 13  216 1
3/21/19 6   222 1
3/22/19 11  233 1
3/23/19 12  245 1
3/12/19 30  30  2
3/13/19 23  53  2
3/14/19 43  96  2
3/15/19 24  120 2
3/16/19 3   123 2
3/17/19 5   128 2
3/20/19 3   131 2
3/20/19 25  156 2
3/20/19 64  220 2
3/21/19 6   226 2
3/22/19 4   230 2
3/23/19 63  293 2

到目前为止,我的模型就是那个模型。但是,我没有告诉模型这是两个单独的事件。但是,考虑来自不同事件的所有数据将是有用的,因为它们属于同一组织者,因此,它们提供的信息不仅仅是一个事件。先知有可能合适吗?

ds  tickets_sold y event_id
3/24/19 20  20  3
3/25/19 30  50  3
3/26/19 20  70  3
3/27/19 12  82  3
3/28/19 12  94  3
3/29/19 12  106 3
3/30/19 12  118 3

1 个答案:

答案 0 :(得分:0)

事件的开始日期似乎导致高峰。您可以通过将每个事件的开始日期设置为假期来使用holidays。这使先知了解事件(及其高峰)。我注意到事件1和2重叠。我认为您在这里有多种选择来处理这个问题。您需要问自己每个事件的预测价值与事件3有什么关系。您没有太多数据,这将是主要问题。如果它们的值相等,则可以更改一个事件的日期。例如11天前。价值不平等的情况可能意味着您放弃了1个事件。

events = pd.DataFrame({
  'holiday': 'events',
  'ds': pd.to_datetime(['2019-03-24', '2019-03-12', '2019-03-01']),
  'lower_window': 0,
  'upper_window': 1,
})

m = Prophet(growth='linear', holidays=events)
m.fit(df)

我还注意到您对这个累积量进行了预测。我认为您的活动是固定的,因此先知可能会受​​益于每日门票销售的预测,而不是总和。