ARIMA模型时间序列预测模型以天为时间间隔的Python代码
时间: 2024-04-13 20:19:22 浏览: 89
以下是一个使用ARIMA模型进行时间序列预测的Python代码示例,其中使用的是pandas和statsmodels库:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA
# 读取数据
data = pd.read_csv('data.csv', index_col='Date', parse_dates=True)
data = data.dropna()
# 将数据转换为时间序列
ts = data['Value']
# 拆分数据集为训练集和测试集
train = ts[:int(0.8*len(ts))]
test = ts[int(0.8*len(ts)):]
# 训练ARIMA模型
model = ARIMA(train, order=(2,1,2))
model_fit = model.fit(disp=0)
# 预测未来一段时间的数据
fc, se, conf = model_fit.forecast(len(test), alpha=0.05)
# 将预测结果与实际结果进行可视化比较
plt.plot(train.index, train.values, label='Training')
plt.plot(test.index, test.values, label='Actual')
plt.plot(test.index, fc, label='Forecast')
plt.fill_between(test.index, conf[:,0], conf[:,1], color='gray', alpha=0.2)
plt.legend()
plt.show()
```
其中,data.csv是包含时间序列数据的CSV文件,每行代表一个时间点的数据,第一列为时间,第二列为数值。order参数指定ARIMA模型的(p,d,q)参数,分别代表自回归项、差分项和移动平均项的数量。在这个示例中,我们使用了(2,1,2)的参数。alpha参数指定置信度,用于计算预测结果的置信区间。
阅读全文