本文在相对简单的数据集上探索不同的时间序列技术。
给定 5 年的商店商品销售数据,并要求您预测 10 家不同商店的 50 种不同商品在 3 个月内的销售额。
处理季节性的最佳方法是什么?商店应该单独建模,还是可以将它们合并在一起?
import time import pandas as pd %matplotlib inline
加载数据
d\_trn = pd.rad\_csv('../inuraicsv, prse\_tes=date'\], inx\_col\['te'\]) d\_ts = pd.ra\_csv'../iputst.csv', prse\_des=\['date'\], ine\_col\['d
视频
在Python和R语言中建立EWMA,ARIMA模型预测时间序列
热门视频
所有商店似乎都显示出相同的趋势和季节性。
ARIMAX
带解释变量的自回归综合移动平均线 (ARIMAX) 是 ARIMA 的扩展版本,其中包括独立的预测变量。
准备数据
mnths = df_rinindx.nth df_ran.drpna(iplac=True) d_trin.head()
import datetime
dumymns = pd.get_dummies(moth) prev\_uate\_dates = d\_tet\_x.index - datie.timedelta(das=91) dfetex.head()
随时关注您喜欢的主题
构建模型
si1 = d\_rin.loc\[(d\_tin\['store'\] == 1) & (_tran\['ie'\] == 1), 'ses'\] exog\_s1i1 = df\_train.loc\[(df\_train\['store'\] == 1) & (df\_train\['item'\] == ax = SARIMAX(si1.loc\['2013-12-31':\], exog=exog nfoceinvetiblity=alse,enforce_ationarity=False,
作出预测
nog = df\_rai.loc\[(ftrin\['str'\] == s) & (df\_rin\['te'\] == i), 'als'\] SARIMAX(endog=edog exog=xo, enorce\_invtiilit=False, eorce\_statnarityFalse, freq='D', order=(7,0,0)).fit() tc = time.time()
示例预测
xg = f\_rin.loc\[(df\_rin\[ste'\] == 10) & (d_tri\['itm'\] == 50)\].drop(\['', 'ite', 'sas'\], axis=1) forast = arax.predict
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!