(57)【特許請求の範囲】
【請求項１】
商品の払出量を予測する階層隠れ変数モデルを推定するための階層隠れ変数モデル推定装置であって、
商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数の複数の組み合わせである学習用データを入力する学習データ入力手段と、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である、階層隠れ構造を設定する階層隠れ構造設定手段と、
前記学習データ入力手段によって入力された学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算手段と、
前記学習データ入力手段によって入力された学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化するコンポーネント最適化処理手段と、
前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける隠れ変数の変分確率に基づいて最適化する門関数最適化手段と、
を備える階層隠れ変数モデル推定装置。
【請求項２】
計算された変分確率が所定の閾値以下である経路を前記モデルから除去することによって、前記階層隠れ構造を最適化する階層隠れ構造最適化手段
を更に備える請求項１に記載の階層隠れ変数モデル推定装置。
【請求項３】
前記門関数最適化手段は、
前記階層隠れ構造から除去されない経路の分岐ノードである有効分岐ノードを、前記階層隠れ構造のノードから選択する有効分岐ノード選別手段と、
前記有効分岐ノードにおける前記隠れ変数の前記変分確率に基づいて、前記門関数モデルを最適化する門関数最適化並列処理手段と、を含み、
前記門関数最適化並列処理手段は、前記有効分岐ノードに対して、各分岐パラメータの最適化を並列に行う
請求項２に記載の階層隠れ変数モデル推定装置。
【請求項４】
階層隠れ構造設定手段は、前記隠れ変数が２分木構造で表される前記階層隠れ構造を設定し、
門関数最適化手段は、前記ノードにおける前記隠れ変数の前記変分確率に基づいて、ベルヌーイ分布に基づく前記門関数モデルを最適化する
請求項１乃至３のいずれか１項に記載の階層隠れ変数モデル推定装置。
【請求項５】
変分確率計算手段は、周辺化対数尤度を最大化するように前記隠れ変数の前記変分確率を計算する
請求項１乃至４のいずれか１項に記載の階層隠れ変数モデル推定装置。
【請求項６】
商品の払出量を予測する階層隠れ変数モデルを推定するための階層隠れ変数モデル推定方法であって、
商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力し、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定し、
入力された前記学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である、経路隠れ変数の変分確率を計算し、
入力された前記学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化し、
前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける隠れ変数の変分確率に基づいて最適化する
階層隠れ変数モデル推定方法。
【請求項７】
計算された変分確率が所定の閾値以下である経路を前記モデルから除去することによって、前記階層隠れ構造を最適化する
請求項６記載の階層隠れ変数モデル推定方法。
【請求項８】
コンピュータに、
商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力する学習データ入力処理と、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定する階層隠れ構造設定処理と、
前記学習データ入力処理によって入力された学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算処理と、
前記学習データ入力処理によって入力された学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化するコンポーネント最適化処理と、
前記階層隠れ構造のノードにおいて多変量データに従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化する門関数最適化処理
を実行させる階層隠れ変数モデル推定プログラム。
【請求項９】
コンピュータに、
計算された変分確率が所定の閾値以下である経路を前記モデルから除去することによって、前記階層隠れ構造を最適化する階層隠れ構造最適化処理
を実行させる請求項８記載の階層隠れ変数モデル推定プログラム。
【請求項１０】
商品の払出量を予測するための払出量予測装置であって、
商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力する予測データ入力手段と、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおける分岐方向を決定するための門関数と、前記予測用データとに基づいて、前記払出量の予測に使用される前記コンポーネントを決定するコンポーネント決定手段と、
前記コンポーネント決定手段によって決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測手段と、
を備える払出量予測装置。
【請求項１１】
商品の払出量を予測するための払出量予測方法であって、
商品の前記払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力し、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおける分岐方向を決定するための門関数と、前記予測用データとに基づいて、前記払出量の予測に使用される前記コンポーネントを決定し、
決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する
払出量予測方法。
【請求項１２】
コンピュータに、
商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力する予測用データ入力処理と、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおける分岐方向を決定するための門関数と、前記予測用データとに基づいて、前記払出量の予測に使用される前記コンポーネントを決定するコンポーネント決定処理と、
前記コンポーネント決定処理によって決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測処理
を実行させる払出量予測プログラム。
【請求項１３】
商品の払出量を予測するための払出量予測システムであって、
商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力する学習データ入力手段と、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定する階層隠れ構造設定手段と、
前記学習データ入力手段によって入力された学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である、経路隠れ変数の変分確率を計算する変分確率計算手段と、
前記学習データ入力手段によって入力された前記学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化するコンポーネント最適化処理手段と、
前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化する門関数最適化手段と、
商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力する予測用データ入力手段と、
前記門関数最適化手段によって最適化された前記門関数モデルと前記予測用データとに基づいて、前記コンポーネント最適化処理手段によって最適化された前記コンポーネントのうち、前記払出量の予測に使用される前記コンポーネントを決定するコンポーネント決定手段と、
前記コンポーネント決定手段によって決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測手段と、
を備える払出量予測システム。
【請求項１４】
商品の払出量を予測するための払出量予測方法であって、
商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数の、複数の組み合わせである学習用データを入力し、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定し、
入力された前記学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である、経路隠れ変数の変分確率を計算し、
入力された前記学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化し、
前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化し、
商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力し、
最適化された前記門関数モデルと前記予測用データとに基づいて、最適化された前記コンポーネントのうち、前記払出量の予測に使用される前記コンポーネントを決定し、
決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する
払出量予測方法。
【請求項１５】
商品の払出量を予測するためのプログラムであって、
商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力し、
隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定し、
入力された前記学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である、経路隠れ変数の変分確率を計算し、
入力された前記学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化し、
前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化し、
商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力し、
最適化された前記門関数モデルと前記予測用データとに基づいて、最適化された前記コンポーネントのうち、前記払出量の予測に使用される前記コンポーネントを決定し、
決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測するする
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層隠れ変数モデル推定装置、階層隠れ変数モデル推定方法、払出量予測装置、払出量予測方法、及び記録媒体に関する。
【背景技術】
【０００２】
販売店における商品の払出量は、様々な要因によって観測され、蓄積されるデータである。このように、これらのデータは、１つの要因ではなく、様々な要因から生じた観測値として蓄積される。売上は、払出量の例の１つである。このようなデータが生じる要因を分析すること、例えば、天候や時間帯と売上との相関を分析することによって、欠品や在庫を減らすことが可能になる。払出量の一例としては、商品の売上数、出荷数、売上金額、販売店における売上総額などが挙げられる。
【０００３】
そのため、過去の売上データなどから未来の需要を予測する技術が提案されている（例えば、特許第４１３９４１０号公報（以下「特許文献１」と表記）、特開２０１０−１２８７７９号公報（以下「特許文献２」と表記）を参照）。特許文献１には、曜日、日時、キャンペーン情報などの情報に応じた予測モデルを用いて、適切な在庫量を計算する技術が開示されている。特許文献２には、マーケティングの専門家の数、店舗エリア、交通、又は、エリア人口などの情報に基づいて抽出された最適重回帰型を使用して、売上げを計算するための技術が開示されている。
【０００４】
また、隠れ変数モデルの代表例である混合モデルに対して、完全周辺尤度関数を近似し、その下界（下限）を最大化することによって、観測確率の種類を判定する方法が、Ryohei Fujimaki, Satoshi Morinaga: Factorized Asymptotic Bayesian Inference for Mixture Modeling, Proceedings of the Fifteenth International Conference on Artificial Intelligence and Statistics (AISTATS), March 2012（以下「非特許文献１」と表記；「Factorized Asymptotic Bayesian Inference for Mixture Modeling」とも表記。）、及び、国際公開第２０１２／１２８２０７号（以下「特許文献３」と表記）に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４１３９４１０号公報
【特許文献２】特開２０１０−１２８７７９号公報
【特許文献３】国際公開第２０１３／１２８２０７号
【非特許文献】
【０００６】
【非特許文献１】Ryohei Fujimaki, Satoshi Morinaga: Factorized Asymptotic Bayesian Inference for Mixture Modeling, Proceedings of the Fifteenth International Conference on Artificial Intelligence and Statistics (AISTATS), March 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１及び特許文献２に記載の技術によれば、曜日、季節、気象情報ごとに異なる予測モデルを用いて売上の予測が行われる。予測モデルをどの情報に基づいて分けるかは、専門家の知見などに基づいてシステムの設計者や利用者が判定する。そのため、予測モデルを分けるための適切な基準を設定することは困難である。また、予測モデルを分けるための基準が適切でない場合、予測結果の信頼性が低くなりうる。
【０００８】
また、非特許文献１及び特許文献３に記載された方法を用いたとしても、依然として、階層的な隠れ変数を含むモデルのモデル選択問題は解決できないという問題がある。その理由は、非特許文献１及び特許文献３に記載された方法は、階層的な隠れ変数を考慮していないため、自明には計算手順を構築できないからである。また、非特許文献１及び特許文献３に記載された方法は、階層的な隠れ変数がある場合には適用できないという強い仮定に基づいているため、この方法を単純に適用した場合には理論的正当性を失ってしまう。
【０００９】
本発明の主な目的は、上述した課題を解決する、階層隠れ変数モデル推定装置、階層隠れ変数モデル推定方法、払出量予測装置、払出量予測方法、及び記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
第１の例示的態様は、商品の払出量を予測する階層隠れ変数モデルを推定するための階層隠れ変数モデル推定装置であって、商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数の、複数の組み合わせである学習用データを入力する学習データ入力手段と、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である、階層隠れ構造を設定する階層隠れ構造設定手段と、前記学習データ入力手段によって入力された学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算手段と、前記学習用データ入力手段によって入力された学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化するコンポーネント最適化処理手段と、前記階層隠れ構造のノードにおいて前記説明変数従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化する門関数最適化手段とを備える階層隠れ変数モデル推定装置である。
【００１１】
第２の例示的態様は、商品の払出量を予測する階層隠れ変数モデルを推定するための階層隠れ変数モデル方法であって、商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力し、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定し、入力された前記学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算し、入力された前記学習用データに基づいて、計算された変分確率に対して前記コンポーネントの各々を最適化し、前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける隠れ変数の変分確率に基づいて最適化する階層隠れ変数モデル推定方法である。
【００１２】
また、第３の例示的態様は、商品の払出量を予測する階層隠れ変数モデルを推定するための階層隠れ変数モデル推定プログラムを記録した非一時的で有形な記録媒体であって、前記階層隠れ変数モデル推定プログラムは、コンピュータに、商品の既知の払出量である目的変数と当該払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力する学習データ入力処理と、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定する階層隠れ構造設定処理と、前記学習データ入力処理によって入力された学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードにつなぐ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算する変分確率計算処理と、前記学習データ入力処理によって入力された学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化するコンポーネント最適化処理と、前記階層隠れ構造のノードにおいて多変量データに従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化する門関数最適化処理と、を実行させる一時的で有形な記録媒体である。第３の例示的態様は、その階層隠れ変数モデル推定プログラムによっても実現される。
【００１３】
また、第４の例示的態様は、商品の払出量を予測するための払出量予測装置であって、商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力する予測データ入力手段と、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおける分岐方向を決定するための門関数と、前記予測用データとに基づいて、前記払出量の予測に使用される前記コンポーネントを決定するコンポーネント決定手段と、前記コンポーネント決定手段によって決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測手段とを備える払出量予測装置である。
【００１４】
また、第５の例示的態様は、商品の払出量を予測する払出量予測方法であって、商品の前記払出量に影響を与え得る情報項目である１つ以上の説明変数である予測用データを入力し、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおける分岐方向を決定するための門関数と、前記予測用データとに基づいて、前記払出量の予測に使用される前記コンポーネントを決定し、決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測方法である。
【００１５】
また、第６の例示的態様は、商品の払出量を予測するための払出量予測プログラムが記録された非一時的で有形な記録媒体であって、払出量予測プログラムは、コンピュータに、商品の前記払出量に影響を与え得る情報項目である１つ以上の説明変数である予測用データを入力する予測用データ入力処理と、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおける分岐方向を決定するための門関数と、前記予測用データとに基づいて、前記払出量の予測に用いる前記コンポーネントを決定するコンポーネント決定処理と、前記コンポーネント決定処理によって決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測処理と、を実行させる非一時的で有形な記録媒体である。第６の例示的態様は、その払出量予測プログラムによっても実現される。
【００１６】
また、第７の例示的態様は、商品の払出量を予測するための払出量予測システムであって、商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力する学習データ入力手段と、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定する階層隠れ構造設定手段と、前記学習データ入力手段によって入力された学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である、経路隠れ変数の変分確率を計算する変分確率計算手段と、前記学習用データ入力手段によって入力された学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントを最適化するコンポーネント最適化処理手段と、前記階層隠れ構造のノードにおいて前記説明変数従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化する門関数最適化手段と、商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力する予測用データ入力手段と、前記門関数最適化手段によって最適化された前記門関数と前記予測用データとに基づいて、前記コンポーネント最適化処理手段によって最適化された前記コンポーネントのうち、前記払出量の予測に使用される前記コンポーネントを決定するコンポーネント決定手段と、前記コンポーネント決定手段によって決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測手段とを備える払出量予測システムである。
【００１７】
また、第８の例示的態様は、商品の払出量を予測するための払出量予測方法であって、商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力し、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定し、入力された前記学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である経路隠れ変数の変分確率を計算し、入力された前記学習用データに基づいて、計算された変分確率に対して前記コンポーネントの各々を最適化し、前記階層隠れ構造のノードにおいて前記説明変数従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化し、商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である、予測用データを入力し、最適化された前記門関数と前記予測用データとに基づいて、最適化された前記コンポーネントのうち前記払出量の予測に使用される前記コンポーネントを決定し、決定された前記コンポーネントと前記予測用データとに基づいて、前記払出量を予測する払出量予測方法である。
【００１８】
また、第９の例示的態様は、商品の払出量を予測するための階層隠れ変数モデルを記録した非一時的で有形な記録媒体であって、商品の既知の払出量である目的変数と前記払出量に影響を与え得る情報項目である１つ以上の説明変数との、複数の組み合わせである学習用データを入力し、隠れ変数が木構造で表され、確率モデルを表すコンポーネントが、前記木構造の最下層のノードに配置された構造である階層隠れ構造を設定し、入力された前記学習用データと前記コンポーネントとに基づいて、前記階層隠れ構造において根ノードを対象ノードとつなぐ経路に含まれる隠れ変数である、経路隠れ変数の変分確率を計算し、入力された前記学習用データに基づいて、計算された前記変分確率に対して前記コンポーネントの各々を最適化し、前記階層隠れ構造のノードにおいて前記説明変数に従って分岐方向を決定するためのモデルである門関数モデルを、前記ノードにおける前記隠れ変数の前記変分確率に基づいて最適化することによって得られる、最適化された前記コンポーネント及び最適化された前記門関数を記録した非一時的で有形な記録媒体である。
【発明の効果】
【００１９】
上記例示的態様によれば、予測モデルの分類を自動化し、かつ適切な予測モデルを用いて払出量予測を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、少なくとも１つの実施形態に係る払出量予測システムの構成例を示すブロック図である。
【図２Ａ】図２Ａは、少なくとも１つの実施形態に係る学習データベース（払出テーブル）が記憶する情報の例を示す図である。
【図２Ｂ】図２Ｂは、少なくとも１つの実施形態に係る学習データベースが記憶する情報（気象テーブル）の例を示す図である。
【図２Ｃ】図２Ｃは、少なくとも１つの実施形態に係る学習データベースが記憶する情報（顧客テーブル）の例を示す図である。
【図２Ｄ】図２Ｄは、少なくとも１つの実施形態に係る学習データベースが記憶する情報（在庫テーブル）の例を示す図である。
【図２Ｅ】図２Ｅは、少なくとも１つの実施形態に係る学習データベースが記憶する情報（店舗属性テーブル）の例を示す図である。
【図２Ｆ】図２Ｆは、少なくとも１つの実施形態に係る学習データベースが記憶する情報（日時属性テーブル）の例を示す図である。
【図２Ｇ】図２Ｇは、少なくとも１つの実施形態に係る学習データベースが記憶する情報（商品属性テーブル）の例を示す図である。
【図３】図３は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の構成例を示すブロック図である。
【図４】図４は、少なくとも１つの実施形態に係る階層隠れ変数変分確率計算処理部の構成例を示すブロック図である。
【図５】図５は、少なくとも１つの実施形態に係る門関数最適化処理部の構成例を示すブロック図である。
【図６】図６は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の動作例を示すフローチャートである。
【図７】図７は、少なくとも１つの実施形態に係る階層隠れ変数変分確率計算処理部の動作例を示すフローチャートである。
【図８】図８は、少なくとも１つの実施形態に係る門関数最適化処理部の動作例を示すフローチャートである。
【図９】図９は、少なくとも１つの実施形態に係る払出量予測装置の構成例を示すブロック図である。
【図１０】図１０は、少なくとも１つの実施形態に係る払出量予測装置の動作例を示すフローチャートである。
【図１１】図１１は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の構成例を示すブロック図である。
【図１２】図１２は、少なくとも１つの実施形態に係る階層隠れ構造最適化処理部の構成例を示すブロック図である。
【図１３】図１３は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の動作例を示すフローチャートである。
【図１４】図１４は、少なくとも１つの実施形態に係る階層隠れ構造最適化処理部の動作例を示すフローチャートである。
【図１５】図１５は、少なくとも１つの実施形態に係る門関数最適化処理部の構成例を示すブロック図である。
【図１６】図１６は、少なくとも１つの実施形態に係る門関数最適化処理部の動作例を示すフローチャートである。
【図１７】図１７は、階層隠れ変数モデル推定装置の基本構成を示すブロック図である。
【図１８】図１８は、払出量予測装置の基本構成を示すブロック図である。
【図１９】図１９は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００２１】
本明細書において、階層隠れ変数モデルとは、隠れ変数（すなわち、階層構造）が木構造を持つモデルである。その木構造の最下層のノードには、確率モデルであるコンポーネントが配置される。また、各分岐ノードには、入力に応じて分岐を振り分ける門関数が設けられている。以下の説明では、特に深さ２の階層隠れ変数モデルについて詳細に説明を行う。
【００２２】
階層構造は木構造を想定しているため、根ノードから所与のノードまでの道筋は一つに決定される。以下、階層隠れ構造において根ノードから所与のノードまで結んだときの道筋（リンク）のことを経路と記す。経路ごとに隠れ変数を辿ることによって、経路隠れ変数が決定される。例えば、最下層経路隠れ変数とは、根ノードから最下層ノードまでの経路ごとに決定される経路隠れ変数を示す。
【００２３】
以下の説明では、データ列ｘｎ（ｎ＝１，・・・，Ｎ）が入力されると仮定し、各ｘｎがＭ次元多変量データ列（ｘｎ＝ｘ１ｎ，・・・，ｘＭｎ）であるとする。データ列ｘｎのことを観測変数と記すこともある。観測変数ｘｎに対する第１層分岐隠れ変数ｚｉｎ、最下層分岐隠れ変数ｚｊ｜ｉｎ、最下層経路隠れ変数ｚｉｊｎが定義される。
【００２４】
ｚｉｎ＝１は、根ノードに入力されたｘｎが第１層第ｉノードへ分岐することを表し、ｚｉｎ＝０は、第１層第ｉノードへは分岐しないことを表している。ｚｊ｜ｉｎ＝１は、第１層第ｉノードに入力されたｘｎが第２層第ｊノードへ分岐することを表し、ｚｊ｜ｉｎ＝０は、第１層第ｉノードに入力されたｘｎが第２層第ｊノードへは分岐しないことを表している。ｚｉｊｎ＝１は、ｘｎが第１層第ｉノード、第２層第ｊノードを通ることによって辿られるコンポーネントに対応することを表し、ｚｉｊｎ＝０は、ｘｎが第１層第ｉノード、第２層第ｊノードを通ることによって辿られるコンポーネントに対応しないことを表している。
【００２５】
なお、ｉについてのｚｉｎの和は１に等しく、ｊについてのｚｊ｜ｉｎの和は１に等しく、ｚｉｊｎはｚｉｎとｚｊ｜ｉｎの積に等しいので、ｚｉｎはｊについてのｚｉｊｎの和に等しい。ｘと、最下層経路隠れ変数ｚｉｊｎの代表値であるｚとの組みは、「完全変数」と呼ばれる。対照的に、ｘは、「不完全変数」と呼ばれる。
【００２６】
完全変数に関する深さ２の階層隠れ変数モデル同時分布は、以下に示す式１で表される。
【００２７】
【数１】
0006330901.tif 000002
【００２８】
すなわち、完全変数に関する深さ２の階層隠れ変数モデル同時分布は、上に示す式１に含まれるＰ（ｘ，ｙ）＝Ｐ（ｘ，ｚ１ｓｔ，ｚ２ｎｄ）で定義される。ここで、ｚｉｎの代表値をｚ１ｓｔｎとし、ｚｊ｜ｉｎの代表値をｚ２ｎｄｎとする。さらに、第１層分岐隠れ変数ｚｉｎに対する変分分布をｑ（ｚｉｎ）とし、最下層経路隠れ変数ｚｉｊｎに対する変分分布をｑ（ｚｉｊｎ）とする。
【００２９】
上に示す式１において、Ｋ１は、第１層のノード数を表し、Ｋ２は、第１層のノードそれぞれから分岐するノード数を表す。最下層のコンポーネントは、Ｋ１Ｋ２で表される。また、ｆ＝（ｂ，ｂ１，・・・，ｂＫ１，ｈ１，・・・，ｈＫ１Ｋ２）が、モデルのパラメータを表す。ここで、ｂは、根ノードの分岐パラメータであり、ｂｋは、第１層第ｋノードの分岐パラメータであり、ｈｋは、ｋ番目のコンポーネントに対する観測パラメータである。
【００３０】
また、Ｓ１,・・・,ＳＫ１Ｋ２は、ｈｋに対応する観測確率の種類を表すとする。例えば、多変量データ生成確率の場合、Ｓ１〜ＳＫ１Ｋ２になり得る候補は、｛正規分布、対数正規分布、指数分布｝などである。また、例えば、多項曲線が出力される場合、Ｓ１〜ＳＫ１Ｋ２になり得る候補は、｛０次曲線、１次曲線、２次曲線、３次曲線｝などである。
【００３１】
以下の説明において、具体的な例として、深さ２の階層隠れ変数モデルが用いられる。しかし、少なくとも１つの実施形態に係る階層隠れ変数モデルは、深さ２の階層隠れ変数モデルに限定されず、深さが１又は３以上の階層隠れ変数モデルであってもよいことに留意する。この場合も、深さ２の階層隠れ変数モデルの場合と同様に、上に示す式１、及び、以下に示す式２から４は、深さ２の階層隠れ変数モデルの場合と同様に導出でき、推定装置は、同様の構成によって実現できる。
【００３２】
以下では、ターゲット変数をＸとした場合の分布について説明するが、回帰又は判別のように、観測分布が条件付モデルＰ（Ｙ｜Ｘ）（Ｙはターゲットとなる確率変数）である場合も適用可能である。
【００３３】
また、実施形態について説明する前に、実施形態に係る推定装置と、「Factorized Asymptotic Bayesian Inference for Mixture Modeling」（非特許文献１）及び国際公開第２０１２／１２８２０７号（特許文献３）に記載されている混合隠れ変数モデルのための推定方法との本質的な違いを説明する。
【００３４】
非特許文献１及び特許文献３に記載されている方法では、隠れ変数を各コンポーネントのインジケータとする一般的な混合モデルが想定され、最適化の基準が、非特許文献１及び特許文献３の式１０のように導出される。しかし、フィッシャー情報行列が非特許文献１及び特許文献３の式６の形式で与えられているように、非特許文献１及び特許文献３に記載された方法では、コンポーネントのインジケータである隠れ変数の確率分布が混合モデルの混合比にのみ依存すると仮定されている。そのため、入力に応じたコンポーネントの切り替えが実現できず、この最適化基準は、適切でない。
【００３５】
上で述べた問題を解決するためには、以下の実施形態で示すように、階層的な隠れ変数を設定し、適切な最適化基準を用いて計算する必要がある。以下の実施形態では、適切な最適化基準として、入力に応じて各分岐ノードにおいて分岐を振り分けるための多段の特異モデルを想定する。
【００３６】
以下では、図面を参照して実施形態を説明する。
【００３７】
第１の実施形態
図１は、少なくとも１つの実施形態に係る払出量予測システムの構成例を示すブロック図である。本実施形態に係る払出量予測システム１０は、階層隠れ変数モデル推定装置１００と、学習データベース３００と、モデルデータベース５００と、払出量予測装置７００とを備える。払出量予測システム１０は、商品の過去の払出に係る情報に基づいて払出量の予測に用いるモデルを生成し、そのモデルを用いて払出量の予測を行う。
【００３８】
階層隠れ変数モデル推定装置１００は、学習データベース３００に格納されているデータを用いて、商品の払出量を予測するためのモデルを推定し、そのモデルをモデルデータベース５００に格納する。
【００３９】
図２Ａから２Ｇは、少なくとも１つの実施形態に係る学習データベース３００が記憶する情報の例を示す図である。
学習データベース３００は、商品及び店舗に関するデータを記録する。
【００４０】
詳しくは、学習データベース３００は、商品の払出に関連するデータを記憶する払出テーブルを記憶する。図２Ａに示すように、払出テーブルは、日時、商品ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）、店舗ＩＤ、及び、顧客ＩＤの組み合わせに関連して、商品の売上数、単価、小計、レシート番号を格納する。顧客ＩＤは、顧客を一意に識別するための情報であり、例えば会員カード又はポイントカードの提示により、特定される。
【００４１】
加えて、学習データベース３００は、気象に関連するデータを記憶するための気象テーブルを記憶する。気象テーブルは、図２Ｂに示すように、日時に関連して、気温、その日の最高気温、その日の最低気温、降水量、天気、及び、不快指数などを格納する。
【００４２】
加えて、学習データベース３００は、商品を購入した顧客に関連するデータを記憶するための顧客テーブルを記憶する。顧客テーブルは、図２Ｃに示すように、顧客ＩＤに関連して、年齢、住所、及び、家族構成員などを格納する。本実施形態においては、これらの情報項目は、会員カード又はポイントカードの登録の際に記録される。
【００４３】
学習データベース３００は、商品の在庫数に関連するデータを記憶するための在庫テーブルを記憶する。在庫テーブルは、図２Ｄに示すように、日時と商品ＩＤの組み合わせに関連して、在庫数、前回の在庫数からの増減値を格納する。
【００４４】
学習データベース３００は、店舗に関連するデータを記憶するための店舗属性テーブルを記憶する。店舗属性テーブルは、図２Ｅに示すように、店舗ＩＤに関連して、店舗名、住所、種類、広さ、及び、駐車場の数を含む。店舗の種類の例は、駅前に位置する駅前タイプ、住宅地に位置する住宅地タイプ、及び、ガソリンスタンド等の他の施設との複合である混合型タイプを含む。
【００４５】
加えて、学習データベース３００は、日付に関連するデータを記憶するための日付属性テーブルを記憶する。日付属性テーブルは、図２Ｆに示すように、日付に関連して、その日付の属性を示す情報種別及び値と、商品ＩＤと、店舗ＩＤとを格納する。情報種別の例は、祝日、促進販売の日付、及び、店舗の近くで開催されるイベントなどを含む。日付属性テーブルの値は、１又は０である。日付属性テーブルの値が１である場合、その値に関連付けられている日付の属性が、その値に関連付けられている情報種別によって表される属性を含む。また、値が０である場合、その値に関連付けられている日時が、その値に関連付けられている情報種別が表す属性を含まない。その値は、その値に関連付けられている日付が、その値に関連付けられている情報種別が表す属性を有していないことを表す。加えて、商品ＩＤ及び店舗ＩＤは、情報種別の種類によって、必須であってもそうではなくてもよい。例えば、情報種別が販売促進を示す場合、どの商品が販売促進中であるか及びどの店舗においてかを示す必要があり、そのため、商品ＩＤ及び店舗ＩＤは必須な項目である。他方、情報種別が祝日を示す場合、その日が祝日であるという事実は、店舗及び商品の種別と関係がないため、商品ＩＤ及び店舗ＩＤは必須な項目ではない。
【００４６】
加えて、学習データベース３００は、商品に関連するデータを記憶するための商品属性テーブルを記憶する。商品属性テーブルは、図２Ｇに示すように、商品ＩＤに関連して、商品名、商品の大分類、それの中分類、それの小分類、単価、及び、原価などを記憶する。
【００４７】
モデルデータベース５００は、階層隠れ変数モデル推定装置によって推定された、商品の払出量を予測するためのモデルを記憶する。モデルデータベース５００は、ハードディスクドライブ又はソリッドステートドライブなどの、一時的でない有形の媒体によって構成される。
【００４８】
払出量予測装置７００は、商品及び店舗に関連するデータを受信し、そのデータとモデルデータベース５００に格納されたモデルとに基づいて、商品の払出量を予測する。
【００４９】
図３は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の構成例を示すブロック図である。本実施形態の階層隠れ変数モデル推定装置１００は、データ入力装置１０１と、階層隠れ構造設定部１０２と、初期化処理部１０３と、階層隠れ変数変分確率計算処理部１０４と、コンポーネント最適化処理部１０５と、門関数最適化処理部１０６と、最適性判定処理部１０７と、最適モデル選択処理部１０８と、モデル推定結果出力装置１０９とを備える。
【００５０】
階層隠れ変数モデル推定装置１００は、学習データベース３００に格納されているデータに基づいて生成された入力データ１１１の入力の後、その入力データ１１１に対して階層隠れ構造及び観測確率の種類を最適化し、最適化した結果をモデル推定結果１１２として出力し、モデルデータベース５００に格納する。本実施形態における入力データ１１１は、学習用データの一例である。
【００５１】
図４は、少なくとも１つの実施形態に係る階層隠れ変数変分確率計算処理部１０４の構成例を示すブロック図である。階層隠れ変数変分確率計算処理部１０４は、最下層経路隠れ変数変分確率計算処理部１０４−１と、階層設定部１０４−２と、上層経路隠れ変数変分確率計算処理部１０４−３と、階層計算終了判定処理部１０４−４を含む。
【００５２】
階層隠れ変数変分確率計算処理部１０４は、入力データ１１１と、後述するコンポーネント最適化処理部１０５によって推定されたモデル１０４−５との入力の後、階層隠れ変数変分確率１０４−６を出力する。階層隠れ変数変分確率計算処理部１０４は後で詳細に説明される。本実施形態におけるコンポーネントは、各説明変数に係る重みである。払出量予測装置７００は、そのコンポーネントが示す重みを乗算することによって得られる説明変数の総和を計算することによって、目的変数を得ることができる。
【００５３】
図５は、少なくとも１つの実施形態に係る門関数最適化処理部１０６の構成例を示すブロック図である。門関数最適化処理部１０６は、分岐ノード情報取得部１０６−１と、分岐ノード選択処理部１０６−２と、分岐パラメータ最適化処理部１０６−３と、全分岐ノード最適化終了判定処理部１０６−４とを含む。
【００５４】
門関数最適化処理部１０６は、入力データ１１１と、後述する階層隠れ変数変分確率計算処理部１０４によって計算された階層隠れ変数変分確率１０４−６と、コンポーネント最適化処理部１０５によって推定されたモデル１０４−５との入力の後、門関数モデル１０６−６を出力する。門関数最適化処理部１０６は後で詳細に説明される。本実施形態における門関数は、入力データ１１１に含まれる情報が所定の条件を満たすか否かを決定するための関数である。加えて、門関数は、階層隠れ構造の内部ノードに対応して設けられる。払出量予測装置７００は、階層隠れ構造のノードをたどる際、門関数の決定された結果に従って、次にたどるノードを決定する。
【００５５】
データ入力装置１０１は、入力データ１１１を入力するための装置である。データ入力装置１０１は、学習データベース３００の払出テーブルに記録されたデータに基づいて、所定の時間範囲（例えば、１時間又は６時間）毎の、商品の既知の払出量を示す目的変数を生成する。目的変数として、例えば、１つの店舗における１つの商品の所定の時間範囲毎の売上数、全店舗における１つの商品の所定の時間範囲毎の売上数、１つの店舗における全商品の所定の時間範囲毎の販売価格などを用いることができる。加えて、データ入力装置１０１は、学習データベース３００の気象テーブル、顧客テーブル、店舗属性テーブル、日時属性テーブル、及び、商品属性テーブルに記録されたデータに基づいて、目的変数ごとに、その目的変数に影響を与え得る情報である、１つ以上の説明変数を生成する。データ入力装置１０１は、目的変数と説明変数との複数の組み合わせを、入力データ１１１として入力する。データ入力装置１０１は、入力データ１１１を入力する際、観測確率の種類とコンポーネント数との候補などの、モデル推定に必要なパラメータを同時に入力する。本実施形態において、データ入力装置１０１は、学習用データ入力部の一例である。
【００５６】
階層隠れ構造設定部１０２は、観測確率の種類及びコンポーネント数の、入力された候補から、最適化の候補として、階層隠れ変数モデルの構造を、選択し設定する。本実施形態で用いられる隠れ構造は、木構造である。以下では、設定されたコンポーネント数をＣと表記し、説明に用いられる数式は、深さが２の階層隠れ変数モデルに関連する。なお、階層隠れ構造設定部１０２は、選択された階層隠れ変数モデルの構造を内部のメモリに記憶してもよい。
【００５７】
例えば、２分木モデル（各分岐ノードが２つの分岐を持つモデル）の深さが２の木構造の場合、階層隠れ構造設定部１０２は、２つの第一階層ノードと、４つの第二階層ノード（本実施形態では、最下層ノード）とを持つ階層隠れ構造を選択する。
【００５８】
初期化処理部１０３は、階層隠れ変数モデルを推定するための初期化処理を実施する。初期化処理部１０３は、初期化処理を任意の方法によって実行できる。初期化処理部１０３は、例えば、観測確率の種類をコンポーネントごとにランダムに設定し、設定された種類にしたがって、各観測確率のパラメータをランダムに設定してもよい。さらに、初期化処理部１０３は、階層隠れ変数の最下層経路変分確率をランダムに設定してもよい。
【００５９】
階層隠れ変数変分確率計算処理部１０４は、階層ごとに経路隠れ変数の変分確率を計算する。パラメータｆは、初期化処理部１０３によって、または、コンポーネント最適化処理部１０５および門関数最適化処理部１０６によって計算される。そのため、階層隠れ変数変分確率計算処理部１０４は、そのパラメータｆを使用して変分確率を計算する。
【００６０】
階層隠れ変数変分確率計算処理部１０４は、周辺化対数尤度関数を完全変数に対する推定量（例えば、最尤推定量や最大事後確率推定量）に関してラプラス近似し、そして、その下界を最大化することによって、変分確率を計算する。以下、そのような計算された変分確率を最適化基準Ａと呼ぶ。
【００６１】
以下では、最適化基準Ａを計算する手順を、深さが２の階層隠れ変数モデルを例として使用して説明する。周辺化対数尤度は、以下に示す式２によって与えられ、ここではｌｏｇは例えば自然対数関数である。自然対数の代わりに、底がネイピア数ではない他の対数関数も適用できる。
【００６２】
【数２】
0006330901.tif 000003
【００６３】
まず、上に示す式２によって与えられる周辺化対数尤度の下界を考える。式２では、最下層経路隠れ変数変分確率ｑ（ｚＮ）が最大化された場合、等号が成立する。分子における、完全変数の周辺化尤度を、完全変数に対する最尤推定量を用いてラプラス近似することによって、以下の式３に示す周辺化対数尤度関数の近似式がもたらされる。
【００６４】
【数３】
0006330901.tif 000004
【００６５】
式３において、上付きのバーは、完全変数に対する最尤推定量を表し、Ｄ＊は、下付きのパラメータ＊の次元を表す。
【００６６】
次に、最尤推定量の、対数尤度関数を最大化する性質と、対数関数が凹関数である事実との使用によって、式３の下界は、以下に示す式４に従って計算される。
【００６７】
【数４】
0006330901.tif 000005
【００６８】
第１層分岐隠れ変数の変分分布ｑ’及び、最下層経路隠れ変数の変分分布ｑ’’は、変分分布について式４を最大化することによってそれぞれ得られる。ここでは、ｑ’’及びｆは、ｑ’’＝ｑ（ｔ−１）、及び、ｆ＝ｆ（ｔ−１）となるように固定され、ｑ’は、以下の式Ａに示す値に固定される。
【００６９】
【数５】
0006330901.tif 000006
【００７０】
ただし、上付きの（ｔ）は、階層隠れ変数変分確率計算処理部１０４、コンポーネント最適化処理部１０５、門関数最適化処理部１０６、最適性判定処理部１０７の繰り返し計算におけるｔ回目の繰り返しを表す。
【００７１】
以下では、階層隠れ変数変分確率計算処理部１０４の動作を、図４を参照して説明する。
【００７２】
最下層経路隠れ変数変分確率計算処理部１０４−１は、入力データ１１１と推定モデル１０４−５との入力を受け取り、最下層隠れ変数変分確率ｑ（ｚＮ）を計算する。階層設定部１０４−２は、最下層を、変分確率計算対象として設定する。詳しくは、最下層経路隠れ変数変分確率計算処理部１０４−１は、入力データ１１１の目的変数と説明変数との組み合わせ毎に、各推定モデル１０４−５の変分確率を計算する。変分確率の計算は、推定モデル１０４−５に入力データ１１１の説明変数を代入することによって得られる解と入力データ１１１の目的変数とを比較することで行う。
【００７３】
上層経路隠れ変数変分確率計算処理部１０４−３は、一つ上の層の経路隠れ変数変分確率を計算する。詳しくは、上層経路隠れ変数変分確率計算処理部１０４−３は、同じ分岐ノードを親として持つ現在の層の隠れ変数変分確率の和を計算し、その和を一つ上の層の経路隠れ変数変分確率とする。
【００７４】
階層計算終了判定処理部１０４−４は、変分確率が計算される層が上にまだ存在するか否かを判定する。階層計算終了判定処理部１０４−４が、上の層が存在すると判定した場合、階層設定部１０４−２は、一つ上の層を、変分確率計算対象として設定する。その後、上層経路隠れ変数変分確率計算処理部１０４−３および階層計算終了判定処理部１０４−４は、上述の処理を繰り返す。階層計算終了判定処理部１０４−４が、上の層がないと判定した場合、階層計算終了判定処理部１０４−４は、すべての階層について経路隠れ変数変分確率が計算されたと決定する。
【００７５】
コンポーネント最適化処理部１０５は、上記の式４に対して各コンポーネントのモデル（パラメータｆおよび種類Ｓ）を最適化し、最適化されたモデル１０４−５を出力する。深さが２の階層隠れ変数モデルの場合、コンポーネント最適化処理部１０５は、ｑおよびｑ’’を、階層隠れ変数変分確率計算処理部１０４によって計算された最下層経路隠れ変数変分確率ｑ（ｔ）に固定し、ｑ’を、上に示す式Ａによって表される上層経路隠れ変数変分確率に固定する。コンポーネント最適化処理部１０５は、式４におけるＧの値を最大化するためのモデルを計算する。
【００７６】
式４により定義されるＧは、コンポーネントごとに最適化関数を分解することが可能である。そのため、コンポーネントの種類の組み合わせ（例えば、Ｓ１からＳＫ１Ｋ２のどの種類を指定するか）を考慮に入れることなく、Ｓ１からＳＫ１Ｋ２及びパラメータｈ１からｈＫ１Ｋ２を別々に最適化できる。このように最適化できる特性が、この処理において重要である。これにより、組み合わせ爆発を回避しながら、コンポーネントの種類を最適化できる。
【００７７】
以下では、図５を参照して、門関数最適化処理部１０６の動作を説明する。分岐ノード情報取得部１０６−１は、コンポーネント最適化処理部１０５によって推定されたモデル１０４−５を用いて、分岐ノードリストを抽出する。分岐ノード選択処理部１０６−２は、抽出された分岐ノードリストから、１つの分岐ノードを選択する。以下、選択されたノードのことを選択ノードと記すこともある。
【００７８】
分岐パラメータ最適化処理部１０６−３は、入力データ１１１と、階層隠れ変数変分確率１０４−６から得られる選択ノードについての隠れ変数変分確率とを用いて、選択ノードの分岐パラメータを最適化する。選択ノードの分岐パラメータは、上述の門関数に対応する。
【００７９】
全分岐ノード最適化終了判定処理部１０６−４は、分岐ノード情報取得部１０６−１によって抽出されたすべての分岐ノードが最適化されたか否かを判定する。すべての分岐ノードが最適化されている場合、門関数最適化処理部１０６は、ここでの処理を終了する。一方、すべての分岐ノードが最適化されてはいない場合、分岐ノード選択処理部１０６−２はその処理を行い、その後、分岐パラメータ最適化処理部１０６−３および全分岐ノード最適化終了判定処理部１０６−４は、それぞれの処理を行う。
【００８０】
門関数の具体例を、２分木の階層モデルに対するベルヌーイ分布に基づく門関数を使用して説明する。以下では、ベルヌーイ分布に基づく門関数を、ベルヌーイ門関数とも表記する。ｘの第ｄ次元をｘｄとし、この値がある閾値ｗを超えないときに２分木の左下へ分岐する確率をｇ−とし、この値が閾値ｗを超えるときに２分木の左下へ分岐する確率をｇ＋とする。分岐パラメータ最適化処理部１０６−３は、上記最適化パラメータｄ、ｗ、ｇ−、ｇ＋をベルヌーイ分布に基づいて最適化する。
【００８１】
最適性判定処理部１０７は、上に示す式４を用いて計算される最適化基準Ａが収束したか否かを判定する。最適化基準Ａが収束していない場合、階層隠れ変数変分確率計算処理部１０４、コンポーネント最適化処理部１０５、門関数最適化処理部１０６および最適性判定処理部１０７による処理が繰り返される。最適性判定処理部１０７は、例えば、最適化基準Ａの増加量が所定の閾値未満である場合に、最適化基準Ａが収束したと判定してもよい。
【００８２】
以下では、階層隠れ変数変分確率計算処理部１０４、コンポーネント最適化処理部１０５、門関数最適化処理部１０６および最適性判定処理部１０７による処理は、また、階層隠れ変数変分確率計算処理部１０４から最適性判定処理部１０７による処理と、まとめて表記する。階層隠れ変数変分確率計算処理部１０４から最適性判定処理部１０７による処理が、繰り返し行われ、変分分布とモデルが更新され、その結果として、適切なモデルを選択できる。なお、これらの処理を繰り返すことにより、最適化基準Ａが単調に増加することが保証される。
【００８３】
最適モデル選択処理部１０８は、最適なモデルを選択する。詳しくは、階層隠れ構造設定部１０２によって設定された隠れ状態の数Ｃに対して、階層隠れ変数変分確率計算処理部１０４から最適性判定処理部１０７による処理の結果として計算される最適化基準Ａが、現在設定されている最適化基準Ａよりも大きい場合、最適モデル選択処理部１０８は、そのモデルを最適なモデルとして選択する。
【００８４】
モデル推定結果出力装置１０９は、入力された観測確率の種類及びコンポーネント数の候補から設定される階層隠れ変数モデルの構造の候補についてモデル最適化が完了した場合、最適な隠れ状態の数、観測確率の種類、パラメータ、及び、変分分布などを、モデル推定結果出力結果１１２として出力する。一方、最適化の済んでいない候補が存在する場合、手順は階層隠れ構造設定部１０２の処理に進み、上述する処理が同様に行われる。
【００８５】
階層隠れ構造設定部１０２と、初期化処理部１０３と、階層隠れ変数変分確率計算処理部１０４（更に具体的には、最下層経路隠れ変数変分確率計算処理部１０４−１と、階層設定部１０４−２と、上層経路隠れ変数変分確率計算処理部１０４−３と、階層計算終了判定処理部１０４−４）と、コンポーネント最適化処理部１０５と、門関数最適化処理部１０６（更に具体的には、分岐ノード情報取得部１０６−１と、分岐ノード選択処理部１０６−２と、分岐パラメータ最適化処理部１０６−３と、全分岐ノード最適化終了判定処理部１０６−４）と、最適性判定処理部１０７と、最適モデル選択処理部１０８とは、プログラム（階層隠れ変数モデルの推定プログラム）に従って動作するコンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現される。
【００８６】
例えば、プログラムは、ＣＰＵを備える階層隠れ変数モデル推定装置１００の記憶部（示されない）に記憶されてもよく、そのＣＰＵは、そのプログラムを読み、そのプログラムに従って、階層隠れ構造設定部１０２、初期化処理部１０３、階層隠れ変数変分確率計算処理部１０４（更に具体的には、最下層経路隠れ変数変分確率計算処理部１０４−１と、階層設定部１０４−２と、上層経路隠れ変数変分確率計算処理部１０４−３と、階層計算終了判定処理部１０４−４）、コンポーネント最適化処理部１０５、門関数最適化処理部１０６（更に具体的には、分岐ノード情報取得部１０６−１と、分岐ノード選択処理部１０６−２と、分岐パラメータ最適化処理部１０６−３と、全分岐ノード最適化終了判定処理部１０６−４）、最適性判定処理部１０７および最適モデル選択処理部１０８として動作する。
【００８７】
かわりに、階層隠れ構造設定部１０２と、初期化処理部１０３と、階層隠れ変数変分確率計算処理部１０４と、コンポーネント最適化処理部１０５と、門関数最適化処理部１０６と、最適性判定処理部１０７と、最適モデル選択処理部１０８とは、それぞれが専用のハードウェアで実現されていてもよい。
【００８８】
以下では、本実施形態の階層隠れ変数モデル推定装置の動作を説明する。図６は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の動作例を示すフローチャートである。
【００８９】
まず、データ入力装置１０１は、入力データ１１１を入力する（ステップＳ１００）。次に、階層隠れ構造設定部１０２は、入力された階層隠れ構造の候補値から、まだ最適化されていない階層隠れ構造を選択し、設定する（ステップＳ１０１）。次に、初期化処理部１０３は、設定された階層隠れ構造に対して、推定に用いられるパラメータ及び隠れ変数変分確率の初期化処理を行う（ステップＳ１０２）。
【００９０】
次に、階層隠れ変数変分確率計算処理部１０４は、各経路隠れ変数の変分確率を計算する（ステップＳ１０３）。次に、コンポーネント最適化処理部１０５は、観測確率の種類とパラメータを推定することにより、各コンポーネントを最適化する（ステップＳ１０４）。
【００９１】
次に、門関数最適化処理部１０６は、各分岐ノードにおける分岐パラメータを最適化する（ステップＳ１０５）。次に、最適性判定処理部１０７は、最適化基準Ａが収束したか否かを判定する（ステップＳ１０６）。すなわち、最適性判定処理部１０７は、モデルの最適性を判定する。
【００９２】
ステップＳ１０６において、最適化基準Ａが収束したと判定されなかった場合、すなわち、モデルが最適ではないと判定された場合（ステップＳ１０６ａ：Ｎｏ）、ステップＳ１０３からステップＳ１０６の処理が繰り返される。
【００９３】
一方、ステップＳ１０６において、最適化基準Ａが収束したと判定された場合、すなわち、モデルが最適であると判定された場合（ステップＳ１０６ａ：Ｙｅｓ）、最適モデル選択処理部１０８は、現在設定されている最適なモデル（例えば、コンポーネント数、観測確率の種類、パラメータ）に従った最適化基準Ａと、最適なモデルとして現在設定されているモデルに従った最適化基準Ａの値を比較し、値の大きいモデルを最適なモデルとして選択する（ステップＳ１０７）。
【００９４】
次に、最適モデル選択処理部１０８は、推定されていない階層隠れ構造の候補が残っているか否かを判定する（ステップＳ１０８）。候補が残っている場合（ステップＳ１０８：Ｙｅｓ）、ステップＳ１０２からステップＳ１０８の処理が繰り返される。一方、候補が残っていない場合（ステップＳ１０８：Ｙｅｓ）、モデル推定結果出力装置１０９は、モデル推定結果を出力し、処理を終了する（ステップＳ１０９）。すなわち、モデル推定結果出力装置１０９は、コンポーネント最適化処理部１０５によって最適化されたコンポーネントと、門関数最適化処理部１０６によって最適化された門関数とを、モデルデータベース５００に記録する。
【００９５】
以下では、本実施形態の階層隠れ変数変分確率計算処理部１０４の動作を説明する。図７は、少なくとも１つの実施形態に係る階層隠れ変数変分確率計算処理部１０４の動作例を示すフローチャートである。
【００９６】
まず、最下層経路隠れ変数変分確率計算処理部１０４−１は、最下層経路隠れ変数変分確率を計算する（ステップＳ１１１）。次に、階層設定部１０４−２は、どの層まで経路隠れ変数を計算したか設定する（ステップＳ１１２）。次に、上層経路隠れ変数変分確率計算処理部１０４−３は、階層設定部１０４−２によって設定された層の経路隠れ変数変分確率を用いて、１つ上の層の経路隠れ変数変分確率を計算する（ステップＳ１１３）。
【００９７】
次に、階層計算終了判定処理部１０４−４は、経路隠れ変数が計算されていない層が残っているか否かを判定する（ステップＳ１１４）。経路隠れ変数が計算されていない層が残っている場合（ステップＳ１１４：Ｎｏ）、ステップＳ１１２からステップＳ１１３の処理が繰り返される。一方、経路隠れ変数が計算されていない層が残っていない場合、階層隠れ変数変分確率計算処理部１０４は、処理を終了する。
【００９８】
以下では、本実施形態の門関数最適化処理部１０６の動作を説明する。図８は、少なくとも１つの実施形態に係る門関数最適化処理部１０６の動作例を示すフローチャートである。
【００９９】
まず、分岐ノード情報取得部１０６−１は、すべての分岐ノードを認識する（ステップＳ１２１）。次に、分岐ノード選択処理部１０６−２は、１つの分岐ノードを最適化の対象として選択する（ステップＳ１２２）。次に、分岐パラメータ最適化処理部１０６−３は、選択された分岐ノードにおける分岐パラメータを最適化する（ステップＳ１２３）。
【０１００】
次に、全分岐ノード最適化終了判定処理部１０６−４は、最適化されていない分岐ノードが残っているか否かを判定する（ステップＳ１２４）。最適化されていない分岐ノードが残っている場合、ステップＳ１２２からステップＳ１２３の処理が繰り返される。一方、最適化されていない分岐ノードが残っていない場合、門関数最適化処理部１０６は、処理を終了する。
【０１０１】
上述のように、本実施形態によれば、階層隠れ構造設定部１０２が、階層隠れ構造を設定する。ここで、階層隠れ構造は、隠れ変数が木構造で表された構造であり、確率モデルを表すコンポーネントがその木構造の最下層のノードに配置される。
【０１０２】
そして、階層隠れ変数変分確率計算処理部１０４が、経路隠れ変数の変分確率（すなわち、最適化基準Ａ）を計算する。階層隠れ変数変分確率計算処理部１０４は、木構造の各階層の隠れ変数の変分確率を、最下層のノードから順に計算してもよい。例えば、階層隠れ変数変分確率計算処理部１０４は、周辺化対数尤度を最大化する変分確率を計算してもよい。
【０１０３】
これに伴って、コンポーネント最適化処理部１０５が、計算された変分確率に対してコンポーネントを最適化し、門関数最適化処理部１０６が、階層隠れ構造のノードにおける隠れ変数の変分確率に基づく門関数モデルを最適化する。なお、門関数モデルは、階層隠れ構造のノードにおいて多変量データに従って分岐方向を決定するためのモデルである。
【０１０４】
多変量データに対する階層隠れ変数モデルは、上述の構成によって推定されるため、理論的な正当性を失うことなく、適切な計算量で、階層的な隠れ変数を含む階層隠れ変数モデルを推定でき、階層隠れ変数問題のモデル選択問題も解決できる。加えて、階層隠れ変数モデル推定装置１００を用いることによって、コンポーネントを分けるための適切な基準を人手で設定する必要はない。
【０１０５】
階層隠れ構造設定部１０２が、隠れ変数が２分木構造で表される階層隠れ構造を設定してもよく、そこでは、門関数最適化処理部１０６が、ノードにおける隠れ変数の変分確率に基づいて、ベルヌーイ分布に基づく門関数モデルを最適化する。この場合、各パラメータが解析解を持ち、それはより高速な最適化に寄与する。
【０１０６】
これらの処理によって、階層隠れ変数モデル推定装置１００は、気温が低い時や高い時によく売るパターン、午前や午後によく売るパターン、週明けや週末によく売るパターンなどに、コンポーネントを分類できる。
【０１０７】
本実施形態の払出量予測装置について説明する。図９は、少なくとも１つの実施形態に係る払出量予測装置の構成例を示すブロック図である。
【０１０８】
払出量予測装置７００は、データ入力装置７０１と、モデル取得部７０２と、コンポーネント決定部７０３と、払出量予測部７０４と、予測結果出力装置７０５とを含む。
【０１０９】
データ入力装置７０１は、払出量に影響を与え得る情報である１つ以上の説明変数を、入力データ７１１として入力する。入力データ７１１を構成する説明変数の種類は、入力データ１１１の説明変数と同じ種類である。本実施形態において、データ入力装置７０１は、予測データ入力部の一例である。
【０１１０】
モデル取得部７０２は、払出量の予測に用いられるモデルとして、モデルデータベース５００から門関数又はコンポーネントを取得する。当該門関数は、門関数最適化処理部１０６によって最適化されている。加えて、コンポーネントは、コンポーネント最適化処理部１０６によって最適化されている。
【０１１１】
コンポーネント決定部７０３は、データ入力装置７０１によって入力された入力データ７１１とモデル取得部７０２が取得した門関数とに基づいて、階層隠れ構造をたどる。そして、コンポーネント決定部７０３は、払出量の予測に用いるコンポーネントに、階層隠れ構造の最下層のノードに関連付けられたコンポーネントを決定する。
【０１１２】
払出量予測部７０４は、コンポーネント決定部７０３によって決定されたコンポーネントに、データ入力装置７０１が入力した入力データ７１１を代入することによって、払出量を予測する。
【０１１３】
予測結果出力装置７０５は、払出量予測部７０４によって得られた、払出量の予測結果７１２を出力する。
【０１１４】
次に、本実施形態の払出量予測装置の動作を説明する。図１０は、少なくとも１つの実施形態に係る払出量予測装置の動作例を示すフローチャートである。
【０１１５】
まず、データ入力装置７０１は、入力データ項目７１１を入力する（ステップＳ１３１）。データ入力装置７０１は、１つの入力データ項目７１１のみではなく、複数の入力データ項目７１１を入力してもよい。例えば、データ入力装置７０１は、所与の店舗におけるその日の各所与の時点の入力データ項目７１１を入力しても良い。データ入力装置７０１が複数の入力データ項目７１１を入力する場合、払出量予測部７０４は、入力データ項目７１１毎の払出量を予測する。次に、モデル取得部７０２は、モデルデータベース５００から門関数及びコンポーネントを取得する（ステップＳ１３２）。
【０１１６】
次に、払出量予測装置は、入力データ７１１を１つずつ選択し、選択した入力データ７１１についての、ステップＳ１３４からステップＳ１３６の処理を実行する（ステップＳ１３３）。
【０１１７】
まず、コンポーネント決定部７０３は、モデル取得部７０２が取得した門関数に基づいて、階層隠れ構造の根ノードから最下層のノードまでたどることで、払出量の予測のために用いられるコンポーネントを決定する（ステップＳ１３４）。詳しくは、コンポーネント決定部７０３は、以下の手順でコンポーネントを決定する。
【０１１８】
コンポーネント決定部７０３は、階層隠れ構造のノードの各々について、ノードに関連付けられた門関数を読み出す。次に、コンポーネント決定部７０３は、入力データ７１１が、読み出された門関数を満たすか否かを判定する。次に、コンポーネント決定部７０３は、判定結果に基づいて次にたどる子ノードを決定する。コンポーネント決定部７０３は、払出量の予測に用いるコンポーネントに、その処理により階層隠れ構造のノードをたどることによって最下層のノードに到達した場合、そのノードに関連付けられたコンポーネントを決定する。
【０１１９】
ステップＳ１３４においてコンポーネント決定部７０３が払出量の予測のために用いられるコンポーネントを決定した場合、払出量予測部７０４は、ステップＳ１３３において選択された入力データ７１１をそのコンポーネントに代入することによって、払出量を予測する（ステップＳ１３５）。そして、予測結果出力装置７０５は、払出量予測部７０５による払出量の予測結果７１２を出力する（ステップＳ１３６）。
【０１２０】
払出量予測装置７００は、ステップＳ１３４〜ステップＳ１３６の処理をすべての入力データ７１１について実行し、処理を完了する。
【０１２１】
上述のように、本実施形態によれば、払出量予測装置７００は、門関数による適切なコンポーネントを用いることによって、優れた精度で払出量の予測を行うことができる。特に、当該門関数及びコンポーネントは、階層隠れ変数モデル推定装置１００によって理論的な正当性を失うことなく推定されるので、払出量予測装置７００は、適切な基準によって分類されたコンポーネントを用いて払出量の予測を行うことができる。
【０１２２】
第２の実施形態
次に、払出量予測システムの第２の実施形態について説明する。本実施形態に係る払出量予測システムは、階層隠れ変数モデル推定装置１００が階層隠れ変数モデル推定装置２００に置き換えられているということのみにおいて、払出量予測システム１０と相違する。
【０１２３】
図１１は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置の構成例を示すブロック図である。なお、第１の実施形態のものと同様の構成には、図３におけるものと同一の符号を付与され、それらの説明は省略される。本実施形態の階層隠れ変数モデル推定装置２００は、階層隠れ構造最適化処理部２０１が接続され、最適モデル選択処理部１０８が接続されていないことのみにおいて、階層隠れ変数モデル推定装置１００と相違する。
【０１２４】
第１の実施形態では、階層隠れ変数モデル推定装置１００が、階層隠れ構造の候補に対してコンポーネント及び門関数のモデルを最適化し、最適化基準Ａを最適化するための階層隠れ構造を選択する。一方、本実施形態の階層隠れ変数モデル推定装置２００では、階層隠れ変数変分確率計算処理部１０４による処理の後に、階層隠れ構造最適化処理部２０１が、隠れ変数が減少した経路をモデルから除去する処理が追加される。
【０１２５】
図１２は、少なくとも１つの実施形態に係る階層隠れ構造最適化処理部２０１の構成例を示すブロック図である。階層隠れ構造最適化処理部２０１は、経路隠れ変数和演算処理部２０１−１と、経路除去判定処理部２０１−２と、経路除去実行処理部２０１−３とを含む。
【０１２６】
経路隠れ変数和演算処理部２０１−１は、階層隠れ変数変分確率１０４−６の入力を受信し、各コンポーネントにおける最下層経路隠れ変数変分確率の和（以下、サンプル和と記す）を計算する。
【０１２７】
経路除去判定処理部２０１−２は、サンプル和が所定の閾値ｅ以下であるか否かを判定する。ここで、ｅは、入力データ１１１と共に入力される閾値である。詳しくは、経路除去判定処理部２０１−２によって判定される条件は、例えば、以下の式５によって表すことができる。
【０１２８】
【数６】
0006330901.tif 000007
【０１２９】
すなわち、経路除去判定処理部２０１−２は、各コンポーネントにおける最下層経路隠れ変数変分確率ｑ（ｚｉｊｎ）が上に示される式５によって表される基準を満たすか否かを判定する。言い換えると、経路除去判定処理部２０１−２は、サンプル和が十分小さいか否かを判定する。
【０１３０】
経路除去実行処理部２０１−３は、サンプル和が十分小さいと判定された経路の変分確率を、０に設定する。そして、経路除去実行処理部２０１−３は、残りの経路（すなわち、変分確率が０に設定されていない経路）に対して正規化した最下層経路隠れ変数変分確率を用いて、各階層での階層隠れ変数変分確率１０４−６を再計算し、再計算の結果を出力する。
【０１３１】
以下、この処理の妥当性を説明する。下に例として示す式６は、繰り返し最適化におけるｑ（ｚｉｊｎ）の更新式である。
【０１３２】
【数７】
0006330901.tif 000008
【０１３３】
上に示す式６において、指数部に負の項が含まれ、その前の処理で計算されたｑ（ｚｉｊｎ）がその項の分母に存在する。したがって、この分母の値が小さければ小さいほど、最適化されたｑ（ｚｉｊｎ）の値も小さい。そのため、小さい経路隠れ変数変分確率は、繰り返し計算によって、徐々に減少する。
【０１３４】
階層隠れ構造最適化処理部２０１（より具体的には、経路隠れ変数和演算処理部２０１−１と、経路除去判定処理部２０１−２と、経路除去実行処理部２０１−３）は、プログラム（階層隠れ変数モデル推定プログラム）に従って動作するコンピュータのＣＰＵによって実現されることに留意する。
【０１３５】
以下では、本実施形態の階層隠れ変数モデル推定装置２００の動作を説明する。図１３は、少なくとも１つの実施形態に係る階層隠れ変数モデル推定装置２００の動作例を示すフローチャートである。
【０１３６】
まず、データ入力装置１０１は、入力データ１１１を入力する（ステップＳ２００）。次に、階層隠れ構造設定部１０２は、階層隠れ構造として、隠れ状態数の初期状態を設定する（ステップＳ２０１）。
【０１３７】
第１の実施形態では、コンポーネント数に対する最適解の探索が、複数個の候補全てに対して実行される。一方、本実施形態では、コンポーネント数も最適化でき、そのため、階層隠れ構造は、一度の処理において最適化できる。よって、最適化が実行されていない候補が複数の候補から選択される、第１の実施形態におけるステップＳ１０２とは異なり、ステップＳ２０１では、隠れ状態数の初期値のみを、一度設定する必要がある。
【０１３８】
次に、初期化処理部１０３は、設定された階層隠れ構造に対して、推定に用いられるパラメータ及び隠れ変数変分確率の初期化処理を行う（ステップＳ２０２）。
【０１３９】
次に、階層隠れ変数変分確率計算処理部１０４は、各経路隠れ変数の変分確率を計算する（ステップＳ２０３）。次に、階層隠れ構造最適化処理部２０１は、コンポーネント数を推定することによって、階層隠れ構造を最適化する（ステップＳ２０４）。すなわち、コンポーネントは最下層ノードに配置されているので、階層隠れ構造を最適化する場合、コンポーネント数も最適化される。
【０１４０】
次に、コンポーネント最適化処理部１０５は、観測確率の種類とパラメータを推定することによって、各コンポーネントを最適化する（ステップＳ２０５）。次に、門関数最適化処理部１０６は、各分岐ノードにおける分岐パラメータを最適化する（ステップＳ２０６）。次に、最適性判定処理部１０７は、最適化基準Ａが収束したか否かを判定する（ステップＳ２０７）。すなわち、最適性判定処理部１０７は、モデルの最適性を判定する。
【０１４１】
ステップＳ２０７において、最適化基準Ａが収束したと判定されなかった場合、すなわち、モデルが最適ではないと判定された場合（ステップＳ２０７ａ：Ｎｏ）、ステップＳ２０３からステップＳ２０７の処理が繰り返される。
【０１４２】
一方、ステップＳ２０７において、最適化基準Ａが収束したと判定された場合、すなわち、モデルが最適であると判定された場合（ステップＳ２０７ａ：Ｙｅｓ）、モデル推定結果出力装置１０９は、モデル推定結果１１２を出力し、処理を終了（ステップＳ２０８）。
【０１４３】
以下では、本実施形態の階層隠れ構造最適化処理部２０１の動作を説明する。図１４は、少なくとも１つの実施形態に係る階層隠れ構造最適化処理部２０１の動作例を示すフローチャートである。
【０１４４】
まず、経路隠れ変数和演算処理部２０１−１は、経路隠れ変数のサンプル和を計算する（ステップＳ２１１）。次に、経路除去判定処理部２０１−２は、計算したサンプル和が十分小さいか否か判定する（ステップＳ２１２）。次に、経路除去実行処理部２０１−３は、サンプル和が十分小さいと判定された最下層経路隠れ変数変分確率が０である状態において再計算された階層隠れ変数変分確率を出力し、処理を終了する（ステップＳ２１３）。
【０１４５】
上述のように、本実施形態では、階層隠れ構造最適化処理部２０１が、計算された変分確率が所定の閾値以下である経路をモデルから除外することによって、階層隠れ構造を最適化する。
【０１４６】
このような構成によって、第１の実施形態の効果に加えて、一回の処理においてコンポーネント数を最適化でき、階層隠れ変数モデル推定装置１００のように複数の階層隠れ構造の候補を最適化する必要がない。これにより、コンポーネント数、観測確率の種類とパラメータ、及び、変分分布を同時に推定でき、計算コストを削減できる。
【０１４７】
第３の実施形態
以下では、払出量予測システムの第３の実施形態について説明する。本実施形態に係る払出量予測システムは、階層隠れ変数モデル推定装置の構成が第２の実施形態と異なる。本実施形態の階層隠れ変数モデル推定装置は、門関数最適化処理部１０６が門関数最適化処理部１１３に置き換得られていることのみにおいて、階層隠れ変数モデル推定装置２００と異なる。
【０１４８】
図１５は、第３の実施形態の門関数最適化処理部１１３の構成例を示すブロック図である。門関数最適化処理部１１３は、有効分岐ノード選別部１１３−１と、分岐パラメータ最適化並列処理部１１３−２を含む。
【０１４９】
有効分岐ノード選別部１１３−１は、階層隠れ構造から有効な分岐ノードのみを選別する。詳しくは、有効分岐ノード選別部１１３−１は、コンポーネント最適化処理部１０５によって推定されたモデル１０４−５の使用を通じて、モデルから除去された経路を考慮に入れることによって、有効な分岐ノードのみを選別する。このように、有効な分岐ノードは、階層隠れ構造から除去されていない経路上の、分岐ノードを意味する。
【０１５０】
分岐パラメータ最適化並列処理部１１３−２は、有効な分岐ノードに関する分岐パラメータの最適化処理を並列に行い、門関数モデル１０６−６を出力する。詳しくは、分岐パラメータ最適化並列処理部１１３−２は、入力データ１１１と、階層隠れ変数変分確率計算処理部１０４によって計算された階層隠れ変数変分確率１０４−６とを用いて、有効なすべての分岐ノードに関する分岐パラメータを同時に並行に最適化する
【０１５１】
例えば、分岐パラメータ最適化並列処理部１１３−２は、図１５に例示するように、並列に配置された、第１の実施形態の分岐パラメータ最適化処理部１０６−３を含んでいてもよい。このような構成により、すべての門関数の分岐パラメータを一度に最適化できる。
【０１５２】
すなわち、階層隠れ変数モデル推定装置１００及び２００は、門関数の最適化処理を１度に１つ実行するが、本実施形態の階層隠れ変数モデル推定装置は、門関数の最適化処理を並行に行うことができ、それは高速なモデル推定に貢献する。
【０１５３】
門関数最適化処理部１１３（より具体的には、有効分岐ノード選別部１１３−１と、分岐パラメータ最適化並列処理部１１３−２）は、プログラム（階層隠れ変数モデル推定プログラム）に従って動作するコンピュータのＣＰＵによって実現されることに留意する。
【０１５４】
以下では、本実施形態の門関数最適化処理部１１３の動作を説明する。図１６は、少なくとも１つの実施形態に係る門関数最適化処理部１１３の動作例を示すフローチャートである。まず、有効分岐ノード選別部１１３−１は、全ての有効な分岐ノードを選択する（ステップＳ３０１）。次に、分岐パラメータ最適化並列処理部１１３−２は、全ての有効な分岐ノードを並列に最適化し、処理を終了する（ステップＳ３０２）。
【０１５５】
上述のように、本実施形態によれば、有効分岐ノード選別部１１３−１は、階層隠れ構造のノードから有効な分岐ノードを選別し、門関数最適化並列処理部１１３−２が、各有効な分岐ノードにおける隠れ変数の変分確率に基づいて門関数モデルを最適化する。ここで、門関数最適化並列処理部１１３−２は、有効な分岐ノードに関する分岐パラメータを並列に最適化する。従って、門関数の最適化処理を並行に行うことができ、それにより、前述の実施形態の効果に加え、より高速なモデル推定を達成することができる。
【０１５６】
基本的な構成
次に、階層隠れ変数モデル推定装置の基本的な構成について説明する。図１７は、階層隠れ変数モデル推定装置の基本構成を示すブロック図である。
【０１５７】
階層隠れ変数モデル推定装置は、商品の払出量を予測するための階層隠れ変数モデルを推定する。階層隠れ変数モデル推定装置は、基本的な構成として、学習データ入力部８０と、階層隠れ構造設定部８１と、変分確率計算部８２と、コンポーネント最適化処理部８３と、門関数最適化部８４とを含む。
【０１５８】
学習データ入力部８０は、学習用のデータを入力する。そのデータは、目的変数及び１つ以上の説明変数の、複数の組み合わせである。目的変数は、商品の既知の払出量である。１つ以上の説明変数は、その払出量に影響を与え得る情報項目である。学習データ入力部８０の例として、データ入力装置１０１が用いられる。
【０１５９】
階層隠れ構造設定部８１は、隠れ変数が木構造で表され、確率モデルを表すコンポーネントがその木構造の最下層のノードに配置された構造である、階層隠れ構造を設定する。階層隠れ構造設定部８１の例として、階層隠れ構造設定部１０２が用いられる。
【０１６０】
変分確率計算部８２は、学習データ入力部８０によって入力された学習用のデータとコンポーネントとに基づいて、階層隠れ構造において根ノードを対象ノードと結ぶ経路に含まれる隠れ変数である経路隠れ変数の、変分確率（例えば、最適化基準Ａ）を計算する。変分確率計算部８２の例として、階層隠れ変数変分確率計算処理部１０４が用いられる。
【０１６１】
コンポーネント最適化処理部８３は、学習データ入力部８０によって入力された学習用のデータに基づいて、計算された変分確率に対して各コンポーネントを最適化する。コンポーネント最適化処理部８３の例として、コンポーネント最適化処理部１０５が用いられる。
【０１６２】
門関数最適化部８４は、階層隠れ構造のノードにおいて説明変数に応じた分岐方向を決定するためのモデルである門関数モデルを、そのノードにおける隠れ変数の変分確率に基づいて最適化する。門関数最適化部８４の例として、門関数最適化処理部１０６が用いられる。
【０１６３】
そのような構成により、階層隠れ変数モデル推定装置は、階層的な隠れ変数を含む階層隠れ変数モデルを、理論的正当性を失うことなく、適切な計算量で推定できる。
【０１６４】
そのうえ、階層隠れ変数モデル推定装置は、計算された変分確率が所定の閾値以下である経路をモデルから除外することにより階層隠れ構造を最適化するための階層隠れ構造最適化部（例えば、階層隠れ構造最適化処理部２０１）を含んでいてもよい。そのような構成により、コンポーネントの数を一回の処理で最適化でき、複数の階層隠れ構造の候補を最適化する必要がない。
【０１６５】
そのうえ、門関数最適化部８４は、階層隠れ構造から除外されていない経路の分岐ノードである有効分岐ノードをその階層隠れ構造のノードから選択する有効分岐ノード選別部（例えば、有効分岐ノード選別部１１３−１）と、有効分岐ノードにおける隠れ変数の変分確率に基づいて門関数モデルを最適化する門関数最適化並列処理部（例えば、分岐パラメータ最適化並列処理部１１３−２）とを含んでいてもよい。門関数最適化並列処理部は、有効分岐ノードに関する各分岐パラメータの最適化を並行に行ってもよい。そのような構成により、より高速なモデル推定を実現することができる。
【０１６６】
そのうえ、階層隠れ構造設定部８１は、隠れ変数が２分木構造で表される階層隠れ構造を設定してもよい。そして、門関数最適化部８４は、ノードにおける隠れ変数の変分確率に基づいて、ベルヌーイ分布に基づく門関数モデルを最適化してもよい。この場合、各パラメータが解析解を持ち、そのことは、より高速な最適化に貢献する。
【０１６７】
詳しくは、変分確率計算部８２は、周辺化対数尤度を最大化するように隠れ変数の変分確率を計算してもよい。
【０１６８】
以下では、払出量予測装置の基本構成について説明する。図１８は、払出量予測装置の基本構成を示すブロック図である。
【０１６９】
払出量予測装置は、予測データ入力部９０と、コンポーネント決定部９１と、払出量予測部９２とを備える。
【０１７０】
予測データ入力部９０は、商品の払出量に影響を与え得る情報項目である１つ以上の説明変数である予測用データを入力する。予測データ入力部９０の例として、データ入力装置７０１が用いられる。
【０１７１】
コンポーネント決定部９１は、隠れ変数が木構造で表され、当該木構造の最下層のノードに確率モデルを表すコンポーネントが配置された構造である階層隠れ構造と、当該階層隠れ構造のノードにおいて分岐方向を決定するための門関数と、予測用データとに基づいて、払出量の予測に用いるコンポーネントを決定する。コンポーネント決定部８１の例として、コンポーネント決定部７０３が用いられる。
【０１７２】
払出量予測部９２は、コンポーネント決定部９１によって決定されたコンポーネントと予測用データとに基づいて、払出量を予測する。払出量予測部９２の例として、払出量予測部７０４が用いられる。
【０１７３】
そのような構成により、払出量予測装置は、門関数による適切なコンポーネントを用いることによって、優れた精度で払出量の予測を行うことができる。
【０１７４】
図１９は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略的ブロック図である。
【０１７５】
コンピュータ１０００は、ＣＰＵ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。
【０１７６】
上述の階層隠れ変数モデル推定装置又は払出量予測装置は、それぞれ、コンピュータ１０００に実装される。加えて、階層隠れ変数モデル推定装置が実装されるコンピュータ１０００と払出量予測装置が実装されるコンピュータ１０００は、互いに異なっていていもよい。上述の各処理部の動作は、プログラム（階層隠れ変数モデルの推定プログラム又は払出量予測プログラム）の形態で、補助記憶装置１００３に格納されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出し、主記憶装置１００２に展開し、そして、そのプログラムに従って上述の処理を実行する。
【０１７７】
少なくとも１つの実施形態において、補助記憶装置１００３は、非一時的で有形な媒体の例である。非一時的な有形である媒体の他の例は、インタフェース１００４を介して接続される、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、又は、半導体メモリ等を含む。加えて、プログラムが通信線によってコンピュータ１０００に配信される場合、配信が行われたコンピュータ１０００が、プログラムを主記憶装置１００２に展開してもよく、処理を実行してもよい。
【０１７８】
加えて、そのプログラムは、上述の機能の一部を実現するために使用されてもよい。さらに、そのプログラムは、上述の機能を補助記憶装置１００３に先に格納された他のプログラムと結合されることによって、上述の機能を実現するためのプログラムであってもよく、それは、いわゆる差分ファイル（差分プログラム）である。
【０１７９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる
【０１８０】
この出願は、２０１３年９月２０日に出願された米国出願第１４／０３２２９５号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１８１】
１０    払出量予測システム
８０    学習データ入力部
８１    階層隠れ構造設定部
８２    変分確率計算部
８３    コンポーネント最適化処理部
８４    門関数最適化部
９０    予測データ入力部
９１    コンポーネント決定部
９２    払出量予測部
１００    階層隠れ変数モデル推定装置
１０１    データ入力装置
１０２    階層隠れ構造設定部
１０３    初期化処理部
１０４    階層隠れ変数変分確率計算処理部
１０４−１    最下層経路隠れ変数変分確率計算処理部
１０４−２    階層設定部
１０４−３    上層経路隠れ変数変分確率計算処理部
１０４−４    階層計算終了判定処理部
１０４−５    推定されたモデル
１０４−６    階層隠れ変数変分確率
１０５    コンポーネント最適化処理部
１０６    門関数最適化処理部
１０６−１    分岐ノード情報取得部
１０６−２    分岐ノード選択処理部
１０６−３    分岐パラメータ最適化処理部
１０６−４    全分岐ノード最適化終了判定処理部
１０６−６    門関数モデル
１０７    最適性判定処理部
１０８    最適モデル選択処理部
１０９    モデル推定結果出力装置
１１１    入力データ
１１２    モデル推定結果
１１３    門関数最適化処理部
１１３−１    有効分岐ノード選別部
１１３−２    分岐パラメータ最適化並列処理部
２００    階層隠れ変数モデル推定装置
２０１    階層隠れ構造最適化処理部
２０１−１    経路隠れ変数和演算処理部
２０１−２    経路除去判定処理部
２０１−３    経路除去実行処理部
３００    学習データベース
５００    モデルデータベース
７００    払出量予測装置
７０１    データ入力装置
７０２    モデル取得部
７０３    コンポーネント決定部
７０４    払出量予測部
７０５    予測結果出力装置
７１１    入力データ
７１２    予測結果
１０００    コンピュータ
１００１    ＣＰＵ
１００２    主記憶装置
１００３    補助記憶装置
１００４    インタフェース
【図１】
0006330901.tif 000009
【図２Ａ】
0006330901.tif 000010
【図２Ｂ】
0006330901.tif 000011
【図２Ｃ】
0006330901.tif 000012
【図２Ｄ】
0006330901.tif 000013
【図２Ｅ】
0006330901.tif 000014
【図２Ｆ】
0006330901.tif 000015
【図２Ｇ】
0006330901.tif 000016
【図３】
0006330901.tif 000017
【図４】
0006330901.tif 000018
【図５】
0006330901.tif 000019
【図６】
0006330901.tif 000020
【図７】
0006330901.tif 000021
【図８】
0006330901.tif 000022
【図９】
0006330901.tif 000023
【図１０】
0006330901.tif 000024
【図１１】
0006330901.tif 000025
【図１２】
0006330901.tif 000026
【図１３】
0006330901.tif 000027
【図１４】
0006330901.tif 000028
【図１５】
0006330901.tif 000029
【図１６】
0006330901.tif 000030
【図１７】
0006330901.tif 000031
【図１８】
0006330901.tif 000032
【図１９】
0006330901.tif 000033