我为1000位客户提供了他们在过去两年中购物数量的时间序列数据。我能够为整个数据集构建时间序列预测模型。但现在我想为1000个客户中的每一个建立预测模型,解决这个问题的最佳方法是什么。
PS:我能想到的一种方法是迭代1000个客户中的每一个,并为每个客户构建单独的模型。但从长远来看,它不会成为可行的解决方案
有人可以用更好的方法帮助我吗
示例数据:
custmore_id,date,count_order
1,2015-06,24
1,2015-07,26
...
1,2017-08,320
2,2015-06,12
2,2015-07,32
..
2,2017-08,500
答案 0 :(得分:0)
首先,创建一个函数
def Forecast(costumer_id,prediction_date):
df_customer = df[df['customer_id']==customer_id]
do forecasting on df_customer
return forecast for customer and prediction_date
然后使用多进程库的Pool方法并行处理客户:
pool.map(Forecast,np.unique(df['customer_id']))
最后结果结果