(57)【要約】【課題】  訓練データに含まれている説明変数の一部が欠損していても、精度の高い予測を可能にするモデルを生成する技術を提供する。【解決手段】  目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データに基づいて、訓練データにおいて複数にグループ分けされたサンプルの各グループに対して設定された予測モデルを複数使用するモデルを機械学習する場合に、使用割合計算部１４は、説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する出力対象のモデルを構成する前記各予測モデルの使用割合を、推定されたパラメータを利用して計算する。推定部１３は、欠損パターンに対する各予測モデルの使用割合を利用して、各予測モデルのパラメータを推定する。指令部１５により、使用割合計算部１４の処理と、当該処理により算出された各予測モデルの使用割合を利用する推定部１３の処理とが交互に繰り返される。【選択図】      図１
2015060237.tif 000002
【特許請求の範囲】
【請求項１】
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する使用割合計算部と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する推定部と、
前記使用割合計算部により計算された前記欠損パターンに対する前記各予測モデルの使用割合を利用して前記推定部が前記各予測モデルのパラメータを推定する処理と、当該推定部により推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を前記使用割合計算部が計算する処理とを交互に繰り返す処理を制御する指令部と
を備えている予測モデル学習装置。
【請求項２】
前記使用割合計算部は、前記欠損パターンに対する前記各予測モデルの使用割合のうち、その欠損パターンを持つサンプルに対する尤度が最も大きい前記予測モデルの使用割合が最も高くなるように、前記欠損パターンに対する前記各予測モデルの使用割合を計算する請求項１記載の予測モデル学習装置。
【請求項３】
前記推定部は、前記予測モデルに、当該予測モデルの前記使用割合を乗算した関数の対数尤度が大きくなる方向に機械学習が進むようにその予測モデルのパラメータを推定する請求項１又は請求項２記載の予測モデル学習装置。
【請求項４】
前記説明変数ベクトルにおける欠損している成分を補完する補完部をさらに備え、
前記使用割合計算部および前記推定部は、前記説明変数ベクトルにおける欠損している成分が前記補完部により補完された前記訓練データを利用する請求項１又は請求項２又は請求項３記載の予測モデル学習装置。
【請求項５】
前記訓練データの前記サンプルを前記欠損パターンに基づいて分類し、各分類にラベルを付与するクラスタリング部をさらに備え、
前記使用割合計算部は、前記ラベル毎に、前記欠損パターンに対する前記各予測モデルの使用割合を計算する請求項１乃至請求項４の何れか一つに記載の予測モデル学習装置。
【請求項６】
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用してコンピュータが計算し、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータをコンピュータが推定し、
前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とをコンピュータが交互に繰り返す予測モデル学習方法。
【請求項７】
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する処理と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する処理と
をコンピュータに実行させる処理手順が示され、
さらに、前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とを交互に繰り返す処理をコンピュータに実行させる処理手順が示されているコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入手可能なデータに基づいて予測対象データを予測する技術に関する。
【背景技術】
【０００２】
入手可能なデータに基づいて将来を予測することは業務改善に有用である。例えば、商店において、直近２週間の売り上げデータに基づいて商品の売り上げを予測できれば、商店は、商品の在庫管理を適切に行うことができる。また、営業店において、営業日報等の業務記録に基づいた営業手法と受注との関係を分析することによって、どのような営業手法により受注の可能性が高まるかを予測できれば、営業店は受注率を向上できる。
【０００３】
ここで、予測の手掛かりとなるデータ（例えば実際の売り上げデータや、実行された営業手法）を説明変数と呼ぶこととする。また、予測対象となるデータ（例えば、予測したい商品の売り上げや、予測したい受注状況）を目的変数と呼ぶこととする。さらに、説明変数（データ）を代入（入力）することによって目的変数（予測値）を得ることができる関数をモデルあるいは予測関数と呼ぶこととする。さらにまた、過去データ（サンプル）である説明変数と目的変数の組み合わせの集合を訓練データと呼ぶこととする。この訓練データに基づいてモデル（説明変数を利用して目的変数を出力する関数）を作成する技術として、機械学習が利用される。
【０００４】
ところで、その機械学習に際し、訓練データにおける説明変数の一部が欠損している場合がある。具体的には、例えば、或る時間帯に商品Ａが店に出されていなかった場合には、その時間帯における商品Ａの売り上げが欠損することとなる。また、営業日報に記録することを忘れた日がある場合には、その忘れられた日のデータが欠損することとなる。このように説明変数の一部が欠損している訓練データに基づいてモデル（予測関数）を機械学習する際には、例えば、説明変数の平均値を、欠損している説明変数として利用する手法が採用される場合がある。また、他の説明変数に基づいて予測した値を、欠損している説明変数として利用することによってモデル（予測関数）を機械学習する手法もある。
【０００５】
しかしながら、そのような手法では、欠損している説明変数として使用した想定値（代替値）が本来の値から大きくずれていることがあるために、精度の良いモデルを作成できない虞がある。精度の良くないモデルを利用すると、予測の精度が落ちるという問題が生じる。
【０００６】
非特許文献１には、訓練データにおける説明変数の一部が欠損している場合にモデル（予測関数）を機械学習する手法が開示されている。この非特許文献１に表されている手法では、機械学習する装置（コンピュータ）は、訓練データにおいて、どの説明変数が欠損しているかを検知し、欠損している説明変数が同じであるサンプル（説明変数と目的変数の組み合わせである過去データ）に同じラベルを付与する。そして、当該装置は、同じラベルが付与されているサンプルの集合のみを訓練データとした機械学習を行うことにより、モデルを出力（生成）する。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Maytal Saar−Tsechansky and Foster Provost, “Handling Missing Values when Applying Classification Models” Journal Of Machine Learning Research, 8, (2007), 1625−1657
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、目的変数に対する関与が小さい説明変数が欠損している場合に、非特許文献１の手法を用いてモデルを生成してしまうと、そのモデルの精度が悪くなる虞がある。それというのは、非特許文献１の手法では、説明変数の欠損状態に基づいて訓練データを分割しており、目的変数に対する説明変数の関与の度合いが考慮されていないからである。
【０００９】
本発明は上記課題を解決するためになされた。すなわち、本発明の主な目的は、訓練データ（過去データ）に含まれている説明変数の一部が欠損していても、精度の高い予測を可能にするモデル（予測関数）を生成できる機械学習に関わる技術を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の予測モデル学習装置は、
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する使用割合計算部と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する推定部と、
前記使用割合計算部により計算された前記欠損パターンに対する前記各予測モデルの使用割合を利用して前記推定部が前記各予測モデルのパラメータを推定する処理と、当該推定部により推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を前記使用割合計算部が計算する処理とを交互に繰り返す処理を制御する指令部と
を備えている。
【００１１】
また、本発明の予測モデル学習方法は、
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用してコンピュータが計算し、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータをコンピュータが推定し、
前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とをコンピュータが交互に繰り返す。
【００１２】
さらに、本発明のコンピュータプログラムは、
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する処理と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する処理と
をコンピュータに実行させる処理手順が示され、
さらに、前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とを交互に繰り返す処理をコンピュータに実行させる処理手順が示されている。
【００１３】
なお、本発明の前記目的は、前記構成の本発明の予測モデル学習装置に対応する本発明の予測モデル学習方法によっても達成される。また、本発明の前記目的は、本発明の予測モデル学習装置および予測モデル学習方法をコンピュータによって実現するコンピュータプログラムおよびそれを記憶するコンピュータプログラム記憶媒体によっても達成される。
【発明の効果】
【００１４】
本発明によれば、訓練データ（過去データ）に含まれている説明変数の一部が欠損していても、精度の高い予測を可能にするモデル（予測関数）を生成できる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る第１実施形態の予測モデル学習装置の構成を簡略化して表すブロック図である。
【図２】本発明に係る第２実施形態の予測モデル学習装置の構成を簡略化して表すブロック図である。
【図３】訓練パターンにおける欠損パターンの具体例を表す表である。
【図４】訓練パターンをクラスタリングする処理の説明に利用する表である。
【図５】第２実施形態の予測モデル学習装置における機械学習の動作例を表すフローチャートである。
【発明を実施するための形態】
【００１６】
以下に、本発明に係る実施形態を図面を参照しつつ説明する。
【００１７】
（第１実施形態）
図１は、本発明に係る第１実施形態の予測モデル学習装置の構成を簡略化して表すブロック図である。この第１実施形態の予測モデル学習装置１０は、目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データに基づいて、次のようなモデルを機械学習する装置である。そのモデルとは、前記訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用することにより構成されているモデル（予測関数）である。
【００１８】
この第１実施形態の予測モデル学習装置１０は、制御装置１１と、記憶装置１２とを備えている。記憶装置１２には、制御装置１１の動作を制御する制御手順が表されているコンピュータプログラム（以下、プログラムとも記す）１６が格納されている。
【００１９】
制御装置１１は、例えばＣＰＵ（Central Processing Unit）を有し、当該制御装置（コンピュータ）１１は、記憶装置１２から読み出したプログラム１６を実行することにより、次のような機能を持つことができる。すなわち、制御装置１１は、機能部として、推定部１３と使用割合計算部１４と指令部１５とを有している。
【００２０】
使用割合計算部１４は、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する機能を備えている。
【００２１】
推定部１３は、前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する機能を備えている。
【００２２】
指令部１５は、推定部１３と使用割合計算部１４を制御する機能を備えている。例えば、指令部１５は、使用割合計算部１４が前記欠損パターンに対する前記各予測モデルの使用割合を計算すると、その計算結果を推定部１３に出力する。これにより、推定部１３は、その計算結果である前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する。指令部１５は、この推定部１３により推定された前記各予測モデルのパラメータを使用割合計算部１４に出力する。これにより、使用割合計算部１４は、その推定された前記各予測モデルのパラメータを利用して、前記同様に前記欠損パターンに対する前記各予測モデルの使用割合を計算する。このように、指令部１５は、推定部１３による処理と使用割合計算部１４による処理とを交互に繰り返す処理を制御する機能を備えている。
【００２３】
この第１実施形態の予測モデル学習装置１０は、欠損パターンを考慮してモデルを機械学習する構成を備えているので、訓練データ（過去データ）に含まれている説明変数ベクトルの一部の成分が欠損していても、精度の高い予測を可能にするモデルを生成できる。
【００２４】
（第２実施形態）
以下に、本発明に係る第２実施形態を説明する。
【００２５】
図２は、第２実施形態の予測モデル学習装置の構成を簡略化して表すブロック図である。この予測モデル学習装置２０は、大別すると、制御装置２１と、記憶装置２２とを備えている。記憶装置２２は記憶媒体（図示せず）を有し、当該記憶媒体には、コンピュータプログラム（プログラム）３０や各種データが格納されている。プログラム３０には、予測モデル学習装置２０の動作を制御する処理手順が表されている。
【００２６】
制御装置（コンピュータ）２１は、例えば、ＣＰＵ（Central Processing Unit）を備えている。当該制御装置２１（ＣＰＵ）は、記憶装置２２から読み込んだプログラム３０に従って動作することにより、次のような機能を持つことができる。すなわち、この第２実施形態では、制御装置２１は、機能部として、クラスタリング部２３と、補完部２４と、指令部２５と、使用割合計算部２６と、推定部２７と、設定部２８とを有している。
【００２７】
クラスタリング部２３は、与えられた訓練データ（過去データ）をデータ解析することによってクラスタリングする機能を備えている。訓練データとは、過去データ（実際のデータ）に基づいた目的変数と説明変数ベクトルとの組み合わせであるサンプルが集められたデータ群である。例えば、訓練データは、外部から予測モデル学習装置２０に与えられる（入力される）。ここでは、説明変数ベクトルをｘと表し、目的変数をｙと表すとする。また、サンプル（目的変数と説明変数ベクトルとの組み合わせ）は、（ｘi，ｙi）と表すとする。なお、ｉは、１からＮまでの正の整数とする。これにより、訓練データＤは、
2015060237.tif 000003
【００２８】
と表すことができる。
【００２９】
この第２実施形態では、クラスタリング部２３は、与えられた訓練データＤの各サンプル（ｘi，ｙi）において、説明変数ベクトルｘにおける成分の一部が欠損しているか否かを検知する機能を備えている。また、クラスタリング部２３は、説明変数ベクトルｘにおける成分の一部が欠損している場合には、その欠損状態を表す欠損パターンを検知（特定）する機能を備えている。さらに、クラスタリング部２３は、その検知された欠損パターンに基づいて、説明変数ベクトルｘの欠損パターンが同じ又は似ているサンプル同士に同じラベルを与える機能を備えている。ここでのクラスタリングとは、上記のようにサンプルを分類し、その後、ラベルを付与するまでの処理を表している。
【００３０】
なお、クラスタリングの手法には様々な手法が有る。ここでは、説明変数ベクトルｘの成分の一部が欠損している場合に当該欠損パターンに基づいてサンプルを分類することができれば、何れの手法が採用されてもよいが、クラスタリング部２３によるクラスタリングの一具体例を次に述べる。
【００３１】
この具体例では、訓練データに含まれているサンプル数は４０とし、これらサンプルＳ１−Ｓ４０における説明変数ベクトルｘは、それぞれ、１０個の成分Ｘ１−Ｘ１０を有するとする。図３は、サンプルＳ１−Ｓ４０において、説明変数ベクトルｘの成分Ｘ１−Ｘ１０における欠損状態を表す表である。図３では、欠損している成分に対応する位置に「ＮＡ」が表され、その他の成分の数値は省略されている。図３によれば、サンプルＳ１−Ｓ５においては、説明変数ベクトルｘの全ての成分Ｘ１−Ｘ１０は欠損していない。サンプルＳ６−Ｓ１０においては、説明変数ベクトルｘの成分Ｘ１−Ｘ５が欠損している。さらに、サンプルＳ１１−Ｓ２０においては、説明変数ベクトルｘの成分Ｘ１−Ｘ６が欠損し、さらにまた、サンプルＳ２１−Ｓ４０においては、説明変数ベクトルｘの成分Ｘ７−Ｘ１０が欠損している。
【００３２】
このような説明変数ベクトルｘを含む訓練データに関し、クラスタリング部２３は、各サンプルＳ１−Ｓ４０の説明変数ベクトルｘを他のサンプルＳ１−Ｓ４０の説明変数ベクトルｘに比較し、説明変数ベクトルｘの類似度を算出する。ここで、比較している２つのサンプルにおける説明変数ベクトルｘにおいて、共通に欠損している成分の数をＭとし、当該２つの説明変数ベクトルｘのうちの欠損している成分の数（欠損数）が多い方のサンプルに含まれている欠損数をＮとする。クラスタリング部２３は、例えば、類似度ＲをＭ÷Ｎの数式に従って算出する。なお、Ｍが零であり、Ｎも零である場合における類似度Ｒは１とする。
【００３３】
図４は、上記算出手法に基づいて算出された類似度Ｒを表す表である。例えば、サンプルＳ１−Ｓ５は、説明変数ベクトルｘの全ての成分が欠損していないことから、各サンプルＳ１−Ｓ５がサンプルＳ１−Ｓ５と比較した結果による説明変数ベクトルｘの類似度Ｒは、Ｒ＝Ｍ÷Ｎ＝０÷０＝１である。また、各サンプルＳ１−Ｓ５がサンプルＳ６−Ｓ１０，Ｓ２１−Ｓ４０と比較した結果による説明変数ベクトルｘの類似度Ｒは、Ｒ＝Ｍ÷Ｎ＝０÷５＝０である。さらに、各サンプルＳ１−Ｓ５がサンプルＳ１１−Ｓ２０と比較した結果による説明変数ベクトルｘの類似度Ｒは、Ｒ＝Ｍ÷Ｎ＝０÷６＝０である。
【００３４】
クラスタリング部２３は、そのように算出された類似度Ｒが０.８以上であるサンプルの組に同じラベルを設定（付与）する。例えば、図４に表される類似度Ｒに基づいて、クラスタリング部２３は、サンプルＳ１-Ｓ５にはそれぞれラベルＣ１を設定し、サンプルＳ６−Ｓ２０にはそれぞれラベルＣ２を設定し、サンプルＳ２１−Ｓ４０にはそれぞれラベルＣ３を設定する。
【００３５】
クラスタリング部２３は、上記のように、説明変数ベクトルｘの欠損パターンに着目して複数のサンプルをクラスタリングする機能を備えている。
【００３６】
補完部２４は、説明変数ベクトルｘにおいて欠損している成分に代わるデータ（数値）を補完する機能を備えている。例えば、補完部２４は、各サンプルＳ６−Ｓ４０において、説明変数ベクトルｘにおける欠損していない成分の平均値を、欠損している成分として代入する（補完する）。より具体的には、サンプルＳ６−Ｓ１０においては、補完部２４は、成分Ｘ６−Ｘ１０の平均値を、欠損している成分Ｘ１−Ｘ５に代入（補完）する。また、サンプルＳ１１−Ｓ２０においては、補完部２５は、成分Ｘ７−Ｘ１０の平均値を、欠損している成分Ｘ１−Ｘ６に代入（補完）する。さらに、サンプルＳ２１−Ｓ４０においては、補完部２４は、成分Ｘ１−Ｘ６の平均値を、欠損している成分Ｘ７−Ｘ１０に代入（補完）する。
【００３７】
設定部２８は、訓練データに基づいて予測モデルを設定する機能を備えている。例えば、設定部２８は、説明変数ベクトルｘの欠損していない成分の組み合わせ（パターン）に基づいて、訓練データのサンプルＳ１−Ｓ４０を次のような４つのグループに分類する。つまり、訓練データが図３の表に表されるような欠損パターンを有するサンプルの集合である場合には、サンプルＳ１−Ｓ５は、全ての説明変数ベクトルｘの成分Ｘ１−Ｘ１０が欠損していないグループ（グループＧ１とする）である。サンプルＳ６−Ｓ１０は、説明変数ベクトルｘの成分Ｘ６−Ｘ１０が欠損していないグループ（グループＧ２とする）である。サンプルＳ１１−Ｓ２０は、説明変数ベクトルｘの成分Ｘ７−Ｘ１０が欠損していないグループ（グループＧ３とする）である。サンプルＳ２１−Ｓ４０は、説明変数ベクトルｘの成分Ｘ１−Ｘ６が欠損していないグループ（グループＧ４とする）である。設定部２８は、このようにグループ分けされた各サンプルのグループにそれぞれ対応する予測モデルを設定する。
【００３８】
ここでは、各グループＧ１−Ｇ４に関連付けられる予測モデル（関数）は式（１）に表されるとする。
2015060237.tif 000004
【００３９】
なお、式（１）に表されるｘは説明変数ベクトルであり、ｙは目的変数である。また、ｋは、予測モデルを識別する符号であり、１以上の整数（ｋ＝１，２，．．．，Ｋ）であるとする。ここでは、各予測モデルのｋは、上記のようにグループ分けされたグループＧ１−Ｇ４にそれぞれ対応する数値が設定される。つまり、サンプルのグループＧ１に対応する予測モデルのｋには１が設定され、サンプルのグループＧ２に対応する予測モデルのｋには２が設定される。また、サンプルのグループＧ３に対応する予測モデルのｋには３が設定され、サンプルのグループＧ４に対応する予測モデルのｋには４が設定される。つまり、この場合には、Ｋ＝４となる。
【００４０】
また、θ(k)は、予測モデルｆkにおけるパラメータを表している。
【００４１】
ここで、クラスタリング部２３のクラスタリング処理によりサンプルに付与されたラベルをｃ(xi)とした場合に、各ラベルに対する予測モデルの使用割合（モデル割り当て潜在変数）は、Ｚｃ(xi)，kと表されるとする。この場合に、その使用割合を考慮した予測モデルは式(２)に表される。
2015060237.tif 000005
【００４２】
より具体例を述べると、予測モデルとして、式（３）に表される確率密度関数族が設定（定義）されているとする。
2015060237.tif 000006
【００４３】
なお、式（３）において、θ:＝（β，σ2）とする（βは平均値（説明変数の線型関数で表す場合には重みともいう）を表し、σは分散を表す）。また、τ∈｛１，２，・・・・｝である。
【００４４】
式（３）に基づくと、各グループＧ１−Ｇ４に対応する予測モデルは、式（４）−式（７）のように表される（定義される）。
2015060237.tif 000007
【００４５】
この第２実施形態では、モデルの機械学習とは、パラメータθ(k)および使用割合Ｚｃ(xi)，kを機械学習することである。指令部２５は、その機械学習のために、使用割合計算部２６および推定部２７の動作を制御する機能を備えている。例えば、指令部２５は、訓練データを受け取ると、例えば制御装置２１に備えられている記憶部３３に予測モデルの使用割合Ｚｃ(xi)，kの情報が格納されているか否かを判断し、格納されていないと判断した場合には、使用割合Ｚｃ(xi)，kの初期値を設定（生成）する。具体例を挙げると、指令部２５は、前記のようなグループＧ１−Ｇ４に対する予測モデルｆ1−ｆ4が設定されている場合には、全ての予測モデルｆ1−ｆ4における使用割合Ｚc,kとして同じ定数を設定する。つまり、使用割合Ｚc,kは０．２５と設定される。また、この場合には、ｃ＝１，２，３であり、ｋ＝１，２，３，４である。
【００４６】
指令部２５は、使用割合Ｚc,kの情報を取得できた場合には、その使用割合c,kおよび訓練データを推定部２７に出力する。これにより、推定部２７が機能し始め、後述するように各予測モデルのパラメータθ(k)を推定する。指令部２５は、推定部２７により推定（算出）されたパラメータθ(k)を推定部２７から受け取ると、当該パラメータθ(k)および訓練データを使用割合計算部２８に出力する。これにより、使用割合計算部２８が機能し始め、後述するように使用割合Ｚc,kを算出する。指令部２５は、使用割合計算部２８により算出された使用割合Ｚc,kを使用割合計算部２８から受け取ると、当該使用割合Ｚc,kおよび訓練データを推定部２７に出力する。
【００４７】
このように、指令部２５は、推定部２７と使用割合計算部２８が交互に繰り返し機能するように制御することによって、パラメータθ(k)および使用割合Ｚｃ(xi)，kの機械学習を進める。指令部２５は、予め定められた停止条件が満たされるまで、そのような機械学習を継続して行う。停止条件としては、例えば、新たに算出されたパラメータθ(k)と、当該パラメータθ(k)が算出される１回前の計算により算出されたパラメータθ(k)との各成分の差分の二乗和が１０−５以下であるという条件がある。
【００４８】
なお、上記例では、指令部２５は、使用割合Ｚｃ(xi)，kの初期値を設定した後に、推定部２７と使用割合計算部２８の繰り返し動作を制御している。これに代えて、指令部２５は、パラメータθ(k)の初期値を設定（生成）し、この設定した初期値と訓練データを使用割合計算部２８に出力することにより、上記のような推定部２７と使用割合計算部２８の繰り返し動作の開始を制御してもよい。
【００４９】
推定部２７は、訓練データと、各ラベルに対する予測モデルｆ1−ｆ4の使用割合Ｚｃ(xi),kとに基づき、かつ、設定部２８により設定された予測モデルの情報を適宜利用することにより、パラメータθを推定する機能を備えている。例えば、推定部２７は、指令部２５から出力された訓練データおよび使用割合の情報Ｚｃ(xi)，kに基づいて、式（８）で表される対数尤度が大きくなるように各予測モデルｆ1−ｆ4のパラメータθ(1)−θ(4)を計算する。なお、訓練データにおける説明変数ベクトルｘの成分の一部が欠損している場合には、補完部２４により補完されたデータ（数値）を利用する。
2015060237.tif 000008
【００５０】
対数尤度が大きくなるようにパラメータθを算出する手法には様々な手法があり、推定部２７は、それら手法の中から適宜な手法を採用してよい。例えば、推定部２７は、計算の複雑化を防止するために、正則化の手法を利用してもよい。また、推定部２７は、式（９）に表される連立方程式が解析的に解ける場合には、その計算結果を式（８）に代入することによって、パラメータθを算出（推定）することができる。また、式（９）の連立方程式が解析的に解けない場合には、推定部２７は、ニュートン法などの数値計算を用いて、パラメータθを算出（推定）してもよい。
2015060237.tif 000009
【００５１】
なお、式（９）における演算記号∇は、ベクトル微分演算子であるナブラを表す。
【００５２】
推定部２７が、式（９）を利用してパラメータθ（θ＝（β，σ2））を推定した結果は下記の通りである。
2015060237.tif 000010
【００５３】
なお、Ｘ(k)，Ｙ(k)は、次のように定義されているとする。
2015060237.tif 000011
【００５４】
なお、上記列ベクトル中に表されているｄ(k)は、予測モデルｆkに対応する当該列ベクトルを構成する成分の総数を表す。
【００５５】
推定部２７は、推定したパラメータθに関する情報を指令部２５に出力する機能と、当該パラメータθに関する情報を例えば制御装置２１に備えられている記憶部３３に登録する機能とを備えている。
【００５６】
使用割合計算部２６は、指令部２５から出力された訓練データおよびパラメータθの情報に基づき、かつ、設定部２８により設定された予測モデルの情報を適宜利用することにより、予測モデルの使用割合Ｚc(xi),kを算出する機能を備えている。例えば、使用割合計算部２６は、クラスタリング部２３のクラスタリング処理による各ラベルのサンプルに対する確率が大きい予測モデルに対して、当該ラベルの予測モデルの使用割合が大きくなるように、当該予測モデルの使用割合を算出する。例えば、使用割合計算部２６は、式（１０）により表される予測モデルの尤度比に基づいて予測モデルの使用割合Ｚc(xi),kを算出する。
2015060237.tif 000012
【００５７】
なお、ｐk（ｃ）とτ（ｃ）は、次のように定義されている。
2015060237.tif 000013
【００５８】
使用割合計算部２６は、算出した予測モデルの使用割合Ｚc(xi),kに関する情報を指令部２５に出力する機能と、当該予測モデルの使用割合Ｚc(xi),kに関する情報を例えば制御装置２１に備えられている記憶部３３に登録する機能とを備えている。
【００５９】
以下に、第２実施形態の予測モデル学習装置２０における予測モデル学習に関わる動作例を図５のフローチャートを参照しながら説明する。なお、図５は、第２実施形態の予測モデル学習装置２０が実行する予測モデル学習に関わる動作のフローチャートであり、当該フローチャートは、予測モデル学習装置２０の制御装置２１（ＣＰＵ）が実行するコンピュータプログラム３０の処理手順を表している。
【００６０】
例えば、制御装置２１（クラスタリング部２３）は、当該制御装置２１の外部から訓練データを受け取ると、当該訓練データにおける各サンプルにおいて、説明変数ベクトルｘの欠損状態を表す欠損パターンを特定する（ステップＳ１０１）。そして、クラスタリング部２３は、その欠損パターンに基づいて、訓練データのサンプルを分類し、同じ分類のサンプルに同じラベルを付与する。換言すれば、制御装置２１（クラスタリング部２３）は、その欠損パターンに基づいて、訓練データをクラスタリングする（ステップＳ１０２）。
【００６１】
然る後に、制御装置２１（指令部２５）は、予測モデルの使用割合Ｚc(xi),kの初期値を設定（生成）する（ステップＳ１０３）。なお、その予測モデルは、前記の如く制御装置２１に与えられた訓練データに基づいて、設定部２８により設定（定義）されたモデルである。
【００６２】
その後、制御装置２１は、訓練データにおける説明変数ベクトルｘの一部の成分が欠損しているか否かを判断する（ステップＳ１０４）。これにより、欠損していると判断した場合には、制御装置２１（補完部２４）は、その欠損している成分を補完する（ステップＳ１０５）。
【００６３】
その補完処理の後に、あるいは、訓練データにおける説明変数ベクトルｘの成分が欠損していない場合には、制御装置２１（指令部２５）は、停止条件を満たしているか否かを判断する（ステップＳ１０６）。そして、指令部２５は、停止条件を満たしていないと判断した場合には、使用割合Ｚc(xi),kの初期値と訓練データ（補完済みデータ）を推定部２７に出力する。これにより、推定部２７は、機能を開始し、予測モデルのパラメータθを推定する（ステップＳ１０７）。この推定されたパラメータθの情報は、推定部２７から指令部２５に出力されると共に、記憶部３３に登録される。
【００６４】
指令部２５は、推定部２７からパラメータθの情報と訓練データを受け取ると、これらの情報を使用割合計算部２６に出力する。これにより、使用割合計算部２６は、受け取った情報に基づいて、使用割合Ｚc(xi),kを計算する（ステップＳ１０８）。この算出された使用割合Ｚc(xi),kの情報は、指令部２５に出力されると共に、記憶部３３に登録される。
【００６５】
その後、指令部２５は、停止条件を満たしているか否かを判断し（ステップＳ１０６）、停止条件を満たしていないと判断した場合には、前記ステップＳ１０７以降の動作を繰り返す。指令部２５は、停止条件を満たしていると判断した場合には、モデルの機械学習を終了する。
【００６６】
上記のような動作により、制御装置２１は、訓練データに基づいてモデルを機械学習する。
【００６７】
この第２実施形態の予測モデル学習装置２０は、上記のように、訓練データに含まれる説明変数ベクトルｘの欠損パターンに対する予測モデルの使用割合（モデル割り当て潜在変数）を機械学習している。そして、予測モデル学習装置２０は、その予測モデルの使用割合を考慮したモデルを機械学習している。つまり、予測モデル学習装置２０は、目的変数に対する説明変数ベクトルｘの欠損している成分の関与の度合いが考慮された機械学習を行うことができる。これにより、予測モデル学習装置２０は、訓練データ（過去データ）に含まれている説明変数ベクトルｘの成分の一部が欠損していても、精度の高い予測を可能にするモデル（予測関数）を生成できる。
【００６８】
（その他の実施形態）
なお、本発明は第１や第２の実施形態に限定されず、様々な実施の形態を採り得る。例えば、第２実施形態では、設定部２８は、訓練データにおいて説明変数ベクトルｘの欠損していない成分のパターンに着目してグループ分けされたサンプルのグループにそれぞれ対応する予測モデルを設定（定義）している。これに代えて、例えば、設定部２８は、訓練データにおける説明変数ベクトルｘのパターン（欠損パターン）に着目してグループ分けされたサンプルのグループにそれぞれ対応する予測モデルを設定（定義）してもよい。あるいは、設定部２８は、訓練データにおける各サンプルの欠損パターンに以外の着目事項に基づいて分けされたサンプルのグループにそれぞれ対応する予測モデルを設定（定義）してもよい。このように、予測モデルを設定（定義）する手法には様々な手法があり、ここでは、何れの手法を利用して予測モデルを設定（定義）してもよい。
【符号の説明】
【００６９】
１０，２０  予測モデル学習装置
１３，２７  推定部
１４，２６  使用割合計算部
１５，２５  指令部
２３  クラスタリング部
２４  補完部
【図１】
2015060237.tif 000014
【図２】
2015060237.tif 000015
【図３】
2015060237.tif 000016
【図４】
2015060237.tif 000017
【図５】
2015060237.tif 000018