Python时间序列模型-ARIMA模型代码
时间: 2024-04-20 10:21:12 浏览: 188
Python实现ARIMA-LSTM-Attention差分自回归移动平均注意力机制长短期记忆网络时序预测(完整源码和数据)
5星 · 资源好评率100%
ARIMA(自回归移动平均模型)是一种常的时间序列分析模型,用于预测未来的数据点。下面是Python中使用ARIMA模型进行时间序列分析的代码示例:
首先,需要导入相关的库:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA
```
接下来,读取时间序列数据并进行预处理:
```python
# 读取数据
data = pd.read_csv('data.csv')
# 将日期列转换为Datetime类型
data['Date'] = pd.to_datetime(data['Date'])
# 将日期列设置为索引
data.set_index('Date', inplace=True)
# 绘制原始数据图表
plt.plot(data)
plt.xlabel('Date')
plt.ylabel('Value')
plt.show()
```
然后,对时间序列数据进行ARIMA建模和预测:
```python
# 拆分训练集和测试集
train_data = data[:'2020-12-31']
test_data = data['2021-01-01':]
# 创建ARIMA模型对象
model = ARIMA(train_data, order=(p, d, q))
# 拟合模型
model_fit = model.fit()
# 预测未来的数据点
forecast = model_fit.predict(start=len(train_data), end=len(train_data)+len(test_data)-1)
# 绘制预测结果图表
plt.plot(test_data.index, test_data, label='Actual')
plt.plot(test_data.index, forecast, label='Forecast')
plt.xlabel('Date')
plt.ylabel('Value')
plt.legend()
plt.show()
```
以上是一个简单的ARIMA模型的代码示例,其中需要根据实际情况设置ARIMA模型的阶数(p, d, q)。你可以根据自己的数据和需求进行调整和优化。
阅读全文