確率的予測(サプライチェーン)
予測は、ある特定の結果を「予測値」として一点で示すのではなく、起こり得る将来結果それぞれに対応する確率の集合を含む場合、決定論的ではなく確率的であるといえます。不確実性が本質的に取り除けない場合、確率的予測は重要になりますが、複雑なシステムを扱う際にはほとんど常にこれが当てはまります。サプライチェーンにおいては、不確かな将来状況に対して頑健な意思決定を行うために、確率的予測が不可欠です。特に、需要とリードタイムというサプライチェーン分析の重要な二要素は、いずれも確率的予測で扱うのが最適です。確率的な視点は、期待収益はあるが不確実な意思決定を経済的に優先順位付けするうえでも自然に適合します。多種多様な統計モデルが確率的予測を生成します。その中には決定論的予測と構造的に近いものもあれば、大きく異なるものもあります。確率的予測の精度を評価するには、決定論的予測とは異なる専用の指標が必要です。また、確率的予測を活用するには、決定論的予測向けとは異なる専用ツールが求められます。
決定論的予測 vs. 確率的予測
サプライチェーンの最適化は、将来起こる事象を適切に見越すことに依存しています。数値的には、これらの事象は 予測 を通じて見積もられます。予測とは、将来事象を定量化するために使われる多様な数値手法の総称です。1970年代以降、最も広く使われてきた予測の形は、決定論的な時系列予測でした。すなわち、時間に沿って観測される数量、たとえば製品需要を、将来へ投影する手法です。時系列の過去部分は履歴データであり、将来部分が予測となります。
このような時系列予測が 決定論的 と呼ばれるのは、将来の各時点について、将来結果にできるだけ近づくことを意図した単一の値を返すからです。もちろん、予測が単一値であっても、それが完全に正しい可能性は低いことは広く理解されています。実際の将来結果は予測から乖離します。こうした決定論的予測が将来結果にどれだけ一致したかは、たとえば平均二乗誤差(MSE)のような精度指標で定量的に評価されます。
確率的予測は、将来結果の見越し方として別の視点を採ります。「最良」の結果として単一値を返すのではなく、あらゆる可能な結果に 確率 を割り当てます。言い換えれば、将来起こり得る事象はすべて可能性を保ったままですが、その確からしさが同じではないのです。以下の図は、実務でよく観察される「ショットガン効果」を示す確率的時系列予測の可視化です。後ほどこの図をさらに詳しく見ていきます。
時系列、すなわち時間に沿って測定される数量は、おそらく最も広く知られ、最も広く使われているデータモデルです。このデータモデルは、決定論的にも確率的にも予測できます。しかし、他にも多くの代替的な、そして通常はより豊かなデータモデルが存在し、これらも両方の種類の予測に適しています。たとえばジェットエンジンを修理する企業は、今後の整備作業に必要となるスペアパーツの正確な一覧を事前に見積もりたいと考えるかもしれません。これも予測の一種ですが、時系列予測ではありません。この作業に対応する決定論的予測は、必要な部品と数量の正確な一覧です。これに対して確率的予測は、部品の組み合わせ(数量も含む)ごとに、その組み合わせが実際に修理で必要になる確率を割り当てます。
また、「予測」という語は何らかの先読みを強調しますが、この考え方は、過去に関するものも含めた、システムについてのあらゆる 統計的推定 に一般化できます。統計的予測の実務は20世紀に発展しましたが、これは時間軸の有無にかかわらずデータ駆動の外挿全般を扱う、より現代的な 統計的学習 の視点が現れる前のことです。明確さのため、以下でも「予測」という語を使い続けますが、時間的な観点では必ずしも「過去=既知」「未来=未知」とは限りません。たとえば、ある企業は、ある日その商品が品切れでなかった場合に店舗でどれだけ販売されていたかを推定したいかもしれません。この推定は、サービス品質の観点から問題の大きさを定量化するのに有用です。しかし、対象が過去の出来事である以上、「本当の」販売数量は永遠に観測できません。それでも、まだ自明には観測されていないなら、過去需要の統計的推定は将来需要の推定と非常に近い問題です。
確率的予測は、情報量の観点から見れば、決定論的予測よりも豊かです。決定論的予測は将来結果に対する「最善の推定値」を与えますが、他の可能性については何も語りません。実際には、確率分布の平均、中央値、最頻値などを取ることで、確率的予測を決定論的な対応物へ変換することは常に可能です。しかし、その逆は成り立ちません。決定論的予測から確率的予測を復元することはできないのです。
もっとも、確率的予測は統計的には決定論的予測より優れているにもかかわらず、サプライチェーンでは依然として広く普及しているとはいえません。それでも、この10年でその人気は着実に高まってきました。歴史的には、確率的予測はより多くの計算資源を必要とするため、決定論的予測より後になって登場しました。また、サプライチェーン目的で確率的予測を活用するには専用ソフトウェアツールが必要ですが、それらもまだ十分には普及していません。
サプライチェーンの活用事例
サプライチェーンを最適化するとは、現時点で「正しい」意思決定を下し、不完全にしか見積もれない将来状況に対して最も収益性高く対処することです。しかし、将来事象に伴う不確実性は大部分が本質的に取り除けません。したがって、将来事象の見越し、すなわち予測が不完全であっても、企業には頑健な意思決定が必要です。こうした対応は、20世紀半ば以降、最小限の形 として安全在庫分析を通じて行われてきました。しかし後で見るように、歴史的意義を除けば、もはや安全在庫を「本来の」確率的な数値レシピより優先する理由はありません。
確率的予測の視点は、不確実性に対してかなり徹底した立場を取ります。このアプローチは、不確実性を可能な限り 定量化 しようとします。サプライチェーンでは、コストは統計的な極端事象に集中しがちです。予想外に高い需要が品切れを生み、予想外に低い需要が在庫評価損を生みます。その中間では在庫は問題なく回転します。大まかに言えば、確率的予測とは、現代のサプライチェーンに遍在する、このような低頻度・高コストの状況を管理しようとする試みです。確率的予測は、サプライチェーンにおけるあらゆるリスク管理実務の中核要素と見なされるべきです。
サプライチェーンの多くの側面は、特に確率的予測に適しています。たとえば次のようなものです。
- 需要: 衣料品、アクセサリー、スペアパーツなど、多くの製品は不規則または断続的な需要と関連しています。製品の発売は成功する場合もあれば失敗する場合もあります。競合他社のプロモーションは、市場シェアの大部分を一時的かつ不規則に奪うことがあります.
- リードタイム: 海外からの輸入では、生産、輸送、通関、受け取りなど、チェーンのあらゆる段階で一連の遅延が発生する可能性があります。地元のサプライヤーであっても、在庫切れに直面すれば稀に長いリードタイムが発生することがあります。リードタイムは「ファットテール」分布を示す傾向があります.
- 歩留まり(生鮮食品): 多くの生鮮食品の生産量と品質は、企業が制御できない天候などの条件に依存します。確率的予測はこれらの要因をシーズン全体で定量化し、従来の天気予報の枠を超える見通しを提供します.
- 返品(eコマース): 顧客が同じ製品を3サイズで注文した場合、そのうち2サイズが返品される可能性が高いです。一般的に地域間で大きな違いはあるものの、顧客は有利な返品ポリシーが存在するとその恩恵を受ける傾向があります。各注文に対する返品の確率は評価されるべきです.
- スクラップ(航空分野): 修理可能な航空機部品(しばしばロタブルと呼ばれる)は、修理に失敗する場合があります。この場合、その部品は航空機に再搭載するには適さないため廃棄されます。部品が修理後に生存するか否かを事前に知ることは通常不可能ですが、スクラップとなる確率は推定されるべきです.
- 在庫(B2C小売): 顧客は小売店から商品をずらしたり、損傷させたり、さらには盗んだりする可能性があります。したがって、電子的な在庫レベルは、顧客が認識する実際の棚上の在庫状況の概算に過ぎません。顧客が認識する在庫レベルは、確率的予測によって推定されるべきです.
- …
この短い一覧が示しているのは、確率的予測の対象となる観点が、従来の「需要予測」という単一の観点をはるかに超えているということです。適切に設計されたサプライチェーン最適化では、不確実性の関連要因をすべて織り込む必要があります。リーン生産方式が強調するように、不確実性を低減できる場合もありますが、通常はそこに経済的なトレードオフが伴い、その結果として、ある程度の不確実性は不可避のまま残ります。
とはいえ、予測とは結局のところ未来に関する十分な根拠を持つ見解にすぎません。確率的予測はきわめて粒度の細かい見解とみなせますが、その点で決定論的予測と本質的に異なるわけではありません。サプライチェーンの観点から見た確率的予測の価値は、この細かな構造を活用して、より収益性の高い意思決定を実現できる点にあります。特に、予測品質を決定論的な精度指標で評価する限り、確率的予測が決定論的予測より高精度であることは通常期待されません。
変動性の擁護
多くのサプライチェーン論が示唆するものとは異なり、変動性はなくなりません。だからこそ確率的予測が必要なのです。第一の誤解は、変動性がサプライチェーンにとって必ず悪いものだという考えです。しかしそうではありません。第二の誤解は、変動性が工学的に取り除けるという考えですが、これも誤りです。
変動性は、多くの状況でサプライチェーンにとって好ましい意味を持ちます。たとえば需要側では、ファッション、文化的商品、ソフトラグジュアリーやハードラグジュアリーのように、多くの業種が新規性に支えられています。いわゆる「当たるか外れるか」のビジネスも同様です。大半の新商品は成功しませんが、成功する商品は莫大な収益をもたらします。変動性が大きいことは、極端に大きなリターンが得られる確率を高める一方で、下振れは限定されるため、好ましいのです。最悪でも在庫全体を償却する程度にとどまります。市場に投入され続ける新商品の絶え間ない流れが、「ヒット」の継続的な更新を保証し、古い商品は衰退していきます。
供給側でも同様です。価格提示のばらつきが大きい調達プロセスは、他の条件が等しければ、より一貫した、すなわち変動の少ない価格しか生み出さない代替プロセスより優れています。実際には最も安い提案が選ばれ、他は却下されます。重要なのは調達価格の「平均」が低いことではなく、より安い供給源を見つけ出すことです。したがって、良い調達プロセスは変動性を高めるよう設計されるべきであり、たとえば既存の取引先だけに限定するのではなく、新しいサプライヤーを日常的に探索することが望まれます。
変動性が有益となる理由は、より微妙な場合もあります。たとえば、あるブランドの販促活動があまりに予測可能であると、顧客はそのパターンを見抜き、いつセールが来るかを把握したうえで購入を先延ばしにします。販促活動にばらつき、さらにはある程度の不規則さを持たせることで、この行動を部分的に抑制できます。
別の例として、サプライチェーン自体の中に交絡要因が存在する場合があります。新商品が常にテレビ広告とラジオ広告の両方とともに発売されるなら、テレビとラジオそれぞれの効果を統計的に識別するのは難しくなります。チャネルごとにキャンペーン強度へ変動性を持たせれば、後からそれらの施策からより多くの統計情報を抽出でき、それをマーケティング資源のより適切な配分に向けた洞察へと変換できます。
当然ながら、すべての変動が良いというわけではありません。リーン生産方式は、サプライチェーンの生産側において、変動が通常有害である、とりわけ遅延のばらつきに関しては特にそうであると強調しています。実際、LIFO(後入れ先出し)方式が偶然混入し、その結果、リードタイムのばらつきがさらに悪化することがあります。そのような状況では、偶発的な変動は、通常、より良いプロセスあるいは場合によってはより良い設備や施設によって取り除かれるべきです。
変動は、有害である場合でもしばしば本質的に低減不可能です。以下のセクションで見ていくように、サプライチェーンは小さな数の法則に従います。決定論的視点から店舗レベルを信頼性高く予測できると考えるのは幻想であり、実際、顧客自身も何を購入するか正確には分かっていません。より一般的には、変動の低減には常にコストが伴い(さらに低減すればなおさらコストがかかる)、変動の限界的な低減は収穫逓減に終始するため、経済的な要因から、変動を低減できたとしても完全に排除することはほとんど不可能です。
小さな数の法則
サプライチェーンにおける小さな数の法則は、「小さな数がチェーン全体に支配的である」と表現できます。この観察則は、規模の経済や、サプライチェーンの多くの構造的側面を駆動するその他の要因によって生じます:
- 一日あたり数万単位の材料を供給するサプライヤーは、発注を頻繁に行わせないための最小発注数量(MOQ)や価格優遇措置が設定されている可能性が高いです。結果として、あるサプライヤーに対して一日に発行される発注の数は、一桁に留まることがほとんどです。
- 一日あたり数万単位を生産する工場は、数千単位の大ロットでの運用を行っている可能性が高いです。生産された製品はパレット単位で梱包されることが一般的で、ある日のバッチ数はせいぜい二桁の小さな数にとどまります。
- 一日あたり数万単位を受け取る倉庫には、トラックによる納品が行われ、各トラックは貨物全体を一度に降ろします。非常に大きな倉庫であっても、一日のトラック納品の回数は二桁を超えることはほとんどありません。
- 数万単位の在庫を持つ小売店は、数千種類にも及ぶ異なる製品ラインナップを展開している可能性が高く、各製品ごとに保持される在庫数が一桁を超えることは非常に稀です。
- …
当然ながら、単位を変更すれば数値を大きく見せることは可能です。たとえば、パレットの数を数える代わりにパレットの_グラム_数や、米ドルのセント単位の金額を数えれば、大きな数字が現れます。しかし、小さな数の法則は、物事を合理的なサプライチェーンの視点で数えるという考え方の下で理解されるべきです。理論上はこの原則がかなり主観的に見えるかもしれませんが、近代サプライチェーンの明白な離散的実態(バンドル、箱、パレット、コンテナ、トラック…)によって、実際にはそうではありません。
この法則は、確率的予測の視点において非常に重要です。まず、サプライチェーンの状況では 離散的 な予測が支配的であり、予測(または決定)される結果は分数ではなく整数であることを示しています。確率的予測は、各離散的結果に対して確率を推定できるため、特に離散的な状況に適しています。これに対し、決定論的予測は離散的な結果の扱いに苦労します。たとえば、ある製品の日次売上が1.3単位で予測されるというのはどういう意味でしょうか?単位は分割して販売されるものではありません。この記述からはより合理的な「離散的」解釈が導かれるかもしれませんが、確率的対応、たとえば「需要が0単位となる確率27%、1単位が35%、2単位が23%…」という表現は、対象現象の離散性をそのまま受け入れており、はるかに明快です。
第二に、確率的予測は生の計算リソースという点で劇的に困難に見えるかもしれませんが、実際には小さな数の法則によりそうではありません。実際、前述の日次製品売上に戻ると、ある日需要が100を超える確率を数値で評価する意味はほとんどありません。これらの確率はゼロ、もしくは非常に僅かな任意の値に丸められ、その結果、サプライチェーンモデルの数値精度への影響は無視できるものとなります。一般的な目安として、確率的予測は決定論的予測に比べて約3桁分の計算リソースを必要とすると考えられます。しかし、このオーバーヘッドにもかかわらず、サプライチェーンパフォーマンステストの面から見れば、その利点は計算リソースのコストを大きく上回ります。
確率的予測の精度指標
いかなる状況でも、十分に設計された確率的予測は、この結果が発生する非ゼロの確率が実際に存在したことを示しています。一見すると、確率的予測があたかも現実から独立しているかのように思えるかもしれません―まるで未来予知者が、後になってその予言の正しい解釈方法を取り繕うかのようですが。しかし実際には、確率的予測の品質を定量的に評価する方法は多数存在します。その中には、決定論的予測の精度評価に使われる指標に似た_メトリクス_もあれば、決定論的視点とは一線を画す、より急進的で深遠な評価方法もあります。
ここでは、確率的予測の精度を評価するための4つの異なるアプローチを簡単に見ていきましょう:
- ピンボール損失関数
- 連続ランク付け確率スコア(CRPS)
- ベイジアン尤度
- 生成的敵対的視点
ピンボール損失関数は、確率的予測から導かれる分位点推定の精度指標を提供します。例えば、特定の製品について店舗の顧客需要を98%以上満たす在庫量を評価したい場合、この数量は需要が0単位、1単位…と確率を足し合わせ、初めて98%を超える地点で直接確率的予測から得ることができます。ピンボール損失関数は、この将来需要の偏った推定値の品質を直接測定する手段として機能し、確率的予測の累積密度関数の任意の点の品質評価ツールと見なすことができます。
連続ランク付け確率スコア(CRPS)は、観測された結果に全確率質量を移動させるために必要な「変位量」として解釈できる指標を提供します。これは、平均絶対誤差(MAE)の確率的視点への最も直接的な一般化であり、CRPSの値は結果そのものの単位と一致します。この視点は、「輸送理論」やモンジュ・カントロヴィッチ距離と呼ばれる手法を通じて、一次元に限らず任意の計量空間へと一般化することが可能ですが、これは本書の範囲を超えます。
尤度およびそのクロスエントロピーの類似物は、最小の驚き度 というベイジアン的視点を採用します。つまり、観測された結果の確率が高ければ高いほど良いという考え方です。例えば、確率的モデルAとBがあり、モデルAはある日需要が0単位となる確率を50%とし、モデルBは同じ条件で1%と主張するとします。3日間の観測結果が0, 0, 1であった場合、モデルAでは約10%の確率でこれらの結果が得られたのに対し、モデルBではおよそ0.01%に過ぎません。したがって、モデルBが正しいモデルである可能性は、モデルAに比べてはるかに低いのです。尤度は、意味のある_絶対的_な基準をもってモデルを評価する決定論的視点からは逸脱し、あくまでモデルの_比較_のための手段を提供しますが、数値的には比較以外の用途にはほとんど使えないという側面があります。
生成的敵対的視点は、この問題に対する最も現代的なアプローチです(Ian Goodfellow et al., 2014)。本質的には、この視点は、「最良」の確率的モデルとは、モンテカルロ方式で生成された結果が実際の結果と区別がつかないものであるモデルであると述べています。例えば、ある地域の大型スーパーマーケットにおける歴史的な取引記録を考え、過去の任意の時点でその記録を切り詰め、以降、確率的モデルを用いて偽ながらも現実的な取引を生成したとします。統計解析によって、データセットが「現実」から「偽」へと切り替わる時点が特定できなければ、そのモデルは「完璧」と見なされるでしょう。生成的敵対的アプローチの要旨は、あらゆる確率的モデルの欠陥を浮き彫りにする指標を「学習」することにあります。特定の指標に依存するのではなく、この視点は機械学習技術を再帰的に利用して、指標そのものを「学習」していきます。
確率的予測の品質にアクセスするより良い方法を模索することは、依然として活発な研究分野です。『より良い予測をどのように作るか?』と『予測がより良いかどうかをどのように判断するか?』という二つの問いの間に明確な境界はなく、近年の研究成果によりその境界は大幅に曖昧になっています。次なる突破口は、確率的予測が捉えられる方法自体の更なる変革を伴う可能性が高いでしょう。
極めて小さな確率と対数尤度
多次元の状況を確率的予測の視点から見ると、極めて小さな確率が自然に生じます。これらの小さな確率は、コンピュータが無限の精度で数値を処理できないため、厄介な問題となります。生の確率値は、数値精度の制限により「極めて」小さく、ゼロに丸められてしまうことがよくあります。この問題の解決策は、計算リソースの観点から非常に非効率な任意精度計算ソフトウェアにアップグレードすることではなく、乗算を加算法に変換する「対数トリック」を使用することです。この手法は、確率的予測を扱うほぼすべてのソフトウェアで何らかの形で活用されています。
ここでは、ある店舗で提供される$$n$$種類の異なる製品について、その日の需要を表す確率変数$$X_1, X_2, \ldots, X_n$$が存在すると仮定します。各製品について、日末に観測される実際の需要を$$\hat{x}_1, \hat{x}_2, \ldots, \hat{x}_n$$とします。最初の製品($$X_1$$で表される)について、$$\hat{x}_1$$が観測される確率は$$P(X_1=\hat{x}_1)$$と書かれます。 . さて、わかりやすくするため、多少無理やりですが、すべての製品の需要が完全に独立であると仮定しましょう。$$\hat{x}_1, \hat{x}_2, \ldots, \hat{x}_n$$が同時に観測される確率は、
もし$$P(X_k=\hat{x}_k) \approx \tfrac{1}{2}$$(大雑把な近似)で、かつ$$n=10000$$であれば、上記の同時確率は$$\tfrac{1}{{2^{10000}}} \approx 5 \times 10^{-3011}$$程度となり、非常に小さな値となります。この値は、64ビット浮動小数点数など、科学計算で一般的に使用される数値表現の限界を下回ってしまいます。
「対数トリック」とは、式の対数を用いる方法、すなわち、
対数を取ることで、乗算の連続が加算の連続に変換され、これにより乗算の連続よりもはるかに数値的に安定した計算が可能となります。
確率的予測が関与する場合、常に「対数トリック」が使用されます。_対数尤度_とは、まさに(前述の)尤度の対数であり、生の尤度は一般的な浮動小数点数では数値的に表現不可能であるためです。
確率的予測のアルゴリズム的アプローチ
確率的予測のコンピュータによる生成の問題は、機械学習そのものの分野と同じくらい広大です。これら二つの分野の境界が存在するとしても、それは主に主観的な選択の問題です。それにもかかわらず、このセクションでは、確率的予測を得るために利用できる注目すべきアルゴリズム的アプローチの、選択的なリストを示します。
20世紀初頭、あるいは19世紀後半に、需要の不確実性を正規分布に基づいてモデル化するという考えに基づく安全在庫の概念が登場しました。他の科学分野、特に物理学ではすでに正規分布の事前計算済みの表が確立されていたため、安全在庫の適用は、既存の表から引き出された「安全在庫」係数と需要レベルの乗算を行うだけで済みました。逸話的には、1990年代までに書かれた多くのサプライチェーンの教科書には、付録に正規分布の表が掲載されていました。しかし、このアプローチの主な欠点は、正規分布がサプライチェーンにおいて合理的な前提ではないという点にあります。まず、サプライチェーンに関しては、_何も_が_通常_分布するとは言えません。次に、正規分布は連続分布であり、サプライチェーンイベントの離散的な性質(上記「小さな数の法則」を参照)と矛盾します。したがって、技術的には「安全在庫」には確率的要素があるものの、その根底にある方法論や数値レシピは、決定論的視点に基づいています。本書では、明確化のためにこのアプローチを列挙しています。
2000年代初頭に話を進めると、アンサンブル学習法 ― その代表例としてはおそらくランダムフォレストや勾配ブースティングツリーが挙げられる ― は、その決定論的な起源から確率論的な視点へと拡張するのが比較的容易になりました。アンサンブル学習の基本的な考え方は、決定木などの弱い決定論的予測器を多数組み合わせ、より優れた決定論的予測器を作ることにあります。しかし、混合のプロセスを調整して単一の集約値ではなく確率を得ることが可能であり、結果としてアンサンブル学習法は確率論的な 予測方法 へと転換されます。これらの手法はノンパラメトリックであり、サプライチェーンで一般的に見られる裾の重い分布や多峰性分布に適合する能力を持っています。これらの手法には2つの顕著な欠点があります。まず、構造上、このクラスのモデルが生成する確率密度関数は多くのゼロを含む傾向があり、そのため対数尤度指標を活用する試みが妨げられます。より一般的には、これらのモデルはベイズ的視点に合致せず、新たな観測がしばしば「不可能」(すなわちゼロ確率)と宣言されるためです。しかし、この問題は正則化手法によって解決可能です1。第二に、モデルは入力データセットのかなりの部分と同等の大きさになる傾向があり、「予測」操作は「学習」操作とほぼ同程度の計算コストを要します。
2010年代に爆発的に台頭した「ディープラーニング」と総称されるハイパーパラメトリック手法は、ほぼ 偶然にも 確率論的な性質を持っていました。実際、ディープラーニングが真価を発揮するタスク(例えば画像分類など)では決定論的予測にのみ焦点が当てられる一方で、上記で述べた対数尤度の変種であるクロスエントロピー指標は非常に急峻な勾配を示し、確率的勾配降下法(SGD)に非常によく適合することが判明しました。したがって、ディープラーニングモデルが確率論的に設計されるのは、確率そのものに関心があったからではなく、損失関数が確率論的予測を反映することで勾配降下が速く収束するためです。このように、ディープラーニングに関しては、他の多くのユースケースが確率分布を平均、中央値または最頻値に単純に集約するのに対し、サプライチェーンはディープラーニングモデルの実際の確率論的出力に関心を示しているのが特徴です。Mixture Density Networksは、複雑な確率分布の学習を目指したディープラーニングネットワークの一種です。その結果はパラメトリックな分布であり、おそらくガウス分布の組み合わせで構成されます。しかし、セーフティストックとは異なり、複数のガウス分布の混合は実際にはサプライチェーンで観察される裾の重い挙動を反映する可能性があります。ディープラーニング手法は最先端とみなされることが多いものの、特に密度混合が関与する場合に数値的安定性を達成することは、いまだに「暗黒の技術」ともいえる側面があります。
微分可能プログラミングは、2010年代後半に人気を博したディープラーニングの子孫です。技術的な属性の多くをディープラーニングと共有していますが、焦点は大きく異なります。ディープラーニングが多数の単純な関数(例:畳み込み層)を積み重ねることで任意の複雑な関数(例:囲碁のプレイなど)を学習することに注力するのに対し、微分可能プログラミングは学習プロセスの細部構造に焦点を当てています。最も細かく、表現力豊かな構造は、文字通りプログラムとして形式化でき、そこには分岐、ループ、関数呼び出しなどが含まれます。微分可能プログラミングは、問題が高度に構造化された形で現れ、その構造が専門家に知られているため2、サプライチェーン分野で非常に注目されています。例えば、あるシャツの販売は別の色のシャツによって食い合わされることはあっても、サイズが3違うシャツの販売によっては食い合わされません。このような構造的事前知識は高いデータ効率を実現する鍵となります。実際、サプライチェーンの観点ではデータ量が非常に限られている(小さい数の法則を参照)ため、問題を構造的に「枠組み化」することで、限られたデータ下でも望ましい統計パターンが学習されることが保証されます。さらに、構造的事前知識は数値的安定性の問題にも対処するのに役立ちます。一方、アンサンブル手法と比較すると、構造的事前知識は特徴量エンジニアリングに比べて手間がかからず、モデルの保守も簡素化されるのです。ただし、微分可能プログラミングは今日に至るまでまだかなり新しいアプローチと言えます。
モンテカルロの視点(1930年代~1940年代)は、確率論的予測に別の角度からアプローチするために利用できます。これまでに議論されたモデルは明示的な確率密度関数(PDF)を提供しています。しかし、モンテカルロの視点からは、モデルは生成器、すなわちサンプラーに置き換えられ、可能な結果(時に「偏差」とも呼ばれる)をランダムに生成します。生成器の結果を平均することでPDFが再構築されますが、計算資源の要求を削減するためにPDF自体を省略することもよくあります。実際、生成器はそれが表現するPDFに比べ、データ面で非常にコンパクトになるよう設計されることが多いのです。確率論的予測に直接取り組むために挙げた多くの機械学習手法は、生成器の学習に寄与することができます。生成器は、低次元のパラメトリックモデル(例:状態空間モデル)やハイパーパラメトリックモデル(例:ディープラーニングにおけるLSTMやGRUモデル)の形を取ることができます。アンサンブル手法は、その「予測」操作にかかる計算コストが高いため、生成プロセスを支援するために用いられることはほとんどありません。
確率論的予測の取り扱い
確率論的予測から有用な洞察や意思決定を導き出すには、専用の数値ツールが必要です。決定論的予測では数値そのものが示されるのに対し、確率論的予測は明示的な確率密度関数またはモンテカルロ生成器として表現されます。実際、確率論的ツールの品質は、確率論的予測自体の品質と同じくらい重要です。このツールがなければ、確率論的予測の活用は決定論的プロセスに陥ってしまいます(詳細は下記の「アンチパターン」セクションを参照)。
例えば、ツールは以下のようなタスクを実行できなければなりません:
- 不確実な生産リードタイムと不確実な輸送リードタイムを組み合わせ、「全体の」不確実なリードタイムを算出する。
- 不確実な需要と不確実なリードタイムを組み合わせ、発注予定の在庫でカバーすべき「全体の」不確実な需要を算出する。
- 不確実な注文返品(eコマース)と、輸送中のサプライヤー注文の不確実な到着日を組み合わせ、不確実な顧客リードタイムを算出する。
- 統計的手法で作成された需要予測に、パンデミックのように履歴データに反映されない高次の文脈から手動で導出されたテールリスクを補完する。
- 不確実な需要と、賞味期限に関する在庫の不確実な状態(食品小売)を組み合わせ、日終了時の不確実な在庫残量を算出する。
- …
すべての確率論的予測 ― 需要予測に限らず ― が適切に組み合わされれば、サプライチェーンの意思決定の最適化が行われるべきです。これは、制約条件およびスコア関数に対して確率論的な視点を取り入れることを意味します。しかし、このツールに関する詳細は本書の範囲外です。
確率論的予測に取り組むためのツールは大きく2種類に分けられます。1つは確率変数に関する代数であり、もう1つは確率プログラミングです。これらの2つの手法は、それぞれ利点と欠点が異なるため、相互に補完し合います。
確率変数の代数は通常、明示的な確率密度関数を対象とします。この代数は、加算、減算、乗算などの通常の算術演算を、確率論的な対応物に置き換えて扱い、しばしば確率変数を統計的に独立であると仮定します。この代数は、単なる数値で表される決定論的手法に匹敵する数値的安定性を提供します。さらに、すべての中間結果を後で利用するために保持できるため、データ抽出パイプラインの整理やトラブルシューティングに非常に役立ちます。一方で、これらの代数の表現力は限定的であり、確率変数間に存在する微妙な条件付き依存関係すべてを表現することは通常不可能です。
確率プログラミングは、モンテカルロの視点を問題に適用します。論理は一度記述され、通常は完全に決定論的な視点に基づいていますが、目的の統計を収集するためにツール(すなわちモンテカルロプロセス)を通じて何度も実行されます。最大限の表現力は「プログラム的」な構造によって達成され、確率変数間の任意かつ複雑な依存関係をモデル化することが可能です。確率プログラミングによる論理の記述は、単なる数値のみを扱うため、確率変数の代数と比べるとやや容易である傾向にあります。一方で、数値的安定性(反復回数が増えるほど精度が向上する)と計算資源(反復回数の増加はコストの増大を招く)との間には常にトレードオフがあります。さらに、中間結果は計算資源への負担を軽減するため、一時的なものとしてしか存在しないため、容易にアクセスすることはできません。
近年のディープラーニングの研究は、上述の2つの手法以外にもさらなるアプローチが存在することを示唆しています。例えば、変分オートエンコーダーは、潜在空間 上での操作を行う視点を提供し、データに対して非常に複雑な変換を追求しながらも印象的な成果を上げています(例:写真のポートレートから自動的に眼鏡を除去する)。これらの手法は概念的には非常に興味深いものの、サプライチェーン問題に取り組む上では現時点であまり実用的な関連性を示していません。
確率論的予測の可視化
離散的な確率分布を可視化する最も簡単な方法はヒストグラムであり、縦軸は確率、横軸は対象となる確率変数の値を示します。例えば、リードタイムの確率論的予測は次のように表示できます:
特定の期間にわたって合計された将来の需要もまたヒストグラムで表現することができます。より一般的には、ヒストグラムは相対整数の集合である $${ℤ}$$ 上のすべての一次元確率変数に適しています。
等間隔の時系列、すなわち等しい長さの離散的な時間期間にわたって変動する量の確率論的同等物の可視化は、既に非常に困難です。実際、一次元の確率変数とは異なり、そのような分布の標準的な可視化方法は存在しません。期間が互いに独立であると仮定できないことに注意してください。したがって、各期間ごとに1つずつヒストグラムを並べて「確率論的」時系列を表現することは可能ですが、この表現はサプライチェーンにおける事象の展開の仕方を著しく誤って伝えることになります。
例えば、新たに発売された製品が好調に推移し、高い売上高(ヒット)を記録する可能性はそれほど低くはありません。同様に、同じ新製品が失敗して低い売上高(ミス)に終わる可能性もそれほど低くはありません。しかし、ヒットとミスの間で日々大幅な変動が生じることは極めて考えにくいです。
サプライチェーン文献で一般的に見られる予測区間は、やや誤解を招く恐れがあります。これらは実際のサプライチェーン状況を代表しない、不確実性の低い状況を強調しがちです;
これらの予測区間が、特定の分位点しきい値を示すための配色スキームと並べられた確率分布そのものであることに注目してください。
より良い表現、すなわち期間間の強い依存性を壊さない表現は、時間経過による累積値を参照し、それらの分位点を取り、さらに微分して各期間の増分を再現する方法です(本記事冒頭の確率論的予測の最初の図を参照)。可視化自体は同じですが、その根底にある意味は異なります。ここではシナリオごとの分位数を見て、非常に好ましい(または好ましくない)シナリオを示しています。
確率論的予測のアンチパターン
確率論的予測は、多くの人々が未来を「直感的に」考える方法に挑戦します。このセクションでは、確率論的予測に関して最も誤解されがちな側面のいくつかを取り上げます。
『予測不可能』な出来事というものは存在しない
決定論的な視点からは、宝くじの結果を予測することは不可能とされ、その理由は当たる確率が「100万分の1」であるからです。しかし、確率論的な視点からは、この問題は取るに足らないものです。すべてのチケットは「100万分の1」の勝率を持っています。結果の非常に高い分散は、現象そのものの「未知性」と混同されるべきではなく、宝くじの場合のように完全に理解可能です。確率論的予測は、分散を排除するのではなく、数量化し構造化することに関するものです。
『正規』分布というものは存在しない
正規分布(ガウス分布とも呼ばれる)は、サプライチェーンや物理学の教科書に遍在している。しかし、人間の事柄に関しては、ほとんど「通常分布」しているとは言えない。正規分布は、その設計上、平均から大きく逸脱する値を極めて稀なものとし、モデル上はありえない(すなわち十億分の一未満の確率)と見なされる。需要、リードタイム、返品などは、明確に正規分布していないパターンである。正規分布の唯一の利点は、学生向けの教科書問題として扱いやすく、明示的な解析解が得られる点にある。
確率のチェリーピッキング
確率分布に直面すると、その分布の一部分、例えば平均値や中央値を取り出して、それを基準に進めたくなる。しかし、このプロセスは、予測が本来持つ確率的側面の本質に反する。どの点を選んだとしても、それによって得られるのは莫大な情報の損失であるため、確率を単一の点推定に集約すべきではない。したがって、多少不都合ではあっても、確率は可能な限りそのまま保持されるべきである。なお、その集約の時点は、通常、将来の不確実性に直面しながらもリターンを最大化する最終的なサプライチェーンの意思決定時である。
統計的外れ値の除去
ほとんどの古典的な数値手法は—予測の決定論的観点に堅牢に基づいている(例:移動平均法)—統計的外れ値に遭遇すると著しく誤作動する。そのため、多くの企業は、過去のデータからこれらの外れ値を手動で「クリーン」するプロセスを確立している。しかし、このようなクレンジングプロセスの必要性は、むしろそれらの数値手法の欠点を浮き彫りにするに過ぎない。逆に、統計的外れ値は、分布のテール部で何が起こっているかをより正確に把握するための、確率的予測において不可欠な要素である。言い換えれば、これらの外れ値こそが、さらなる外れ値の発生確率を定量化する鍵となる。
銃撃戦に剣を持ち込む
確率分布を操作するには、専門のツールが必要である。確率的予測の作成は、企業に実際の価値を届けるための多くのステップの一つに過ぎない。適切なツールが欠如しているため、多くのサプライチェーン実務者は確率的予測を軽視してしまう。多くの企業向けソフトウェアベンダーもこの流れに乗り、「確率的予測」(「AI」や「ブロックチェーン」と併せて)をサポートしていると主張しているが、実際には数種類の確率モデルを化粧的に実装する程度にとどまっている(前述のセクション参照)。それらの数値結果を十分に活用するための大規模なツールがなければ、確率的予測モデルを提示してもほとんど意味がない。