Python 3.x 在给定总体销售数据的情况下,如何使用Prophet进行每个位置的预测

Python 3.x 在给定总体销售数据的情况下,如何使用Prophet进行每个位置的预测,python-3.x,facebook-prophet,Python 3.x,Facebook Prophet,我使用Prophet进行销售预测,我有几个CSV。大多数数据按日期表示特定位置的销售数据,例如Location1.CSV已于2010年1月1日发布,X小部件已售出,等等 有一个主CSV,用于汇总所有地点的销售额。我使用Prophet预测了所有地点的销售额,效果很好,但每个地点的数据变化很大 我看到每家店预测的平均误差MAE要高得多,而整体模型的平均误差MAE要低得多 我有没有办法使用整体销售模型来预测每个地点的销售额?或者,除了仅使用该地点的原始销售数据之外,还有其他方法可以预测每个地点的销售额

我使用Prophet进行销售预测,我有几个CSV。大多数数据按日期表示特定位置的销售数据,例如Location1.CSV已于2010年1月1日发布,X小部件已售出,等等

有一个主CSV,用于汇总所有地点的销售额。我使用Prophet预测了所有地点的销售额,效果很好,但每个地点的数据变化很大

我看到每家店预测的平均误差MAE要高得多,而整体模型的平均误差MAE要低得多


我有没有办法使用整体销售模型来预测每个地点的销售额?或者,除了仅使用该地点的原始销售数据之外,还有其他方法可以预测每个地点的销售额吗

是的,您可以使用您的整体销售模型来帮助预测Prophet中的每个位置的销售额

让我们首先创建一个示例df,其中y是我们要预测每个位置的销售额的变量,而工装裤是总销售额:

import pandas as pd
df = pd.DataFrame(pd.date_range(start="2019-09-01", end="2019-09-30", freq='D', name='ds'))
df["y"] = range(1,31)
df["overalls"] = range(101,131)
df.head()
            ds  y   overalls
0   2019-09-01  1   101
1   2019-09-02  2   102
2   2019-09-03  3   103
3   2019-09-04  4   104
4   2019-09-05  5   105
和拆分列车和测试:

df_train = df.loc[df["ds"]<"2019-09-21"]
df_test  = df.loc[df["ds"]>="2019-09-21"]
然后,预测方法将使用其他变量进行预测:

forecast = m.predict(df_test.drop(columns="y"))
请注意,附加变量应具有未来测试数据的值。由于您最初没有未来的整体销售额,您可以从使用单变量时间序列预测工作服开始,然后使用add_回归器预测y,并将预测的工作服作为附加变量的未来值

另请参见,使用天气因素作为自行车使用预测的额外回归系数的示例

forecast = m.predict(df_test.drop(columns="y"))