python中调用 训练 ARIMA 模型 并画图
点击查看代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA
# 生成示例时间序列数据
np.random.seed(0)
data = np.random.randn(100).cumsum()
index = pd.date_range(start='2020-01-01', periods=len(data), freq='D')
ts = pd.Series(data, index=index)
# 划分训练集和测试集
train_size = int(len(ts) * 0.8)
train_data = ts[:train_size]
test_data = ts[train_size:]
# 训练 ARIMA 模型,这里假设 p=1, d=1, q=1
p, d, q = 1, 1, 1
model = ARIMA(train_data, order=(p, d, q))
model_fit = model.fit()
# 进行预测
forecast_steps = len(test_data)
forecast = model_fit.get_forecast(steps=forecast_steps)
forecast_mean = forecast.predicted_mean
# 绘制结果
plt.figure(figsize=(12, 6))
plt.plot(train_data, label='Training Data')
plt.plot(test_data, label='Actual Data')
plt.plot(forecast_mean.index, forecast_mean, label='Forecast', color='r')
plt.title('ARIMA Model Forecast')
plt.xlabel('Date')
plt.ylabel('Value')
plt.legend()
plt.show()

浙公网安备 33010602011771号