00:01 イントロダクション
01:56 M5の不確実性の課題 - データ(1/3)
04:52 M5の不確実性の課題 - ルール(2/3)
08:30 M5の不確実性の課題 - 結果(3/3)
11:59 これまでのストーリー
14:56 これから起こること(おそらく)
15:43 ピンボール損失 - 基礎(1/3)
20:45 負の二項分布 - 基礎(2/3)
24:04 イノベーションスペースステートモデル(ISSM) - 基礎(3/3)
31:36 販売構造 - REMTモデル(1/3)
37:02 それをまとめる - REMTモデル(2/3)
39:10 集計レベル - REMTモデル(3/3)
43:11 単一ステージ学習 - 議論(1/4)
45:37 パターン完全 - 議論(2/4)
49:05 欠落したパターン - 議論(3/4)
53:20 M5の限界 - 議論(4/4)
56:46 結論
59:27 今後の講義と視聴者の質問

説明

2020年、LokadのチームはM5という世界的な予測コンペティションで909の競合チームの中でNo5を達成しました。しかし、SKUの集計レベルでは、その予測はNo1になりました。需要予測はサプライチェーンにとって非常に重要です。このコンペティションで採用されたアプローチは非典型的であり、他のトップ50の競合者が採用した他の手法とは異なります。サプライチェーンのさらなる予測課題に取り組む前に、この成果から多くの教訓を学ぶことができます。

フルトランスクリプト

スライド1

このシリーズのサプライチェーン講義へようこそ。私はジョアネス・ヴェルモレルです。今日は「M5予測コンペティションのSKUレベルでのNo1」を紹介します。正確な需要予測は、サプライチェーンの最適化の柱の1つとされています。実際、すべてのサプライチェーンの意思決定は将来のある程度の予測に基づいています。将来について優れた洞察を得ることができれば、サプライチェーンの目的に対して定量的に優れた意思決定を導くことができます。したがって、最先端の予測精度を提供するモデルを特定することは、サプライチェーンの最適化の目的にとって非常に重要で興味深いものです。

今日は、ウォルマートが提供したデータセットを基にした、世界的な予測コンペティションでSKUレベルでNo1にランクインしたシンプルな販売予測モデルを紹介します。この講義の目標は2つあります。第一の目標は、最先端の販売予測の精度を達成するために必要な要素を理解することです。この理解は、後の予測モデリングの取り組みにおいて基礎的な興味を持つものです。第二の目標は、サプライチェーンの予測モデリングにおいて正しい視点を持つことです。この視点は、サプライチェーンの予測モデリングのこの領域での後続の進展を導くためにも使用されます。

Slide 2

M5は2020年に行われた予測コンペティションです。このコンペティションは予測の分野で有名な研究者であるスピロス・マクリダキスにちなんで名付けられました。これはこのコンペティションの第5回目です。これらのコンペティションは数年ごとに開催され、使用されるデータセットの種類に応じて焦点が異なる傾向があります。M5はサプライチェーンに関連する課題であり、使用されるデータセットはウォルマートが提供した小売店のデータです。まだ行われていないM6チャレンジは、金融予測に焦点を当てる予定です。

M5に使用されたデータセットは公開データセットであり、現在も公開されています。これはウォルマートの小売店のデータを日次で集計したものです。このデータセットには約30,000のSKUが含まれており、小売業においてはかなり小規模なデータセットです。実際、一般的な基準として、単一のスーパーマーケットは通常約20,000のSKUを保持しており、ウォルマートは10,000以上の店舗を運営しています。したがって、全体として、このデータセットであるM5データセットは、サプライチェーンの観点から関連性のある世界規模のウォルマートデータセットの0.1%未満でした。

さらに、以下で見るように、M5データセットには欠落しているデータのクラスがありました。その結果、私のおおよその推定では、このデータセットは実際にはウォルマートの規模において必要なものの0.01%に近いと考えられます。それにもかかわらず、このデータセットは実世界の状況で予測モデルの非常に堅実なベンチマークを行うのに十分な量です。実世界の状況では、スケーラビリティの問題に注意を払う必要があります。ただし、予測コンペティションでは、効率の悪いメソッドでも使用できるようにデータセットを十分に小さくすることが公平です。また、これに投入できる計算リソースの量に制限されることはありません。

Slide 3

M5コンペティションには、AccuracyとUncertaintyという2つの異なるチャレンジが含まれていました。ルールはシンプルでした:参加者はアクセスできる公開データセットがあり、これらのチャレンジのいずれかまたは両方に参加するために、各参加者は自分自身のデータセットを作成し、それをKaggleプラットフォームに提出する必要がありました。Accuracyチャレンジは、平均的な時系列予測を提供することに関するものであり、これは最も古典的な形式の予測です。この特定の状況では、約40,000の時系列の日次平均予測を提供することでした。Uncertaintyチャレンジは、分位数予測を提供することに関するものでした。分位数予測はバイアスを持つ予測ですが、そのバイアスは意図的です。これが分位数を持つ理由です。この講義では、Uncertaintyチャレンジにのみ焦点を当てています。サプライチェーンでは、予想外に高い需要がストックアウトを引き起こし、予想外に低い需要が在庫の廃棄を引き起こします。サプライチェーンにおけるコストは極端な状況に集中しています。私たちの関心は平均値ではありません。

