使用Holt-winters、ARIMA、指数平滑等方法在Python中预测时间序列值。

6
例如,如果我有以下时间序列:
x = [1999, 2000, 2001, ... , 2015]
annual_sales = [10000000, 1500000, 1800000, ... , 2800000]

我该如何使用Python中的Holt-Winters方法预测2016年的销售额?

1个回答

5

您可以使用Statsmodels.tsa中的ExponentialSmoothing进行如下操作:

import pandas as pd
import statsmodels.tsa.holtwinters as hw    

d = {'Year':x, 'Sales':annual_sales}
sales_df = pd.DataFrame(d)
sales_df['Year] = pd.to_datetime(sales_df['Year])
sales_df.set_index('Year', inplace=True)

model = hw.ExponentialSmoothing(sales_df).fit()

一旦模型生成,您可以使用predict()方法。
然而,似乎只有最新版本的statsmodels才支持这一功能。请参见此处。在我的Windows 10 Anaconda Python 3.6环境下,我使用的是0.9.0版本的statsmodels,在该版本中此功能可用。

1
不要仅仅提供一个解决方案的链接,应该在回答正文中解释解决方案。 - Grant Miller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接