04.16
階層化・グループ化
まとめ
階層的時系列(HTS)は、全社売上 → 事業部売上 → 製品売上のように「下位の合計が上位になる」構造を持つ複数の系列をまとめて予測する枠組みです。各レベルを別々に ARIMA や ETS で予測すると、製品 A と製品 B の予測の合計が事業部の予測と一致しません。ボトムアップは最下層の予測を足し上げ、トップダウンは全社の予測を過去の構成比で配分し、最適調整(MinT)はすべてのレベルの予測を集約行列 \(S\) で整合させつつ誤差を最小にします。この章では集約行列の作り方と 3 つの調整法の違いを、Python の実装を追いながら比べます。
直感 #
事業部 X の売上を ARIMA で予測すると 100、その中の製品 A と B を別々に予測すると 55 と 50 になり、足すと 105 で上位と食い違う、という事態は階層データでは必ず起きます。HTS はこの不整合を「整合(reconciliation)」で解消する手法で、最下層の予測を足し上げる(ボトムアップ)か、全社の予測を構成比で割り振る(トップダウン)か、全レベルの予測を集約行列 \(S\) で最小二乗的に調整する(MinT)かを選びます。ボトムアップは下位系列のノイズを拾いやすく、トップダウンは製品ごとの傾向を潰しやすいので、両者の中間にある MinT が精度と整合性の両立で選ばれる場面が増えています。
詳細な解説 #
このチャプターで学べること #
- 階層的時系列の基本構造と、集約(ボトムアップ)・分解(トップダウン)のアプローチ
- 階層間の整合性を保つ調整手法の概要
これがわかるとできること #
- 全社 → 事業部 → 製品の 3 層の組織構造を反映した時系列予測を設計できる
- 階層間で整合性のある予測値を報告できる
学習の進め方 #
まず 階層的時系列 で、全社・事業部・製品の 3 層を集約行列 \(S\) で表し、最下層の合計が上位と一致する構造を確かめます。次に同じページでボトムアップとトップダウンの予測を並べて描き、合計が一致するか、製品ごとの季節の山が保たれるかを比べて、どちらの不足を MinT が埋めるのかを理解します。