実際には、ウォルマートの状況において平均値がどのような意味を持つかを見てみると、ほとんどの製品について、ほとんどの店舗で、ほとんどの日において観測される平均販売数はゼロです。したがって、ほとんどの製品は分数の平均予測を持っています。サプライチェーンに関しては、このような平均予測は非常に魅力的ではありません。ゼロを保管するか1ユニットを補充するかの選択肢がある場合、平均予測はほとんど関係ありません。小売業はここで特別な立場にはありません。FMCG、航空、製造業、高級品など、ほぼすべての他の業界でもほぼ同じ状況です。

M5の不確実性の課題に戻ると、50%、67%、95%、99%の4つの分位数を生成する必要がありました。これらの分位数のターゲットは、サービスレベルの目標と考えることができます。これらの分位数の予測の正確さは、ピンボール 損失関数として知られるメトリックに対してスコアリングされました。このエラーメトリックについては、後の講義で詳しく説明します。

スライド4

この不確実性の課題には、世界中で909のチームが参加しました。Lokadのチームは総合で5位にランクインしましたが、SKUレベルでは1位でした。実際、SKUはこの課題の時系列の約3/4を占めていましたが、アメリカ合衆国の州(テキサス、カリフォルニアなど)からSKUまで、さまざまな集計レベルがあり、すべての集計レベルがこの競技の最終スコアで等しく重み付けされました。したがって、SKUは時系列の約3/4を占めていましたが、競技の最終スコアの総重量の約8%に過ぎませんでした。

Lokadのチームが使用した方法は、「ウォルマートの販売の不確実性分布を推定するためのホワイトボックスISSMアプローチ」というタイトルの論文で公開されました。この講義が終了した後、このビデオの説明にこの論文へのリンクを掲載します。詳細はすべてそこで見つけることができます。明確さと簡潔さのために、この論文で紹介されたモデルをBRAMPTモデルと呼ぶことにします。これは、4人の共著者のイニシャルにちなんで名付けられています。

画面には、M5から得られた上位5つの結果がリストされています。これは、この予測競技の結果に関する一般的な洞察を提供する論文から得られたものです。ランクの詳細は選択したメトリックにかなり依存しています。これは非常に驚くべきことではありません。不確実性の課題では、ピンボール損失関数のスケーリングされたバリエーションが使用されました。このエラーメトリックについては、後で説明します。M5の不確実性の課題は、私たちが持っている予測方法では不確実性を完全に排除する手段を持っていないことを示しましたが、これはまったく驚くべき結果ではありません。小売店の販売は不規則で断続的である傾向があるため、不確実性を完全に無視するのではなく、不確実性を受け入れることの重要性を強調しています。ただし、興味深いことに、サプライチェーンのソフトウェアベンダーは、この予測競技の上位50位には一つもランクインしていませんでした。これは、これらのベンダーが自社の最先端の予測技術を誇っているということを考えると、さらに興味深いです。

スライド5

この講義は、サプライチェーンの一連の講義の一部です。この講義は、このシリーズの第5章となる最初の講義です。この第5章では、予測モデリングについて取り上げます。実際、定量的な洞察を収集することは、サプライチェーンを最適化するために必要です。サプライチェーンの意思決定が行われる際には、材料の購入、特定の製品の製造、在庫の移動、販売するものの価格の増減など、将来の需要に対するある種の予測が付随しています。ほんのわずかながら、すべてのサプライチェーンの意思決定には将来に対する期待が組み込まれています。この期待は暗黙的で隠れている場合もあります。ただし、将来に対する期待の品質を向上させるためには、この期待を具体化する必要があります。通常、これは時系列予測を通じて行われますが、必ずしも時系列予測である必要はありません。

第5章のタイトルは「予測モデリング」ではなく、「予測」です。2つの理由からです。まず、予測はほとんど常に時系列予測と関連付けられています。しかし、この章で見ていくように、時系列予測の視点に適合しないサプライチェーンの状況が多数存在します。したがって、予測モデリングはより中立的な用語です。第二に、真の洞察を持つのはモデルではなく、モデリングです。私たちはモデリング技術を探しており、これらの技術を通じて、現実のサプライチェーンで遭遇するさまざまな状況に対処できることを期待しています。

この講義は、予測モデリングが予測に関する甘い考えではなく、最先端の予測技術として認識されることを確立するためのプロローグとして機能します。これは、この章を進めるにつれて徐々に明らかになる他のすべての利点に加えています。

Slide 6

この講義の残りの部分は3つのパートに分けて構成されます。まず、BRAMPTモデルの構成要素である数学的な要素のシリーズを見直します。次に、これらの要素を組み立てて、M5コンペティションと同様にBRAMPTモデルを構築します。最後に、BRAMPTモデルを改善するために何ができるか、およびM5コンペティションで提示された予測の課題自体を改善するために何ができるかについて議論します。

Slide 7

M5の不確実性の課題は、将来の販売の分位数推定を求めます。分位数は1次元分布の点であり、定義によれば、90パーセントの分位数はこの数量値を下回る確率が90パーセントであり、上回る確率が10パーセントです。中央値は、定義によれば、50パーセントの分位数です。

ピンボール損失関数は、分位数に対して深い親和性を持つ関数です。基本的に、0から1までの任意のtau値に対して、tauはサプライチェーンの観点からはサービスレベルの目標と解釈できます。任意のtau値に対して、tauに関連付けられた分位数は、ピンボール損失関数を最小化する確率分布内の値です。画面上には、サプライチェーンの最適化を目的としたLokadのドメイン固有のプログラミング言語であるEnvisionで書かれたピンボール損失関数の直感的な実装が表示されています。構文はPythonにかなり似ており、観客には比較的透明であるはずです。

