holt-winters的python代码
时间: 2024-09-28 13:14:09 浏览: 53
Holt-Winters季节性指数平滑法是一种用于时间序列预测的统计模型,它结合了简单移动平均(SMA)、水平趋势(Level)和季节性指数(Trend)的概念。以下是使用Python的`statsmodels`库实现Holt-Winters方法的一个简单例子:
```python
import pandas as pd
from statsmodels.tsa.holtwinters import ExponentialSmoothing
# 假设你有一个名为df的数据框,其中包含"ts_data"列的时间序列数据
data = df['ts_data']
# 设置初始参数
fit1 = ExponentialSmoothing(data, trend='add', seasonal='add').fit()
forecast1 = fit1.forecast(steps=10) # 预测未来10步
# 如果有季节性变化
fit2 = ExponentialSmoothing(data, trend='add', seasonal='mul', seasonal_periods=data.index.freq).fit()
forecast2 = fit2.forecast(steps=10)
# 打印预测结果
print("Without Seasonality Forecast:", forecast1)
print("With Seasonality Forecast:", forecast2)
```
在这个例子中,我们首先导入必要的模块,然后创建一个ExponentialSmoothing对象并指定模式('add'表示线性趋势,'mul'表示周期性趋势)。然后我们拟合数据并进行预测。
阅读全文