(57)【特許請求の範囲】
【請求項１】
第１のマスタデータと、第２のマスタデータと、前記第１のマスタデータ内のレコードのＩＤである第１ＩＤと前記第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、前記第１ＩＤおよび前記第２ＩＤを共クラスタリングする共クラスタリング手段と、
前記第１ＩＤのクラスタである第１ＩＤクラスタと前記第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、前記第１ＩＤと前記第２ＩＤとの関係を目的変数とする予測モデルを生成する予測モデル生成手段と、
前記第１ＩＤと前記第２ＩＤとが指定された場合に、各予測モデルを用いて、前記第１ＩＤと前記第２ＩＤとの関係を予測する予測手段とを備え、
前記予測手段は、
予測モデル毎に、指定された前記第１ＩＤの属性値と指定された前記第２ＩＤの属性値とを用いて目的変数の値を算出し、予測モデル毎に、着目している予測モデルに対応する前記第１ＩＤクラスタに前記第１ＩＤが所属する確率と、当該予測モデルに対応する前記第２ＩＤクラスタに前記第２ＩＤが所属する確率との積を算出し、予測モデル毎に算出した前記目的変数の値を予測モデル毎に算出した前記積で重み付け加算した結果を、前記第１ＩＤと前記第２ＩＤとの関係の予測結果として導出する
ことを特徴とする予測モデル生成システム。
【請求項２】
第１ＩＤは、顧客を識別するための顧客ＩＤであり、第２ＩＤは、商品を識別するための商品ＩＤである
請求項１に記載の予測モデル生成システム。
【請求項３】
第１ＩＤは、会社に属する社員を識別するための社員ＩＤであり、第２ＩＤは、前記会社内のプロジェクトを識別するためのプロジェクトＩＤである
請求項１に記載の予測モデル生成システム。
【請求項４】
第１のマスタデータと、第２のマスタデータと、前記第１のマスタデータ内のレコードのＩＤである第１ＩＤと前記第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、前記第１ＩＤおよび前記第２ＩＤを共クラスタリングし、
前記第１ＩＤのクラスタである第１ＩＤクラスタと前記第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、前記第１ＩＤと前記第２ＩＤとの関係を目的変数とする予測モデルを生成し、
前記第１ＩＤと前記第２ＩＤとが指定された場合に、各予測モデルを用いて、前記第１ＩＤと前記第２ＩＤとの関係を予測し、
指定された前記第１ＩＤと指定された前記第２ＩＤとの関係を予測するときに、
予測モデル毎に、指定された前記第１ＩＤの属性値と指定された前記第２ＩＤの属性値とを用いて目的変数の値を算出し、予測モデル毎に、着目している予測モデルに対応する前記第１ＩＤクラスタに前記第１ＩＤが所属する確率と、当該予測モデルに対応する前記第２ＩＤクラスタに前記第２ＩＤが所属する確率との積を算出し、予測モデル毎に算出した前記目的変数の値を予測モデル毎に算出した前記積で重み付け加算した結果を、前記第１ＩＤと前記第２ＩＤとの関係の予測結果として導出する
ことを特徴とする予測モデル生成方法。
【請求項５】
コンピュータに、
第１のマスタデータと、第２のマスタデータと、前記第１のマスタデータ内のレコードのＩＤである第１ＩＤと前記第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、前記第１ＩＤおよび前記第２ＩＤを共クラスタリングする共クラスタリング処理、
前記第１ＩＤのクラスタである第１ＩＤクラスタと前記第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、前記第１ＩＤと前記第２ＩＤとの関係を目的変数とする予測モデルを生成する予測モデル生成処理、および、
前記第１ＩＤと前記第２ＩＤとが指定された場合に、各予測モデルを用いて、前記第１ＩＤと前記第２ＩＤとの関係を予測する予測処理を実行させ、
前記予測処理で、
予測モデル毎に、指定された前記第１ＩＤの属性値と指定された前記第２ＩＤの属性値とを用いて目的変数の値を算出させ、予測モデル毎に、着目している予測モデルに対応する前記第１ＩＤクラスタに前記第１ＩＤが所属する確率と、当該予測モデルに対応する前記第２ＩＤクラスタに前記第２ＩＤが所属する確率との積を算出させ、予測モデル毎に算出した前記目的変数の値を予測モデル毎に算出した前記積で重み付け加算した結果を、前記第１ＩＤと前記第２ＩＤとの関係の予測結果として導出させる
ための予測モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２種類の事項の関係を予測する予測モデルを生成する予測モデル生成システム、予測モデル生成方法および予測モデル生成プログラムに関する。
【背景技術】
【０００２】
情報を表形式のデータとして管理する場合がある。表形式のデータは、「マスタデータ」と「ファクトデータ」の２つに大別される。マスタデータは、複数のレコードを含む。そして、各レコードは、レコードのＩＤと、そのＩＤに対応する属性値とを含む。また、ファクトデータは、あるマスタデータにおけるレコードのＩＤと、他のマスタデータにおけるレコードのＩＤとの関係を示すデータである。【０００３】
例えば、小売り等の分野では、顧客の情報や商品の情報は、それぞれマスタデータとして管理される。図１６は、顧客に関するマスタデータの例を示す説明図である。図１７は、商品に関するマスタデータの例を示す説明図である。図１６に例示するマスタデータでは、各レコードのＩＤは、顧客ＩＤである。また、図１６では、顧客ＩＤに対応する属性値として、顧客の年齢を示している。また、図１７に例示するマスタデータでは、各レコードのＩＤは、商品ＩＤである。また、図１７では、商品ＩＤに対応する属性値として、商品の値段を示している。【０００４】
また、ファクトデータの例として、顧客ＩＤと商品ＩＤとの関係を示すデータが挙げられる。例えば、顧客ＩＤによって特定される顧客が商品ＩＤによって特定される商品を購入した実績があるか否かという関係をファクトデータで示すことができる。このようなファクトデータは、購買実績データと称することができる。図１８は、ファクトデータの例を示す説明図である。図１８に示す例では、ある顧客ＩＤとある商品ＩＤとを含むレコードが存在しているということは、その顧客ＩＤによって特定される顧客がその商品ＩＤによって特定される商品を購入した実績があるということを示している。また、ある顧客ＩＤとある商品ＩＤとを含むレコードが存在していないということは、その顧客ＩＤによって特定される顧客がその商品ＩＤによって特定される商品を購入した実績がないということを示している。例えば、図１８に示す例では、顧客ＩＤ“１”を有する顧客が、商品ＩＤ“２”を有する商品を購入した実績があること等を示している。また、顧客ＩＤ“１”と商品ＩＤ“１”とを含むレコードはない。このことは、顧客ＩＤ“１”を有する顧客が、商品ＩＤ“１” を有する商品を購入した実績がないことを示している。また、図１８に例示するファクトデータでは、顧客が商品を購入した日時を示す情報や、顧客が商品を購入した店舗を示す情報等が列として包含されることも一般的である。【０００５】
また、非特許文献１には、教師あり学習について記載されている。【０００６】
また、特許文献１には商品および顧客をそれぞれグルーピングするシステムが記載されている。また、特許文献２には、百貨店のクラスタ間の相関値を記憶する情報処理装置が記載されている。また、特許文献３には、購買履歴データにある顧客と商品をそれぞれ行および列に当てはめ、行および列を並び替えることによってクラスタを抽出する装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第ＷＯ２０１６／０９２７６７号
【特許文献２】特開２０１５−１４６１３１号公報
【特許文献３】特開２００３−２４８７５０号公報
【非特許文献】
【０００８】
【非特許文献１】Corinna Cortes, Vladimir Vapnik, “Support-Vector Networks”, Machine Learning, 20, pages 273-297,  １９９５年
【発明の概要】
【発明が解決しようとする課題】
【０００９】
マーケティングの分野では、「ある顧客がある商品を買うかどうか」を予測することが重要である。例えば、図１８に示すファクトデータは、顧客ＩＤ“１”を有する顧客が、商品ＩＤ“１”を有する商品を購入していないことを示している。ここで、そもそもその顧客がその商品を購入する可能性が低いのか、あるいは、現時点でその顧客がその商品を購入していないだけであって、将来、その顧客がその商品を購入する可能性が高いのか等を予測できることが重要である。これは、図１８に例示するファクトデータ内のレコードの有無を予測する問題であるということができる。この問題を、非特許文献１に記載されている教師あり学習で、予測モデルを学習することによって解くことが考えられる。例えば、図１６に例示するマスタデータと、図１７に示すマスタデータとを外部結合し、購買実績を表す列を追加したデータを生成することとする。このようなデータの例を図１９に示す。図１９に示す例において、購買実績の値“１”は購買実績があることを意味し、購買実績の値“０”は購買実績がないことを意味する。【００１０】
図１９に例示するデータを教師データとして、年齢および値段を説明変数とし、購買実績を目的変数として、非特許文献１に記載されている教師あり学習によって予測モデルを学習することができる。この予測モデルは、例えば、ｙ＝ｗｔｘという式の形式で得られる。ｘは、各説明変数を要素とする列ベクトルである。ｗは、各説明変数に対応する係数を要素とする列ベクトルである。ｗの要素の値が教師あり学習によって定められる。目的変数ｙは、説明変数（本例では顧客の年齢および商品の値段）が与えられたときに、その顧客がその商品を購入する確率である。すなわち、ある顧客の年齢およびある商品の値段をｙ＝ｗｔｘに代入することによって、その顧客がその商品を購入する確率が求められる。【００１１】
しかし、上記のように得られた予測モデルには、予測精度が低いという問題がある。この理由について述べる。マスタデータ内の異なるレコードで属性値が同一であっても、潜在的な特性は異なっている場合がある。例えば、顧客に関するマスタデータにおいて、２つのレコードの属性値（年齢）がいずれも２０才で同一であるとする。しかし、その２つのレコードの一方に対応する顧客（顧客Ａとする。）は、インドア派であり、もう一方のレコードに対応する顧客（顧客Ｂとする。）はアウトドア派であるとする。ここで、顧客Ａが９８０円のビーチサンダルを買う確率と、顧客Ｂが９８０円のビーチサンダルを買う確率は、顧客の嗜好および商品（ビーチサンダル）を考慮すると異なる確率になることが一般的である。しかし、顧客Ａ，Ｂの年齢は同一である。そのため、顧客Ａが９８０円のビーチサンダルを買う確率を求める際の説明変数の値は２０才、９８０円であり、顧客Ｂが９８０円のビーチサンダルを買う確率を求める際の説明変数の値も２０才、９８０円である。よって、どちらの確率を求める場合にも、説明変数の値が共通となり、同一の確率が導出される。すなわち、上記のように得られた予測モデルは、実際の購買傾向の違いを捉えているとは言えず、上記のように得られた予測モデルの予測精度は低い。【００１２】
このような問題は、顧客ＩＤと商品ＩＤとの関係を予測する場合に限らず生じ得る。【００１３】
そこで、本発明は、第１のマスタデータのレコードのＩＤと、第２のマスタデータのレコードのＩＤとの関係を精度良く予測するための予測モデルを生成することができる予測モデル生成システム、予測モデル生成方法および予測モデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による予測モデル生成システムは、第１のマスタデータと、第２のマスタデータと、第１のマスタデータ内のレコードのＩＤである第１ＩＤと第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする共クラスタリング手段と、第１ＩＤのクラスタである第１ＩＤクラスタと第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、第１ＩＤと第２ＩＤとの関係を目的変数とする予測モデルを生成する予測モデル生成手段と、第１ＩＤと第２ＩＤとが指定された場合に、各予測モデルを用いて、第１ＩＤと第２ＩＤとの関係を予測する予測手段とを備え、予測手段が、予測モデル毎に、指定された第１ＩＤの属性値と指定された第２ＩＤの属性値とを用いて目的変数の値を算出し、予測モデル毎に、着目している予測モデルに対応する第１ＩＤクラスタに第１ＩＤが所属する確率と、当該予測モデルに対応する第２ＩＤクラスタに第２ＩＤが所属する確率との積を算出し、予測モデル毎に算出した目的変数の値を予測モデル毎に算出した積で重み付け加算した結果を、第１ＩＤと第２ＩＤとの関係の予測結果として導出することを特徴とする。
【００１５】
また、本発明による予測モデル生成方法は、第１のマスタデータと、第２のマスタデータと、第１のマスタデータ内のレコードのＩＤである第１ＩＤと第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングし、第１ＩＤのクラスタである第１ＩＤクラスタと第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、第１ＩＤと第２ＩＤとの関係を目的変数とする予測モデルを生成し、第１ＩＤと第２ＩＤとが指定された場合に、各予測モデルを用いて、第１ＩＤと第２ＩＤとの関係を予測し、指定された第１ＩＤと指定された第２ＩＤとの関係を予測するときに、予測モデル毎に、指定された第１ＩＤの属性値と指定された第２ＩＤの属性値とを用いて目的変数の値を算出し、予測モデル毎に、着目している予測モデルに対応する第１ＩＤクラスタに第１ＩＤが所属する確率と、当該予測モデルに対応する第２ＩＤクラスタに第２ＩＤが所属する確率との積を算出し、予測モデル毎に算出した目的変数の値を予測モデル毎に算出した積で重み付け加算した結果を、第１ＩＤと第２ＩＤとの関係の予測結果として導出することを特徴とする。
【００１６】
また、本発明による予測モデル生成プログラムは、コンピュータに、第１のマスタデータと、第２のマスタデータと、第１のマスタデータ内のレコードのＩＤである第１ＩＤと第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする共クラスタリング処理、第１ＩＤのクラスタである第１ＩＤクラスタと第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、第１ＩＤと第２ＩＤとの関係を目的変数とする予測モデルを生成する予測モデル生成処理、および、第１ＩＤと第２ＩＤとが指定された場合に、各予測モデルを用いて、第１ＩＤと第２ＩＤとの関係を予測する予測処理を実行させ、予測処理で、予測モデル毎に、指定された第１ＩＤの属性値と指定された第２ＩＤの属性値とを用いて目的変数の値を算出させ、予測モデル毎に、着目している予測モデルに対応する第１ＩＤクラスタに第１ＩＤが所属する確率と、当該予測モデルに対応する第２ＩＤクラスタに第２ＩＤが所属する確率との積を算出させ、予測モデル毎に算出した目的変数の値を予測モデル毎に算出した積で重み付け加算した結果を、第１ＩＤと第２ＩＤとの関係の予測結果として導出させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、第１のマスタデータのレコードのＩＤと、第２のマスタデータのレコードのＩＤとの関係を精度良く予測するための予測モデルを生成することができる。
【図面の簡単な説明】
【００１８】
【図１】行列形式で表現したファクトデータの例を示す説明図である。
【図２】本発明の第１の実施形態の予測モデル生成システムの例を示す機能ブロック図である。
【図３】第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に定められる予測モデルを示す模式図である。
【図４】個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率の例を示す説明図である。
【図５】個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率の例を示す説明図である。
【図６】個々の第２ＩＤクラスタと第１ＩＤクラスタ“２”との組み合わせに対応する個々の予測モデルを示す模式図である。
【図７】個々の第１ＩＤクラスタと第２ＩＤクラスタ“２”との組み合わせに対応する個々の予測モデルを示す模式図である。
【図８】第１の実施形態の処理経過の例を示すフローチャートである。
【図９】本発明の第２の実施形態の予測モデル生成システムの例を示す機能ブロック図である。
【図１０】第２の実施形態の処理経過の例を示すフローチャートである。
【図１１】ステップＳ１３の処理経過の例を示すフローチャートである。
【図１２】本発明の第３の実施形態の予測モデル生成システムの例を示す機能ブロック図である。
【図１３】本発明の第３の実施形態における予測処理の経過の例を示すフローチャートである。
【図１４】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図１５】本発明の予測モデル生成システムの概要を示すブロック図である。
【図１６】顧客に関するマスタデータの例を示す説明図である。
【図１７】商品に関するマスタデータの例を示す説明図である。
【図１８】ファクトデータの例を示す説明図である。
【図１９】マスタデータを外部結合したデータの例を示す説明図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面を参照して説明する。
【００２０】
まず、本発明の予測モデル生成システムには、第１のマスタデータ、第２のマスタデータおよびファクトデータが与えられる。以下の説明では、ファクトデータが１つであるものとして説明するが、ファクトデータが複数存在していてもよい。
【００２１】
第１のマスタデータおよび第２のマスタデータは、それぞれ複数のレコードを含む。第１のマスタデータのレコードのＩＤを第１ＩＤと記す。第２のマスタデータのレコードのＩＤを第２ＩＤと記す。
【００２２】
第１のマスタデータの各レコードでは、第１ＩＤと、その第１ＩＤに対応する属性値とが対応付けられている。同様に、第２のマスタデータの各レコードでは、第２ＩＤと、その第２ＩＤに対応する属性値とが対応付けられている。
【００２３】
以下では、第１のマスタデータが、図１６に例示するような顧客に関するマスタデータであり、第２のマスタデータが、図１７に例示するような商品に関するマスタデータである場合を例にして説明する。そして、第１ＩＤが、顧客を識別するための顧客ＩＤであり、第２ＩＤが、商品を識別するための商品ＩＤである場合を例にして説明する。ただし、第１のマスタデータおよび第２のマスタデータは、顧客や商品に関するマスタデータに限定されるわけではない。従って、第１ＩＤおよび第２ＩＤも、顧客ＩＤや商品ＩＤに限定されるわけではない。
【００２４】
図１６に例示するマスタデータでは、顧客ＩＤ（第１ＩＤ）に対応する属性値として、「年齢」の値を示している。ただし、第１のマスタデータが示す属性の種類は年齢以外であってもよい。また、図１７に例示するマスタデータでは、商品ＩＤ（第２ＩＤ）に対応する属性値として、「値段」の値を示している。ただし、第２のマスタデータが示す属性の種類は値段以外であってもよい。さらに、第１のマスタデータおよび第２のマスタデータは、複数種類の属性を示していてもよい。
【００２５】
ファクトデータは、第１ＩＤと第２ＩＤとの関係を示すデータである。以下では、ファクトデータは、顧客ＩＤ（第１ＩＤ）によって特定される顧客が、商品ＩＤ（第２ＩＤ）によって特定される商品を購入した実績があるか否かという関係を示す場合を例にして説明する。ファクトデータは、図１８に例示するように表すことができる。既に説明したように、図１８に示す例では、ある顧客ＩＤとある商品ＩＤとを含むレコードが存在しているということは、その顧客ＩＤによって特定される顧客がその商品ＩＤによって特定される商品を購入した実績があるということを示している。また、ある顧客ＩＤとある商品ＩＤとを含むレコードが存在していないということは、その顧客ＩＤによって特定される顧客がその商品ＩＤによって特定される商品を購入した実績がないということを示している。また、図１８に例示するファクトデータが、顧客が商品を購入した日時を示す情報や、顧客が商品を購入した店舗を示す情報等を列として含んでいてもよい。
【００２６】
なお、ファクトデータは、図１８に例示する形式に限定されず、例えば、行列形式で表現することもできる。図１は、行列形式で表現したファクトデータの例を示す説明図である。図１に例示するファクトデータでは、各行は顧客ＩＤに対応し、各列は商品ＩＤに対応している。図１に例示するファクトデータも、第１ＩＤと第２ＩＤとの関係として、顧客ＩＤ（第１ＩＤ）によって特定される顧客が、商品ＩＤ（第２ＩＤ）によって特定される商品を購入した実績があるか否かという関係を示している。具体的には、図１に例示するファクトデータは、顧客が商品を購入した実績があることを“１”で示し、実績がないことを“０”で示している。例えば、このファクトデータは、顧客ＩＤ“１”を有する顧客が、商品ＩＤ“２”を有する商品を購入した実績があること示している。また、このファクトデータは、顧客ＩＤ“１”を有する顧客が、商品ＩＤ“１” を有する商品を購入した実績がないことを示している。なお、第１ＩＤと第２ＩＤとの関係を示す値は、２値（“０”および“１”）に限定されない。例えば、図１に示す形式のファクトデータにおいて、顧客が商品を購入した個数が、第１ＩＤと第２ＩＤとの関係を示す値として示されていてもよい。図１８や図１に例示するファクトデータは、購買実績データと称することができる。
【００２７】
実施形態１．
図２は、本発明の第１の実施形態の予測モデル生成システムの例を示す機能ブロック図である。
【００２８】
第１の実施形態の予測モデル生成システム１０００は、データ入力部１３００と、学習部１１００と、記憶部１２００と、学習結果出力部１４００とを備える。学習部１１００は、初期化部１１１０と、クラスタリング部１１２０とを備える。クラスタリング部１１２０は、予測モデル学習部１１２１と、クラスタ割り当て部１１２２と、クラスタ情報算出部１１２３と、終了判定部１１２４とを備える。
【００２９】
予測モデル生成システム１０００は、入力された第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする。第１ＩＤのクラスタを、第１ＩＤクラスタと記す。また、第２ＩＤのクラスタを第２ＩＤクラスタと記す。第１ＩＤクラスタは、顧客ＩＤクラスタと称することもできる。同様に、第２ＩＤクラスタは、商品ＩＤクラスタと称することもできる。予測モデル生成システム１０００によるクラスタリングの態様は、ソフトクラスタリングである。また、予測モデル生成システム１０００は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に、第１ＩＤと第２ＩＤとの関係を目的変数とする予測モデルを学習によって生成する。本実施形態の予測モデル生成システム１０００は、終了条件が満たされるまで、予測モデル生成処理、共クラスタリング処理等を繰り返す。
【００３０】
データ入力部１３００は、予測モデルの生成に用いられるデータ群と、クラスタリングの設定値とを取得する。データ入力部１３００は、例えば、外部の装置にアクセスしてデータ群と、クラスタリングの設定値とを取得してもよい。あるいは、データ入力部１３００は、データ群と、クラスタリングの設定値とが入力される入力インタフェースであってもよい。
【００３１】
予測モデルの生成に用いられるデータ群は、第１のマスタデータ（例えば、図１６に例示する顧客に関するマスタデータ）と、第２のマスタデータ（例えば、図１７に例示する商品に関するマスタデータ）と、ファクトデータ（例えば、図１８や図１に例示する購買実績データ）とを含む。
【００３２】
また、クラスタリングの設定値は、例えば、第１ＩＤクラスタの数の最大値、第２ＩＤクラスタの数の最大値、予測モデルで説明変数に該当する属性の属性名、目的変数に該当する属性、予測モデルの種類である。
【００３３】
説明変数に該当する属性は、例えば、第１のマスタデータが示す属性および第２のマスタデータが示す属性である。ただし、第１のマスタデータが示す属性および第２のマスタデータが示す属性に加えて、ファクトデータが示す属性（例えば、顧客が商品を購入した日時、顧客が商品を購入した店舗）が、クラスタリングの設定値として定められていてもよい。
【００３４】
目的変数に該当する属性は、例えば、顧客ＩＤによって特定される顧客が商品ＩＤによって特定される商品を購入する確率である。ただし、目的変数に該当する属性は、この例に限定されない。例えば、顧客ＩＤによって特定される顧客が商品ＩＤによって特定される商品を購入する際の購入数が目的変数として定められていてもよい。本実施形態では、説明を簡単にするために、目的変数の値が連続値である場合を例にして説明する。
【００３５】
予測モデルの種類は、例えば、サポートベクタマシン、Logistic Regression 、多項ロジット等である。予測モデルの種類として、各種種類のうち、いずれかが指定される。
【００３６】
学習部１１００は、クラスタ割り当て等を初期化し、予測モデル生成処理、共クラスタリング処理等を繰り返す繰り返し処理を実行する。学習部１１００において、初期化部１１１０が、上記の初期化を実行し、クラスタリング部１１２０が上記の繰り返し処理を実行する。
【００３７】
初期化部１１１０は、データ入力部１３００から、第１のマスタデータと、第２のマスタデータと、ファクトデータと、クラスタリングの設定値を受け取り、それらを記憶部１２００に記憶させる。
【００３８】
また、初期化部１１１０は、クラスタ割り当てを初期化する。具体的には、初期化部１１１０は、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する確率の初期値、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する確率の初期値を決定する。以下、ＩＤがクラスタに所属する確率を所属確率と記す。初期化部１１１０は、決定したそれぞれの所属確率の初期値を記憶部１２００に記憶させる。
【００３９】
さらに、初期化部１１１０は、第１ＩＤクラスタ毎にクラスタのモデル情報の初期値を決定し、同様に、第２ＩＤクラスタ毎にクラスタのモデル情報の初期値を決定する。初期化部１１１０は、クラスタ毎に決定したクラスタのモデル情報の初期値を記憶部１２００に記憶させる。
【００４０】
クラスタのモデル情報は、そのクラスタに所属するＩＤに対応する属性値の統計的な性質を表す情報であり、具体的には、そのクラスタに所属するＩＤに対応する属性値の統計値である。例えば、クラスタのモデル情報は、そのクラスタに所属するＩＤに対応する属性値の平均値や分散で表すことができる。顧客に関するマスタデータに、顧客の年収が属性値として含まれているとする。そして、年収が各顧客ＩＤクラスタで正規分布に従うものとした場合、年収の正規分布の平均値や分散値で、クラスタのモデル情報を表すことができる。以下、説明を簡単にするために、クラスタのモデル情報が、そのクラスタに所属するＩＤに対応する属性値の平均値である場合を例にして説明する。
【００４１】
クラスタリング部１１２０は、終了条件が満たされるまで、予測モデル生成処理、共クラスタリング処理等を繰り返すことによって、第１ＩＤおよび商品ＩＤのクラスタリング結果と、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎の予測モデルを導出する。
【００４２】
クラスタのモデル情報は、クラスタ割り当て部１１２２がクラスタリングを行う際に参照される。
【００４３】
予測モデル学習部１１２１は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に、学習によって、予測モデルを生成する。
【００４４】
前述のように、予測モデルは、例えば、ｙ＝ｗｔｘという式で得られる。ｘは、各説明変数を要素とする列ベクトルである。ｗは、各説明変数に対応する係数を要素とする列ベクトルである。ここでは、目的変数ｙが、顧客ＩＤによって特定される顧客が商品ＩＤによって特定される商品を購入する確率である場合を例にして説明する。また、列ベクトルｘの要素となる説明変数が、顧客の年齢および商品の値段である場合を例にして説明する。説明変数および目的変数は、クラスタリングの設定値として予め定められている。よって、予測モデルを生成するということは、列ベクトルｗを定めることを意味する。
【００４５】
図３は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に定められる予測モデルを示す模式図である。図３では、予測モデルを列ベクトルｗで表している。また、ｗの１番目の添え字は、顧客ＩＤクラスタ（第１ＩＤクラスタ）の識別番号である。ｗの２番目の添え字は、商品ＩＤクラスタ（第２ＩＤクラスタ）の識別番号である。なお、「アウトドア派」、「アウトドア用品」等は、システム管理者が便宜的に付けたラベルであるものとする。図３示す例では、顧客ＩＤクラスタの数、および、商品ＩＤクラスタの数が、それぞれ３個であるので、３×３＝９個の予測モデルを模式的に示している。
【００４６】
また、予測モデル学習部１１２１が各予測モデルを生成する時点で、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率が、記憶部１２００に記憶されている。
【００４７】
図４は、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率の例を示す説明図である。図４に示すように、第１ＩＤクラスタ毎に、第１ＩＤ“１”の所属確率が定められている。他の第１ＩＤについても同様である。
【００４８】
図５は、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率の例を示す説明図である。図５に示すように、第２ＩＤクラスタ毎に、第２ＩＤ“１”の所属確率が定められている。他の第２ＩＤについても同様である。
【００４９】
予測モデル学習部１１２１が、第１ＩＤクラスタ“１”と第２ＩＤクラスタ“２”との組み合わせに対応する予測モデルを生成する場合を例にして、予測モデル学習部１１２１が予測モデルを生成する処理について説明する。ここでは、生成する予測モデルに対応する第１ＩＤクラスタ“１”、第２ＩＤクラスタ“２”をそれぞれ、着目している第１ＩＤクラスタ、着目している第２ＩＤクラスタと記す。予測モデル学習部１１２１は、第１ＩＤと第２ＩＤの組み合わせ毎に、属性値を説明変数に代入して得られる予測値に、着目している第１ＩＤクラスタに第１ＩＤが所属する所属確率と、着目している第２ＩＤクラスタに第２ＩＤが所属する所属確率を乗じた値と、目的変数の実績値との差を求めることとした場合において、その差の総和が最小となるように、予測モデル内の列ベクトルｗ１２を決定する。列ベクトルｗ１２を決定するということは、予測モデルを生成することと同義である。目的変数の実績値は、本例では、目的変数の実績値は、顧客が商品を購入したことがあれば“１”であり、そうでなければ“０”である。
【００５０】
より具体的には、予測モデル学習部１１２１は、以下に示す式（１）が最小となる列ベクトルｗ１２を決定する。
【００５１】
【数１】
0006988817.tif 000002
【００５２】
式（１）において、ｄ１は、第１ＩＤの順番を表す変数である。ｄ２は、第２ＩＤの順番を表す変数である。ｙｄ１ｄ２は、ｄ１番目の第１ＩＤによって特定される顧客がｄ２番目の第２ＩＤによって特定される商品を購入したか否かを示す実績値である。ｘｄ１ｄ２は、ｄ１番目の第１ＩＤおよびｄ２番目の第２ＩＤに応じた属性値を説明変数に代入した列ベクトルである。ｑ（ｚｄ１＝１）は、着目している第１ＩＤクラスタ“１”に、ｄ１番目の第１ＩＤが所属する所属確率であり、ｑ（ｚｄ２＝２）は、着目している第２ＩＤクラスタ“２”に、ｄ２番目の第２ＩＤが所属する所属確率である。
【００５３】
式（１）は、第１ＩＤと第２ＩＤの組み合わせ毎に、属性値を説明変数に代入して得られる予測値に、着目している第１ＩＤクラスタに第１ＩＤが所属する所属確率ｑ（ｚｄ１＝１）と、着目している第２ＩＤクラスタに第２ＩＤが所属する所属確率ｑ（ｚｄ２＝２）を乗じた値と、目的変数の実績値ｙｄ１ｄ２との差を求めることとした場合における、その差の総和である。
【００５４】
予測モデル学習部１１２１は、式（１）が最小となる列ベクトルｗ１２を決定することで、第１ＩＤクラスタ“１”と第２ＩＤクラスタ“２”との組み合わせに対応する予測モデルを生成する。
【００５５】
予測モデル学習部１１２１は、第１ＩＤクラスタと第２ＩＤクラスタの他の組み合わせに対応する予測モデルも同様に生成する。
【００５６】
予測モデル学習部１１２１は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に生成した各予測モデルを、記憶部１２００に記憶させる。記憶部１２００に各予測モデルが記憶されている場合には、予測モデル学習部１１２１は、その各予測モデルを、新たに生成した各予測モデルで更新する。
【００５７】
各購買実績が予測モデルに与える影響の大きさは、購買実績に関わる顧客のＩＤが着目している第１ＩＤクラスタに所属する所属確率と、購買実績に関わる商品のＩＤが着目している第２ＩＤクラスタに所属する所属確率とに比例する。
【００５８】
クラスタ割り当て部１１２２は、第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする。クラスタリングの態様は、ソフトクラスタリングである。従って、クラスタ割り当て部１１２２は、ある１つの第１ＩＤに関して、第１ＩＤクラスタ毎に、その第１ＩＤが第１ＩＤクラスタに所属する所属確率を決定する。他の第１ＩＤに関しても同様である。また、クラスタ割り当て部１１２２は、ある１つの第２ＩＤに関して、第２ＩＤクラスタ毎に、その第２ＩＤが第２ＩＤクラスタに所属する所属確率を決定する。他の第２ＩＤに関しても同様である。
【００５９】
第１ＩＤの集合を、｛ｘｄ１｝ｄ１＝１Ｄ１と記す。Ｄ１は、第１ＩＤの数である。｛ｘｄ１｝ｄ１＝１Ｄ１は、１番目からＤ１番目までの第１ＩＤを含む集合を意味している。第２ＩＤの集合を、｛ｘｄ２｝ｄ２＝１Ｄ２と記す。Ｄ２は、第２ＩＤの数である。｛ｘｄ２｝ｄ２＝１Ｄ２は、１番目からＤ２番目までの第２ＩＤを含む集合を意味している。クラスタ割り当て部１１２２は、｛ｘｄ１｝ｄ１＝１Ｄ１をＫ１個の第１ＩＤクラスタにクラスタリングし、｛ｘｄ２｝ｄ２＝１Ｄ２をＫ２個の第２ＩＤクラスタにクラスタリングする。
【００６０】
また、ｄ１番目の第１ＩＤが第１ＩＤクラスタ“ｋ１”に所属する所属確率を、ｑ（ｚｄ１＝ｋ１）と記す。ｄ２番目の第２ＩＤが第２ＩＤクラスタ“ｋ２” に所属する所属確率を、ｑ（ｚｄ２＝ｋ２）と記す。
【００６１】
クラスタ割り当て部１１２２は、１つの第１ＩＤが１つの第１ＩＤクラスタに所属する所属確率を決定する際、その第１ＩＤの属性値と、その第１ＩＤクラスタに対応するクラスタのモデル情報（換言すれば、その第１ＩＤクラスタにおける属性値の統計値）との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
【００６２】
同様に、クラスタ割り当て部１１２２は、１つの第２ＩＤが１つの第２ＩＤクラスタに所属する所属確率を決定する際、その第２ＩＤの属性値と、その第２ＩＤクラスタに対応するクラスタのモデル情報との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
【００６３】
ここでは、クラスタのモデル情報が、そのクラスタに所属するＩＤに対応する属性値の平均値であるものとして説明する。
【００６４】
例えば、第１ＩＤ“１”が第１ＩＤクラスタ“２”に所属する所属確率を決定する際、クラスタ割り当て部１１２２は、第１ＩＤ“１”に対応する年齢が、第１ＩＤクラスタ“２”における年齢の平均値に近いほど、その所属確率を高くし、その年齢が平均値から離れているほど、その所属確率を低くする。
【００６５】
また、例えば、第２ＩＤ“１”が第２ＩＤクラスタ“２”に所属する所属確率を決定する際、クラスタ割り当て部１１２２は、第２ＩＤ“１”に対応する値段が、第２ＩＤクラスタ“２”における値段の平均値に近いほど、その所属確率を高くし、その値段が平均値から離れているほど、その所属確率を低くする。
【００６６】
ここでは、第１ＩＤ“１”が第１ＩＤクラスタ“２”に所属する所属確率や、第２ＩＤ“１”が第２ＩＤクラスタ“２”に所属する所属確率を例にして説明したが、他の所属確率を決定する場合も同様である。
【００６７】
また、クラスタ割り当て部１１２２は、クラスタのモデル情報だけでなく、予測モデルによる予測値の誤差も考慮して所属確率を定める。
【００６８】
クラスタ割り当て部１１２２は、１つの第１ＩＤが１つの第１ＩＤクラスタに所属する所属確率を決定する際、個々の第２ＩＤクラスタとその第１ＩＤクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第１ＩＤと各第２ＩＤとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部１１２２は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
【００６９】
ここでは、第１ＩＤ“１”が第１ＩＤクラスタ“２”に所属する所属確率を決定する場合を例にして説明する。図６は、個々の第２ＩＤクラスタと第１ＩＤクラスタ“２”との組み合わせに対応する個々の予測モデルを示す模式図である。第２ＩＤクラスタの数は３個であり、第２ＩＤの数は４個であるとする。また、個々の第２ＩＤクラスタ“１”，“２”，“３”に関して、各第２ＩＤ“１”〜“４”それぞれの所属確率が定められている。すなわち、個々の第２ＩＤクラスタ“１”，“２”，“３”のいずれにも、ある所属確率で各第２ＩＤ“１”〜“４”が所属していると言える。また、ｗ２１，ｗ２２，ｗ２３は、予測モデルに該当する式に含まれる列ベクトルであるが、ここでは便宜的に、予測モデルの識別情報として符号ｗ２１等を用いる。
【００７０】
クラスタ割り当て部１１２２は、第１ＩＤ“１”の属性値と、第２ＩＤ“１”の属性値を、予測モデル“ｗ２１”に適用して、目的変数ｙの値を求める。すなわち、クラスタ割り当て部１１２２は、第１ＩＤ“１”と第２ＩＤ“１”との関係の予測値を算出する。そして、クラスタ割り当て部１１２２は、第１ＩＤ“１”と第２ＩＤ“１”との関係の実績値と、その予測値との差を算出する。クラスタ割り当て部１１２２は、実績値をファクトデータから読み取ればよい。ここで、予測モデル“ｗ２１”に対応する第２ＩＤクラスタは、第２ＩＤクラスタ“１”である。クラスタ割り当て部１１２２は、第２ＩＤ“１”がその第２ＩＤクラスタ“１”に所属する所属確率を、実績値と予測値との差に乗算する。すなわち、クラスタ割り当て部１１２２は、実績値と予測値との差と、所属確率との積を算出する。この所属確率は、第２ＩＤが、参照中の予測モデルに対応する第２ＩＤクラスタに所属する確率である。クラスタ割り当て部１１２２は、同様に、予測モデル“ｗ２１”を用いて、第１ＩＤ“１”と第２ＩＤ“２” との関係の予測値と実測値との差と、所属確率との積、第１ＩＤ“１”と第２ＩＤ“３”との関係の予測値と実測値との差と、所属確率との積、および、第１ＩＤ“１”と第２ＩＤ“４”との関係の予測値と実測値との差と、所属確率との積も、それぞれ算出する。
【００７１】
同様に、クラスタ割り当て部１１２２は、予測モデル“ｗ２２”を用いて、第１ＩＤ“１”と第２ＩＤ“１”との関係の予測値と実測値との差と、所属確率との積、第１ＩＤ“１”と第２ＩＤ“２”との関係の予測値と実測値との差と、所属確率との積、第１ＩＤ“１”と第２ＩＤ“３”との関係の予測値と実測値との差と、所属確率との積、および、第１ＩＤ“１”と第２ＩＤ“４”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。また、クラスタ割り当て部１１２２は、予測モデル“ｗ２３”を用いて、第１ＩＤ“１”と第２ＩＤ“１”との関係の予測値と実測値との差と、所属確率との積、第１ＩＤ“１”と第２ＩＤ“２”との関係の予測値と実測値との差と、所属確率との積、第１ＩＤ“１”と第２ＩＤ“３”との関係の予測値と実測値との差と、所属確率との積、および、第１ＩＤ“１”と第２ＩＤ“４”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。
【００７２】
すなわち、クラスタ割り当て部１１２２は、予測値と実測値との差と、所属確率との積を、個々の第２ＩＤクラスタにおける個々の第２ＩＤ毎に算出する。
【００７３】
クラスタ割り当て部１１２２は、上記のようにして得た個々の積の総和を算出し、その値を、前述の誤差の程度（第１ＩＤと各第２ＩＤとの関係の実績値と予測値との誤差の程度）とする。そして、クラスタ割り当て部１１２２は、その誤差の程度が小さいほど、第１ＩＤ“１”が第１ＩＤクラスタ“２”に所属する所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
【００７４】
ここでは、第１ＩＤ“１”が第１ＩＤクラスタ“２”に所属する所属確率を決定する場合を例にして説明したが、他の所属確率を決定する場合の動作も同様である。
【００７５】
また、クラスタ割り当て部１１２２は、１つの第２ＩＤが１つの第２ＩＤクラスタに所属する所属確率を決定する際、個々の第１ＩＤクラスタとその第２ＩＤクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第２ＩＤと各第１ＩＤとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部１１２２は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
【００７６】
ここでは、第２ＩＤ“１”が第２ＩＤクラスタ“２”に所属する所属確率を決定する場合を例にして説明する。図７は、個々の第１ＩＤクラスタと第２ＩＤクラスタ“２”との組み合わせに対応する個々の予測モデルを示す模式図である。第１ＩＤクラスタの数は３個であり、第１ＩＤの数は４個であるとする。また、個々の第１ＩＤクラスタ“１”，“２”，“３”に関して、各第１ＩＤ“１”〜“４”それぞれの所属確率が定められている。すなわち、個々の第１ＩＤクラスタ“１”，“２”，“３”のいずれにも、ある所属確率で各第１ＩＤ“１”〜“４”が所属していると言える。また、ｗ１２，ｗ２２，ｗ３２は、予測モデルに該当する式に含まれる列ベクトルであるが、ここでは便宜的に、予測モデルの識別情報として符号ｗ１２等を用いる。
【００７７】
クラスタ割り当て部１１２２は、第２ＩＤ“１”の属性値と、第１ＩＤ“１”の属性値を、予測モデル“ｗ１２”に適用して、目的変数ｙの値を求める。すなわち、クラスタ割り当て部１１２２は、第２ＩＤ“１”と第１ＩＤ“１”との関係の予測値を算出する。そして、クラスタ割り当て部１１２２は、第２ＩＤ“１”と第１ＩＤ“１”との関係の実績値と、その予測値との差を算出する。クラスタ割り当て部１１２２は、実績値をファクトデータから読み取ればよい。ここで、予測モデル“ｗ１２”に対応する第１ＩＤクラスタは、第１ＩＤクラスタ“１”である。クラスタ割り当て部１１２２は、第１ＩＤ“１”がその第１ＩＤクラスタ“１”に所属する所属確率を、実績値と予測値との差に乗算する。すなわち、クラスタ割り当て部１１２２は、実績値と予測値との差と、所属確率との積を算出する。この所属確率は、第１ＩＤが、参照中の予測モデルに対応する第１ＩＤクラスタに所属する確率である。クラスタ割り当て部１１２２は、同様に、予測モデル“ｗ１２”を用いて、第２ＩＤ“１”と第１ＩＤ“２”との関係の予測値と実測値との差と、所属確率との積、第２ＩＤ“１”と第１ＩＤ“３”との関係の予測値と実測値との差と、所属確率との積、および、第２ＩＤ“１”と第１ＩＤ“４”との関係の予測値と実測値との差と、所属確率との積も、それぞれ算出する。
【００７８】
同様に、クラスタ割り当て部１１２２は、予測モデル“ｗ２２”を用いて、第２ＩＤ“１”と第１ＩＤ“１”との関係の予測値と実測値との差と、所属確率との積、第２ＩＤ“１”と第１ＩＤ“２”との関係の予測値と実測値との差と、所属確率との積、第２ＩＤ“１”と第１ＩＤ“３”との関係の予測値と実測値との差と、所属確率との積、および、第２ＩＤ“１”と第１ＩＤ“４”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。また、クラスタ割り当て部１１２２は、予測モデル“ｗ３２”を用いて、第２ＩＤ“１”と第１ＩＤ“１”との関係の予測値と実測値との差と、所属確率との積、第２ＩＤ“１”と第１ＩＤ“２”との関係の予測値と実測値との差と、所属確率との積、第２ＩＤ“１”と第１ＩＤ“３”との関係の予測値と実測値との差と、所属確率との積、および、第２ＩＤ“１”と第１ＩＤ“４”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。
【００７９】
すなわち、クラスタ割り当て部１１２２は、予測値と実測値との差と、所属確率との積を、個々の第１ＩＤクラスタにおける個々の第１ＩＤ毎に算出する。
【００８０】
クラスタ割り当て部１１２２は、上記のようにして得た個々の積の総和を算出し、その値を、前述の誤差の程度（第２ＩＤと各第１ＩＤとの関係の実績値と予測値との誤差の程度）とする。そして、クラスタ割り当て部１１２２は、その誤差の程度が小さいほど、第２ＩＤ“１”が第２ＩＤクラスタ“２”に所属する所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
【００８１】
クラスタ割り当て部１１２２は、記憶部１２００に記憶されている各所属確率を、決定した所属確率で更新する。
【００８２】
クラスタ情報算出部１１２３は、各第１ＩＤおよび各第２ＩＤのクラスタ割り当て（すなわち、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率）を参照し、第１ＩＤクラスタ毎にクラスタのモデル情報を算出するとともに、第２ＩＤクラスタ毎にクラスタのモデル情報を算出する。既に説明したように、クラスタのモデル情報は、そのクラスタに所属するＩＤに対応する属性値の統計的な性質を表す情報である。以下、属性値の平均値をクラスタのモデル情報とする場合を例にして、クラスタのモデル情報の算出方法を説明する。
【００８３】
クラスタ情報算出部１１２３は、第１ＩＤクラスタに関してクラスタのモデル情報を算出する場合、着目している第１ＩＤクラスタに所属している第１ＩＤ毎に、属性値と、第１ＩＤがその第１ＩＤクラスタに所属している所属確率との積を計算し、さらに、その積の総和を求める。この値をＡとする。また、クラスタ情報算出部１１２３は、各第１ＩＤがその第１ＩＤクラスタに所属する所属確率の総和に１を加算した値を計算する。この値をＢとする。クラスタ情報算出部１１２３は、ＡをＢで除算して得られる値を、着目している第１ＩＤクラスタにおけるクラスタのモデル情報とする。具体的には、クラスタ情報算出部１１２３は、以下に示す式（２）の計算を行う。
【００８４】
【数２】
0006988817.tif 000003
【００８５】
式（２）において、“属性値ｄ１”は、ｄ１番目の第１ＩＤの属性値である。“所属確率ｄ１”は、ｄ１番目の第１ＩＤが、着目している第１ＩＤクラスタに所属する所属確率である。上記の“Ａ”は、式（２）の分子に該当し、上記の“Ｂ”は、式（２）の分母に該当する。
【００８６】
クラスタ情報算出部１１２３は、第１ＩＤクラスタ毎に、式（２）の計算によって、クラスタのモデル情報を算出する。
【００８７】
第２ＩＤクラスタに関してクラスタのモデル情報を算出する方法も同様である。すなわち、クラスタ情報算出部１１２３は、第２ＩＤクラスタに関してクラスタのモデル情報を算出する場合、着目している第２ＩＤクラスタに所属している第２ＩＤ毎に、属性値と、第２ＩＤがその第２ＩＤクラスタに所属している所属確率との積を計算し、さらに、その積の総和を求める。この値をＣとする。また、クラスタ情報算出部１１２３は、各第２ＩＤがその第２ＩＤクラスタに所属する所属確率の総和に１を加算した値を計算する。この値をＤとする。クラスタ情報算出部１１２３は、ＣをＤで除算して得られる値を、着目している第２ＩＤクラスタにおけるクラスタのモデル情報とする。具体的には、クラスタ情報算出部１１２３は、以下に示す式（３）の計算を行う。
【００８８】
【数３】
0006988817.tif 000004
【００８９】
式（３）において、“属性値ｄ２”は、ｄ２番目の第２ＩＤの属性値である。“所属確率ｄ２”は、ｄ２番目の第２ＩＤが、着目している第２ＩＤクラスタに所属する所属確率である。上記の“Ｃ”は、式（３）の分子に該当し、上記の“Ｄ”は、式（３）の分母に該当する。
【００９０】
クラスタ情報算出部１１２３は、第２ＩＤクラスタ毎に、式（３）の計算によって、クラスタのモデル情報を算出する。
【００９１】
なお、式（２）の分母、および、式（３）の分母において、１が加算される理由は、例えば、各ＩＤの所属確率が全て０であっても、除算を可能とするためである。
【００９２】
また、式（２）および式（３）は、クラスタのモデル情報の算出式の例であり、クラスタのモデル情報の算出式は、式（２）および式（３）に限定されない。
【００９３】
クラスタ情報算出部１１２３は、記憶部１２００に記憶されているクラスタのモデル情報を、新たに計算したクラスタのモデル情報で更新する。
【００９４】
クラスタリング部１１２０は、予測モデル学習部１１２１による処理、クラスタ割り当て部１１２２による処理、および、クラスタ情報算出部１１２３による処理を繰り返す。
【００９５】
終了判定部１１２４は、上記の一連の処理の繰り返しを終了するか否かを判定する。終了判定部１１２４は、終了条件が満たされた場合に、上記の一連の処理の繰り返しを終了すると判定し、終了条件が満たされていなければ、繰り返しを続けると判定する。以下、終了条件の例を説明する。
【００９６】
例えば、上記の一連の処理の繰り返し回数が、クラスタリングの設定値の１つとして定められていてもよい。終了判定部１１２４は、上記の一連の処理の繰り返し回数が定められた回数に達したときに、繰り返しを終了すると判定してもよい。
【００９７】
また、クラスタ割り当て部１１２２が、クラスタリングを実行するときに、クラスタリングの精度を導出し、そのクラスタリングの精度を記憶部１２００に記憶させてもよい。終了判定部１１２４は、前回に導出されたクラスタリングの精度から、直近に導出されたクラスタリングの精度への変化量を計算し、その変化量が小さければ（具体的には、変化量の絶対値が所定の閾値以下であれば）、繰り返しを終了すると判定してもよい。クラスタ割り当て部１１２２は、クラスタリングの精度として、例えば、クラスタリングのモデルの対数尤度、または、Pseudo Fを計算してもよい。
【００９８】
記憶部１２００は、データ入力部１３００が取得した種々のデータや、学習部１１００の処理で得られた種々のデータを記憶する記憶装置である。記憶部１２００は、計算機の主記憶装置であっても、二次記憶装置であってもよい。記憶部１２００が二次記憶装置である場合、クラスタリング部１１２０は、処理を途中で中断し、その後、再開することができる。また、記憶部１２００が、主記憶装置と二次記憶装置とに分かれた構成であって、学習部１１００は、データの一部を主記憶装置に記憶させ、他のデータを二次記憶装置に記憶させてもよい。
【００９９】
学習結果出力部１４００は、記憶部１２００に記憶された、クラスタリング部１１２０による処理の結果（終了条件が満たされたことで確定した最終的な処理の結果）を出力する。学習結果出力部１４００は、例えば、クラスタの数（第１ＩＤクラスタの数および第２ＩＤクラスタの数）、個々の第１ＩＤクラスタに各第１ＩＤが所属する所属確率、個々の第２ＩＤクラスタに各第２ＩＤが所属する所属確率、第１ＩＤクラスタと第２ＩＤクラスタとの組み合わせ毎に得られた予測モデルを出力する。また、学習結果出力部１４００は、学習に要した時間等を出力してもよい。
【０１００】
学習結果出力部１４００が結果を出力する態様は、特に限定されない。例えば、学習結果出力部１４００は、結果を他の装置に出力してもよい。また、例えば、学習結果出力部１４００は、結果をディスプレイ装置に表示させてもよい。
【０１０１】
予測モデル学習部１１２１、クラスタ割り当て部１１２２、クラスタ情報算出部１１２３および終了判定部１１２４を含むクラスタリング部１１２０、並びに、データ入力部１３００、初期化部１１１０、学習結果出力部１４００は、例えば、プログラム（予測モデル生成プログラム）に従って動作するコンピュータのＣＰＵ（Central Processing Unit ）によって実現される。この場合、ＣＰＵは、例えば、コンピュータのプログラム記憶装置（図２において図示略）等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、データ入力部１３００、初期化部１１１０、クラスタリング部１１２０、および学習結果出力部１４００として動作すればよい。
【０１０２】
また、図２に示した予測モデル生成システム１０００の各要素が、それぞれ専用のハードウェアで実現されていてもよい。
【０１０３】
また、本発明の予測モデル生成システムは、２つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。この点は、後述の実施形態においても同様である。
【０１０４】
次に、第１の実施形態の処理経過を説明する。図８は、第１の実施形態の処理経過の例を示すフローチャートである。
【０１０５】
データ入力部１３００は、予測モデルの生成に用いられるデータ群（第１のマスタデータ、第２のマスタデータ、およびファクトデータ）と、クラスタリングの設定値とを取得する（ステップＳ１）。クラスタリングの設定値は、例えば、第１ＩＤクラスタの数の最大値、第２ＩＤクラスタの数の最大値、予測モデルで説明変数に該当する属性の属性名、目的変数に該当する属性、予測モデルの種類である。
【０１０６】
初期化部１１１０は、データ入力部１３００が取得した第１のマスタデータ、第２のマスタデータ、ファクトデータ、および、クラスタリングの設定値を記憶部１２００に記憶させる。さらに、初期化部１１１０は、クラスタ割り当てと、クラスタのモデル情報とを初期化する（ステップＳ２）。
【０１０７】
ステップＳ２において、初期化部１１１０は、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率の初期値、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率の初期値を決定し、記憶部１２００に記憶させる。初期化部１１１０は、所属確率を、均一に定めてもよい。例えば、第１ＩＤクラスタの数が２個である場合、各第１ＩＤが１番目の第１ＩＤクラスタに所属する所属確率、および、各第１ＩＤが２番目の第１ＩＤクラスタに所属する所属確率をそれぞれ０．５に定めてもよい。各第２ＩＤの所属確率に関しても同様である。また、初期化部１１１０は、所属確率の初期値をランダムに定めてもよい。
【０１０８】
また、初期化部１１１０は、第１ＩＤクラスタ毎にクラスタのモデル情報の初期値を決定するともに、第２ＩＤクラスタ毎にクラスタのモデル情報の初期値を決定し、その各初期値を記憶部１２００に記憶させる。このとき、初期化部１１１０は、第１のマスタデータにおける属性値の平均値を算出し、その平均値を、個々の第１ＩＤクラスタにおけるクラスタのモデル情報として定めてもよい。同様に、初期化部１１１０は、第２のマスタデータにおける属性値の平均値を算出し、その平均値を、個々の第２ＩＤクラスタにおけるクラスタのモデル情報として定めてもよい。
【０１０９】
ステップＳ２の後、クラスタリング部１１２０は、終了条件が満たされるまで、ステップＳ３〜Ｓ６の処理を繰り返す。以下、ステップＳ３〜Ｓ６の処理を説明する。
【０１１０】
予測モデル学習部１１２１は、記憶部１２００に記憶されている情報を参照し、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に予測モデルを生成し、各予測モデルを記憶部１２００に記憶させる（ステップＳ３）。予測モデルの生成処理については既に説明したので、ここでは説明を省略する。なお、最初にステップＳ３に移行した場合、予測モデル学習部１１２１は、生成した各予測モデルを記憶部１２００に記憶させればよい。２回目以降のステップＳ３では、予測モデル学習部１１２１は、記憶部１２００に記憶されている各予測モデルを、新たに生成した各予測モデルで更新する。
【０１１１】
ステップＳ３の後、クラスタ割り当て部１１２２は、第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする（ステップＳ４）。具体的には、クラスタ割り当て部１１２２は、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率を決定する。そして、クラスタ割り当て部１１２２は、記憶部１２００に記憶されている各所属確率を、決定した各所属確率で更新する。
【０１１２】
ステップＳ４において、クラスタ割り当て部１１２２は、１つの第１ＩＤが１つの第１ＩＤクラスタに所属する所属確率を決定する際、その第１ＩＤの属性値と、その第１ＩＤクラスタに対応するクラスタのモデル情報との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
【０１１３】
同様に、クラスタ割り当て部１１２２は、１つの第２ＩＤが１つの第２ＩＤクラスタに所属する所属確率を決定する際、その第２ＩＤの属性値と、その第２ＩＤクラスタに対応するクラスタのモデル情報との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
【０１１４】
また、クラスタ割り当て部１１２２は、１つの第１ＩＤが１つの第１ＩＤクラスタに所属する所属確率を決定する際、個々の第２ＩＤクラスタとその第１ＩＤクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第１ＩＤと各第２ＩＤとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部１１２２は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
【０１１５】
同様に、クラスタ割り当て部１１２２は、１つの第２ＩＤが１つの第２ＩＤクラスタに所属する所属確率を決定する際、個々の第１ＩＤクラスタとその第２ＩＤクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第２ＩＤと各第１ＩＤとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部１１２２は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
【０１１６】
ステップＳ４の後、クラスタ情報算出部１１２３は、第１ＩＤクラスタ毎にクラスタのモデル情報を算出するとともに、第１ＩＤクラスタ毎にクラスタのモデル情報を算出する。そして、クラスタ情報算出部１１２３は、記憶部１２００に記憶されているクラスタのモデル情報を、新たに計算したクラスタのモデル情報で更新する（ステップＳ５）。
【０１１７】
次に、終了判定部１１２４は、終了条件が満たされたか否かを判定する（ステップＳ６）。終了条件が満たされていない場合（ステップＳ６のＮｏ）、終了判定部１１２４は、ステップＳ３〜Ｓ６を繰り返すと判定する。そして、クラスタリング部１１２０は、ステップＳ３〜Ｓ６を再度、実行する。
【０１１８】
また、終了条件が満たされた場合（ステップＳ６のＹｅｓ）、終了判定部１１２４は、ステップＳ３〜Ｓ６の繰り返しを終了すると判定する。この場合、学習結果出力部１４００は、その時点におけるクラスタリング部１１２０の処理の結果を出力する（ステップＳ７）。
【０１１９】
本実施形態によれば、クラスタ割り当て部１１２２は、第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて、第１ＩＤ（顧客ＩＤ）および第２ＩＤ（商品ＩＤ）を共クラスタリングする。従って、ファクトデータが示す傾向（本例では、顧客が商品を購買する際の購買傾向）が、クラスタリング結果に反映される。よって、顧客の潜在的な特性や商品の潜在的な特性がマスタデータに明示されていなくても、共通の潜在的な特性を有する各ＩＤの所属確率が特定のクラスタで高くなる。例えば、「アウトドア派」という潜在的な特性を持つ各顧客の顧客ＩＤが顧客ＩＤクラスタ“１”に所属する所属確率が高くなり、そのような特性を持たない各顧客の顧客ＩＤが顧客ＩＤクラスタ“１”に所属する所属確率が低くなる。換言すれば、特定の顧客ＩＤクラスタに、共通の特性を有する顧客の顧客ＩＤが集まる。他の顧客ＩＤクラスタに関しても同様である。従って、個々の顧客ＩＤクラスタには、共通の特性を有する各顧客の顧客ＩＤが集まり、その特性は、顧客ＩＤクラスタ毎に異なっていると言える。同様に、個々の商品ＩＤクラスタには、共通の特性を有する各商品の商品ＩＤが集まり、その特性は、商品ＩＤクラスタ毎に異なっていると言える。そして、予測モデル学習部１１２１は、顧客ＩＤクラスタ（第１ＩＤクラスタ）と商品ＩＤクラスタ（第２ＩＤクラスタ）の組み合わせ毎に、予測モデルを生成する。従って、個々の予測モデルには、顧客や商品の潜在的な特性が反映されている。よって、それらの予測モデルを用いて、顧客ＩＤ（第１ＩＤ）と商品ＩＤ（第２ＩＤ）との関係を予測した場合における予測精度は高くなる。従って、本実施形態によれば、第１ＩＤと第２ＩＤとの関係を精度よく予測できる予測モデルを生成することができる。
【０１２０】
本実施形態では、クラスタ割り当て部１１２２は、ＩＤの属性値とクラスタのモデル情報との差を考慮して所属確率を決定する。さらに、クラスタ割り当て部１１２２は、予測モデルによる予測値と実績値との誤差の程度も考慮して所属確率を決定する。従って、クラスタ割り当て部１１２２は、より精度よく共クラスタリングを実行することができる。その結果、本実施形態では、より予測精度の高い予測モデルを生成することができる。
【０１２１】
なお、上記の説明では、目的変数の値が連続値である場合を例にして説明したが、目的変数の値はカテゴリ値であってもよい。目的変数の値がカテゴリ値である場合、予測モデル学習部１１２１は、予測モデルの学習アルゴリズムとして、Multi Class SVM(Support Vector Machine) を採用することで、予測モデルを生成することができる。また、目的変数の値がカテゴリ値である場合に、学習アルゴリズムとして線形回帰を採用する場合には、予測モデル学習部１１２１は、教師データにおける実績値を1-of-k形式で表現した上で、予測モデルの学習を行えばよい。
【０１２２】
また、目的変数の値がカテゴリ値である場合、第１ＩＤと第２ＩＤとの関係の実績値と予測値との誤差は、実績値と予測値とが一致していれば“０”であり、一致していなければ“１”である。
【０１２３】
実施形態２．
本発明の第２の実施形態の予測モデル生成システムは、共クラスタリングを実行し、その後に、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に予測モデルを生成する。また、本実施形態では、予測モデル生成システムが、予測モデルを生成した後に、予測モデルを用いて、ＩＤ間の関係を予測する場合を例にして説明する。
【０１２４】
図９は、本発明の第２の実施形態の予測モデル生成システムの例を示す機能ブロック図である。第２の実施形態の予測モデル生成システム２０００は、データ入力部２００１と、共クラスタリング部２００２と、予測モデル学習部２００３と、予測部２００４と、結果出力部２００５と、記憶部２００６とを備える。
【０１２５】
記憶部２００６は、種々のデータを記憶する記憶装置である。
【０１２６】
データ入力部２００１は、第１のマスタデータ、第２のマスタデータおよびファクトデータ、並びに、種々の設定値を取得し、取得した各データや設定値を記憶部２００６に記憶させる。データ入力部２００１は、例えば、外部の装置にアクセスして各データと、種々の設定値とを取得してもよい。あるいは、データ入力部２００１は、各データと、設定値とが入力される入力インタフェースであってもよい。
【０１２７】
第１のマスタデータ、第２のマスタデータおよびファクトデータはそれぞれ、第１の実施形態における第１のマスタデータ、第２のマスタデータおよびファクトデータと同様である。ファクトデータの形式は、図１８に例示する形式であっても、図１に例示する形式であってもよい。以下、第１のマスタデータが、顧客に関するマスタデータであり、第１ＩＤが顧客ＩＤであるものとする。また、第２のマスタデータが、商品に関するマスタデータであり、第２ＩＤが商品ＩＤであるものとする。また、ファクトデータが、購買実績データであるものとする。
【０１２８】
種々の設定値は、第１の実施形態で説明したクラスタリングの設定値と同様である。すなわち、これらの設定値は、例えば、第１ＩＤクラスタの数の最大値、第２ＩＤクラスタの数の最大値、予測モデルで説明変数に該当する属性の属性名、目的変数に該当する属性、予測モデルの種類等である。第２の実施形態においても、説明を簡単にするために、目的変数の値が連続値である場合を例にして説明する。以下、目的変数に該当する属性が、例えば、第１ＩＤによって特定される顧客が第２ＩＤによって特定される商品を購入する確率である場合を例にして説明する。目的変数に該当する属性は、そのような確率に限定されない。
【０１２９】
共クラスタリング部２００２は、第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする。クラスタリングの態様は、ソフトクラスタリングである。従って、共クラスタリング部２００２は、ある１つの第１ＩＤに関して、第１ＩＤクラスタ毎に、その第１ＩＤが第１ＩＤクラスタに所属する所属確率を決定する。他の第１ＩＤに関しても同様である。また、共クラスタリング部２００２は、ある１つの第２ＩＤに関して、第２ＩＤクラスタ毎に、その第２ＩＤが第２ＩＤクラスタに所属する所属確率を決定する。他の第２ＩＤに関しても同様である。共クラスタリング部２００２は、共クラスタリングの結果を記憶部２００６に記憶させる。
【０１３０】
共クラスタリング部２００２が第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて第１ＩＤおよび第２ＩＤを共クラスタリングする方法は、公知の共クラスタリング方法でよい。
【０１３１】
予測モデル学習部２００３は、第１ＩＤクラスタと第２ＩＤクラスタと組み合わせ毎に、学習によって、予測モデルを生成する。第１の実施形態では、終了条件が満たされたと判定されるまで、図８に示すステップＳ３〜Ｓ６の処理を繰り返す場合を説明した。第２の実施形態では、そのような繰り返し処理を行わない場合を例にして説明する。従って、第２の実施形態では、予測モデル学習部２００３は、共クラスタリング部２００２による第１ＩＤおよび第２ＩＤの共クラスタリング完了後に、予測モデルを生成する。
【０１３２】
本実施形態においても、第１の実施形態と同様に、予測モデルがｙ＝ｗｔｘという式である場合を例にして説明する。
【０１３３】
予測モデル学習部２００３が予測モデルを生成する処理は、第１の実施形態における予測モデル学習部１１２１が予測モデルを生成する処理と同様である。すなわち、予測モデル学習部２００３は、第１ＩＤクラスタと第２ＩＤクラスタとのある１つの組み合わせに対応する予測モデルを生成する場合、以下のように予測モデルを生成する。予測モデル学習部２００３は、第１ＩＤと第２ＩＤの組み合わせ毎に、属性値を説明変数に代入して得られる予測値に、着目している第１ＩＤクラスタに第１ＩＤが所属する所属確率と、着目している第２ＩＤクラスタに第２ＩＤが所属する所属確率を乗じた値と、目的変数の実績値との差を求めることとした場合において、その差の総和が最小となるように、予測モデル内の列ベクトルｗを決定する。この結果、予測モデルｙ＝ｗｔｘが定まる。
【０１３４】
例えば、第１ＩＤクラスタ“１”と第２ＩＤクラスタ“２”との組み合わせに対応する予測モデルを生成するものとする。この場合、予測モデル学習部２００３は、第１の実施形態で示した式（１）が最小となる列ベクトルｗ１２を決定することで、その組み合わせに対応する予測モデル生成する。予測モデル学習部２００３は、第１ＩＤクラスタと第２ＩＤクラスタの他の組み合わせに対応する予測モデルも同様に生成する。
【０１３５】
予測モデル学習部２００３は、生成した各予測モデルを記憶部２００６に記憶させる。
【０１３６】
予測部２００４は、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤの指定を外部から受け付ける。例えば、予測部２００４は、ユーザから、第１ＩＤおよび第２ＩＤを入力される。そして、予測部２００４は、その第１ＩＤと第２ＩＤとの関係を、予測モデル学習部２００３が生成した各学習モデルを用いて予測する。なお、ユーザは、例えば、ファクトデータにおいて二者間の関係がないとされている第１ＩＤおよび第２ＩＤ（例えば、購入実績がないとされている顧客ＩＤと商品ＩＤの組み合わせ）を指定すればよい。ただし、ユーザは、二者間の関係があるとされている第１ＩＤおよび第２ＩＤを指定してもよい。
【０１３７】
予測部２００４は、予測モデル毎に、指定された第１ＩＤの属性値と指定された第２ＩＤの属性値とを用いて目的変数の値を算出する。このとき、説明変数に該当する属性として、ファクトデータが示す属性（例えば、購入日時等）が定められている場合、予測部２００４は、その属性の値も用いて、目的変数の値を算出する。ただし、ファクトデータにおいて第１ＩＤと第２ＩＤとの関係がないとされていて、第１ＩＤと第２ＩＤとの組み合わせに応じた購入日時等がファクトデータ内に存在しない場合、その属性の値として、例えば、“０”等の所定の値を用いればよい。
【０１３８】
また、予測部２００４は、予測モデル毎に、着目している予測モデルに対応する第１ＩＤクラスタに、指定された第１ＩＤが所属する所属確率と、その予測モデルに対応する第２ＩＤクラスタに、指定された第２ＩＤが所属する所属確率との積を算出する。
【０１３９】
そして、予測部２００４は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付け加算した結果を、指定された第１ＩＤおよび第２ＩＤの関係の予測結果として導出する。予測部２００４の動作の詳細については、図１１を参照して後述する。
【０１４０】
結果出力部２００５は、予測部２００４が導出した予測結果を出力する。結果出力部２００５が予測結果を出力する態様は、特に限定されない。例えば、結果出力部２００５は、予測結果を他の装置に出力してもよい。また、例えば、結果出力部２００５は、予測結果をディスプレイ装置に表示させてもよい。
【０１４１】
また、結果出力部２００５は、予測結果の他に、共クラスタリングの結果（個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率）や、予測モデル学習部２００３によって生成された各予測モデルを出力してもよい。
【０１４２】
データ入力部２００１、共クラスタリング部２００２、予測モデル学習部２００３、予測部２００４および結果出力部２００５は、例えば、プログラム（予測モデル生成プログラム）に従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵは、例えば、コンピュータのプログラム記憶装置（図９において図示略）等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、データ入力部２００１、共クラスタリング部２００２、予測モデル学習部２００３、予測部２００４および結果出力部２００５として動作すればよい。また、データ入力部２００１、共クラスタリング部２００２、予測モデル学習部２００３、予測部２００４および結果出力部２００５が、それぞれ専用のハードウェアで実現されていてもよい。
【０１４３】
次に、第２の実施形態の処理経過を説明する。図１０は、第２の実施形態の処理経過の例を示すフローチャートである。
【０１４４】
データ入力部２００１が、第１のマスタデータ、第２のマスタデータおよびファクトデータ、並びに、種々の設定値を取得し、記憶部２００６に記憶させる。すると、共クラスタリング部２００２は、第１のマスタデータと、第２のマスタデータと、ファクトデータとに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする（ステップＳ１１）。共クラスタリング部２００２は、共クラスタリングの結果として、個々の第１ＩＤクラスタに個々の第１ＩＤが所属する所属確率、および、個々の第２ＩＤクラスタに個々の第２ＩＤが所属する所属確率を、記憶部２００６に記憶させる。
【０１４５】
ステップＳ１１の後、予測モデル学習部２００３は、第１ＩＤクラスタと第２ＩＤクラスタと組み合わせ毎に、予測モデルを生成する（ステップＳ１２）。予測モデル学習部２００３は、生成した各予測モデルを記憶部２００６に記憶させる。
【０１４６】
予測モデル学習部２００３が各予測モデルを生成する処理は、第１の実施形態における予測モデル学習部１１２１が各予測モデルを生成する処理と同様であり、ここでは説明を省略する。
【０１４７】
ステップＳ１２の後、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤが外部から指定されると、予測部２００４は、ステップＳ１２で生成された各予測モデルを用いて、指定された第１ＩＤと指定された第２ＩＤとの関係を予測する（ステップＳ１３）。
【０１４８】
ステップＳ１３の後、結果出力部２００５は、指定された第１ＩＤと指定された第２ＩＤとの関係の予測結果を出力する（ステップＳ１４）。
【０１４９】
図１１は、ステップＳ１３の処理経過の例を示すフローチャートである。
【０１５０】
ステップＳ１３において、予測部２００４は、ステップＳ１２で生成された各予測モデルの中から１つの予測モデルを選択する（ステップＳ２１）。この予測モデルは、第１ＩＤクラスタと第２ＩＤクラスタとの組み合わせのうちの１つに対応している。
【０１５１】
予測部２００４は、選択した予測モデルの説明変数に、指定された第１ＩＤの属性値と、指定された第２ＩＤの属性値とを代入して、目的変数の値を算出する（ステップＳ２２）。説明変数に該当する属性として、ファクトデータが示す属性（例えば、購入日時等）が定められている場合、予測部２００４は、その属性の値も、対応する説明変数に代入すればよい。予測部２００４は、第１ＩＤの属性値を第１のマスタデータから読み取り、第２ＩＤの属性値を第２のマスタデータから読み取ればよい。また、予測部２００４は、ファクトデータが示す属性の値は、ファクトデータから読み込めばよい。
【０１５２】
ステップＳ２２の後、予測部２００４は、選択した予測モデルに対応する第１ＩＤクラスタと、その予測モデルに対応する第２ＩＤクラスタとを特定する。例えば、選択した予測モデルが、第１ＩＤクラスタ“２”と第２ＩＤクラスタ“３”との組み合わせに対応する場合には、予測部２００４は、第１ＩＤクラスタ“２”と、第２ＩＤクラスタ“３”とを特定すればよい。そして、予測部２００４は、その第１ＩＤクラスタに、指定された第１ＩＤが所属する所属確率と、その第２ＩＤクラスタに、指定された第２ＩＤが所属する所属確率との積を算出する（ステップＳ２３）。
【０１５３】
次に、予測部２００４は、全ての予測モデルが選択済みであるか否かを判定する（ステップＳ２４）。全ての予測モデルが選択済みでないならば（ステップＳ２４のＮｏ）、予測部２００４は、ステップＳ２１以降の処理を繰り返す。
【０１５４】
全ての予測モデルが選択済みであるならば（ステップＳ２４のＹｅｓ）、予測部２００４は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付け加算する（ステップＳ２５）。換言すれば、予測部２００４は、ステップＳ２２で算出した目的変数の値を、ステップＳ２３で算出した積で重み付け加算する。より具体的には、予測部２００４は、各ステップＳ２２で算出した目的変数の値に、対応するステップＳ２３で算出した積を乗算し、その乗算結果の総和を計算する。この総和（重み付け加算の結果）が、指定された第１ＩＤと指定された第２ＩＤとの関係の予測結果である。
【０１５５】
ステップＳ２５により、第１ＩＤと第２ＩＤとの関係の予測結果（本例では、第１ＩＤによって特定される顧客が第２ＩＤによって特定される商品を購入する確率の予測結果）が得られる。ステップＳ２５で、ステップＳ１３が終了し、前述のように、結果出力部２００５は、指定された第１ＩＤと指定された第２ＩＤとの関係の予測結果を出力する（ステップＳ１４）。
【０１５６】
第２の実施形態によれば、共クラスタリング部２００２は、第１のマスタデータ、第２のマスタデータ、およびファクトデータに基づいて、第１ＩＤ（顧客ＩＤ）および第２ＩＤ（商品ＩＤ）を共クラスタリングする。従って、ファクトデータが示す傾向（本例では、顧客が商品を購買する際の購買傾向）が、クラスタリング結果に反映される。よって、顧客の潜在的な特性や商品の潜在的な特性がマスタデータに明示されていなくても、共通の潜在的な特性を有する各ＩＤの所属確率が特定のクラスタで高くなる。そして、予測モデル学習部２００３は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に、予測モデルを生成する。従って、第１ＩＤと第２ＩＤとの関係を精度よく予測できる予測モデルを生成することができる。
【０１５７】
さらに、第２の実施形態では、予測部２００４が、各予測モデルを用いて、指定された第１ＩＤと第２ＩＤとの関係を予測する。従って、本実施形態によれば、予測モデルを生成するだけでなく、精度の高い予測結果を導出することができる。例えば、ファクトデータにおいて二者間の関係がないとされている第１ＩＤおよび第２ＩＤ（例えば、購入実績がないとされている顧客ＩＤと商品ＩＤの組み合わせ）が指定されたとする。この場合、予測部２００４が、その第１ＩＤと第２ＩＤとの関係（本例では、第１ＩＤによって特定される顧客が第２ＩＤによって特定される商品を購入する確率）を予測する。従って、予測モデル生成システムのユーザは、そもそも、第１ＩＤによって特定される顧客と、第２ＩＤによって特定される商品の関係性が小さいのか、あるいは、現時点で両者の関係がないだけであって、将来、両者の関係性が生じる可能性が高いのか等を把握できる。より具体的には、ユーザは、例えば、第１ＩＤによって特定される顧客が、そもそも第２ＩＤによって特定される商品を購入する可能性が低いのか、あるいは、現時点でその顧客がその商品を購入していないだけであって、将来、その顧客がその商品を購入する可能性が高いのか等を把握できる。その結果、ユーザは、商品の売上を高めるために、商品を購入する可能性が高い顧客に対してダイレクトメールを送ること等を検討できる。
【０１５８】
なお、上記の説明では、目的変数の値が連続値である場合を例にして説明したが、目的変数の値はカテゴリ値であってもよい。
【０１５９】
目的変数の値がカテゴリ値である場合、予測部２００４は、ステップＳ２５として、上述のステップＳ２５ではなく、以下の処理を行えばよい。目的変数の値がカテゴリ値である場合、ステップＳ２２では、複数のクラスのうち、１つのクラスに対応する値が算出される。すなわち、予測部２００４は、各ステップＳ２２で１つのクラスを特定していることになる。予測部２００４は、ステップＳ２５において、各ステップＳ２２で特定されたクラス毎に、ステップＳ２３で算出した積の和を計算する。そして、予測部２００４は、その和が最大になるクラスを、予測結果とする。例えば、各ステップＳ２２で特定されたクラスとして、“１”，“２”，“３”等があるとする。予測部２００４は、クラス“１”を特定した各ステップＳ２２に続くステップＳ２３で算出した積の和を計算する。予測部２００４は、クラス“２”，“３”等に関しても、同様の計算を行う。例えば、計算した和が最大となるクラスが“２”であったならば、予測部２００４は、クラス“２”を予測結果とすればよい。
【０１６０】
目的変数の値がカテゴリ値である場合の他の点に関しては、第１の実施形態において、目的変数の値がカテゴリ値である場合と同様である。
【０１６１】
実施形態３．
【０１６２】
第２の実施形態で説明した予測モデル生成システム２０００は、第１の実施形態で説明した予測モデル生成システム１０００とは異なり、予測モデル生成処理と、共クラスタリング処理との繰り返しをせずに、共クラスタリングが完了した後に予測モデルを生成する（図１０を参照）。
【０１６３】
本発明の第３の実施形態の予測モデル生成システムは、第１の実施形態と同様に、ステップＳ３〜Ｓ６の処理を繰り返すことにより、第１ＩＤおよび第２ＩＤを共クラスタリングするとともに、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎の予測モデルを生成する。さらに、本発明の第３の実施形態の予測モデル生成システムは、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤが指定されると、その第１ＩＤと第２ＩＤとの関係を、各学習モデルを用いて予測する。
【０１６４】
図１２は、本発明の第３の実施形態の予測モデル生成システムの例を示す機能ブロック図である。第１の実施形態と同様の要素については、図２と同一の符号を付し、説明を省略する。第３の実施形態の予測モデル生成システム１０００は、データ入力部１３００、学習部１１００、記憶部１２００および学習結果出力部１４００に加え、さらに、対象入力部１６００と、予測部１７００と、予測結果出力部１８００とを備える。
【０１６５】
なお、データ入力部１３００が取得する第１のマスタデータ、第２のマスタデータおよびファクトデータはそれぞれ、第１の実施形態における第１のマスタデータ、第２のマスタデータおよびファクトデータと同様である。ファクトデータの形式は、図１８に例示する形式であっても、図１に例示する形式であってもよい。以下、第１のマスタデータが、顧客に関するマスタデータであり、第１ＩＤが顧客ＩＤであるものとする。また、第２のマスタデータが、商品に関するマスタデータであり、第２ＩＤが商品ＩＤであるものとする。また、ファクトデータが、購買実績データであるものとする。
【０１６６】
また、第３の実施形態においても、説明を簡単にするために、目的変数の値が連続値である場合を例にして説明する。以下、目的変数に該当する属性が、第１ＩＤによって特定される顧客が第２ＩＤによって特定される商品を購入する確率である場合を例にして説明する。
【０１６７】
以下の説明では、予測モデル生成システム１０００が第１の実施形態で説明したステップＳ１〜Ｓ７の動作を既に完了しているものとする。すなわち、終了条件が満たされた時点の直近に得られた、共クラスタリングの結果、および、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎の予測モデルが、記憶部１２００に記憶されているものとする。
【０１６８】
対象入力部１６００は、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤを取得する。対象入力部１６００は、例えば、外部の装置にアクセスして第１ＩＤおよび第２ＩＤを取得してもよい。対象入力部１６００によって取得される第１ＩＤおよび第２ＩＤとして、例えば、ファクトデータにおいて二者間の関係がないとされている第１ＩＤおよび第２ＩＤ（例えば、購入実績がないとされている顧客ＩＤと商品ＩＤの組み合わせ）を予め指定しておけばよい。ただし、ファクトデータにおいて二者間の関係があるとされている第１ＩＤおよび第２ＩＤを指定しておいてもよい。また、対象入力部１６００は、そのような第１ＩＤおよび第２ＩＤが入力される入力インタフェースであってもよい。
【０１６９】
対象入力部１６００が取得した第１ＩＤおよび第２ＩＤは、指定された第１ＩＤおよび第２ＩＤであると言える。同様に、対象入力部１６００に入力された第１ＩＤおよび第２ＩＤは、指定された第１ＩＤおよび第２ＩＤであると言える。
【０１７０】
予測部１７００の動作は、第２の実施形態における予測部２００４の動作と同様である。予測部１７００は、予測モデル毎に、指定された第１ＩＤの属性値と指定された第２ＩＤの属性値とを用いて目的変数の値を算出する。このとき、説明変数に該当する属性として、ファクトデータが示す属性（例えば、購入日時等）が定められている場合、予測部１７００は、その属性の値も用いて、目的変数の値を算出する。ただし、ファクトデータにおいて第１ＩＤと第２ＩＤとの関係がないとされていて、第１ＩＤと第２ＩＤとの組み合わせに応じた購入日時等がファクトデータ内に存在しない場合、その属性の値として、例えば、“０”等の所定の値を用いればよい。
【０１７１】
また、予測部１７００は、予測モデル毎に、着目している予測モデルに対応する第１ＩＤクラスタに、指定された第１ＩＤが所属する所属確率と、その予測モデルに対応する第２ＩＤクラスタに、指定された第２ＩＤが所属する所属確率との積を算出する。
【０１７２】
そして、予測部１７００は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付けした結果を、指定された第１ＩＤおよび第２ＩＤの関係の予測結果として導出する。
【０１７３】
予測結果出力部１８００は、予測部１７００が導出した予測結果を出力する。予測結果出力部１８００が予測結果を出力する態様は、特に限定されない。例えば、予測結果出力部１８００は、予測結果を他の装置に出力してもよい。また、例えば、予測結果出力部１８００は、予測結果をディスプレイ装置に表示させてもよい。
【０１７４】
対象入力部１６００、予測部１７００および予測結果出力部１８００は、クラスタリング部１１２０等と同様に、例えば、プログラム（予測モデル生成プログラム）に従って、動作するコンピュータのＣＰＵによって実現される。
【０１７５】
図１３は、本発明の第３の実施形態における予測処理の経過の例を示すフローチャートである。前述のように、予測モデル生成システム１０００は、第１の実施形態で説明した動作は完了しているものとする。
【０１７６】
例えば、外部の装置に、ユーザによって指定された、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤが記憶されているとする。対象入力部１６００は、その外部の装置にアクセスして、その指定された第１ＩＤおよび第２ＩＤを取得する（ステップＳ３１）。なお、対象入力部１６００が入力インタフェースであり、ユーザによって指定された第１ＩＤおよび第２ＩＤが、ユーザによって入力されてもよい。
【０１７７】
次に、予測部１７００は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎の予測モデルを用いて、指定された第１ＩＤと指定された第２ＩＤとの関係を予測する（ステップＳ３２）。ステップＳ３２の動作は、第２の実施形態におけるステップＳ１３の動作と同様であり、ステップＳ３２の処理経過は、図１１に示すフローチャートと同様に表すことができる。以下、図１１を参照して、ステップＳ３２における予測部１７００の動作を説明する。なお、図１１に示すステップＳ２１〜Ｓ２５に関して、既に説明した事項と同様の事項については、適宜説明を省略する。
【０１７８】
ステップＳ３２において、予測部１７００は、第１ＩＤクラスタと第２ＩＤクラスタの組み合わせ毎に生成された各予測モデルの中から１つの予測モデルを選択する（ステップＳ２１）。
【０１７９】
予測部１７００は、選択した予測モデルの説明変数に、指定された第１ＩＤの属性値と、指定された第２ＩＤの属性値とを代入して、目的変数の値を算出する（ステップＳ２２）。
【０１８０】
次に、予測部１７００は、選択した予測モデルに対応する第１ＩＤクラスタと、その予測モデルに対応する第２ＩＤクラスタとを特定する。そして、予測部１７００は、その第１ＩＤクラスタに、指定された第１ＩＤが所属する所属確率と、その第２ＩＤクラスタに、指定された第２ＩＤが所属する所属確率との積を算出する（ステップＳ２３）。
【０１８１】
次に、予測部１７００は、全ての予測モデルが選択済みであるか否かを判定する（ステップＳ２４）。全ての予測モデルが選択済みでないならば（ステップＳ２４のＮｏ）、予測部１７００は、ステップＳ２１以降の処理を繰り返す。
【０１８２】
全ての予測モデルが選択済みであるならば（ステップＳ２４のＹｅｓ）、予測部１７００は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付け加算する（ステップＳ２５）。すなわち、予測部１７００は、ステップＳ２２で算出した目的変数の値を、ステップＳ２３で算出した積で重み付け加算する。より具体的には、予測部１７００は、各ステップＳ２２で算出した目的変数の値に、対応するステップＳ２３で算出した積を乗算し、その乗算結果の総和を計算する。この総和（重み付け加算の結果）が、指定された第１ＩＤと指定された第２ＩＤとの関係の予測結果である。
【０１８３】
ステップＳ２５により、第１ＩＤと第２ＩＤとの関係の予測結果（本例では、第１ＩＤによって特定される顧客が第２ＩＤによって特定される商品を購入する確率の予測結果）が得られる。ステップＳ２５で、ステップＳ３２（図１３参照）が終了する。
【０１８４】
ステップＳ３２の後、予測結果出力部１８００は、指定された第１ＩＤと指定された第２ＩＤとの関係の予測結果を出力する（ステップＳ３３）。
【０１８５】
第３の実施形態によれば、第１の実施形態と同様の効果が得られる。
【０１８６】
さらに、第３の実施形態では、予測部１７００が、各予測モデルを用いて、指定された第１ＩＤと第２ＩＤとの関係を予測する。従って、本実施形態によれば、第２の実施形態と同様に、精度の高い予測結果を導出することができる。例えば、ファクトデータにおいて二者間の関係がないとされている第１ＩＤおよび第２ＩＤ（例えば、購入実績がないとされている顧客ＩＤと商品ＩＤの組み合わせ）が指定されたとする。この場合、予測部１７００が、その第１ＩＤと第２ＩＤとの関係（本例では、第１ＩＤによって特定される顧客が第２ＩＤによって特定される商品を購入する確率）を予測する。従って、予測モデル生成システムのユーザは、そもそも、第１ＩＤによって特定される顧客と、第２ＩＤによって特定される商品の関係性が小さいのか、あるいは、現時点で両者の関係がないだけであって、将来、両者の関係性が生じる可能性が高いのか等を把握できる。より具体的には、ユーザは、例えば、第１ＩＤによって特定される顧客が、そもそも第２ＩＤによって特定される商品を購入する可能性が低いのか、あるいは、現時点でその顧客がその商品を購入していないだけであって、将来、その顧客がその商品を購入する可能性が高いのか等を把握できる。その結果、ユーザは、商品の売上を高めるために、商品を購入する可能性が高い顧客に対してダイレクトメールを送ること等を検討できる。
【０１８７】
また、第２の実施形態および第３の実施形態では、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤとして、ファクトデータにおいて二者間の関係がないとされている第１ＩＤおよび第２ＩＤが指定される場合を例にして説明した。第２の実施形態および第３の実施形態において、二者間の関係の予測対象となる第１ＩＤおよび第２ＩＤとして、ファクトデータにおいて二者間の関係があるとされている第１ＩＤおよび第２ＩＤが指定されてもよい。例えば、図１に例示するファクトデータでは、顧客ＩＤ“１”によって特定される顧客（以下、顧客“１”と記す。）が、商品ＩＤ“２”によって特定される顧客（以下、商品“２”と記す。）を購入したという関係を示している。この場合、顧客ＩＤ“１”および商品ＩＤ“２”が指定されてもよい。第２の実施形態および第３の実施形態において、予測部２００４，１７００は、例えば、予測結果として、顧客“１”が商品“２”を購入する確率を導出する。この確率が小さい値である場合、予測モデル生成システムのユーザは、本来、顧客“１”と商品“２”との関係性が小さいが、たまたま、顧客“１”が商品“２”を購入したということを推測できる。また、その確率が大きい値である場合、予測モデル生成システムのユーザは、元々、顧客“１”と商品“２”との関係性が大きく、実際に、顧客“１”が商品“２”を購入していたということを推測できる。
【０１８８】
また、第３の実施形態においても、目的変数の値が連続値である場合を例にして説明したが、目的変数の値はカテゴリ値であってもよい。目的変数の値がカテゴリ値である場合のステップＳ２５における予測部１７００の動作は、第２の実施形態で説明した予測部２００４の動作と同様であり、ここでは説明を省略する。目的変数の値がカテゴリ値である場合の他の点に関しては、第１の実施形態において、目的変数の値がカテゴリ値である場合と同様である。
【０１８９】
上記の各実施形態では、第１のマスタデータが顧客に関するマスタデータであり、第２のマスタデータが商品に関するマスタデータであり、ファクトデータが購買実績データである場合を例にして説明した。さらに、上記の各実施形態では、第１ＩＤが顧客ＩＤであり、第２ＩＤが商品ＩＤである場合を例にして説明した。第１のマスタデータ、第２のマスタデータ、ファクトデータ、第１ＩＤおよび第２ＩＤは、上記の例に限定されない。
【０１９０】
例えば、第１のマスタデータが、会社に属する社員に関するマスタデータであり、第２のマスタデータが、その会社内のプロジェクトに関するマスタデータであってもよい。そして、第１ＩＤが、その会社に属する社員を識別するための社員ＩＤであり、第２ＩＤが、その会社内のプロジェクトを識別するためのプロジェクトＩＤであってもよい。そして、ファクトデータが、個々の社員が個々のプロジェクトを担当したことがあるか否かを示す実績データであってもよい。
【０１９１】
この場合、社員ＩＤとプロジェクトＩＤとの関係を精度良く予測するための予測モデルを生成することができる。また、第２の実施形態や第３の実施形態では、社員ＩＤとプロジェクトＩＤとの関係性（社員とプロジェクトの関係性）を精度良く予測することができる。そして、例えば、ある社員（“Ｐ”とする。）が、あるプロジェクト（“Ｑ”とする。）を担当したことない場合において、社員“Ｐ”とプロジェクト“Ｑ”との関係性が大きいという予測結果が得られたとする。この場合、予測モデル生成システムのユーザは、社員“Ｐ”がプロジェクト“Ｑ”で活躍できること等を推測できる。
【０１９２】
［具体例］
以下、第１の実施形態および第３の実施形態において、クラスタ割り当て部１１２２が、ＩＤがクラスタに所属する所属確率を算出する場合の算出式の具体例を示す。また、クラスタ情報算出部１１２３がモデル情報として平均値を算出する場合の算出式の具体例を示す。なお、以下では、予測モデルの学習アルゴリズムとして、変分推論法を用いる場合を例にする。また、第１のマスタデータが顧客に関するマスタデータであり、第２のマスタデータが商品に関するマスタデータであり、ファクトデータが購買実績データである場合を例にして説明する。また、目的変数の値がカテゴリ値であり、複数のクラスの中から１つのクラスを予測するための予測モデルが生成される場合を例にして説明する。すわなち、多クラス分類を行うための予測モデルが生成される場合を例にして説明する。
【０１９３】
なお、数式内のハット記号を、以下の説明では省略する。なお、以下の各式に用いる記号の意味については、後述する。ただし、既に説明した記号については、説明を省略する。
【０１９４】
ｄ１番目の顧客ＩＤが、顧客ＩＤクラスタ“ｋ１”に所属する所属確率を、ｌｏｇｑ（ｚｄ１＝ｋ１）とする。クラスタ割り当て部１１２２は、この所属確率を、以下に示す式（４）によって算出することができる。
【０１９５】
【数４】
0006988817.tif 000005
【０１９６】
式（４）の第１項は、ｄ１番目の顧客ＩＤの属性値（例えば、年齢、身長等）が、顧客ＩＤクラスタ“ｋ１”における属性値の平均値ｍｋ１にどれだけ近いかを表す。両者が近いほど、第１項の値は大きくなる。なお、属性値の平均値ｍｋ１は、本例におけるクラスタのモデル情報である。
【０１９７】
式（４）の第２項は、ｄ１番目の顧客ＩＤを、顧客ＩＤクラスタ“ｋ１”に割り当てた場合における、その顧客ＩＤと各商品ＩＤとの関係の実測値と予測値との誤差の程度を表している。誤差の程度が小さいほど、第２項の値は大きくなる。
【０１９８】
ρは、［０，１］の範囲の値をとるハイパーパラメータである。ρの値が１に近いほど、属性値と、クラスタのモデル情報との近さをより重要視していることになる。また、ρの値が０に近いほど、関係性の予測の精度をより重要視していることになる。
【０１９９】
同様に、ｄ２番目の商品ＩＤが、商品ＩＤクラスタ“ｋ２”に所属する所属確率を、ｌｏｇｑ（ｚｄ２＝ｋ２）とする。クラスタ割り当て部１１２２は、この所属確率を、以下に示す式（５）によって算出することができる。
【０２００】
【数５】
0006988817.tif 000006
【０２０１】
また、クラスタ情報算出部１１２３は、顧客ＩＤクラスタ“ｋ１”における属性値の平均値ｍｋ１を、以下に示す式（６）によって算出することができる。
【０２０２】
【数６】
0006988817.tif 000007
【０２０３】
同様に、クラスタ情報算出部１１２３は、商品ＩＤクラスタ“ｋ２”における属性値の平均値ｍｋ２を、以下に示す式（７）によって算出することができる。
【０２０４】
【数７】
0006988817.tif 000008
【０２０５】
式（６）は、前述の式（２）と同様の式であると言える。また、式（７）は、前述の式（３）と同様の式であると言える。
【０２０６】
式（４）および式（５）で用いた符号の意味を以下に示す。
【０２０７】
ｙ１は、ファクトデータが表わしている目的変数に該当するクラスである。
【０２０８】
Ｙ１は、多クラス分類におけるクラスの数である。例えば、「買う／買わない」という２クラス分類であれば、Ｙ１＝２である。また、例えば、２４時間を１時間毎に区切り、どの時間帯に買うかを目的変数が表わしている場合には、Ｙ１＝２４である。
【０２０９】
ωｙ１ｄ１ｄ２は、予測モデルでの「クラスｙ１であるか否かの判断基準」に対して、ファクトデータ内の「ｄ１番の顧客ＩＤと、ｄ２番目の商品ＩＤとに関する購買情報」が与える影響の強さである。ωｙ１ｄ１ｄ２の値が大きいほど、この影響はより強い。
【０２１０】
ｗＴｋｌｋ２は、顧客ＩＤクラスタ“ｋ１”と商品ＩＤクラスタ“ｋ２”との組み合わせに対応する予測モデルにおけるｗＴである。
【０２１１】
ｆ△ｄ１ｄ２（ｙ１）は、「ｄ１番の顧客ＩＤと、ｄ２番目の商品ＩＤとに関する購買情報」に関して、クラス“ｙ１”を予測結果とした場合における、予測結果と実測値との誤差である。本例では、ファクトデータ内の「ｄ１番の顧客ＩＤと、ｄ２番目の商品ＩＤとに関する購買情報」に関する実測値がクラス“ｙ１”であり、予測結果と一致しているならば、ｆ△ｄ１ｄ２（ｙ１）＝０とする。また、ファクトデータが示す実測値と予測結果“ｙ１”とが一致していない場ならば、ｆ△ｄ１ｄ２（ｙ１）を、０でない所定の値とすればよい。
【０２１２】
図１４は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１００は、例えば、ＣＰＵ１０１と、主記憶装置１０２と、補助記憶装置１０３と、インタフェース１０４と、ディスプレイ装置１０５とを備える。
【０２１３】
本発明の各実施形態の予測モデル生成システムは、コンピュータ１００に実装される。各実施形態の予測モデル生成システムの動作は、プログラム（予測モデル生成プログラム）の形式で補助記憶装置１０３に記憶されている。ＣＰＵ１０１は、プログラムを補助記憶装置１０３から読み出して主記憶装置１０２に展開し、そのプログラムに従って上記の処理を実行する。
【０２１４】
補助記憶装置１０３は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース１０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１００に配信される場合、配信を受けたコンピュータ１００がそのプログラムを主記憶装置１０２に展開し、上記の処理を実行してもよい。
【０２１５】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１０３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【０２１６】
また、各構成要素の一部または全部は、汎用または専用の回路（circuitry ）、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０２１７】
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０２１８】
次に、本発明の概要について説明する。図１５は、本発明の予測モデル生成システムの概要を示すブロック図である。本発明の予測モデル生成システムは、共クラスタリング手段７１と、予測モデル生成手段７２とを備える。
【０２１９】
共クラスタリング手段７１（例えば、共クラスタリング部２００２）は、第１のマスタデータと、第２のマスタデータと、第１のマスタデータ内のレコードのＩＤである第１ＩＤと第２のマスタデータ内のレコードのＩＤである第２ＩＤとの関係を示すファクトデータとに基づいて、第１ＩＤおよび第２ＩＤを共クラスタリングする。
【０２２０】
予測モデル生成手段７２（例えば、予測モデル学習部２００３）は、第１ＩＤのクラスタである第１ＩＤクラスタと第２ＩＤのクラスタである第２ＩＤクラスタとの組み合わせ毎に、第１ＩＤと第２ＩＤとの関係を目的変数とする予測モデルを生成する。
【０２２１】
そのような構成により、第１のマスタデータのレコードのＩＤと、第２のマスタデータのレコードのＩＤとの関係を精度良く予測するための予測モデルを生成することができる。
【０２２２】
また、第１ＩＤと第２ＩＤとが指定された場合に、各予測モデルを用いて、第１ＩＤと第２ＩＤとの関係を予測する予測手段（予測手段２００４）を備える構成であってもよい。
【０２２３】
また、予測手段が、予測モデル毎に、指定された第１ＩＤの属性値と指定された第２ＩＤの属性値とを用いて目的変数の値を算出し、予測モデル毎に、着目している予測モデルに対応する第１ＩＤクラスタにその第１ＩＤが所属する確率と、当該予測モデルに対応する第２ＩＤクラスタにその第２ＩＤが所属する確率との積を算出し、予測モデル毎に算出した目的変数の値を予測モデル毎に算出した積で重み付け加算した結果を、第１ＩＤと第２ＩＤとの関係の予測結果として導出する構成であってもよい。
【０２２４】
第１ＩＤが、顧客を識別するための顧客ＩＤであり、第２ＩＤが、商品を識別するための商品ＩＤであってもよい。
【０２２５】
第１ＩＤは、会社に属する社員を識別するための社員ＩＤであり、第２ＩＤは、会社内のプロジェクトを識別するためのプロジェクトＩＤであってもよい。
【０２２６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２２７】
この出願は、２０１６年１１月１４日に出願された日本特許出願２０１６−２２１１１３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０２２８】
本発明は、２種類の事項の関係を予測する予測モデルを生成する予測モデル生成システムに好適に適用される。
【符号の説明】
【０２２９】
２０００  予測モデル生成システム
２００１  データ入力部
２００２  共クラスタリング部
２００３  予測モデル学習部
２００４  予測部
２００５  結果出力部
２００６  記憶部
【図１】
0006988817.tif 000009
【図２】
0006988817.tif 000010
【図３】
0006988817.tif 000011
【図４】
0006988817.tif 000012
【図５】
0006988817.tif 000013
【図６】
0006988817.tif 000014
【図７】
0006988817.tif 000015
【図８】
0006988817.tif 000016
【図９】
0006988817.tif 000017
【図１０】
0006988817.tif 000018
【図１１】
0006988817.tif 000019
【図１２】
0006988817.tif 000020
【図１３】
0006988817.tif 000021
【図１４】
0006988817.tif 000022
【図１５】
0006988817.tif 000023
【図１６】
0006988817.tif 000024
【図１７】
0006988817.tif 000025
【図１８】
0006988817.tif 000026
【図１９】
0006988817.tif 000027