このコードを展開しようとすると、実際の値であるy、推定値であるy-hat、および分位数の目標であるtauがあります。再度、分位数の目標は、サプライチェーン用語では基本的にサービスレベルの目標です。予測不足はtauと等しい重みであり、予測超過は1からtauと等しい重みであります。ピンボール損失関数は絶対誤差の一般化です。tauが0.5の場合、ピンボール損失関数は絶対誤差と同じです。絶対誤差を最小化する推定値があれば、中央値の推定値を得ることができます。

画面には、ピンボール損失関数のプロットが表示されています。この損失関数は非対称であり、非対称な損失関数を通じて、平均または中央値の予測ではなく、制御されたバイアスを持つ予測を得ることができます。これは、分位数の推定値に必要なものです。ピンボール損失関数の美しいところは、その単純さです。ピンボール損失関数を最小化する推定値があれば、構築上、分位数の予測値を得ることができます。したがって、パラメータを持つモデルがあり、パラメータの最適化をピンボール損失関数の視点から制御する場合、モデルから得られるものは本質的に分位数予測モデルです。

M5 Uncertaintyチャレンジでは、50、67、95、99の4つの分位数ターゲットが提示されました。私は通常、このような一連の分位数ターゲットを分位数グリッドと呼んでいます。分位数グリッドまたは量子化されたグリッド予測は、確率的な予測ではありません。近いですが、まだそこにはありません。分位数グリッドでは、まだターゲットを選りすぐっています。たとえば、95パーセントの分位数予測を作成したいと言った場合、なぜ95なのか、94または96ではないのかという問題が生じます。この問題には答えがありません。この章の後でこれについて詳しく見ていきますが、この講義では見送ります。確率的な予測の主な利点は、分位数グリッドの選りすぐりの側面を完全に排除できることです。

Slide 8

多くの人々はおそらく正規分布についてよく知っています。正規分布は、自然現象で非常に頻繁に発生するガウス型のベル曲線です。カウント分布は、すべての整数にわたる確率の分布です。正規分布のような連続的な実数分布は、すべての実数に対して確率を与えますが、カウント分布は非負の整数にのみ関心を持ちます。カウント分布には多くのクラスがありますが、今日はREMモデルで使用される負の二項分布に興味があります。

負の二項分布には、正規分布と同様に2つのパラメータがあります。これらのパラメータは、分布の平均と分散を効果的に制御します。負の二項分布の平均と分散を選ぶと、確率分布の大部分がゼロから遠くにあるような振る舞いが得られます。これにより、すべての確率値を最も近い整数に収束させると、負の二項分布の振る舞いは漸近的に正規分布の振る舞いに収束します。ただし、平均が小さい場合、特に分散と比較して小さい場合、負の二項分布は正規分布と比較して振る舞いが大幅に異なることがわかります。特に、平均が小さい負の二項分布では、正規分布はどのような平均と分散を選んでも完全に対称のままですが、これらの分布は非常に非対称になります。

画面には、Envisionを通じて負の二項分布がプロットされています。このプロットを生成するために使用されたコードは、以下に表示されています。この関数は2つの引数を取ります。この分布には2つのパラメータがあるため、結果はヒストグラムとして表示されるだけのランダム変数です。この講義では、負の二項分布の詳細には触れません。これは直感的な確率論です。モード、中央値、累積分布関数、歪度、尖度などの明示的な閉形式の解析的な式があります。Wikipediaのページには、これらの式のかなりまとまった要約がありますので、興味がある方は参照してみてください。

Slide 9

イノベーションスペースステートモデル、またはISSMに移りましょう。イノベーションスペースステートモデルは、非常にシンプルなことを行うための長く印象的な名前です。実際、ISSMは時系列をランダムウォークに変換するモデルです。ISSMを使用すると、平均値が設定された平坦なバニラの時系列予測を確率的な予測に変換できます。ここでは、単に分位数予測ではなく、直接的な確率的予測が可能です。画面には、再びEnvisionで書かれた完全なISSMの実装が表示されています。わかるように、コードはわずか数行であり、実際にはそのほとんどが何もしていません。ISSMは文字通り非常にシンプルであり、このコードをPythonなどの他の言語に再実装するのも非常に簡単です。

それでは、そのコードの詳細を詳しく見てみましょう。1行目では、ランダムウォークが発生する期間の範囲を指定しています。M5の観点からは、28日間のランダムウォークが必要なので、28のポイント、つまり1日ごとに1つの値があります。3行目、4行目、5行目では、ランダムウォーク自体を制御する一連のパラメータを導入しています。最初のパラメータは分散であり、ISSMプロセス内で発生する負の二項分布の形状を制御するための引数として使用されます。次に、ISSM内でも発生する指数平滑化プロセスを制御する要素であるアルファがあります。5行目では、ランダムウォークの初期状態であるレベルがあります。最後に、6行目では、通常は予測モデルに埋め込みたいすべてのカレンダーパターンを捉えるために使用される一連の要素があります。

さて、3行目から6行目の値は、単にモックの初期化値です。簡潔さのために、これらの値が実際にどのように最適化されるかについては後ほど説明しますが、ここでは表示されている初期化はすべてモックの値です。ベースラインのためにランダムな値さえ描いています。このモデルを使用する場合、これらの値を適切に初期化する必要がある方法については、後ほどこの講義で説明します。

では、ISSMプロセスの核心部分を見てみましょう。核心部分は8行目から始まり、1000回の繰り返しのループで始まります。ISSMプロセスはランダムウォークを生成するプロセスだと言いましたので、ここでは1000回の繰り返し、つまり1000回のランダムウォークを行っています。もっと多くの場合も、もっと少ない場合もあります。これはシンプルなモンテカルロプロセスです。そして、9行目では、2番目のループを行っています。これは、興味のある期間に1日ずつ移動する内側のループです。つまり、外側のループはランダムウォークごとの1回の繰り返しであり、内側のループはランダムウォーク自体内で1日から次の日に移動する1回の繰り返しです。

