sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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()
posted on 2025-03-18 15:28  sunny123456  阅读(23)  评论(0)    收藏  举报