モデル総合評価

精度(全データセットのホールドアウト MAPE)と、このサンプル実装における コードの書きやすさ・可読性などの開発体験を並べて評価します。 定性スコアは python/forecast.py の実装体験に基づく 1〜5 点です。

総合サマリー(精度 × 開発体験)

順位 モデル 総合 精度スコア 平均 MAPE 順位 平均 MAPE 開発体験 書きやすさ 可読性
1 AutoARIMA (Nixtla)
statsforecast / Nixtla (Python)
3.9 3.4 / 5 5.5 位 49.81% 4.3 / 5 5 4
2 AutoETS (Nixtla)
statsforecast / Nixtla (Python)
3.8 3.0 / 5 6.5 位 74.80% 4.5 / 5 5 4
3 Holt-Winters
statsmodels (Python)
3.7 2.8 / 5 7.2 位 511.84% 4.7 / 5 5 5
4 Random Forest
scikit-learn (Python)
3.7 3.5 / 5 5.2 位 40.94% 3.8 / 5 3 3
5 Chronos-Bolt
chronos-forecasting / Amazon (Python)
3.6 3.1 / 5 6.2 位 70.58% 4.0 / 5 5 4
6 SARIMA
statsmodels (Python)
3.4 3.0 / 5 6.4 位 179.14% 3.8 / 5 4 4
7 LightGBM
lightgbm (Python)
3.4 3.2 / 5 6.0 位 45.54% 3.7 / 5 3 3
8 XGBoost
xgboost (Python)
3.4 3.3 / 5 5.6 位 44.68% 3.5 / 5 3 3
9 ARIMA
statsmodels (Python)
3.4 2.3 / 5 8.4 位 63.56% 4.5 / 5 5 5
10 Prophet
prophet (Meta)
3.3 2.5 / 5 7.9 位 133.38% 4.2 / 5 5 5
11 SARIMAX
statsmodels (Python)
3.1 2.8 / 5 7.2 位 217.48% 3.5 / 5 3 4
12 Neural Net (MLP)
scikit-learn (Python)
3.1 3.2 / 5 5.9 位 40.64% 3.0 / 5 2 3

精度スコアは平均 MAPE 順位(1位が最良)を 1〜5 に換算。総合 =(精度スコア + 開発体験平均)/ 2。

開発体験(定性評価 1〜5)

モデル 書きやすさ 可読性 セットアップ チューニング容易性 ドキュメント 実行の軽さ コード量 コメント
ARIMA 5 5 5 3 4 5 fit → forecast の数行で完結。APIが素直で読みやすい。次数選定は経験が要る。
SARIMA 4 4 5 2 4 4 短〜中 季節項の指定が増える程度。収束失敗や信頼区間の破綻に注意が必要。
SARIMAX 3 4 5 2 4 3 SARIMA+外生。将来外生の用意が必要。次数と外生の両方でチューニングが増える。
Prophet 5 5 3 4 5 3 宣言的で非常に書きやすい。依存(cmdstan)が重く、初回セットアップが難しい。
Holt-Winters 5 5 5 4 4 5 ExponentialSmoothing で直感的。季節性ありデータでは精度も高く、コスパが良い。
AutoARIMA (Nixtla) 5 4 4 5 4 4 StatsForecast の統一 API。次数自動選択でチューニング負担が小さい。unique_id/ds/y 形式が必要。
AutoETS (Nixtla) 5 4 4 5 4 5 AutoARIMA と同型の呼び出し。ETS を自動選択し、実装は短い。
Chronos-Bolt 5 4 3 5 4 3 from_pretrained → predict で短い。PyTorch/HF 依存が重く初回ダウンロードあり。チューニングほぼ不要。
Neural Net (MLP) 2 3 5 2 3 3 ラグ行列・再帰予測・スケーリングが必要でボイラープレートが多い(本実装は MLP 代替)。
XGBoost 3 3 4 3 4 4 モデル本体は簡単だが、時系列用のラグ特徴量と再帰予測の実装が必要。
LightGBM 3 3 4 3 4 5 XGBoost と同型のコード。学習が速いことが多い。ラグ特徴量まわりは同様に必要。
Random Forest 3 3 5 3 5 4 XGBoost と同様に特徴量設計が本体。sklearn だけで完結し依存は軽い。

データセット別精度(MAPE %)

