04.10.5
【ベンチマーク】間欠需要データ
保守部品・高額商品・特殊薬品など、「売れない日のほうが圧倒的に多い」データは在庫管理の現場で頻出する。標準的な時系列モデルは連続的な需要を前提としているため、間欠需要に適用すると非ゼロの予測を毎期出してしまう。ここではCroston法を含む複数のアプローチを比較する。
1. データの特徴 #
間欠需要(intermittent demand)の第一の特徴はゼロの多さです。全期間の 50〜90% で需要が発生しません。二つ目は発生時のばらつきで、需要が出た月の量は lognormal のように右に長い裾を持ち、中央値 12 に対して 40 を超える月も混ざります。三つ目は評価指標の制約で、実測がゼロの月で MAPE はゼロ除算になるため、MASE や RMSE で比べます。SES や ARIMA は「毎期ある程度の値が観測される」前提で水準を推定するので、ゼロと非ゼロが交互に来るデータでは平均値を薄く塗るような予測になります。
2. 合成データの生成 #
次のコードは、各月に確率 0.30 で需要が発生し、発生した月の量は対数正規分布(平均 2.5、σ 0.8)から引く 72 か月の系列を作ります。左に需要の棒グラフとテスト開始の赤破線、右に非ゼロ月だけの需要量のヒストグラムを描きます。
| |
3. 比較するパイプライン #
| モデル | アプローチ | ゼロへの対応 |
|---|---|---|
| 季節ナイーブ (sp=12) | 直近1年の同月を繰り返す | ゼロ月はゼロを出力 |
| SES | 水準の指数平滑 | 常に非ゼロを予測 |
| Holt-Winters 加法 | トレンド + 季節 | 常に非ゼロ(負値の可能性も) |
| ARIMA(1,0,0) | 自己回帰 | 常に非ゼロ |
| Croston法 | 間隔と量を分離してSES | 需要発生確率を反映 |
4. 実験と結果 #
次のコードは Croston 法を 30 行ほどで自作し、季節ナイーブ・SES・HW加法・ARIMA(1,0,0) と並べて 12 か月先を予測します。各モデルの MASE と RMSE を横棒グラフにし、MASE が 1 を下回った棒だけ緑で塗ります。
| |
読み方のポイント #
季節ナイーブは前年同月の値をそのまま返すので、ゼロだった月はゼロ、需要があった月はその量を出し、ゼロと非ゼロが交互に来る間欠性の構造を自然に反映します。SES・ARIMA・HW加法は毎期ほぼ一定の非ゼロ値(学習期間の平均に近い 4〜6 程度)を出すため、実際にゼロだった 8 か月前後で「需要あり」と予測する誤りが積み重なり、MASE が 1 を超えて赤く塗られます。Croston 法は需要の「発生間隔」と「発生時の量」を分けて平滑化するので、同じ一定値でも 1 期あたりの期待需要として筋の通った水準になり、RMSE ではゼロの月に外れる量が小さく収まります。MASE と RMSE で順位が入れ替わることがあるのは、RMSE が大口需要の月の外れを 2 乗で重く数えるためです。
5. 誤差パターン分析 #
MASE の数字だけでは「どの月をどう外したか」が分かりません。次のコードはテスト 12 か月について、実測の棒(灰色)と各モデルの予測の棒(色付き)を月ごとに並べ、季節ナイーブ・SES・Croston・ARIMA の 4 枚を 2 × 2 に配置します。
| |
SES や ARIMA は 12 か月すべてに 4〜6 程度の棒を立て続け、実測がゼロの月でも需要ありと予測し、大口需要の月では大きく下回ります。季節ナイーブは前年同月のゼロ/非ゼロパターンをそのまま再現するので、ゼロの月を当てる一方で、前年と発生月がずれると「前年に売れた月」に空振りの棒が立ちます。Croston 法も一定値です。ただし量 ÷ 間隔で決めた水準なので 1 年を合計した需要量に近く、在庫の補充量を決める用途では最も筋の通った予測になります。
6. よくある失敗パターン #
最初の失敗は MAPE で評価することで、実測がゼロの月で \(|y - \hat{y}| / |y|\) の分母がゼロになり指標が定義できなくなります。ゼロを含む系列では MASE か RMSE を使います。分母に予測と実測の平均を使う sMAPE も候補です。二つ目は非ゼロの予測を閾値でゼロに丸める後処理で、「予測値が 5 未満なら 0 にする」といった規則は閾値の根拠がなく、テスト期間が変わると最適な閾値も変わります。Croston 法のように発生確率と発生量を分けてモデル化するか、ゼロ過剰ポアソンなど確率的に扱う方が再現性があります。三つ目は alpha を大きくしすぎることで、0.5 を超えると発生回数 18 回程度のデータでは直近の 2〜3 回だけで予測が決まり、大口需要の直後に在庫を過剰に積む判断につながります。
- ウォークフォワード検証 — 時系列の正しい評価手法
- MASE — ゼロを含むデータでも使える精度指標
- 指数平滑法 — Croston法の基盤となる平滑化手法
- ARIMA モデル — 自己回帰と移動平均