AI&数理最適化技術を用いたサプライチェーン最適化 - ログ・オプト -
研究者および技術者のプロフェッショナル集団です.
  • Home
  • Products
    • SCMOPT デモ&トライアル
    • サプライチェーン最適化システムSCMOPT
      • サプライ・チェイン基本分析
      • サプライ・チェインリスク分析
      • 需要予測
      • 需要予測+動的発注方策
      • 安全在庫最適化
      • 配送最適化
      • 幹線輸送ネットワーク最適化
      • ロジスティクス・ネットワーク最適化
      • 生産ロット最適化
      • 生産スケジューリング最適化システム
      • 人員配置(シフト)最適化
      • ダイナミックプライシング/収益最適化
    • 最適化ソルバー
      • 制約最適化ソルバーSCOP
      • スケジューリング最適化ソルバーOptSeq
      • 数理最適化ソルバーGurobi Optimizer
      • 配送最適化ソルバーMETRO
      • 集合被覆最適化ソルバーOptCover
  • Solutions
    • 分野別ソリューション
      • サプライ・チェイン
      • マーケティング
      • その他分野
    • コンサルティング
  • News/Blog
  • Resource
  • About us
    • 会社概要
    • プライバシーポリシー
    • 情報セキュリティポリシー
    • SCMOPTセキュリティー
    • 商品・サービス利用規約
  • Contact Us
    • お問い合わせ
    • 無料書籍申し込みフォーム
研究者および技術者のプロフェッショナル集団です
   

CHINESE ENGLISH

  • ENGLISH
  • CHINESE
case prophet flat
2020-10-24

需要予測(ケーススタディ5)

Python, SCMOPT, サプライ・チェイン, 可視化, 実務, 最適化

注意:このケーススタディは,幾つかの企業のコンサルティングから抽出したもので,特定の企業を想定したものではない.データや登場人物は,架空のものである.


あなたは,社内全体にプレゼンをしたところ,過去の需要に対する計画は役に立たないとの指摘を受けた. 将来の需要予測をしようと考えたが, 今,与えられているのは,過去1年分のデータだけなので,まずはそれを使ってこの先1年分の需要予測を行うことにした.

SCMOPTには,ベイズ推論に基づく B-Forecastと深層(機械)学習に基づく D-Forecast があるので,まずは特定の製品と顧客に対して,それらを利用して予測を行うことにする.

ベイズ推論で予測

ベイズ推論を使うと,傾向変動や季節変動を自分でコントロールすることができる.まずは,今回使うデータは,日ベースのデータなので,週次と年次の2つの季節変動を加え,傾向変動を(区分的)線形関数と仮定して予測をしてみると,以下のような結果が得られる.

case prophet linear

どうやら,年度末の下降傾向が引き続き起こると考えて予測しているようだ.確認のため,予測要因ごとに図示してみると,週の波動や年次の波動はきちんと予測されているが,傾向変動だけが直線的に下降している.

case prophet linear component

需要が負になることはないので,今度は,下限を設定してから傾向をロジスティック曲線と仮定して予測してみる.

case prophet logistic 1

予測量が負になることは避けられたが,やはり下降傾向と予測されている. 営業担当部長に聞くと,この顧客は定番製品に対しては,毎年同じように発注をしてくるらしい.
そこで,傾向変動なしで予測してみる.

case prophet flat

結果を営業部長に見せたところ,この顧客のこの製品に対しては,こんな感じで十分だろうとの評価をもらったが,そもそも毎年同じ需要なら,予測を行う必要はないだろう.
深層学習と機械学習も誤差が大きく,年次の季節変動は重要でないと判断されている.さらには,新製品などは,1年分もデータがとれないものがあるとの指摘を受けた. 1年分もデータがない場合には,年次の季節変動は役に立たない.さて,どうすれば良いだろうか?

ひとつの方法は,できるだけ過去に遡ったデータを集めることだ.少なくとも2年分のデータがなければ,年次の季節変動は予測できない.新製品に対しては,過去のデータがないので,類似の製品の過去のデータを使うことが考えられる.

そのような場合に使える手法として,深層学習がある.深層学習では,時系列データをそのまま扱うのではなく,曜日,月末,年末などから特徴を自動的に抽出することによって予測を行う.

深層(機械)学習でも,顧客と製品を1つに絞って予測することもできる.2年分のデータがあると仮定して,ベイズ推論と比較をしよう.

2年分のデータに対するベイズ推論

結果は1年分とほぼ同じだが,線形傾向でも予想は負にならない.2020年10月以降のデータで交差検証を行うと,2乗平均誤差は163程度になった.

2年分のデータに対する深層学習

埋め込み層の後に,200層, 100層の全結合層を入れたニューラルネットで学習させた.2020年10月以前が訓練データ,それ以降が検証データである.最大学習率0.01,重み減衰2のone cycle法で100エポック訓練したところ,2乗平均誤差は25程度になった.

2年分のデータに対する機械学習

同様のデータに対して,ランダム森による学習を行ったところ,2乗平均誤差は50程度になった.特徴の重要性を可視化すると以下のようになり,特徴は順に,曜日,年初からの日にち,月,週が効いていることが分かる.

 

case feature

全ての製品を一度に予測

深層学習では,顧客名や製品名もカテゴリーデータとして用いることができる.これらの特徴を「埋め込み」を用いて適当な大きさのベクトルとして表現して,予測精度の向上を図るのである.ある製品の需要だけが1年分のデータしかないものとしよう.他の製品と同時に深層学習を行うことによって,どれだけ予測の精度が向上するか確認してみる.

上の深層学習と同じ程度の訓練を行うと,100製品に対する合計の2乗平均誤差が362となり,以下のような予測が得られた.この手法を用いると,販売実績の少ない新製品に対する予測も可能になる.

case dl all 1

本ケーススタディで使用したのは需要予測システム BD Forecast (Bayes-Deep Learning Forecast ) は,サプライ・チェイン最適化システムSCMOPT に含まれています.

SCMOPTデモ&トライアルはこちら

在庫最適化(ケーススタディ4) サービスネットワーク設計(ケーススタディ6)

Related Posts

News, Python, その他, 実務, 最適化

「書籍」Pythonによる実務で役立つ最適化問題100+

News, Python, その他

「書籍」Python言語によるプログラミングイントロダクション 第3版

AI, SCMOPT, サプライ・チェイン, 実務, 最適化

サプライチェーンリスク解析の最先端

カテゴリー

  • AI
  • News
  • Python
  • SCMOPT
  • サプライ・チェイン
  • その他
  • 可視化
  • 実務
  • 最適化
AI&数理最適化技術を用いたサプライチェーン最適化 - ログ・オプト -
Copyright © 2019 Log Opt Co., Ltd.