时间序列预测:Prophet可用但ARIMA模型失效问题排查
求助:ARIMA模型无法正常运行排查
我基于近两年的利用率数据搭建了可用的Prophet时间序列预测模型,为开展对比验证,尝试在同一数据上搭建ARIMA模型,但无论如何尝试均无法正常运行。
Prophet模型实现及可视化结果
m = Prophet( interval_width=0.95, growth="linear", seasonality_mode="multiplicative", yearly_seasonality=True, daily_seasonality=False, weekly_seasonality=False, ) m.fit(train) future = m.make_future_dataframe(periods=365)

ARIMA模型尝试代码及输出结果
import pandas as pd import numpy as np import pmdarima as pm import matplotlib.pyplot as plt from datetime import datetime, timedelta # 从CSV加载数据 # 替换'your_data.csv'为实际文件路径 data = pd.read_csv('util_since_2022.csv') # 将'date'列转为日期格式 data['date'] = pd.to_datetime(data['date']) # 设置'date'为DataFrame索引 data.set_index('date', inplace=True) # 划分训练集和测试集 train_data = data['2022-01-01':'2023-12-31'] # 2022-2023年数据作为训练集 test_data = pd.DataFrame(columns=['Utilization']) # 2024年测试集为空DataFrame # 拟合ARIMA模型到训练数据 arima_model = pm.auto_arima(train_data, seasonal=True, m=1) # m=1表示年度季节性 # 生成2024年预测 forecast_periods = 365 # 2024年天数 forecast, conf_int = arima_model.predict(n_periods=forecast_periods, return_conf_int=True) # 创建存储预测结果的DataFrame forecast_dates = pd.date_range(start="2024-01-01", periods=forecast_periods, freq="D") forecast_df = pd.DataFrame({"Date": forecast_dates, "Forecast": forecast}) # 绘制历史数据和2024年预测 plt.figure(figsize=(12, 6)) plt.plot(train_data.index, train_data['util'], label='历史数据(2022-2023)', color='blue') plt.plot(forecast_df['Date'], forecast_df['Forecast'], label='2024年预测', color='red') # 添加标签和图例 plt.xlabel('日期') plt.ylabel('利用率') plt.title('利用率预测(ARIMA)') plt.legend() # 绘制残差图 residuals = train_data['util'] - arima_model.predict_in_sample() plt.figure(figsize=(12, 6)) plt.plot(train_data.index, residuals, label='残差', color='green') plt.xlabel('日期') plt.ylabel('残差值') plt.title('ARIMA模型残差') plt.legend() # 显示图表 plt.grid(True) plt.tight_layout() plt.show()


数据样本

恳请各位帮忙排查ARIMA模型无法正常运行的原因,感谢!
内容的提问来源于stack exchange,提问作者leonleprofessionnel
相关产品推荐
相关产品推荐

