(57)【要約】【課題】高精度な需要予測を行う。【解決手段】実施形態の需要予測プログラムは、コンピュータに、学習を行う処理と、重み付け情報を生成する処理と、需要予測を行う処理とを実行させる。学習を行う処理は、販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行う。重み付け情報を生成する処理は、第１の期間より後の期間である第２の期間の販売実績データ、および、商品情報に基づき複数の誤差予測モデルを用いて生成された複数の予測モデルの複数の予測値の予測誤差から、複数の予測モデルの重み付け情報を生成する。需要予測を行う処理は、重み付け情報により組み合わせた複数の予測モデルの予測結果に基づき、需要予測を行う。【選択図】図１
2019125048.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行い、
前記第１の期間より後の期間である第２の期間の販売実績データ、および、前記商品情報に基づき前記複数の誤差予測モデルを用いて生成された前記複数の予測モデルの複数の予測値の予測誤差から、前記複数の予測モデルの重み付け情報を生成し、
前記重み付け情報により組み合わせた前記複数の予測モデルの予測結果に基づき、需要予測を行う、
処理を実行させる需要予測プログラム。
【請求項２】
前記学習を行う処理は、前記商品情報、および、前記第１の期間の販売実績データに基づく前記対象商品の商品特性およびライフサイクル特性を少なくとも説明変数とし、前記予測モデルの予測誤差を目的変数として前記誤差予測モデルの学習を行う、
ことを特徴とする請求項１に記載の需要予測プログラム。
【請求項３】
前記生成する処理は、前記複数の予測モデルの複数の予測値の予測誤差の逆数をもとに前記複数の予測モデルの重み付け情報を生成する、
ことを特徴とする請求項１または２に記載の需要予測プログラム。
【請求項４】
コンピュータが、
販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行い、
前記第１の期間より後の期間である第２の期間の販売実績データ、および、前記商品情報に基づき前記複数の誤差予測モデルを用いて生成された前記複数の予測モデルの複数の予測値の予測誤差から、前記複数の予測モデルの重み付け情報を生成し、
前記重み付け情報により組み合わせた前記複数の予測モデルの予測結果に基づき、需要予測を行う、
処理を実行する需要予測方法。
【請求項５】
販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行う学習部と、
前記第１の期間より後の期間である第２の期間の販売実績データ、および、前記商品情報に基づき前記複数の誤差予測モデルを用いて生成された前記複数の予測モデルの複数の予測値の予測誤差から、前記複数の予測モデルの重み付け情報を生成する重み生成部と、
前記重み付け情報により組み合わせた前記複数の予測モデルの予測結果に基づき、需要予測を行う予測部と、
を有することを特徴とする需要予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、需要予測プログラム、需要予測方法および需要予測装置に関する。
【背景技術】
【０００２】
高精度な需要予測の実現はＳＣＭ（サプライチェーンマネジメント）最適化の要であることから、従来、過去の販売実績データを用いて、今後の需要を予測する需要予測が行われている。
【０００３】
この需要予測は、複数の予測手法（種々のモデル）を、需要予測データに適用して行われる。複数の予測手法を用いる需要予測については、予測誤差を最小とする、複数の需要予測モデル毎のブレンド比率を算出する。そして、算出されたブレンド比率に基づいて、複数の予測手法を用いて予測需要量を算出する総合需要予測装置が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１０４４０８号公報
【特許文献２】特開２０１３−１３１２５９号公報
【特許文献３】特開２０１０−１２２８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、商品特性、ライフサイクル特性等、販売に関する種々の情報が予測誤差に適用されておらず、結果として予測精度が低下する場合が生じ得た。
【０００６】
例えば、過去の販売実績に特定の要因による大きな変動が存在する場合、過去の販売実績に対する複数の予測手法それぞれの誤差は、大きな変動が存在しない場合の複数の予測手法それぞれの誤差とは異なる分布となる場合がある。上記の従来技術では、過去の誤差に基づき複数の予測手法をブレンドすることになるため、過去の販売実績で特定の要因による変動が存在する場合に適切なブレンドが行われず、予測精度が低下することがある。
【０００７】
１つの側面では、高精度な需要予測を行うことを可能とする需要予測プログラム、需要予測方法および需要予測装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、需要予測プログラムは、コンピュータに、学習を行う処理と、重み付け情報を生成する処理と、需要予測を行う処理とを実行させる。学習を行う処理は、販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行う。重み付け情報を生成する処理は、第１の期間より後の期間である第２の期間の販売実績データ、および、商品情報に基づき複数の誤差予測モデルを用いて生成された複数の予測モデルの複数の予測値の予測誤差から、複数の予測モデルの重み付け情報を生成する。需要予測を行う処理は、重み付け情報により組み合わせた複数の予測モデルの予測結果に基づき、需要予測を行う。
【発明の効果】
【０００９】
本発明の１実施態様によれば、高精度な需要予測を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態にかかる需要予測装置の機能構成例を示すブロック図である。
【図２】図２は、第１の学習フェーズを例示するフローチャートである。
【図３】図３は、複数の予測モデルの学習を説明する説明図である。
【図４】図４は、平均予測誤差の算出を説明する説明図である。
【図５】図５は、第２の学習フェーズを例示するフローチャートである。
【図６】図６は、誤差予測モデルの学習を説明する説明図である。
【図７】図７は、予測フェーズを例示するフローチャートである。
【図８】図８は、各フェーズに用いるデータの期間を説明する説明図である。
【図９】図９は、予測値の比較結果を説明する説明図である。
【図１０】図１０は、予測値の比較結果を説明する説明図である。
【図１１】図１１は、予測値の比較結果を説明する説明図である。
【図１２】図１２は、予測値の比較結果を説明する説明図である。
【図１３】図１３は、プログラムを実行するコンピュータの一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態にかかる需要予測プログラム、需要予測方法および需要予測装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する需要予測プログラム、需要予測方法および需要予測装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１２】
（構成について）
図１は、実施形態にかかる需要予測装置の機能構成例を示すブロック図である。図１に示すように、需要予測装置１は、入力部１０、学習部２０、予測部５０および出力部６０を有し、入力された販売実績データ１１を用いる、複数の予測モデル３０を利用した需要予測を行う装置である。
【００１３】
入力部１０は、需要予測にかかる指示データ（予測期間や予測対象の商品など）や販売実績データ１１などを入力データとして受け付け、受け付けた入力データを学習部２０および予測部５０へ出力する。販売実績データ１１は、商品ごとの販売実績を示すデータであり、例えば各売上日における商品ごとの売上数が記述されたデータである。入力部１０は、販売実績データ１１について、第１の期間の売上日に該当する商品ごとの売上数が記述されたデータを学習部２０へ出力する。また、入力部１０は、販売実績データ１１について、第１の期間より後の期間である第２の期間の売上日に該当する商品ごとの売上数が記述されたデータを予測部５０へ出力する。
【００１４】
なお、需要予測の対象となる商品については、経済活動において生産・流通・交換される財物などであればいずれであってもよい。例えば本実施形態では、スーパー等の店舗における食品や生活用品などへの適用例を例示しているが、電力会社が供給する電力や、郵便配達などのサービスの提供であってもよい。
【００１５】
学習部２０は、販売実績データ１１をもとに、予測手法ごとの複数の予測モデル３０と、複数の予測モデル３０それぞれについて、予測モデル３０の予測誤差を推定する複数の誤差予測モデル４０との学習を行う。
【００１６】
予測部５０は、需要予測にかかる指示データ（予測期間や予測対象の商品など）に基づいて、予測対象となる商品の需要予測（売上日ごとの売上数の予測）を行う。具体的には、予測部５０は、第２の期間における直近の販売実績データ１１をもとに複数の予測モデル３０と、複数の予測モデル３０それぞれについての複数の誤差予測モデル４０とを用いることで、予測期間において予測対象となる商品の需要予測を行う。
【００１７】
出力部６０は、予測部５０の予測結果（需要予測）について、ディスプレイへの表示出力、紙媒体等への印字出力またはファイル出力などを行う。
【００１８】
（学習について）
学習部２０は、予測モデル学習部２１、予測誤差算出部２２、特性算出部２３および誤差予測モデル学習部２４を有する。
【００１９】
予測モデル学習部２１は、販売実績データ１１の一部を学習用データとして異なる複数の予測手法での学習を行い、予測手法ごとに予測モデル３０Ａ、３０Ｂ…３０Ｎを構築（生成）する。なお、予測モデル３０Ａ、３０Ｂ…３０Ｎについては、予測手法ごとに直近の販売実績から商品の需要予測を算出するために構築された回帰式などのモデルであり、特に区別しない場合は予測モデル３０と称するものとする。
【００２０】
予測モデル学習部２１における複数の予測手法については、多様な商品特性に対応するために予め用意された公知の予測手法であってよい。例えば、予測手法には、ナイーブ予測（例えば前週同一曜日の値と同値と予測）、指数平滑法、ＡＲＩＭＡ（Auto  Regressive  Integrated  Moving  Average（自己回帰和分移動平均モデル））、ＡＲＩＭＡＸ（ＡＲＩＭＡ＋回帰）、重回帰、一般化線形モデル（例えばＧａｍｍａ、Ｐｏｉｓｓｏｎなど）、動的線形モデルなどがある。
【００２１】
予測誤差算出部２２は、販売実績データ１１の一部（学習用データと重複しない）を計算用データ（重み計算用データ）として複数の予測モデル３０の予測誤差を算出する。
【００２２】
具体的には、予測誤差算出部２２は、予測モデル３０を適用し、重み計算用データの期間について複数の予測モデル３０それぞれについての予測値（需要予測の値）を算出する。次いで、予測誤差算出部２２は、予測モデル３０それぞれについての予測値と、重み計算用データ（正解）とを比較することで、複数の予測モデル３０それぞれの予測誤差を算出する。
【００２３】
特性算出部２３は、過去の販売実績データ１１における一部の学習用データをもとに、誤差予測モデル学習部２４において誤差予測モデル４０を学習する際に説明変数として用いる特性情報を算出する。具体的には、特性算出部２３は、説明変数として用いる特性情報として、予測特性、静的な商品特性、動的な商品特性、ライフサイクル特性および直近の誤差などを学習用データから数量化する。
【００２４】
予測特性は、予測を行う際の予測期間等の予測要件から求められる特性であり、例えば予測期間、モデル期間などがある。特性算出部２３は、予測を行う際に設定された予測期間（Ｎ日後など）を数値として利用することで、予測期間についての予測特性を得る。また、特性算出部２３は、複数の予測モデル３０に使用する学習データ期間（Ｎ日間など）を数値として利用することで、モデル期間についての予測特性を得る。
【００２５】
静的な商品特性は、例えば商品分類、売価など、販売前から決まっている変化しない商品特性である。特性算出部２３は、販売実績データ１１における各商品の分類コードなどをダミー変数化することで、商品分類についての商品特性を得る。また、特性算出部２３は、各商品の売価（Ｘ円など）をそのまま数値として利用する、または階級分け（Ｘ円〜Ｙ円など）することで、売価についての商品特性を得る。
【００２６】
動的な商品特性は、例えば販売間隔、平均販売数量など、販売後に変化する商品特性である。特性算出部２３は、学習用データにおける販売間隔（Ｎ日ごとなど）を計算して利用することで、販売間隔についての商品特性を得る。また、特性算出部２３は、学習用データにおける１日当たりの販売数量（Ｎ個など）を計算して利用することで、平均販売数量についての商品特性を得る。
【００２７】
ライフサイクル特性は、商品フェーズ（導入期／成長期／成熟期／衰退期）など、商品のライフサイクルに応じて変化する商品特性である。特性算出部２３は、学習用データにおける商品の発売日情報と、その商品の売上変化から商品フェーズ（導入期／成長期／成熟期／衰退期）を推定することで、ライフサイクル特性を得る。
【００２８】
直近の誤差は、直近の指定された期間における平均的な予測誤差などである。特性算出部２３は、直近の指定された期間の学習用データにおける平均絶対誤差または平均絶対誤差率を予測モデル３０を用いて計算することで、直近の誤差を得る。
【００２９】
予測特性や静的な商品特性は、時間とともに変化しない特性である。したがって、予測特性や静的な商品特性を誤差予測モデル４０を学習する際の説明変数とすることで、例えば統計的なブレによる影響を低減する回帰モデルを生成することができる。
【００３０】
また、動的な商品特性やライフサイクル特性は、各商品のライフサイクル（時間）に応じて徐々に変化する特性である。したがって、動的な商品特性やライフサイクル特性を誤差予測モデル４０を学習する際の説明変数とすることで、ライフサイクルに応じた商品特性の変化を捉えた回帰モデルを生成することができる。
【００３１】
また、直近の誤差は、予測特性や商品特性では説明することが困難なトレンドなどの外的要因を示す特性である。したがって、直近の誤差を誤差予測モデル４０を学習する際の説明変数とすることで、トレンドなどの外的要因を捉えた回帰モデルを生成することができる。
【００３２】
誤差予測モデル学習部２４は、複数の予測モデル３０それぞれについて、予測手法ごとの予測モデル３０の予測誤差を推定する誤差予測モデル４０Ａ、４０Ｂ…４０Ｎを学習する。なお、誤差予測モデル４０Ａ、４０Ｂ…４０Ｎについては、直近の販売実績から予測手法ごとの予測誤差を算出するために構築された回帰式などのモデルであり、特に区別しない場合は誤差予測モデル４０と称するものとする。
【００３３】
具体的には、誤差予測モデル学習部２４は、ランダムフォレストなどの公知の機械学習技術を用いて、全商品を合わせて、特性算出部２３が算出した特性情報を説明変数とし、予測誤差算出部２２が算出した予測誤差を目的変数とする回帰モデルである誤差予測モデル４０を学習する。
【００３４】
ここで、学習部２０における学習（第１の学習フェーズおよび第２の学習フェーズ）の詳細を説明する。まず、複数の予測モデル３０の構築と、予測モデル３０についての予測誤差の算出とを行う第１の学習フェーズについて説明する。図２は、第１の学習フェーズを例示するフローチャートである。
【００３５】
図２に示すように、第１の学習フェーズが開始されると、学習部２０は、過去の一定期間の販売実績データ１１を学習用データと重み計算用データとに分割する（Ｓ１１）。このデータ分割は、学習用データと重み計算用データとの組み合わせにおいて、互いのデータ期間が重複しないように行う。
【００３６】
次いで、予測モデル学習部２１は、学習用データを用いて各手法（ナイーブ予測、指数平滑法、ＡＲＩＭＡ、ＡＲＩＭＡＸ、重回帰、一般化線形モデル、動的線形モデルなど）での予測モデル３０を構築する（Ｓ１２）。
【００３７】
次いで、予測誤差算出部２２は、予測モデル学習部２１で得られた予測モデル３０を適用し、重み計算用データの期間について、各手法における予測値（需要予測の値）を算出する（Ｓ１３）。
【００３８】
次いで、予測誤差算出部２２は、重み計算用データ（正解）と、各手法における予測値とを比較することで、複数の予測モデル３０それぞれの予測手法における予測誤差を算出する（Ｓ１４）。
【００３９】
次いで、学習部２０では、販売実績データ１１の期間をずらしてＳ１１〜Ｓ１４の処理を繰り返すことで、複数期間分の予測誤差を求める（Ｓ１５）。次いで、予測誤差算出部２２は、複数の予測モデル３０それぞれの予測手法における予測誤差について、複数期間分の予測誤差から平均予測誤差を算出し（Ｓ１６）、処理を終了する。
【００４０】
図３は、複数の予測モデル３０の学習を説明する説明図である。図３に示すように、予測モデル学習部２１は、販売実績データ１１における学習用データを用いることで、予測手法リスト（ｍ１、ｍ２…）における予測手法ごとに、予測モデル３０を構築（学習）する。具体的には、期間（１）、期間（２）…のように販売実績データ１１の期間をずらして学習することで、商品（ｐ１、ｐ２…）における各期間の需要予測（売上数など）求めるための予測モデル３０を学習する。
【００４１】
図４は、平均予測誤差の算出を説明する説明図である。図４に示すように、予測誤差算出部２２は、予測手法ごとの予測モデル３０を適用して求めた重み計算用データの期間における予測値と、正解とを比較することで、予測手法ごとに各期間の予測誤差Ｙ１を得る。次いで、予測誤差算出部２２は、期間（１）、期間（２）…の予測誤差Ｙ１より平均値を求めることで、予測手法ごとの平均予測誤差Ｙ２を得る。
【００４２】
次に、複数の予測モデル３０それぞれについての複数の誤差予測モデル４０を学習する第２の学習フェーズについて説明する。図５は、第２の学習フェーズを例示するフローチャートである。
【００４３】
図５に示すように、第２の学習フェーズが開始されると、特性算出部２３は、過去の販売実績データ１１における一部の学習用データをもとに、特性情報を算出する（Ｓ２１〜Ｓ２４）。
【００４４】
具体的には、特性算出部２３は、あらかじめ決められた予測要件（例えば予測期間、モデル期間など）に応じて予測特性を計算する（Ｓ２１）。また、特性算出部２３は、販売実績データ１１から静的な商品特性（例えば商品分類、売価など）を計算する（Ｓ２２）。また、特性算出部２３は、販売実績データ１１から動的な商品特性（例えば販売間隔、平均販売数量など）を計算する（Ｓ２３）。また、特性算出部２３は、販売実績データ１１から得られる商品の発売日情報と、その商品の学習期間における売上変化からライフサイクル特性（商品フェーズ（導入期／成長期／成熟期／衰退期）など）を計算する（Ｓ２４）。
【００４５】
次いで、誤差予測モデル学習部２４は、特性算出部２３が算出した特性情報を説明変数とし、予測誤差算出部２２が算出した予測誤差を目的変数とする回帰モデルである誤差予測モデル４０を学習する（Ｓ２５）。
【００４６】
図６は、誤差予測モデル４０の学習を説明する説明図である。図６に示すように、誤差予測モデル学習部２４は、各商品（ｐ１、ｐ２…）について、特性算出部２３が算出した予測特性（モデル期間、予測期間）、静的な商品特性（売価）、動的な商品特性（販売数量）、ライフサイクル特性（販売後日数）、平均予測誤差を説明変数Ｘ１とする。また、誤差予測モデル学習部２４は、各商品（ｐ１、ｐ２…）について、予測誤差算出部２２が算出した重み計算用データにおける平均予測誤差を目的変数Ｘ２とする。そして、誤差予測モデル学習部２４は、この説明変数Ｘ１および目的変数Ｘ２による、ランダムフォレストなどの公知の機械学習技術を用いた回帰分析により、誤差予測モデル４０の学習を行う。
【００４７】
次いで、学習部２０では、上記のＳ２１〜Ｓ２５の処理を需要の予測対象となる全商品を合わせて予測モデル３０の予測手法ごとに繰り返し実施する。これにより、学習部２０では、複数の予測モデル３０それぞれについて、予測手法ごとの予測誤差を推定する複数の誤差予測モデル４０を学習する（Ｓ２６）。
【００４８】
（予測について）
図１に戻り、予測部５０は、予測値算出部５１、予測誤差算出部５２、重み生成部５３および需要予測部５４を有する。
【００４９】
予測値算出部５１は、需要予測の対象商品として指示された商品について、直近の販売実績データ１１に複数の予測モデル３０を適用することで、予測手法ごとの予測値（需要予測の値）を算出する。
【００５０】
予測誤差算出部５２は、需要予測の対象商品として指示された商品について、直近の販売実績データ１１に複数の誤差予測モデル４０を適用することで、複数の予測モデル３０における予測手法ごとの予測誤差を算出する。
【００５１】
重み生成部５３は、複数の予測モデル３０における予測手法ごとの予測誤差をもとに、複数の予測モデル３０それぞれの予測値に対する重み付けを行う重み付け情報を生成する。具体的には、重み生成部５３は、予測誤差の大きい予測モデル３０の予測値については、複数の予測モデル３０それぞれの予測値を統合する際に寄与する度合いが小さくなるような重み付け値とする。また、重み生成部５３は、予測誤差の小さい予測モデル３０の予測値については、複数の予測モデル３０それぞれの予測値を統合する際に寄与する度合いが大きくなるような重み付け値とする。また、重み付け値については、予測誤差の正負に依存する値であってもよく、また例えばペナルティとなる負の量を設定してもよい。
【００５２】
需要予測部５４は、重み生成部５３が生成した重み付け情報により組み合わせた複数の予測モデル３０の予測結果に基づき、需要予測を行う。具体的には、需要予測部５４は、予測値算出部５１が算出した複数の予測モデル３０それぞれの予測値について、重み生成部５３が生成した重み付け情報をもとに選択あるいは合成する重み付き加算を行う。そして、需要予測部５４は、重み付き加算した結果を需要予測の対象商品についての予測結果（例えば売上数）として出力する。
【００５３】
ここで、予測部５０における予測（予測フェーズ）の詳細を説明する。図７は、予測フェーズを例示するフローチャートである。
【００５４】
図７に示すように、予測フェーズが開始されると、予測値算出部５１は、需要予測の対象商品に対して直近の販売実績データ１１を用いて予測手法ごとの予測値を算出する（Ｓ３１）。
【００５５】
次いで、予測誤差算出部５２は、需要予測の対象商品に対して直近の販売実績データ１１を用いて誤差予測モデル４０に適用するための説明変数（対象商品の特性情報）を計算する（Ｓ３２）。この説明変数の計算では、特性算出部２３と同様にして行うことで、例えば予測特性、静的な商品特性、動的な商品特性、ライフサイクル特性および直近の誤差などを求める。
【００５６】
次いで、予測誤差算出部５２は、複数の誤差予測モデル４０に計算した説明変数を適用し、予測手法ごとの予測誤差を予測（算出）する（Ｓ３３）。重み生成部５３は、算出した予測手法ごとの予測誤差をもとに、複数の予測モデル３０それぞれの予測値に対する重み付けを行う重み付け情報を生成する。
【００５７】
需要予測部５４は、生成された重み付け情報をもとに、予測誤差の予測値の逆数を重みとして予測手法ごとの予測値を重み付け加算する（Ｓ３４）。これにより、需要予測部５４は、重み付き加算した結果を需要予測の対象商品についての予測結果として出力し、処理を終了する。
【００５８】
なお、重み付き加算については、複数の予測モデル３０それぞれの予測値について、重み付け情報における予測誤差の逆数を重み付け値として掛け合わせた上で統合する上記の手法に限定しない。例えば、複数の予測モデル３０それぞれの予測値について、重み付け情報における重み付け値が所定の閾値以上の場合に１を、閾値以下の場合に０を掛け合わせた上で統合してもよい。
【００５９】
図８は、各フェーズに用いるデータの期間を説明する説明図である。図８に示すように、第１の学習フェーズ（Ｓ１）および第２の学習フェーズ（Ｓ２）については、対となる学習用データと重み計算用データとの期間が互いに重複しないものとなる。また、予測フェーズ（Ｓ３）については、第１、第２の学習フェーズの後の、データのある期間の中で予測したい期間に直近のデータを用いて予測手法ごとの予測値と誤差の予測値（重み）とを求める。そして、予測フェーズでは、予測手法ごとの予測値を重み付き加算することで統合した予測値を求める。
【００６０】
（効果について）
以上のように、需要予測装置１は、学習部２０と、重み生成部５３と、需要予測部５４とを有する。学習部２０は、販売実績データ１１による需要予測を行う複数の予測モデル３０それぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データ１１による各予測モデル３０の予測結果に基づき、各予測モデル３０の予測誤差をそれぞれ推定する複数の誤差予測モデル４０の学習を行う。重み生成部５３は、第１の期間より後の期間である第２の期間の販売実績データ１１、および、商品情報に基づき複数の誤差予測モデル４０を用いて生成された複数の予測モデル３０の予測値の予測誤差から、複数の予測モデル３０の重み付け情報を生成する。需要予測部５４は、重み生成部５３の重み付け情報により組み合わせた複数の予測モデル３０の予測結果に基づき、需要予測を行う。
【００６１】
このように、需要予測装置１では、需要予測の対象とする商品に関する商品情報および販売実績データに基づき、複数の予測モデル３０それぞれについて、予測誤差を推定する複数の誤差予測モデル４０の学習を行う。これにより、学習後の誤差予測モデル４０では、販売実績データ１１が示す商品特性、ライフサイクル特性等、販売に関する種々の情報が予測誤差に適用されることとなる。そして、需要予測を行う際に、需要予測装置１は、複数の誤差予測モデル４０による予測誤差から複数の予測モデル３０の予測結果に対する重み付けを行って需要予測を行うので、高精度な需要予測を行うことが可能となる。
【００６２】
図９、図１０は、予測値の比較結果を説明する説明図である。具体的には、図９は、横軸を予測範囲、縦軸を予測値の誤差率とするグラフＧ、Ｇ１〜Ｇ６を示す図である。また、図１０は、横軸を予測平均数量、縦軸を誤差率とするグラフＧ、Ｇ１〜Ｇ６を示す図である。
【００６３】
ここで、グラフＧは、本実施形態にかかる需要予測装置１の予測値を示すものである。グラフＧ１は、ＡＲＩＭＡＸによる予測値を示すものである。グラフＧ２は、ＡＲＩＭＡによる予測値を示すものである。グラフＧ３は、指数平滑法による予測値を示すものである。グラフＧ４は、重回帰による予測値を示すものである。グラフＧ５は、動的線形モデルによる予測値を示すものである。グラフＧ６は、ナイーブ予測による予測値を示すものである。
【００６４】
図９、１０におけるグラフＧ１〜Ｇ６を比較しても明らかなように、販売に関する種々の状況（予測範囲、予測平均数量）によって、精度の高い予測手法が異なる。例えば、予測範囲が短い場合にはグラフＧ３の指数平滑法の精度がよい。予測範囲が長くなると、グラフＧ６のナイーブ予測は、誤差が大きく増大する一方、グラフＧ１のＡＲＩＭＡＸなどは予測範囲が長くなっても高精度（低い誤差率）を維持している。また、予測平均数量が少ない場合には比較的精度の高いグラフＧ２のＡＲＩＭＡは、予測平均数量が多い場合にはそれ以外の手法に比べ誤差率が高くなる。
【００６５】
このように、予測範囲の長短、予測平均数量の多少により、それぞれ精度の高い予測手法が異なる。例えば、予測範囲が短く予測平均数量が少ない場合、グラフＧ１のＡＲＩＭＡＸとグラフＧ３の指数平滑法のどちらを選ぶべきだろうか。このように、予測範囲と、予測平均数量とのどちらを主とするかによっても、選ぶべき予測手法が異なってくる。
【００６６】
本実施形態では、複数の予測モデル３０それぞれについて、予測誤差を推定する複数の誤差予測モデル４０の学習を行うことで、上記の販売に関する種々の状況がそれぞれの予測誤差に適用される。したがって、複数の誤差予測モデル４０による予測誤差から複数の予測モデル３０の予測結果に対する重み付けを行って需要予測を行うことで、グラフＧに示すように誤差率の低い需要予測を行うことが可能となる。
【００６７】
また、学習部２０は、商品情報、および、第１の期間の販売実績データ１１に基づく需要予測の対象とする商品の商品特性およびライフサイクル特性を少なくとも説明変数とし、予測モデル３０の予測誤差を目的変数として誤差予測モデル４０の学習を行う。このように説明変数にライフサイクル特性を含めることで、需要予測装置１では、商品特性の動的な変化を予測誤差に含め、より高精度な需要予測を行うことができる。
【００６８】
図１１、１２は、予測値の比較結果を説明する説明図である。具体的には、図１１は、横軸を予測範囲、縦軸を予測値の誤差率とするグラフＧ１１、Ｇ１２、Ｇ２１、Ｇ２２を示す図である。また、図１２は、横軸を予測平均数量、縦軸を誤差率とするグラフＧ１１、Ｇ１２、Ｇ２１、Ｇ２２を示す図である。
【００６９】
ここで、グラフＧ１１、Ｇ１２は、重回帰による予測値を示すものであり、グラフＧ１１はモデル期間が３４日、グラフＧ１２はモデル期間が６９日である。また、グラフＧ２１、Ｇ２２は、ＡＲＩＭＡＸによる予測値を示すものであり、グラフＧ２１はモデル期間が３４日、グラフＧ２２はモデル期間が６９日である。
【００７０】
図１１、１２のグラフＧ１１とグラフＧ１２、または、グラフＧ２１とグラフＧ２２を比較しても明らかなように、モデル期間が異なることで、予測手法ごとの誤差率に違いが生じる。例えば、モデル期間が短いほど誤差率が大きくなる。また、グラフＧ１１、Ｇ１２における重回帰よりもグラフＧ２１、Ｇ２２におけるＡＲＩＭＡＸの方が、モデル期間の違いによる誤差率への影響が少なく、ライフサイクルに影響されにくい予測手法といえる。この例はライフサイクルの変化の少ない商品であり、モデル期間が短い場合に誤差率が大きくなっているが、ライフサイクルの変化が速い商品においては、モデル期間を長くとると誤差率が低下することもある。
【００７１】
本実施形態では、複数の誤差予測モデル４０を学習する際の説明変数にライフサイクル特性を含めることで、商品特性の動的な変化を予測誤差に適用できる。したがって、複数の予測モデル３０の予測結果に対してライフサイクルに応じた重み付けを行うことで、より高精度な需要予測を行うことができる。
【００７２】
（他の実施形態など）
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７３】
需要予測装置１で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、需要予測装置１で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【００７４】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図１３は、プログラムを実行するコンピュータの一例を示す説明図である。
【００７５】
図１３に示すように、コンピュータ２は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３と、スピーカ１０４とを有する。また、コンピュータ２は、記憶媒体からプログラム等を読み取る媒体読取装置１０５と、各種装置と接続するためのインタフェース装置１０６と、有線または無線により外部機器と通信接続するための通信装置１０７とを有する。また、コンピュータ２は、各種情報を一時記憶するＲＡＭ１０８と、ハードディスク装置１０９とを有する。また、コンピュータ２内の各部（１０１〜１０９）は、バス１１０に接続される。
【００７６】
ハードディスク装置１０９には、上記の実施形態で説明した入力部１０、学習部２０、予測部５０および出力部６０等の機能部における各種処理を実行するためのプログラム１１１が記憶される。また、ハードディスク装置１０９には、プログラム１１１が参照する予測モデル３０や誤差予測モデル４０等の各種データ１１２が記憶される。入力装置１０２は、例えば、コンピュータ２の操作者から操作情報の入力を受け付ける。モニタ１０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置１０６は、例えば印刷装置等が接続される。通信装置１０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００７７】
ＣＰＵ１０１は、ハードディスク装置１０９に記憶されたプログラム１１１を読み出して、ＲＡＭ１０８に展開して実行することで、入力部１０、学習部２０、予測部５０および出力部６０等にかかる各種の処理を行う。なお、プログラム１１１は、ハードディスク装置１０９に記憶されていなくてもよい。例えば、コンピュータ２は、読み取り可能な記憶媒体に記憶されたプログラム１１１を読み出して実行するようにしてもよい。コンピュータ２が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にプログラム１１１を記憶させておき、コンピュータ２がこれらからプログラム１１１を読み出して実行するようにしてもよい。
【００７８】
以上の実施形態に関し、さらに以下の付記を開示する。
【００７９】
（付記１）コンピュータに、
販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行い、
前記第１の期間より後の期間である第２の期間の販売実績データ、および、前記商品情報に基づき前記複数の誤差予測モデルを用いて生成された前記複数の予測モデルの複数の予測値の予測誤差から、前記複数の予測モデルの重み付け情報を生成し、
前記重み付け情報により組み合わせた前記複数の予測モデルの予測結果に基づき、需要予測を行う、
処理を実行させる需要予測プログラム。
【００８０】
（付記２）前記学習を行う処理は、前記商品情報、および、前記第１の期間の販売実績データに基づく前記対象商品の商品特性およびライフサイクル特性を少なくとも説明変数とし、前記予測モデルの予測誤差を目的変数として前記誤差予測モデルの学習を行う、
ことを特徴とする付記１に記載の需要予測プログラム。
【００８１】
（付記３）前記生成する処理は、前記複数の予測モデルの複数の予測値の予測誤差の逆数をもとに前記複数の予測モデルの重み付け情報を生成する、
ことを特徴とする付記１または２に記載の需要予測プログラム。
【００８２】
（付記４）コンピュータが、
販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行い、
前記第１の期間より後の期間である第２の期間の販売実績データ、および、前記商品情報に基づき前記複数の誤差予測モデルを用いて生成された前記複数の予測モデルの複数の予測値の予測誤差から、前記複数の予測モデルの重み付け情報を生成し、
前記重み付け情報により組み合わせた前記複数の予測モデルの予測結果に基づき、需要予測を行う、
処理を実行する需要予測方法。
【００８３】
（付記５）前記学習を行う処理は、前記商品情報、および、前記第１の期間の販売実績データに基づく前記対象商品の商品特性およびライフサイクル特性を少なくとも説明変数とし、前記予測モデルの予測誤差を目的変数として前記誤差予測モデルの学習を行う、
ことを特徴とする付記４に記載の需要予測方法。
【００８４】
（付記６）前記生成する処理は、前記複数の予測モデルの複数の予測値の予測誤差の逆数をもとに前記複数の予測モデルの重み付け情報を生成する、
ことを特徴とする付記４または５に記載の需要予測方法。
【００８５】
（付記７）販売実績データによる需要予測を行う複数の予測モデルそれぞれについて、対象商品に関する商品情報、および、第１の期間の販売実績データによる各予測モデルの予測結果に基づき、各予測モデルの予測誤差をそれぞれ推定する複数の誤差予測モデルの学習を行う学習部と、
前記第１の期間より後の期間である第２の期間の販売実績データ、および、前記商品情報に基づき前記複数の誤差予測モデルを用いて生成された前記複数の予測モデルの複数の予測値の予測誤差から、前記複数の予測モデルの重み付け情報を生成する重み生成部と、
前記重み付け情報により組み合わせた前記複数の予測モデルの予測結果に基づき、需要予測を行う予測部と、
を有することを特徴とする需要予測装置。
【００８６】
（付記８）前記学習部は、前記商品情報、および、前記第１の期間の販売実績データに基づく前記対象商品の商品特性およびライフサイクル特性を少なくとも説明変数とし、前記予測モデルの予測誤差を目的変数として前記誤差予測モデルの学習を行う、
ことを特徴とする付記７に記載の需要予測装置。
【００８７】
（付記９）前記重み生成部は、前記複数の予測モデルの複数の予測値の予測誤差の逆数をもとに前記複数の予測モデルの重み付け情報を生成する、
ことを特徴とする付記７または８に記載の需要予測装置。
【符号の説明】
【００８８】
１…需要予測装置
２…コンピュータ
１０…入力部
１１…販売実績データ
２０…学習部
２１…予測モデル学習部
２２…予測誤差算出部
２３…特性算出部
２４…誤差予測モデル学習部
３０、３０Ａ〜３０Ｎ…予測モデル
４０、４０Ａ〜４０Ｎ…誤差予測モデル
５０…予測部
５１…予測値算出部
５２…予測誤差算出部
５３…重み生成部
５４…需要予測部
６０…出力部
Ｇ、Ｇ１〜Ｇ６、Ｇ１１〜Ｇ２２…グラフ
Ｘ１…説明変数
Ｘ２…目的変数
Ｙ１…予測誤差
Ｙ２…平均予測誤差
１０１…ＣＰＵ
１０２…入力装置
１０３…モニタ
１０４…スピーカ
１０５…媒体読取装置
１０６…インタフェース装置
１０７…通信装置
１０８…ＲＡＭ
１０９…ハードディスク装置
１１０…バス
１１１…プログラム
１１２…各種データ
【図１】
2019125048.tif 000003
【図２】
2019125048.tif 000004
【図３】
2019125048.tif 000005
【図４】
2019125048.tif 000006
【図５】
2019125048.tif 000007
【図６】
2019125048.tif 000008
【図７】
2019125048.tif 000009
【図８】
2019125048.tif 000010
【図９】
2019125048.tif 000011
【図１０】
2019125048.tif 000012
【図１１】
2019125048.tif 000013
【図１２】
2019125048.tif 000014
【図１３】
2019125048.tif 000015