10行目では、レベルを保持しています。レベルを保持するために、このパラメータは内側のループ内で変異するとだけ述べています。つまり、レベルは1日から次の日に移動する際に変化するものですが、モンテカルロループを通じて次のランダムウォークに移る際には、このレベルは初期値にリセットされることになります。11行目では、平均値を計算しています。平均値は、負の二項分布を制御するために使用する2番目のパラメータです。したがって、平均値と分散、そして負の二項分布があります。12行目では、正規二項分布に従って偏差を描画しています。偏差を描画するとは、このカウント分布から抽出されたランダムなサンプルを取ることを意味します。そして、13行目では、見た偏差に基づいてこのレベルを更新し、更新プロセスは非常にシンプルな指数平滑化プロセスであり、アルファパラメータによってガイドされています。アルファを非常に大きく、1にすると、最後の観測値にすべての重みを置くことを意味します。逆に、アルファを0にすると、ドリフトがゼロになり、ベースラインで定義された元の時系列に忠実になります。

ちなみに、Envisionでは、".baseline"と書かれている場合、ここで見るのはテーブルです。つまり、NDM5を持つテーブルで、28の値を持ち、ベースラインはこのテーブルに属するベクトルです。15行目では、すべての偏差を収集し、“someday.q"を通じてそれらを合計しています。それらを"total"という変数に送りますので、1つのランダムウォーク内では、すべての日ごとに収集された偏差の合計が得られます。したがって、28日間の売上の合計が得られます。最後に、16行目では、それらのサンプルを"render"に収集しています。“render"は、Envisionの特定のオブジェクトであり、相対的な整数の確率分布です(正および負の値を含む)。

要約すると、ISSMは1次元のランダムウォークのランダムジェネレータとして機能します。販売予測の文脈では、これらのランダムウォークを販売自体の可能な将来の観測値と考えることができます。平均値や中央値として予測を考えるのではなく、予測を文字通り将来の1つの可能なインスタンスとして考えることが興味深いです。

Slide 10

この時点で、REMTモデルを組み立てるために必要なすべてを集めましたので、これから行います。

REMTモデルは、Holt-Winters予測モデルを思い起こさせる乗算構造を採用しています。毎日には、5つのカレンダーエフェクトの積であるベースラインが与えられます。具体的には、年の月、週の日、月の日、クリスマス、ハロウィンのエフェクトです。このロジックは、簡潔なEnvisionスクリプトとして実装されています。

Envisionには、テーブル間のブロードキャスト関係を提供する関係代数があり、この状況に非常に便利です。1つのカレンダーパターンごとに構築された5つのテーブルは、グループ化テーブルとして構築されます。したがって、日付テーブルがあり、日付テーブルには「日付」という主キーがあります。新しいテーブルを宣言し、“by"集約を持つと書くと、日付を持つテーブルが直接ブロードキャスト関係を持つテーブルを構築していることになります。

特に4行目の曜日テーブルを見ると、ちょうど7行のテーブルを構築しています。テーブルの各行は、曜日テーブルの1行に関連付けられ、日付側の受信側の各行は、この曜日テーブルに一致する行が1行だけあることになります。

9行目のベクトル「de.dot.baseline」では、代入の右側の5つの要素の単純な乗算として計算されます。これらの要素はすべて日付テーブルにブロードキャストされ、日付テーブルの各行に対して単純な行ごとの乗算を行います。

さて、モデルには数十のパラメータがあります。これらのパラメータを数えることができます。年の月には12個のパラメータがあります(1から12まで);曜日には7つのパラメータがあります;そして、月の日には31個のパラメータがあります。ただし、NDM5の場合、すべてのSKUのすべての値に対して1つのパラメータ値を学習するわけではありません。なぜなら、ウォルマートのデータセットを非常に過学習させる可能性があるためです。代わりに、NDM5では、パラメータ共有というトリックを利用しています。

パラメータ共有とは、すべてのSKUごとに異なるパラメータを学習するのではなく、サブグループを設定し、そのサブグループレベルでこれらのパラメータを学習することを意味します。その後、これらのグループ内で同じ値を使用してこれらのパラメータを使用します。パラメータ共有は、ディープラーニングで広く使用されている非常に古典的な技術です。M5では、年の月と曜日は店舗部門の集計レベルで学習されました。M5のさまざまな集計レベルについては、後ほど説明します。日付の値は、実際には州レベルで設定されたハードコードされた要素であり、州とはカリフォルニア、テキサスなどのアメリカ合衆国を指します。M5では、これらのカレンダーパラメータは、関連する範囲全体の直接の平均として学習されました。これらのパラメータを設定する非常に直接的な方法です。同じ範囲に属するすべてのSKUを取り、すべてを平均化し、正規化して、パラメータを取得します。

スライド11

さて、この時点で、REMTモデルを組み立てるために必要なすべてを集めました。カレンダーパターンを組み込んだデイリーベースラインの構築方法を見てきました。カレンダーパターンは、ある範囲の直接平均を通じて学習されました。ISSMは時系列をランダムウォークに変換します。残るは、ISSMパラメータ(つまり、SSM内で行われる指数平滑化プロセスに使用されるパラメータであるアルファ)、負の二項分布を制御するために使用される分散、およびレベルの初期値を確立することです。レベルの初期値は、ランダムウォークを初期化するために使用されます。