モデル 航空旅客数 (AirPassengers) 自動車販売台数 大気CO2濃度 (Mauna Loa) 米国実質GDP オーストラリア居住人口 黒点数(年次) シャンプー売上 大気CO2(月次・全期間) 大気CO2(週次) 日次最低気温(Melbourne) 電力負荷(時間次・1年) ナイル川年間流量 オオヤマネコ毛皮取引数 エルニーニョ海水温 自動車販売(外生変数つき) 電力負荷(価格・太陽光つき) Ecoemon想定・工場電力(30分) Ecoemon想定・電力+気温湿度のみ Ecoemon想定・電力+気温湿度(6時間=1日4点) ColdWatch想定・冷凍庫温度(1分) みかん週次収量(単変量) みかん週次収量+日射 みかん週次収量+日射・気温 みかん週次収量+日射・気温・カレンダー みかん週次(〜2023-06・次期収穫を将来に含む) 平均
ARIMA 12.46 (#12) 17.00 (#12) 0.42 (#12) 3.64 (#7) 0.22 (#5) 191.78 (#6) 24.66 (#6) 0.45 (#12) 0.76 (#11) 15.18 (#2) 13.43 (#12) 13.66 (#9) 169.78 (#12) 11.59 (#12) 17.00 (#12) 12.92 (#11) 45.21 (#5) 54.29 (#7) 96.95 (#12) 0.73 (#3) 177.19 (#5) 177.19 (#6) 177.19 (#6) 177.19 (#6) 178.09 (#8) 63.56%
SARIMA 2.77 (#1) 10.78 (#10) 0.09 (#5) 3.46 (#5) 0.10 (#1) 96.12 (#1) 37.07 (#10) 0.16 (#6) 0.16 (#3) 17.54 (#4) 5.40 (#2) 13.65 (#7) 43.36 (#6) 4.28 (#10) 10.78 (#10) 6.27 (#4) 48.12 (#7) 55.46 (#9) 28.19 (#8) 0.75 (#4) 997.57 (#10) 997.57 (#10) 997.57 (#10) 997.57 (#10) 103.75 (#7) 179.14%
SARIMAX 2.77 (#2) 10.78 (#11) 0.09 (#6) 3.46 (#6) 0.10 (#2) 96.12 (#2) 37.07 (#11) 0.16 (#7) 0.16 (#4) 17.54 (#5) 5.40 (#3) 13.65 (#8) 43.36 (#7) 4.28 (#11) 10.78 (#11) 7.41 (#7) 47.89 (#6) 53.42 (#6) 28.49 (#9) 0.98 (#5) 997.57 (#11) 1,485.15 (#11) 1,362.15 (#11) 1,106.35 (#11) 101.78 (#6) 217.48%
Prophet 6.61 (#9) 7.19 (#2) 0.10 (#7) 4.27 (#11) 0.59 (#7) 454.30 (#12) 39.00 (#12) 0.06 (#1) 0.20 (#5) 15.06 (#1) 12.65 (#10) 13.55 (#5) 92.29 (#11) 3.19 (#4) 7.19 (#2) 21.49 (#12) 57.29 (#9) 57.75 (#10) 61.21 (#11) 4.15 (#11) 570.40 (#9) 570.40 (#9) 570.40 (#9) 570.40 (#9) 194.86 (#9) 133.38%
Holt-Winters 2.80 (#3) 7.21 (#3) 0.07 (#2) 3.99 (#8) 0.27 (#6) 148.37 (#3) 17.16 (#2) 0.08 (#2) 0.32 (#8) 20.39 (#8) 11.55 (#8) 12.85 (#2) 73.23 (#10) 3.25 (#6) 7.21 (#3) 10.34 (#9) 62.65 (#12) 73.88 (#12) 22.97 (#6) 1.26 (#7) 3,022.95 (#12) 3,022.95 (#12) 3,022.95 (#12) 3,022.95 (#12) 224.29 (#11) 511.84%
AutoARIMA (Nixtla) 4.18 (#4) 6.69 (#1) 0.07 (#3) 4.08 (#10) 0.17 (#4) 175.57 (#5) 20.33 (#3) 0.21 (#8) 0.10 (#2) 18.87 (#7) 5.78 (#5) 13.64 (#6) 33.93 (#2) 3.27 (#7) 6.69 (#1) 7.02 (#6) 59.94 (#11) 72.48 (#11) 23.98 (#7) 3.99 (#10) 171.31 (#4) 171.31 (#5) 171.31 (#5) 171.31 (#5) 99.07 (#5) 49.81%
AutoETS (Nixtla) 7.21 (#10) 8.28 (#5) 0.06 (#1) 4.00 (#9) 0.11 (#3) 163.21 (#4) 15.72 (#1) 0.11 (#4) 0.76 (#12) 20.98 (#9) 12.87 (#11) 13.40 (#4) 26.87 (#1) 3.41 (#8) 8.28 (#5) 12.87 (#10) 53.92 (#8) 44.18 (#4) 29.08 (#10) 0.60 (#1) 310.03 (#8) 310.03 (#8) 310.03 (#8) 310.03 (#8) 204.07 (#10) 74.80%
Chronos-Bolt 5.40 (#6) 7.73 (#4) 0.08 (#4) 5.55 (#12) 0.62 (#8) 232.45 (#7) 27.43 (#8) 0.09 (#3) 0.30 (#7) 16.60 (#3) 5.91 (#6) 13.95 (#10) 36.45 (#3) 3.21 (#5) 7.73 (#4) 5.24 (#2) 10.94 (#3) 11.15 (#2) 13.18 (#5) 25.88 (#12) 277.15 (#7) 277.15 (#7) 277.15 (#7) 277.15 (#7) 226.07 (#12) 70.58%
Neural Net (MLP) 5.56 (#7) 10.54 (#9) 0.14 (#8) 1.27 (#1) 6.74 (#12) 277.55 (#9) 23.87 (#5) 0.14 (#5) 0.08 (#1) 27.69 (#12) 10.78 (#7) 14.67 (#11) 41.88 (#5) 2.19 (#1) 10.54 (#9) 8.31 (#8) 58.01 (#10) 54.37 (#8) 12.53 (#4) 1.45 (#8) 88.15 (#1) 88.15 (#1) 88.15 (#1) 88.15 (#1) 94.98 (#4) 40.64%
XGBoost 6.01 (#8) 10.24 (#8) 0.29 (#10) 1.47 (#3) 1.26 (#9) 354.55 (#11) 27.54 (#9) 0.34 (#10) 0.46 (#9) 22.65 (#10) 5.25 (#1) 12.45 (#1) 56.92 (#9) 3.67 (#9) 10.26 (#8) 6.75 (#5) 8.24 (#1) 52.59 (#5) 2.45 (#1) 0.69 (#2) 96.91 (#2) 131.11 (#2) 133.20 (#4) 131.43 (#3) 40.32 (#1) 44.68%
LightGBM 7.56 (#11) 9.71 (#7) 0.29 (#11) 1.54 (#4) 1.96 (#11) 339.89 (#10) 22.51 (#4) 0.36 (#11) 0.22 (#6) 25.44 (#11) 5.43 (#4) 15.45 (#12) 46.28 (#8) 2.88 (#3) 9.45 (#7) 2.50 (#1) 9.00 (#2) 6.94 (#1) 2.70 (#2) 1.66 (#9) 187.26 (#6) 133.12 (#3) 127.92 (#2) 128.27 (#2) 50.24 (#3) 45.54%
Random Forest 5.21 (#5) 9.11 (#6) 0.24 (#9) 1.46 (#2) 1.57 (#10) 250.64 (#8) 25.50 (#7) 0.26 (#9) 0.74 (#10) 18.47 (#6) 12.44 (#9) 13.16 (#3) 38.46 (#4) 2.37 (#2) 9.08 (#6) 5.43 (#3) 13.45 (#4) 14.58 (#3) 3.33 (#3) 1.06 (#6) 149.91 (#3) 133.39 (#4) 132.87 (#3) 134.17 (#4) 46.67 (#2) 40.94%

評価の読み方(報告用メモ)

  • 精度: 実ライブラリで学習し、ホールドアウト区間の MAPE / RMSE / MAE で比較。季節性の強い系列では SARIMA・Holt-Winters が強い傾向。
  • 書きやすさ / 可読性: 統計モデルは API が短く読みやすい。木モデル・ニューラルはラグ特徴量と再帰予測の定型コードが増える。
  • セットアップ: statsmodels / sklearn は軽い。Prophet は cmdstan 依存で初回導入コストが高い。
  • 総合のおすすめ: まず Holt-Winters / SARIMA でベースラインを作り、必要なら Prophet や勾配ブースティングを足す、という進め方がこの検証では現実的。

← 予測比較チャートに戻る