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,问题就解决了
我正在使用 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,问题就解决了