M5の競技中、Lokadチームは残りの3つのパラメータを学習するためにシンプルなグリッドサーチ最適化を活用しました。グリッドサーチとは、それらの値のすべての可能な組み合わせを繰り返し、時間ごとに小さな増分を行うことを意味します。グリッドサーチは、ピンボール損失関数を使用して、これらの3つのパラメータの最適化を誘導するために使用されました。各SKUに対して、グリッドサーチは数学的最適化の中で最も効率の悪い形式の1つです。ただし、3つのパラメータしかなく、1つの時系列ごとに1回の最適化を実行するだけであり、M5データセット自体もかなり小さいため、M5の競技には適していました。

スライド12

これまでに、REMTモデルがSKUレベルでどのように動作するかを説明しました。しかし、M5では12の異なる集計レベルがありました。最も詳細なレベルであるSKUレベルが最も重要でした。SKU、または在庫管理単位、は文字通り1つの場所の1つの製品です。同じ製品を10か所に持っている場合、10のSKUがあります。SKUはサプライチェーンにおける最も関連性のある集計レベルであると言えますが、在庫に関連するほとんどの意思決定(例:補充やアソートメント)はSKUレベルで行われます。M5は主に予測の競技であり、そのため他の集計レベルにも重点が置かれました。

画面上では、M5データセットに存在した集計レベルが要約されています。カリフォルニアやテキサスなどの州が表示されています。より高い集計レベルに対処するために、Lokadチームは2つの技術を使用しました。まず、ランダムウォークを合計する方法です。つまり、より低い集計レベルでランダムウォークを行い、それらを合計してより高い集計レベルでランダムウォークを実現します。次に、学習プロセスを完全に再開し、直接高い集計レベルに移行する方法です。M5の不確実性チャレンジでは、REMTモデルはSKUレベルで最も優れていましたが、他の集計レベルでは最も優れていませんでしたが、全体的には良いパフォーマンスを発揮しました。

REMTモデルがすべてのレベルで最も優れていなかった理由について、私自身の仮説は次のとおりです(これは仮説であり、実際にはテストしていません):負の二項分布は、2つのパラメータを介して2つの自由度を提供します。SKUレベルのような比較的疎なデータを見ると、2つの自由度は適切なバランスを保ち、過適合と適合不足の間の適切なバランスを取ります。しかし、より高い集計レベルに移行すると、データはより密で豊かになるため、トレードオフはより正確に分布の形状を捉えるために適したものにシフトする可能性があります。これを実現するには、いくつかの追加の自由度が必要です。おそらく、1つまたは2つの追加のパラメータが必要です。

REMTモデルのコアで使用されるカウント分布のパラメータの次元を増やすことで、より高い集計レベルにおいて非常に近い、もしくは直接最先端の結果を得るために大いに役立つと私は考えています。ただし、それを行う時間がなかったため、将来的にこのケースを再検討するかもしれません。これにより、M5競技中のLokadチームの取り組みは終了します。

スライド13

異なる方法やより良い方法があったかどうかについて話しましょう。REMTモデルは、低次元のパラメトリックモデルであり、単純な乗算構造を持っていますが、M5でパラメータの値を取得するために使用されたプロセスは、何らかの偶然的な複雑さを持っていました。それは多段階のプロセスであり、各カレンダーパターンには独自の特別な処理があり、REMTモデルを完了するために特別なグリッドサーチが行われました。このプロセス全体は、データサイエンティストにとって非常に時間がかかり、特定のコードの大量のため、本番環境では信頼性が低いと思われます。

特に、私の考えでは、すべてのパラメータの学習プロセスを単一のステージのプロセスとして統一することができるし、少なくとも同じ方法を繰り返し使用するように学習プロセスを統一することができるべきだと思います。現在、Lokadは異なる可能性のあるプログラミングを使用して、まさにそれを行っています。異なる可能性のあるプログラミングは、カレンダーパターンに関して特別な集計の必要性をなくします。また、カレンダーパターンの抽出を正確に順序付ける必要性もなくします。最後に、異なる可能性のあるプログラミングは、最適化プロセスそのものであるため、グリッドサーチをより効率的な最適化ロジックで置き換えます。この章の後の講義で、サプライチェーンの目的で予測モデリングに異なる可能性のあるプログラミングをどのように使用できるかについて、詳しく説明します。

スライド14

さて、M5競技会の最も驚くべき結果の1つは、統計的なパターンが1つも無名にならなかったことです。私たちは文字通り4つのパターンを持っていました:シンプリシティ、ステート、スプレッド、ドリフトで、これらのパターンだけでM5競技会で最先端の予測精度を達成するのに十分でした。

シンプリシティはすべてカレンダーベースであり、どれも驚くほどではありません。ステートは、特定の時点でSKUが達成したレベルを表す単一の数値で表すことができます。スプレッドは、負の二項分布をパラメータ化するために使用される分散を表す単一の数値で表すことができます。ドリフトは、SSM内で発生した指数平滑化プロセスに関連付けられた単一の数値で表すことができます。28日間の予測範囲には弱すぎるため、トレンドを含める必要はありませんでした。

画面に表示されるM5の5年間の総売上を見ると、集計は明らかに控えめな上昇傾向を示しています。それにもかかわらず、REMTモデルはそれなしで動作し、精度にはゼロの影響がありませんでした。REMTモデルのパフォーマンスは、他のパターンを捉えるための他の方法があるのか、私たちは何かパターンを見逃しているのかという疑問を投げかけます。

