0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

需要予測全体像

0
Posted at
# 需要予測モデル構築の全体フロー

需要予測は、単にモデルを作るだけではなく、

**「何を予測するか決める → データを集める → 整える → モデルを作る → 評価する → 運用する」**

という流れで進める。

全体像は以下。

```mermaid
flowchart TD

A[① 予測目的・対象の定義]
    --> B[② 予測粒度・予測タイミングの決定]

B --> C[③ データ収集]

C --> D[④ データ確認・クレンジング]

D --> E[⑤ 探索的データ分析 EDA]

E --> F[⑥ 特徴量作成]

F --> G[⑦ Train / Validation / Test 分割]

G --> H[⑧ ベースラインモデル作成]

H --> I[⑨ 時系列モデル作成]

I --> J[⑩ 外部要因を含むモデル作成]

J --> K[⑪ 機械学習モデル作成]

K --> L[⑫ モデル精度比較]

L --> M[⑬ 予測要因の分析]

M --> N[⑭ 採用モデル決定]

N --> O[⑮ 将来需要予測]

O --> P[⑯ モデル運用・精度監視]

P --> Q[⑰ 定期的な再学習]

各工程

Step 工程 主な内容
1 予測目的・対象の定義 何の需要を予測するのか決める
2 予測粒度・タイミング 月次・年次、製品単位、地域単位などを決める
3 データ収集 販売、価格、在庫、金利、景気指標などを収集
4 データ確認・クレンジング 欠損、異常値、重複などを処理
5 EDA 販売傾向、季節性、各要因との関係を確認
6 特徴量作成 ラグ、移動平均、季節、前年差などを作成
7 データ分割 過去を学習、未来を評価データにする
8 ベースライン 前月値、移動平均などを作成
9 時系列モデル Holt-Winters、SARIMAなどを試す
10 外部要因モデル SARIMAX、線形回帰などを試す
11 機械学習 Random Forest、XGBoost、LightGBMなど
12 精度比較 MAE、RMSE、MAPEなどで比較
13 要因分析 SHAPなどで予測理由を確認
14 モデル決定 精度・説明性・運用性で判断
15 将来予測 来月、来年度などを予測
16 モデル運用 実績と予測値の差を監視
17 再学習 新しい実績データを使ってモデル更新

大きく分けると5フェーズ

需要予測の工程は、大きく以下の5つに分類できる。

① 要件定義
    ↓
② データ準備
    ↓
③ 分析・特徴量作成
    ↓
④ モデル構築・評価
    ↓
⑤ 予測・運用

① 要件定義

  • 何を予測するか
  • どの粒度で予測するか
  • いつの需要を予測するか
  • 何の意思決定に使用するか

を明確にする。


② データ準備

必要なデータを集める。

例:

  • 過去販売台数
  • 製品価格
  • 在庫
  • 受注情報
  • キャンペーン
  • 顧客情報
  • 金利
  • CPI
  • GDP
  • 為替
  • 季節情報

その後、

  • 欠損
  • 異常値
  • 重複
  • データ粒度

などを確認する。


③ 分析・特徴量作成

データを可視化して、

  • トレンド
  • 季節性
  • 周期性
  • 外部要因との関係

を確認する。

さらに、

  • 前月販売台数
  • 3か月前販売台数
  • 3か月移動平均
  • 前年同月販売台数
  • 前年比
  • 四半期

などの特徴量を作成する。


④ モデル構築・評価

最初に単純なモデルを作成し、

徐々に高度なモデルを試す。

前月値
↓
移動平均
↓
Holt-Winters
↓
SARIMA
↓
SARIMAX
↓
線形回帰
↓
Random Forest
↓
XGBoost / LightGBM

各モデルを、

  • MAE
  • RMSE
  • MAPE

などで比較する。


⑤ 予測・運用

最も精度・説明性・運用性のバランスが良いモデルを採用する。

採用後は、

予測
↓
実績取得
↓
予測との差を確認
↓
精度監視
↓
必要に応じて再学習

というサイクルを回す。


需要予測で特に重要なポイント

需要予測ではモデルそのものより、

「予測時点で使用可能なデータだけを使用する」

ことが重要。

将来にならないと分からないデータを学習時に使用すると、

データリーク

が発生する。

そのため、

この変数は
「予測する時点で分かっているか?」

を各説明変数について確認する必要がある。


全体像

最終的には以下の流れで需要予測を構築する。

予測対象・目的を決める
        ↓
予測粒度を決める
        ↓
予測タイミングを決める
        ↓
必要なデータを洗い出す
        ↓
データを収集する
        ↓
データを確認・クレンジング
        ↓
EDA
        ↓
特徴量作成
        ↓
学習・評価データ分割
        ↓
ベースラインモデル
        ↓
時系列モデル
        ↓
外部要因モデル
        ↓
機械学習モデル
        ↓
モデル精度比較
        ↓
SHAP等による要因分析
        ↓
採用モデル決定
        ↓
将来需要予測
        ↓
実績との比較
        ↓
モデル改善・再学習

この構成なら、次の記事部分を **「①要件定義」「②データ収集」「③クレンジング」…と順番に掘り下げていけば、そのままQiita記事になります。**
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?