我想product' sales_index
通过使用每月时间序列中的多个功能进行预测。一开始,我开始使用ARMA
,ARIMA
来执行此操作,但输出对我来说不是很令人满意。在我的尝试中,我只是使用dates
和sales
列进行预测,输出对我来说并不现实。我想我应该包括更多的特征列来预测sales_index
列。但是,我想知道是否有任何方法可以通过使用每月时间序列中的多个特征来进行此预测。我没有使用scikit-learn
. 谁能指出我这样做的任何可能方法?任何可能的想法?
我尝试使用 ARMA/ARIMA:
这是关于这个要点的可重现的月度时间序列数据,这是我目前的尝试:
import pandas as pd
from statsmodels.tsa.arima_model import ARMA
from statsmodels.tsa.arima_model import ARIMA
from statsmodels.tsa.statespace.sarimax import SARIMAX
import matplotlib.pyplot as plt
df = pd.read_csv("tsdf.csv", sep=",")
dates = pd.date_range(start='2015-01', freq='MS', periods=len(df))
df.set_index(dates,inplace=True)
train = df[df.index < '2019-01']
test = df[df.index >= '2019-01']
model = ARMA(train['sales_index'],order=(2,0))
model_fit = model.fit()
predictions = model_fit.predict(start=len(train), end=len(train)+len(test)-1, dynamic=False)
# plot results
plt.figure(figsize=(12,6))
plt.plot(test['sales_index'])
plt.plot(predictions, color='red')
plt.show()
这是我当前尝试的输出:
在我的尝试中,我只是简单地使用df['sales_index]
anddf['dates']
作为ARMA
模型。显然这样做,预测输出不是很真实和信息丰富。我在想是否有任何方法可以将所有功能列提供给df['sales_index']
模型进行预测df['sales_index']
。我想不出用ARMA
模型做这件事的更好方法。
也许scikit-learn
可以为这个预测提供更好的作用。我不确定如何使用sklearn
此时间序列分析来实现此目的。谁能指出sklearn
这个时间序列的可能解决方案?有没有可能这样做sklearn
?任何可能的想法?谢谢
桃花长相依
冉冉说
MYYA
相关分类