少なくとも、REMTモデルのパフォーマンスは、勾配ブースティングツリーやディープラーニングなど、この競技会に関与したより洗練されたモデルが、これらの4つのパターンを超えるものを捉えることはなかったことを示しています。実際、これらのモデルのいずれかが何かを実質的に捉えることに成功した場合、SKUレベルでREMTモデルを大幅に上回るはずですが、そうではありませんでした。同様に、ARIMAのようなより洗練された統計的手法についても同じことが言えます。これらのモデルも、この非常にシンプルな乗算パラメトリックモデルが捉えたものを超えるものを捉えることに失敗しました。

オッカムの剃刀の原理は、REMTモデルと同じくらいシンプルなモデル以外のモデルを使用する理由がない限り、パターンが私たちから逃れる非常に良い理由を見つけるか、非常に興味深い特性の非常に良い理由がある限り、私たちは何も使用する理由がないことを示しています。

スライド15

ただし、M5データセットの設計上の理由で、一連のパターンがM5競技会から欠落しています。これらのパターンは重要であり、実際の小売環境ではそれらを無視するモデルはうまく機能しません。私は自分の経験に基づいてこの声明をしています。

まず、製品の発売があります。M5競技会には、少なくとも5年分の販売履歴がある製品のみが含まれていました。これは、サプライチェーンに関しては合理的ではない仮定です。実際には、FMCG製品は通常数年の寿命しか持たず、実際の店舗では常に1年分未満の販売履歴を持つ商品の大部分が存在します。さらに、長いリードタイムを持つ商品を見ると、商品がどの店舗でも一度も販売される前に、多くのサプライチェーンの決定を行わなければなりません。したがって、特定の製品の販売履歴がゼロであっても動作する予測モデルが必要です。

重要な2番目のパターンは在庫切れです。在庫切れは小売業界で発生し、M5競技会のデータセットでは完全に無視されました。しかし、在庫切れは販売を制限します。商品が店舗で在庫切れの場合、その日は販売されません。したがって、在庫切れは私たちが観察する販売に重要なバイアスを導入します。ウォルマートや一般的な商品店の場合、在庫状況を記録する電子レコードは完全に信頼できません。在庫の不正確さが多くあり、これも考慮する必要があります。

3番目に、プロモーションがあります。M5競技会には過去の価格情報が含まれていましたが、予測期間の価格データは提供されませんでした。その結果、この競技会のどの競争者も価格情報を活用して予測精度を向上させることができなかったようです。REMTモデルは価格情報をまったく使用しません。予測期間の価格情報が欠落していたという事実を超えて、プロモーションは単に価格に関するものではありません。商品は店舗で目立つように展示されることでプロモーションされることがあり、これは価格が下がっているかどうかに関係なく需要を大幅に増加させることができます。さらに、プロモーションではカニバリゼーション効果や代替効果も考慮する必要があります。

全体的に、M5データセットはサプライチェーンの観点から見ると、おもちゃのようなデータセットと見なすことができます。サプライチェーンのベンチマークを実施するためにはおそらく最も優れた公開データセットであるにもかかわらず、実際の小売チェーンの生産設定に真に相当するものではありません。

スライド16

ただし、M5競技会の制約はデータセットだけに起因するものではありません。サプライチェーンの観点からは、M5競技会の実施に使用されるルールには根本的な問題があります。

最初の根本的な問題は、販売と需要を混同しないことです。在庫切れの問題で既に触れました。サプライチェーンの観点からは、真の関心は販売ではなく需要を予測することにあります。ただし、問題はさらに深刻です。需要の適切な推定は、基本的には教師なし学習の問題です。店舗の適用可能な商品の任意の選択に関して任意の選択が行われたからといって、製品の需要を推定しないべきではありません。特定の店舗のアソートメントに含まれているかどうかに関係なく、製品の需要を推定する必要があります。

2番目の側面は、分位点予測は確率的予測よりも有用性が低いことです。サービスレベルを選りすぐることは、全体像にギャップを生じさせ、分位点予測はサプライチェーンの使用において比較的弱いです。確率的予測は、完全な確率分布を提供するため、より完全なビジョンを提供します。ただし、確率的予測の唯一の欠点は、予測が生成された後の下流で予測を実際に活用するために、特にツールが必要であることです。ところで、REMTモデルは、モンテカルロプロセスを介して完全な確率分布を生成できるという意味で、確率的予測としても資格を持つものを実際に提供します。モンテカルロイテレーションの数を調整するだけです。

小売業では、顧客は実際にはSKUの視点や特定のSKUで達成できるサービスレベルにはあまり関心を持ちません。ウォルマートのような総合商品店舗では、顧客の認識はバスケットによって決まります。通常、顧客はウォルマートの店舗には単一の製品だけでなく、完全な買い物リストを持って入店します。さらに、店舗にはたくさんの代替品があります。サービスの品質を評価するために単一のSKUメトリックを使用する問題は、顧客が店舗でのサービスの品質として認識するものを完全に見逃してしまうことです。

スライド17

結論として、時系列予測のベンチマークとして、M5コンペティションはデータセットと方法論の面で堅実です。ただし、サプライチェーンに関連する限り、時系列の視点自体は不十分です。時系列はサプライチェーンで見つかるデータを反映しておらず、サプライチェーンで現れる問題を反映していません。M5コンペティションでは、上位ランクには非常に洗練された方法がたくさんありました。ただし、私の見解では、これらのモデルは実際の運用には既に複雑すぎるため、これらのモデルを自社のサプライチェーンのニーズに合わせて調整するために必要な新鮮な視点に成長する余地がありません。

