statsmodel/exponential 平滑是否正常工作?

Is statsmodel/exponential smoothing working correctly?

我正在使用 statsmodels 和指数平滑法进行时间序列分析。我正在尝试重现

的结果

https://www.statsmodels.org/devel/examples/notebooks/generated/exponential_smoothing.html

具有特定的 dataframe(与示例的格式相同,但只有一个结果)。 以下是代码行:

from statsmodels.tsa.api import ExponentialSmoothing, SimpleExpSmoothing, Holt

fit = ExponentialSmoothing(dataframe, seasonal_periods=4, trend='add', seasonal='mul', initialization_method="estimated").fit()
simulations = fit.simulate(5, repetitions=100, error='mul')
fit.fittedvalues.plot(ax=ax, style='--', color='green')
simulations.plot(ax=ax, style='-', alpha=0.05, color='grey', legend=False)
fit.forecast(8).rename('Holt-Winters (add-mul-seasonal)').plot(ax=ax, style='--', marker='o', color='green', legend=True)

但是,当我 运行 它时,我得到了错误

TypeError: __init__() got an unexpected keyword argument 'initialization_method'

但是我在statsmodel中查看ExponentialSmoothing的参数时,initialization_method是其中之一,所以我不知道那里发生了什么。

继续前进,我从代码中 ExponentialSmoothing 的参数中删除了 initialization_method,然后我在下面的行中得到另一个错误

AttributeError: 'ExponentialSmoothing' object has no attribute 'simulate'

再次,我去检查 simulate 是否在最新版本的 statsmodels 中没有被弃用,不,它仍然是一个属性。

我升级了 statsmodels,我升级了 pip,但我仍然遇到同样的错误。

那里发生了什么事?

在此先感谢您的帮助!

的确,之前版本有bug,新版statsmodels修复了。只需要更新到statsmodels 0.12.0,问题就解决了