それに対して、出発点として、REMTモデルは最高のものです。それは非常にシンプルな要素の組み合わせであり、それ自体は非常にシンプルです。さらに、M5コンペティションのために組み合わせられた特定の組み合わせを超えて、これらの要素を使用して組み合わせる方法はたくさんあります。REMTモデルがM5コンペティションで達成したランクは、他に証明されるまで、非常にシンプルなモデルに固執すべきであり、非常に複雑なモデルに移行するための説得力のある理由はありません。それらはデバッグがより困難で、運用がより困難で、計算リソースを非常に多く消費することがほぼ保証されているからです。

この第5章の講義では、REMTモデルの一部であった要素だけでなく、他の要素も使用して、サプライチェーンで見つかるさまざまな予測の課題に取り組む方法を見ていきます。覚えておくべき重要なことは、モデル自体は重要ではなく、モデリングが重要であるということです。

スライド18

質問: なぜ負の二項分布を選んだのですか?選択した際の理由は何でしたか?

それは非常に良い質問です。実際には、カウント分布の世界のベストセラーがある場合、おそらく20以上の非常に広く知られたカウント分布があります。Lokadでは、独自の内部ニーズのために数種類のカウント分布をテストしました。データが非常に疎な場合、単純なパラメータを持つポアソン分布はかなりうまく機能します。したがって、ポアソンはかなり良いですが、実際には、M5データセットは少し豊かでした。ウォルマートのデータセットの場合、いくつかのパラメータを持つカウント分布を試しましたが、うまく機能しました。それが実際に最良のものであることを証明する証拠はありません。より良いオプションがあるかもしれません。負の二項分布にはいくつかの重要な利点があります。実装が非常に簡単であり、広範に研究されたカウント分布です。したがって、確率を計算するだけでなく、偏差をサンプリングしたり、平均値や累積分布を得たりするための非常によく知られたアルゴリズムがあります。すべてのカウント分布に期待できるツールがそろっていますが、すべてのカウント分布にはそうではありません。

この選択には実用的な側面がありますが、少し論理もあります。ポアソン分布には1つの自由度があります。負の二項分布には2つの自由度があります。その後、ゼロ膨張負の二項分布などのトリックを使用することができ、2.5つの自由度を得ることができます。このカウント分布に特定の決定的な価値があるとは言えません。

質問: M5には他のサプライチェーン最適化ソフトウェアベンダーもいましたが、本番でスケーリングがうまくいくライブモデルを使用している人はいませんでした。ほとんどの人は重い機械学習モデルを使用しているのでしょうか?

まず、M5はデータサイエンスのプラットフォームであるKaggleで行われたことを明確に区別して説明しなければなりません。Kaggleでは、できるだけ複雑な機械を使用することに非常に大きなインセンティブがあります。データセットは小さく、時間がたくさんあり、他の人よりも0.1%正確であればトップランクになることができます。これが重要なことです。したがって、ほとんどのKaggleの競技では、0.1%の追加精度を得るために非常に複雑なことを行った人々がトップランクになっていることがわかります。したがって、予測競技であるという性質上、できるだけ多くのことを試すという強いインセンティブが与えられます。つまり、最も重いモデルを見つけるために非常に複雑なことを行う人々がトップランクになることがほとんどです。

実際にこれらの重い機械学習モデルを本番で使用しているかどうかを尋ねると、私自身の簡単な観察では、ほとんど使用されていません。実際には非常にまれです。サプライチェーンソフトウェアベンダーであるLokadのCEOとして、私は何百ものサプライチェーンディレクターと話をしてきました。文字通り、大規模なサプライチェーンの90%以上がExcelを使用して運営されています。私は勾配ブースティングツリーやディープラーニングネットワークを使用して大規模なサプライチェーンを見たことはありません。Amazonを除いて考えると、Amazonはおそらく唯一の例外です。Amazon、Alibaba、JD.comなど、数社の非常に大きな電子商取引スーパージャイアントがこのような技術を実際に使用しています。ただし、これらはこの点で例外的です。一般的な大手FMCG企業や大手の実店舗小売企業は、本番でこのようなものを使用していません。

質問: あなたは数学的および統計的な用語を多く挙げていますが、小売販売の性質や主な影響要因については無視しています。

これはむしろコメントのようなものですが、私の質問は次のとおりです。あなたは何をもたらすのですか?これは、優れた予測技術を誇るサプライチェーンベンダーがすべて不在であったときに私が言っていたことです。もし本当に優れた予測技術を持っているのであれば、なぜ公開ベンチマークのような場面では不在になるのでしょうか?もう一つの説明は、人々がうそをついているということです。

小売販売の性質や多くの影響要因に関しては、使用されたパターンをリストアップし、それらの4つのパターンを使用することで、REMTモデルは正確さの点でSKUレベルでトップになりました。もし重要なパターンが他にもたくさんあるという主張をするのであれば、証明の責任はあなたにあります。私自身の疑念は、900以上のチームの中でそれらのパターンが観察されなかった場合、それらのパターンは存在しなかったのか、またはこれらのパターンを捉えることが私たちの技術の範囲外であるため、実際的な観点からは存在しないかのように思われます。

質問: M5の競技者の中には、Lokadには及ばないものの、一般的なアプリケーションに特に価値のあるアイデアを応用した人はいましたか?名誉ある言及はありますか?

私は競合他社に非常に注意を払っており、彼らもLokadに注意を払っていると非常に確信しています。しかし、それは見られませんでした。REMTモデルは本当に他のトップ50の競技者とはまったく異なるものでした。他の参加者は、機械学習の分野でははるかに古典的なものを使用していました。

この競技中には非常に賢いデータサイエンスのトリックがいくつか披露されました。たとえば、一部の人々はウォルマートのデータセットにデータ拡張を行うための非常に賢いトリックを使用して、それを実際よりも大きくすることでいくらかの追加の正確さを得ました。これは不確実性のチャレンジで1位にランクされた競技者によって行われました。正しい用語はデータ拡張であり、データインフレーションではありません。データ拡張はディープラーニングの技術で一般的に使用されていますが、ここでは勾配ブースティングツリーと組み合わせて非常に珍しい方法で使用されました。この競技中には、洗練された非常に賢いデータサイエンスのトリックが披露されました。これらのトリックがサプライチェーンに一般化されるかどうかはあまり確信が持てませんが、この章の残りの部分で機会があればいくつか紹介するかもしれません。

質問: SKUレベルを集計して高レベルを推定しましたか、それとも高レベルの中間計算を新たに行いましたか?両方の場合、どのように比較しましたか?

クォンタイルグリッドの問題は、通常、各ターゲットレベルごとにモデルを個別に最適化する傾向があることです。クォンタイルグリッドでは、クォンタイルが交差することがあります。つまり、数値の不安定さにより、99番目のクォンタイルが97番目のクォンタイルよりも低くなることがあります。これは重要ではありません。通常、値を並べ替えるだけです。基本的に、これはクォンタイルグリッドが完全に確率的な予測ではないという問題の種類を指しています。解決する必要がある細かい問題はたくさんありますが、実際のところ、それらは大した問題ではありません。確率的な予測に移行すると、これらの問題は存在しなくなります。

質問: ソフトウェアベンダー向けに別の競技会を設計する場合、どのようなものになりますか?

正直に言って、私はわかりません。これは非常に難しい質問です。予測のベンチマークとしては、私たちが持っている中でM5が最も優れていると思いますが、サプライチェーンのベンチマークに関しては、それが可能であるかどうかさえも完全に納得していません。いくつかの問題が実際には教師なし学習を必要とすることを示唆したとき、これは難しい問題です。教師なし学習の領域に入ると、メトリクスを持つことを諦めなければならず、高度な機械学習の領域全体が、教師なしの状態で優れた自動学習ツールを操作することが何を意味するのかについて、まだ苦労しています。そのようなものをどのようにベンチマークするのでしょうか?

私の機械学習に関する講義に参加していなかった視聴者のために、教師ありの設定では、入力と出力、および出力の品質を評価するためのメトリクスがあるタスクを達成しようとしています。教師なしの場合、ラベルがないため、比較するものがなく、事がはるかに困難になります。さらに、サプライチェーンでは、バックテストすらできないことが多々あります。教師なしの側面を超えて、完全に満足のいくバックテストの観点もありません。たとえば、需要を予測すると、価格設定のような特定の種類の意思決定が生成されます。価格を上げるか下げるかを決めることは、あなたが行った意思決定であり、将来に永久に影響を与えます。したがって、過去に戻って「よし、私は異なる需要予測を行い、異なる価格決定を行い、そして歴史を繰り返すことにしましょう。ただし、今回は異なる価格です」と言うことはできません。バックテストのアイデアさえもうまくいかない場合があります。それがなぜ、競技会が予測の観点から非常に興味深いものであると私が考える理由です。サプライチェーンの目的にとっては、出発点として有用ですが、より良く、異なる方法を見つける必要があります。この予測モデリングに関する章では、なぜモデリングがそのような焦点を当てる価値があるのかを示します。

質問: この方法論は、データポイントが少ない状況でも使用できますか?

絶対に使用できると言えます。REMTモデルでここで示されているようなこのような構造化モデリングは、非常にまばらなデータがある状況で輝いています。その理由はシンプルです。モデルの構造には、人間の知識を多く埋め込むことができます。モデルの構造は空想から引き出されたものではありません。それは文字通り、Lokadチームが問題を理解している結果です。たとえば、曜日、月、などのカレンダーパターンを見るとき、私たちはそれらのパターンを発見しようとはしませんでした。Lokadチームは最初からそれらのパターンが既に存在していることを知っていました。唯一の不確実性は、多くの状況で弱い傾向になる可能性がある月の日パターンの相対的な普及でした。Walmartの設定の場合、これは米国にスタンププログラムがあるため、この月の日パターンがそれほど強力であるという事実によるものです。

データが少ない場合、このようなアプローチは非常にうまく機能します。使用しようとしている学習メカニズムは、あなたが課した構造を広範に活用するでしょう。ですから、疑問が生じます。もし構造が間違っていたらどうなるのでしょうか?しかし、それがなぜサプライチェーンの考え方と理解が非常に重要なのです。そうすれば、正しい決定をすることができます。最終的には、任意の決定が良かったのか悪かったのかを評価する方法がありますが、基本的にはプロセスの非常に遅い段階でそれが行われます。この章の後半では、予測モデリングについて説明し、航空、高級品、さまざまな種類のエメラルドなど、非常にまばらなデータセットで構造化モデリングが効果的に使用される方法を示します。これらの状況では、構造化モデルが本当に輝きます。

次の講義は2月2日、水曜日、同じ時間、パリ時間の午後3時に行われます。それではまた後でお会いしましょう!

参考文献

  • Walmartの売上の不確実性分布を推定するためのホワイトボックス化されたISSMアプローチ, Rafael de Rezende, Katharina Egert, Ignacio Marin, Guilherme Thompson, 2021年12月(リンク
  • M5不確実性競技会:結果、知見、結論, Spyros Makridakis, Evangelos Spiliotis, Vassilis Assimakopoulos, Zhi Chen, 2020年11月(リンク