以下、本発明の実施形態を図面を参照して説明する。
まず、本発明の予測モデル生成システムには、第1のマスタデータ、第2のマスタデータおよびファクトデータが与えられる。以下の説明では、ファクトデータが1つであるものとして説明するが、ファクトデータが複数存在していてもよい。
第1のマスタデータおよび第2のマスタデータは、それぞれ複数のレコードを含む。第1のマスタデータのレコードのIDを第1IDと記す。第2のマスタデータのレコードのIDを第2IDと記す。
第1のマスタデータの各レコードでは、第1IDと、その第1IDに対応する属性値とが対応付けられている。同様に、第2のマスタデータの各レコードでは、第2IDと、その第2IDに対応する属性値とが対応付けられている。
以下では、第1のマスタデータが、図16に例示するような顧客に関するマスタデータであり、第2のマスタデータが、図17に例示するような商品に関するマスタデータである場合を例にして説明する。そして、第1IDが、顧客を識別するための顧客IDであり、第2IDが、商品を識別するための商品IDである場合を例にして説明する。ただし、第1のマスタデータおよび第2のマスタデータは、顧客や商品に関するマスタデータに限定されるわけではない。従って、第1IDおよび第2IDも、顧客IDや商品IDに限定されるわけではない。
図16に例示するマスタデータでは、顧客ID(第1ID)に対応する属性値として、「年齢」の値を示している。ただし、第1のマスタデータが示す属性の種類は年齢以外であってもよい。また、図17に例示するマスタデータでは、商品ID(第2ID)に対応する属性値として、「値段」の値を示している。ただし、第2のマスタデータが示す属性の種類は値段以外であってもよい。さらに、第1のマスタデータおよび第2のマスタデータは、複数種類の属性を示していてもよい。
ファクトデータは、第1IDと第2IDとの関係を示すデータである。以下では、ファクトデータは、顧客ID(第1ID)によって特定される顧客が、商品ID(第2ID)によって特定される商品を購入した実績があるか否かという関係を示す場合を例にして説明する。ファクトデータは、図18に例示するように表すことができる。既に説明したように、図18に示す例では、ある顧客IDとある商品IDとを含むレコードが存在しているということは、その顧客IDによって特定される顧客がその商品IDによって特定される商品を購入した実績があるということを示している。また、ある顧客IDとある商品IDとを含むレコードが存在していないということは、その顧客IDによって特定される顧客がその商品IDによって特定される商品を購入した実績がないということを示している。また、図18に例示するファクトデータが、顧客が商品を購入した日時を示す情報や、顧客が商品を購入した店舗を示す情報等を列として含んでいてもよい。
なお、ファクトデータは、図18に例示する形式に限定されず、例えば、行列形式で表現することもできる。図1は、行列形式で表現したファクトデータの例を示す説明図である。図1に例示するファクトデータでは、各行は顧客IDに対応し、各列は商品IDに対応している。図1に例示するファクトデータも、第1IDと第2IDとの関係として、顧客ID(第1ID)によって特定される顧客が、商品ID(第2ID)によって特定される商品を購入した実績があるか否かという関係を示している。具体的には、図1に例示するファクトデータは、顧客が商品を購入した実績があることを“1”で示し、実績がないことを“0”で示している。例えば、このファクトデータは、顧客ID“1”を有する顧客が、商品ID“2”を有する商品を購入した実績があること示している。また、このファクトデータは、顧客ID“1”を有する顧客が、商品ID“1” を有する商品を購入した実績がないことを示している。なお、第1IDと第2IDとの関係を示す値は、2値(“0”および“1”)に限定されない。例えば、図1に示す形式のファクトデータにおいて、顧客が商品を購入した個数が、第1IDと第2IDとの関係を示す値として示されていてもよい。図18や図1に例示するファクトデータは、購買実績データと称することができる。
実施形態1.
図2は、本発明の第1の実施形態の予測モデル生成システムの例を示す機能ブロック図である。
第1の実施形態の予測モデル生成システム1000は、データ入力部1300と、学習部1100と、記憶部1200と、学習結果出力部1400とを備える。学習部1100は、初期化部1110と、クラスタリング部1120とを備える。クラスタリング部1120は、予測モデル学習部1121と、クラスタ割り当て部1122と、クラスタ情報算出部1123と、終了判定部1124とを備える。
予測モデル生成システム1000は、入力された第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて、第1IDおよび第2IDを共クラスタリングする。第1IDのクラスタを、第1IDクラスタと記す。また、第2IDのクラスタを第2IDクラスタと記す。第1IDクラスタは、顧客IDクラスタと称することもできる。同様に、第2IDクラスタは、商品IDクラスタと称することもできる。予測モデル生成システム1000によるクラスタリングの態様は、ソフトクラスタリングである。また、予測モデル生成システム1000は、第1IDクラスタと第2IDクラスタの組み合わせ毎に、第1IDと第2IDとの関係を目的変数とする予測モデルを学習によって生成する。本実施形態の予測モデル生成システム1000は、終了条件が満たされるまで、予測モデル生成処理、共クラスタリング処理等を繰り返す。
データ入力部1300は、予測モデルの生成に用いられるデータ群と、クラスタリングの設定値とを取得する。データ入力部1300は、例えば、外部の装置にアクセスしてデータ群と、クラスタリングの設定値とを取得してもよい。あるいは、データ入力部1300は、データ群と、クラスタリングの設定値とが入力される入力インタフェースであってもよい。
予測モデルの生成に用いられるデータ群は、第1のマスタデータ(例えば、図16に例示する顧客に関するマスタデータ)と、第2のマスタデータ(例えば、図17に例示する商品に関するマスタデータ)と、ファクトデータ(例えば、図18や図1に例示する購買実績データ)とを含む。
また、クラスタリングの設定値は、例えば、第1IDクラスタの数の最大値、第2IDクラスタの数の最大値、予測モデルで説明変数に該当する属性の属性名、目的変数に該当する属性、予測モデルの種類である。
説明変数に該当する属性は、例えば、第1のマスタデータが示す属性および第2のマスタデータが示す属性である。ただし、第1のマスタデータが示す属性および第2のマスタデータが示す属性に加えて、ファクトデータが示す属性(例えば、顧客が商品を購入した日時、顧客が商品を購入した店舗)が、クラスタリングの設定値として定められていてもよい。
目的変数に該当する属性は、例えば、顧客IDによって特定される顧客が商品IDによって特定される商品を購入する確率である。ただし、目的変数に該当する属性は、この例に限定されない。例えば、顧客IDによって特定される顧客が商品IDによって特定される商品を購入する際の購入数が目的変数として定められていてもよい。本実施形態では、説明を簡単にするために、目的変数の値が連続値である場合を例にして説明する。
予測モデルの種類は、例えば、サポートベクタマシン、Logistic Regression 、多項ロジット等である。予測モデルの種類として、各種種類のうち、いずれかが指定される。
学習部1100は、クラスタ割り当て等を初期化し、予測モデル生成処理、共クラスタリング処理等を繰り返す繰り返し処理を実行する。学習部1100において、初期化部1110が、上記の初期化を実行し、クラスタリング部1120が上記の繰り返し処理を実行する。
初期化部1110は、データ入力部1300から、第1のマスタデータと、第2のマスタデータと、ファクトデータと、クラスタリングの設定値を受け取り、それらを記憶部1200に記憶させる。
また、初期化部1110は、クラスタ割り当てを初期化する。具体的には、初期化部1110は、個々の第1IDクラスタに個々の第1IDが所属する確率の初期値、および、個々の第2IDクラスタに個々の第2IDが所属する確率の初期値を決定する。以下、IDがクラスタに所属する確率を所属確率と記す。初期化部1110は、決定したそれぞれの所属確率の初期値を記憶部1200に記憶させる。
さらに、初期化部1110は、第1IDクラスタ毎にクラスタのモデル情報の初期値を決定し、同様に、第2IDクラスタ毎にクラスタのモデル情報の初期値を決定する。初期化部1110は、クラスタ毎に決定したクラスタのモデル情報の初期値を記憶部1200に記憶させる。
クラスタのモデル情報は、そのクラスタに所属するIDに対応する属性値の統計的な性質を表す情報であり、具体的には、そのクラスタに所属するIDに対応する属性値の統計値である。例えば、クラスタのモデル情報は、そのクラスタに所属するIDに対応する属性値の平均値や分散で表すことができる。顧客に関するマスタデータに、顧客の年収が属性値として含まれているとする。そして、年収が各顧客IDクラスタで正規分布に従うものとした場合、年収の正規分布の平均値や分散値で、クラスタのモデル情報を表すことができる。以下、説明を簡単にするために、クラスタのモデル情報が、そのクラスタに所属するIDに対応する属性値の平均値である場合を例にして説明する。
クラスタリング部1120は、終了条件が満たされるまで、予測モデル生成処理、共クラスタリング処理等を繰り返すことによって、第1IDおよび商品IDのクラスタリング結果と、第1IDクラスタと第2IDクラスタの組み合わせ毎の予測モデルを導出する。
クラスタのモデル情報は、クラスタ割り当て部1122がクラスタリングを行う際に参照される。
予測モデル学習部1121は、第1IDクラスタと第2IDクラスタの組み合わせ毎に、学習によって、予測モデルを生成する。
前述のように、予測モデルは、例えば、y=wtxという式で得られる。xは、各説明変数を要素とする列ベクトルである。wは、各説明変数に対応する係数を要素とする列ベクトルである。ここでは、目的変数yが、顧客IDによって特定される顧客が商品IDによって特定される商品を購入する確率である場合を例にして説明する。また、列ベクトルxの要素となる説明変数が、顧客の年齢および商品の値段である場合を例にして説明する。説明変数および目的変数は、クラスタリングの設定値として予め定められている。よって、予測モデルを生成するということは、列ベクトルwを定めることを意味する。
図3は、第1IDクラスタと第2IDクラスタの組み合わせ毎に定められる予測モデルを示す模式図である。図3では、予測モデルを列ベクトルwで表している。また、wの1番目の添え字は、顧客IDクラスタ(第1IDクラスタ)の識別番号である。wの2番目の添え字は、商品IDクラスタ(第2IDクラスタ)の識別番号である。なお、「アウトドア派」、「アウトドア用品」等は、システム管理者が便宜的に付けたラベルであるものとする。図3示す例では、顧客IDクラスタの数、および、商品IDクラスタの数が、それぞれ3個であるので、3×3=9個の予測モデルを模式的に示している。
また、予測モデル学習部1121が各予測モデルを生成する時点で、個々の第1IDクラスタに個々の第1IDが所属する所属確率、および、個々の第2IDクラスタに個々の第2IDが所属する所属確率が、記憶部1200に記憶されている。
図4は、個々の第1IDクラスタに個々の第1IDが所属する所属確率の例を示す説明図である。図4に示すように、第1IDクラスタ毎に、第1ID“1”の所属確率が定められている。他の第1IDについても同様である。
図5は、個々の第2IDクラスタに個々の第2IDが所属する所属確率の例を示す説明図である。図5に示すように、第2IDクラスタ毎に、第2ID“1”の所属確率が定められている。他の第2IDについても同様である。
予測モデル学習部1121が、第1IDクラスタ“1”と第2IDクラスタ“2”との組み合わせに対応する予測モデルを生成する場合を例にして、予測モデル学習部1121が予測モデルを生成する処理について説明する。ここでは、生成する予測モデルに対応する第1IDクラスタ“1”、第2IDクラスタ“2”をそれぞれ、着目している第1IDクラスタ、着目している第2IDクラスタと記す。予測モデル学習部1121は、第1IDと第2IDの組み合わせ毎に、属性値を説明変数に代入して得られる予測値に、着目している第1IDクラスタに第1IDが所属する所属確率と、着目している第2IDクラスタに第2IDが所属する所属確率を乗じた値と、目的変数の実績値との差を求めることとした場合において、その差の総和が最小となるように、予測モデル内の列ベクトルw12を決定する。列ベクトルw12を決定するということは、予測モデルを生成することと同義である。目的変数の実績値は、本例では、目的変数の実績値は、顧客が商品を購入したことがあれば“1”であり、そうでなければ“0”である。
より具体的には、予測モデル学習部1121は、以下に示す式(1)が最小となる列ベクトルw12を決定する。
式(1)において、d1は、第1IDの順番を表す変数である。d2は、第2IDの順番を表す変数である。yd1d2は、d1番目の第1IDによって特定される顧客がd2番目の第2IDによって特定される商品を購入したか否かを示す実績値である。xd1d2は、d1番目の第1IDおよびd2番目の第2IDに応じた属性値を説明変数に代入した列ベクトルである。q(zd1=1)は、着目している第1IDクラスタ“1”に、d1番目の第1IDが所属する所属確率であり、q(zd2=2)は、着目している第2IDクラスタ“2”に、d2番目の第2IDが所属する所属確率である。
式(1)は、第1IDと第2IDの組み合わせ毎に、属性値を説明変数に代入して得られる予測値に、着目している第1IDクラスタに第1IDが所属する所属確率q(zd1=1)と、着目している第2IDクラスタに第2IDが所属する所属確率q(zd2=2)を乗じた値と、目的変数の実績値yd1d2との差を求めることとした場合における、その差の総和である。
予測モデル学習部1121は、式(1)が最小となる列ベクトルw12を決定することで、第1IDクラスタ“1”と第2IDクラスタ“2”との組み合わせに対応する予測モデルを生成する。
予測モデル学習部1121は、第1IDクラスタと第2IDクラスタの他の組み合わせに対応する予測モデルも同様に生成する。
予測モデル学習部1121は、第1IDクラスタと第2IDクラスタの組み合わせ毎に生成した各予測モデルを、記憶部1200に記憶させる。記憶部1200に各予測モデルが記憶されている場合には、予測モデル学習部1121は、その各予測モデルを、新たに生成した各予測モデルで更新する。
各購買実績が予測モデルに与える影響の大きさは、購買実績に関わる顧客のIDが着目している第1IDクラスタに所属する所属確率と、購買実績に関わる商品のIDが着目している第2IDクラスタに所属する所属確率とに比例する。
クラスタ割り当て部1122は、第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて、第1IDおよび第2IDを共クラスタリングする。クラスタリングの態様は、ソフトクラスタリングである。従って、クラスタ割り当て部1122は、ある1つの第1IDに関して、第1IDクラスタ毎に、その第1IDが第1IDクラスタに所属する所属確率を決定する。他の第1IDに関しても同様である。また、クラスタ割り当て部1122は、ある1つの第2IDに関して、第2IDクラスタ毎に、その第2IDが第2IDクラスタに所属する所属確率を決定する。他の第2IDに関しても同様である。
第1IDの集合を、{xd1}d1=1 D1と記す。D1は、第1IDの数である。{xd1}d1=1 D1は、1番目からD1番目までの第1IDを含む集合を意味している。第2IDの集合を、{xd2}d2=1 D2と記す。D2は、第2IDの数である。{xd2}d2=1 D2は、1番目からD2番目までの第2IDを含む集合を意味している。クラスタ割り当て部1122は、{xd1}d1=1 D1をK1個の第1IDクラスタにクラスタリングし、{xd2}d2=1 D2をK2個の第2IDクラスタにクラスタリングする。
また、d1番目の第1IDが第1IDクラスタ“k1”に所属する所属確率を、q(zd1=k1)と記す。d2番目の第2IDが第2IDクラスタ“k2” に所属する所属確率を、q(zd2=k2)と記す。
クラスタ割り当て部1122は、1つの第1IDが1つの第1IDクラスタに所属する所属確率を決定する際、その第1IDの属性値と、その第1IDクラスタに対応するクラスタのモデル情報(換言すれば、その第1IDクラスタにおける属性値の統計値)との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
同様に、クラスタ割り当て部1122は、1つの第2IDが1つの第2IDクラスタに所属する所属確率を決定する際、その第2IDの属性値と、その第2IDクラスタに対応するクラスタのモデル情報との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
ここでは、クラスタのモデル情報が、そのクラスタに所属するIDに対応する属性値の平均値であるものとして説明する。
例えば、第1ID“1”が第1IDクラスタ“2”に所属する所属確率を決定する際、クラスタ割り当て部1122は、第1ID“1”に対応する年齢が、第1IDクラスタ“2”における年齢の平均値に近いほど、その所属確率を高くし、その年齢が平均値から離れているほど、その所属確率を低くする。
また、例えば、第2ID“1”が第2IDクラスタ“2”に所属する所属確率を決定する際、クラスタ割り当て部1122は、第2ID“1”に対応する値段が、第2IDクラスタ“2”における値段の平均値に近いほど、その所属確率を高くし、その値段が平均値から離れているほど、その所属確率を低くする。
ここでは、第1ID“1”が第1IDクラスタ“2”に所属する所属確率や、第2ID“1”が第2IDクラスタ“2”に所属する所属確率を例にして説明したが、他の所属確率を決定する場合も同様である。
また、クラスタ割り当て部1122は、クラスタのモデル情報だけでなく、予測モデルによる予測値の誤差も考慮して所属確率を定める。
クラスタ割り当て部1122は、1つの第1IDが1つの第1IDクラスタに所属する所属確率を決定する際、個々の第2IDクラスタとその第1IDクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第1IDと各第2IDとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部1122は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
ここでは、第1ID“1”が第1IDクラスタ“2”に所属する所属確率を決定する場合を例にして説明する。図6は、個々の第2IDクラスタと第1IDクラスタ“2”との組み合わせに対応する個々の予測モデルを示す模式図である。第2IDクラスタの数は3個であり、第2IDの数は4個であるとする。また、個々の第2IDクラスタ“1”,“2”,“3”に関して、各第2ID“1”〜“4”それぞれの所属確率が定められている。すなわち、個々の第2IDクラスタ“1”,“2”,“3”のいずれにも、ある所属確率で各第2ID“1”〜“4”が所属していると言える。また、w21,w22,w23は、予測モデルに該当する式に含まれる列ベクトルであるが、ここでは便宜的に、予測モデルの識別情報として符号w21等を用いる。
クラスタ割り当て部1122は、第1ID“1”の属性値と、第2ID“1”の属性値を、予測モデル“w21”に適用して、目的変数yの値を求める。すなわち、クラスタ割り当て部1122は、第1ID“1”と第2ID“1”との関係の予測値を算出する。そして、クラスタ割り当て部1122は、第1ID“1”と第2ID“1”との関係の実績値と、その予測値との差を算出する。クラスタ割り当て部1122は、実績値をファクトデータから読み取ればよい。ここで、予測モデル“w21”に対応する第2IDクラスタは、第2IDクラスタ“1”である。クラスタ割り当て部1122は、第2ID“1”がその第2IDクラスタ“1”に所属する所属確率を、実績値と予測値との差に乗算する。すなわち、クラスタ割り当て部1122は、実績値と予測値との差と、所属確率との積を算出する。この所属確率は、第2IDが、参照中の予測モデルに対応する第2IDクラスタに所属する確率である。クラスタ割り当て部1122は、同様に、予測モデル“w21”を用いて、第1ID“1”と第2ID“2” との関係の予測値と実測値との差と、所属確率との積、第1ID“1”と第2ID“3”との関係の予測値と実測値との差と、所属確率との積、および、第1ID“1”と第2ID“4”との関係の予測値と実測値との差と、所属確率との積も、それぞれ算出する。
同様に、クラスタ割り当て部1122は、予測モデル“w22”を用いて、第1ID“1”と第2ID“1”との関係の予測値と実測値との差と、所属確率との積、第1ID“1”と第2ID“2”との関係の予測値と実測値との差と、所属確率との積、第1ID“1”と第2ID“3”との関係の予測値と実測値との差と、所属確率との積、および、第1ID“1”と第2ID“4”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。また、クラスタ割り当て部1122は、予測モデル“w23”を用いて、第1ID“1”と第2ID“1”との関係の予測値と実測値との差と、所属確率との積、第1ID“1”と第2ID“2”との関係の予測値と実測値との差と、所属確率との積、第1ID“1”と第2ID“3”との関係の予測値と実測値との差と、所属確率との積、および、第1ID“1”と第2ID“4”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。
すなわち、クラスタ割り当て部1122は、予測値と実測値との差と、所属確率との積を、個々の第2IDクラスタにおける個々の第2ID毎に算出する。
クラスタ割り当て部1122は、上記のようにして得た個々の積の総和を算出し、その値を、前述の誤差の程度(第1IDと各第2IDとの関係の実績値と予測値との誤差の程度)とする。そして、クラスタ割り当て部1122は、その誤差の程度が小さいほど、第1ID“1”が第1IDクラスタ“2”に所属する所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
ここでは、第1ID“1”が第1IDクラスタ“2”に所属する所属確率を決定する場合を例にして説明したが、他の所属確率を決定する場合の動作も同様である。
また、クラスタ割り当て部1122は、1つの第2IDが1つの第2IDクラスタに所属する所属確率を決定する際、個々の第1IDクラスタとその第2IDクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第2IDと各第1IDとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部1122は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
ここでは、第2ID“1”が第2IDクラスタ“2”に所属する所属確率を決定する場合を例にして説明する。図7は、個々の第1IDクラスタと第2IDクラスタ“2”との組み合わせに対応する個々の予測モデルを示す模式図である。第1IDクラスタの数は3個であり、第1IDの数は4個であるとする。また、個々の第1IDクラスタ“1”,“2”,“3”に関して、各第1ID“1”〜“4”それぞれの所属確率が定められている。すなわち、個々の第1IDクラスタ“1”,“2”,“3”のいずれにも、ある所属確率で各第1ID“1”〜“4”が所属していると言える。また、w12,w22,w32は、予測モデルに該当する式に含まれる列ベクトルであるが、ここでは便宜的に、予測モデルの識別情報として符号w12等を用いる。
クラスタ割り当て部1122は、第2ID“1”の属性値と、第1ID“1”の属性値を、予測モデル“w12”に適用して、目的変数yの値を求める。すなわち、クラスタ割り当て部1122は、第2ID“1”と第1ID“1”との関係の予測値を算出する。そして、クラスタ割り当て部1122は、第2ID“1”と第1ID“1”との関係の実績値と、その予測値との差を算出する。クラスタ割り当て部1122は、実績値をファクトデータから読み取ればよい。ここで、予測モデル“w12”に対応する第1IDクラスタは、第1IDクラスタ“1”である。クラスタ割り当て部1122は、第1ID“1”がその第1IDクラスタ“1”に所属する所属確率を、実績値と予測値との差に乗算する。すなわち、クラスタ割り当て部1122は、実績値と予測値との差と、所属確率との積を算出する。この所属確率は、第1IDが、参照中の予測モデルに対応する第1IDクラスタに所属する確率である。クラスタ割り当て部1122は、同様に、予測モデル“w12”を用いて、第2ID“1”と第1ID“2”との関係の予測値と実測値との差と、所属確率との積、第2ID“1”と第1ID“3”との関係の予測値と実測値との差と、所属確率との積、および、第2ID“1”と第1ID“4”との関係の予測値と実測値との差と、所属確率との積も、それぞれ算出する。
同様に、クラスタ割り当て部1122は、予測モデル“w22”を用いて、第2ID“1”と第1ID“1”との関係の予測値と実測値との差と、所属確率との積、第2ID“1”と第1ID“2”との関係の予測値と実測値との差と、所属確率との積、第2ID“1”と第1ID“3”との関係の予測値と実測値との差と、所属確率との積、および、第2ID“1”と第1ID“4”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。また、クラスタ割り当て部1122は、予測モデル“w32”を用いて、第2ID“1”と第1ID“1”との関係の予測値と実測値との差と、所属確率との積、第2ID“1”と第1ID“2”との関係の予測値と実測値との差と、所属確率との積、第2ID“1”と第1ID“3”との関係の予測値と実測値との差と、所属確率との積、および、第2ID“1”と第1ID“4”との関係の予測値と実測値との差と、所属確率との積を、それぞれ算出する。
すなわち、クラスタ割り当て部1122は、予測値と実測値との差と、所属確率との積を、個々の第1IDクラスタにおける個々の第1ID毎に算出する。
クラスタ割り当て部1122は、上記のようにして得た個々の積の総和を算出し、その値を、前述の誤差の程度(第2IDと各第1IDとの関係の実績値と予測値との誤差の程度)とする。そして、クラスタ割り当て部1122は、その誤差の程度が小さいほど、第2ID“1”が第2IDクラスタ“2”に所属する所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
クラスタ割り当て部1122は、記憶部1200に記憶されている各所属確率を、決定した所属確率で更新する。
クラスタ情報算出部1123は、各第1IDおよび各第2IDのクラスタ割り当て(すなわち、個々の第1IDクラスタに個々の第1IDが所属する所属確率、および、個々の第2IDクラスタに個々の第2IDが所属する所属確率)を参照し、第1IDクラスタ毎にクラスタのモデル情報を算出するとともに、第2IDクラスタ毎にクラスタのモデル情報を算出する。既に説明したように、クラスタのモデル情報は、そのクラスタに所属するIDに対応する属性値の統計的な性質を表す情報である。以下、属性値の平均値をクラスタのモデル情報とする場合を例にして、クラスタのモデル情報の算出方法を説明する。
クラスタ情報算出部1123は、第1IDクラスタに関してクラスタのモデル情報を算出する場合、着目している第1IDクラスタに所属している第1ID毎に、属性値と、第1IDがその第1IDクラスタに所属している所属確率との積を計算し、さらに、その積の総和を求める。この値をAとする。また、クラスタ情報算出部1123は、各第1IDがその第1IDクラスタに所属する所属確率の総和に1を加算した値を計算する。この値をBとする。クラスタ情報算出部1123は、AをBで除算して得られる値を、着目している第1IDクラスタにおけるクラスタのモデル情報とする。具体的には、クラスタ情報算出部1123は、以下に示す式(2)の計算を行う。
式(2)において、“属性値d1”は、d1番目の第1IDの属性値である。“所属確率d1”は、d1番目の第1IDが、着目している第1IDクラスタに所属する所属確率である。上記の“A”は、式(2)の分子に該当し、上記の“B”は、式(2)の分母に該当する。
クラスタ情報算出部1123は、第1IDクラスタ毎に、式(2)の計算によって、クラスタのモデル情報を算出する。
第2IDクラスタに関してクラスタのモデル情報を算出する方法も同様である。すなわち、クラスタ情報算出部1123は、第2IDクラスタに関してクラスタのモデル情報を算出する場合、着目している第2IDクラスタに所属している第2ID毎に、属性値と、第2IDがその第2IDクラスタに所属している所属確率との積を計算し、さらに、その積の総和を求める。この値をCとする。また、クラスタ情報算出部1123は、各第2IDがその第2IDクラスタに所属する所属確率の総和に1を加算した値を計算する。この値をDとする。クラスタ情報算出部1123は、CをDで除算して得られる値を、着目している第2IDクラスタにおけるクラスタのモデル情報とする。具体的には、クラスタ情報算出部1123は、以下に示す式(3)の計算を行う。
式(3)において、“属性値d2”は、d2番目の第2IDの属性値である。“所属確率d2”は、d2番目の第2IDが、着目している第2IDクラスタに所属する所属確率である。上記の“C”は、式(3)の分子に該当し、上記の“D”は、式(3)の分母に該当する。
クラスタ情報算出部1123は、第2IDクラスタ毎に、式(3)の計算によって、クラスタのモデル情報を算出する。
なお、式(2)の分母、および、式(3)の分母において、1が加算される理由は、例えば、各IDの所属確率が全て0であっても、除算を可能とするためである。
また、式(2)および式(3)は、クラスタのモデル情報の算出式の例であり、クラスタのモデル情報の算出式は、式(2)および式(3)に限定されない。
クラスタ情報算出部1123は、記憶部1200に記憶されているクラスタのモデル情報を、新たに計算したクラスタのモデル情報で更新する。
クラスタリング部1120は、予測モデル学習部1121による処理、クラスタ割り当て部1122による処理、および、クラスタ情報算出部1123による処理を繰り返す。
終了判定部1124は、上記の一連の処理の繰り返しを終了するか否かを判定する。終了判定部1124は、終了条件が満たされた場合に、上記の一連の処理の繰り返しを終了すると判定し、終了条件が満たされていなければ、繰り返しを続けると判定する。以下、終了条件の例を説明する。
例えば、上記の一連の処理の繰り返し回数が、クラスタリングの設定値の1つとして定められていてもよい。終了判定部1124は、上記の一連の処理の繰り返し回数が定められた回数に達したときに、繰り返しを終了すると判定してもよい。
また、クラスタ割り当て部1122が、クラスタリングを実行するときに、クラスタリングの精度を導出し、そのクラスタリングの精度を記憶部1200に記憶させてもよい。終了判定部1124は、前回に導出されたクラスタリングの精度から、直近に導出されたクラスタリングの精度への変化量を計算し、その変化量が小さければ(具体的には、変化量の絶対値が所定の閾値以下であれば)、繰り返しを終了すると判定してもよい。クラスタ割り当て部1122は、クラスタリングの精度として、例えば、クラスタリングのモデルの対数尤度、または、Pseudo Fを計算してもよい。
記憶部1200は、データ入力部1300が取得した種々のデータや、学習部1100の処理で得られた種々のデータを記憶する記憶装置である。記憶部1200は、計算機の主記憶装置であっても、二次記憶装置であってもよい。記憶部1200が二次記憶装置である場合、クラスタリング部1120は、処理を途中で中断し、その後、再開することができる。また、記憶部1200が、主記憶装置と二次記憶装置とに分かれた構成であって、学習部1100は、データの一部を主記憶装置に記憶させ、他のデータを二次記憶装置に記憶させてもよい。
学習結果出力部1400は、記憶部1200に記憶された、クラスタリング部1120による処理の結果(終了条件が満たされたことで確定した最終的な処理の結果)を出力する。学習結果出力部1400は、例えば、クラスタの数(第1IDクラスタの数および第2IDクラスタの数)、個々の第1IDクラスタに各第1IDが所属する所属確率、個々の第2IDクラスタに各第2IDが所属する所属確率、第1IDクラスタと第2IDクラスタとの組み合わせ毎に得られた予測モデルを出力する。また、学習結果出力部1400は、学習に要した時間等を出力してもよい。
学習結果出力部1400が結果を出力する態様は、特に限定されない。例えば、学習結果出力部1400は、結果を他の装置に出力してもよい。また、例えば、学習結果出力部1400は、結果をディスプレイ装置に表示させてもよい。
予測モデル学習部1121、クラスタ割り当て部1122、クラスタ情報算出部1123および終了判定部1124を含むクラスタリング部1120、並びに、データ入力部1300、初期化部1110、学習結果出力部1400は、例えば、プログラム(予測モデル生成プログラム)に従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図2において図示略)等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、データ入力部1300、初期化部1110、クラスタリング部1120、および学習結果出力部1400として動作すればよい。
また、図2に示した予測モデル生成システム1000の各要素が、それぞれ専用のハードウェアで実現されていてもよい。
また、本発明の予測モデル生成システムは、2つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。この点は、後述の実施形態においても同様である。
次に、第1の実施形態の処理経過を説明する。図8は、第1の実施形態の処理経過の例を示すフローチャートである。
データ入力部1300は、予測モデルの生成に用いられるデータ群(第1のマスタデータ、第2のマスタデータ、およびファクトデータ)と、クラスタリングの設定値とを取得する(ステップS1)。クラスタリングの設定値は、例えば、第1IDクラスタの数の最大値、第2IDクラスタの数の最大値、予測モデルで説明変数に該当する属性の属性名、目的変数に該当する属性、予測モデルの種類である。
初期化部1110は、データ入力部1300が取得した第1のマスタデータ、第2のマスタデータ、ファクトデータ、および、クラスタリングの設定値を記憶部1200に記憶させる。さらに、初期化部1110は、クラスタ割り当てと、クラスタのモデル情報とを初期化する(ステップS2)。
ステップS2において、初期化部1110は、個々の第1IDクラスタに個々の第1IDが所属する所属確率の初期値、および、個々の第2IDクラスタに個々の第2IDが所属する所属確率の初期値を決定し、記憶部1200に記憶させる。初期化部1110は、所属確率を、均一に定めてもよい。例えば、第1IDクラスタの数が2個である場合、各第1IDが1番目の第1IDクラスタに所属する所属確率、および、各第1IDが2番目の第1IDクラスタに所属する所属確率をそれぞれ0.5に定めてもよい。各第2IDの所属確率に関しても同様である。また、初期化部1110は、所属確率の初期値をランダムに定めてもよい。
また、初期化部1110は、第1IDクラスタ毎にクラスタのモデル情報の初期値を決定するともに、第2IDクラスタ毎にクラスタのモデル情報の初期値を決定し、その各初期値を記憶部1200に記憶させる。このとき、初期化部1110は、第1のマスタデータにおける属性値の平均値を算出し、その平均値を、個々の第1IDクラスタにおけるクラスタのモデル情報として定めてもよい。同様に、初期化部1110は、第2のマスタデータにおける属性値の平均値を算出し、その平均値を、個々の第2IDクラスタにおけるクラスタのモデル情報として定めてもよい。
ステップS2の後、クラスタリング部1120は、終了条件が満たされるまで、ステップS3〜S6の処理を繰り返す。以下、ステップS3〜S6の処理を説明する。
予測モデル学習部1121は、記憶部1200に記憶されている情報を参照し、第1IDクラスタと第2IDクラスタの組み合わせ毎に予測モデルを生成し、各予測モデルを記憶部1200に記憶させる(ステップS3)。予測モデルの生成処理については既に説明したので、ここでは説明を省略する。なお、最初にステップS3に移行した場合、予測モデル学習部1121は、生成した各予測モデルを記憶部1200に記憶させればよい。2回目以降のステップS3では、予測モデル学習部1121は、記憶部1200に記憶されている各予測モデルを、新たに生成した各予測モデルで更新する。
ステップS3の後、クラスタ割り当て部1122は、第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて、第1IDおよび第2IDを共クラスタリングする(ステップS4)。具体的には、クラスタ割り当て部1122は、個々の第1IDクラスタに個々の第1IDが所属する所属確率、および、個々の第2IDクラスタに個々の第2IDが所属する所属確率を決定する。そして、クラスタ割り当て部1122は、記憶部1200に記憶されている各所属確率を、決定した各所属確率で更新する。
ステップS4において、クラスタ割り当て部1122は、1つの第1IDが1つの第1IDクラスタに所属する所属確率を決定する際、その第1IDの属性値と、その第1IDクラスタに対応するクラスタのモデル情報との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
同様に、クラスタ割り当て部1122は、1つの第2IDが1つの第2IDクラスタに所属する所属確率を決定する際、その第2IDの属性値と、その第2IDクラスタに対応するクラスタのモデル情報との差が小さいほど、その所属確率を高くし、差が大きいほど、その所属確率を低くする。
また、クラスタ割り当て部1122は、1つの第1IDが1つの第1IDクラスタに所属する所属確率を決定する際、個々の第2IDクラスタとその第1IDクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第1IDと各第2IDとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部1122は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
同様に、クラスタ割り当て部1122は、1つの第2IDが1つの第2IDクラスタに所属する所属確率を決定する際、個々の第1IDクラスタとその第2IDクラスタとの組み合わせに対応する個々の予測モデルを用いて、その第2IDと各第1IDとの関係の実績値と予測値との誤差の程度を算出する。そして、クラスタ割り当て部1122は、その誤差の程度が小さいほど、その所属確率を高くし、その誤差の程度が大きいほど、その所属確率を低くする。
ステップS4の後、クラスタ情報算出部1123は、第1IDクラスタ毎にクラスタのモデル情報を算出するとともに、第1IDクラスタ毎にクラスタのモデル情報を算出する。そして、クラスタ情報算出部1123は、記憶部1200に記憶されているクラスタのモデル情報を、新たに計算したクラスタのモデル情報で更新する(ステップS5)。
次に、終了判定部1124は、終了条件が満たされたか否かを判定する(ステップS6)。終了条件が満たされていない場合(ステップS6のNo)、終了判定部1124は、ステップS3〜S6を繰り返すと判定する。そして、クラスタリング部1120は、ステップS3〜S6を再度、実行する。
また、終了条件が満たされた場合(ステップS6のYes)、終了判定部1124は、ステップS3〜S6の繰り返しを終了すると判定する。この場合、学習結果出力部1400は、その時点におけるクラスタリング部1120の処理の結果を出力する(ステップS7)。
本実施形態によれば、クラスタ割り当て部1122は、第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて、第1ID(顧客ID)および第2ID(商品ID)を共クラスタリングする。従って、ファクトデータが示す傾向(本例では、顧客が商品を購買する際の購買傾向)が、クラスタリング結果に反映される。よって、顧客の潜在的な特性や商品の潜在的な特性がマスタデータに明示されていなくても、共通の潜在的な特性を有する各IDの所属確率が特定のクラスタで高くなる。例えば、「アウトドア派」という潜在的な特性を持つ各顧客の顧客IDが顧客IDクラスタ“1”に所属する所属確率が高くなり、そのような特性を持たない各顧客の顧客IDが顧客IDクラスタ“1”に所属する所属確率が低くなる。換言すれば、特定の顧客IDクラスタに、共通の特性を有する顧客の顧客IDが集まる。他の顧客IDクラスタに関しても同様である。従って、個々の顧客IDクラスタには、共通の特性を有する各顧客の顧客IDが集まり、その特性は、顧客IDクラスタ毎に異なっていると言える。同様に、個々の商品IDクラスタには、共通の特性を有する各商品の商品IDが集まり、その特性は、商品IDクラスタ毎に異なっていると言える。そして、予測モデル学習部1121は、顧客IDクラスタ(第1IDクラスタ)と商品IDクラスタ(第2IDクラスタ)の組み合わせ毎に、予測モデルを生成する。従って、個々の予測モデルには、顧客や商品の潜在的な特性が反映されている。よって、それらの予測モデルを用いて、顧客ID(第1ID)と商品ID(第2ID)との関係を予測した場合における予測精度は高くなる。従って、本実施形態によれば、第1IDと第2IDとの関係を精度よく予測できる予測モデルを生成することができる。
本実施形態では、クラスタ割り当て部1122は、IDの属性値とクラスタのモデル情報との差を考慮して所属確率を決定する。さらに、クラスタ割り当て部1122は、予測モデルによる予測値と実績値との誤差の程度も考慮して所属確率を決定する。従って、クラスタ割り当て部1122は、より精度よく共クラスタリングを実行することができる。その結果、本実施形態では、より予測精度の高い予測モデルを生成することができる。
なお、上記の説明では、目的変数の値が連続値である場合を例にして説明したが、目的変数の値はカテゴリ値であってもよい。目的変数の値がカテゴリ値である場合、予測モデル学習部1121は、予測モデルの学習アルゴリズムとして、Multi Class SVM(Support Vector Machine) を採用することで、予測モデルを生成することができる。また、目的変数の値がカテゴリ値である場合に、学習アルゴリズムとして線形回帰を採用する場合には、予測モデル学習部1121は、教師データにおける実績値を1-of-k形式で表現した上で、予測モデルの学習を行えばよい。
また、目的変数の値がカテゴリ値である場合、第1IDと第2IDとの関係の実績値と予測値との誤差は、実績値と予測値とが一致していれば“0”であり、一致していなければ“1”である。
実施形態2.
本発明の第2の実施形態の予測モデル生成システムは、共クラスタリングを実行し、その後に、第1IDクラスタと第2IDクラスタの組み合わせ毎に予測モデルを生成する。また、本実施形態では、予測モデル生成システムが、予測モデルを生成した後に、予測モデルを用いて、ID間の関係を予測する場合を例にして説明する。
図9は、本発明の第2の実施形態の予測モデル生成システムの例を示す機能ブロック図である。第2の実施形態の予測モデル生成システム2000は、データ入力部2001と、共クラスタリング部2002と、予測モデル学習部2003と、予測部2004と、結果出力部2005と、記憶部2006とを備える。
記憶部2006は、種々のデータを記憶する記憶装置である。
データ入力部2001は、第1のマスタデータ、第2のマスタデータおよびファクトデータ、並びに、種々の設定値を取得し、取得した各データや設定値を記憶部2006に記憶させる。データ入力部2001は、例えば、外部の装置にアクセスして各データと、種々の設定値とを取得してもよい。あるいは、データ入力部2001は、各データと、設定値とが入力される入力インタフェースであってもよい。
第1のマスタデータ、第2のマスタデータおよびファクトデータはそれぞれ、第1の実施形態における第1のマスタデータ、第2のマスタデータおよびファクトデータと同様である。ファクトデータの形式は、図18に例示する形式であっても、図1に例示する形式であってもよい。以下、第1のマスタデータが、顧客に関するマスタデータであり、第1IDが顧客IDであるものとする。また、第2のマスタデータが、商品に関するマスタデータであり、第2IDが商品IDであるものとする。また、ファクトデータが、購買実績データであるものとする。
種々の設定値は、第1の実施形態で説明したクラスタリングの設定値と同様である。すなわち、これらの設定値は、例えば、第1IDクラスタの数の最大値、第2IDクラスタの数の最大値、予測モデルで説明変数に該当する属性の属性名、目的変数に該当する属性、予測モデルの種類等である。第2の実施形態においても、説明を簡単にするために、目的変数の値が連続値である場合を例にして説明する。以下、目的変数に該当する属性が、例えば、第1IDによって特定される顧客が第2IDによって特定される商品を購入する確率である場合を例にして説明する。目的変数に該当する属性は、そのような確率に限定されない。
共クラスタリング部2002は、第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて、第1IDおよび第2IDを共クラスタリングする。クラスタリングの態様は、ソフトクラスタリングである。従って、共クラスタリング部2002は、ある1つの第1IDに関して、第1IDクラスタ毎に、その第1IDが第1IDクラスタに所属する所属確率を決定する。他の第1IDに関しても同様である。また、共クラスタリング部2002は、ある1つの第2IDに関して、第2IDクラスタ毎に、その第2IDが第2IDクラスタに所属する所属確率を決定する。他の第2IDに関しても同様である。共クラスタリング部2002は、共クラスタリングの結果を記憶部2006に記憶させる。
共クラスタリング部2002が第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて第1IDおよび第2IDを共クラスタリングする方法は、公知の共クラスタリング方法でよい。
予測モデル学習部2003は、第1IDクラスタと第2IDクラスタと組み合わせ毎に、学習によって、予測モデルを生成する。第1の実施形態では、終了条件が満たされたと判定されるまで、図8に示すステップS3〜S6の処理を繰り返す場合を説明した。第2の実施形態では、そのような繰り返し処理を行わない場合を例にして説明する。従って、第2の実施形態では、予測モデル学習部2003は、共クラスタリング部2002による第1IDおよび第2IDの共クラスタリング完了後に、予測モデルを生成する。
本実施形態においても、第1の実施形態と同様に、予測モデルがy=wtxという式である場合を例にして説明する。
予測モデル学習部2003が予測モデルを生成する処理は、第1の実施形態における予測モデル学習部1121が予測モデルを生成する処理と同様である。すなわち、予測モデル学習部2003は、第1IDクラスタと第2IDクラスタとのある1つの組み合わせに対応する予測モデルを生成する場合、以下のように予測モデルを生成する。予測モデル学習部2003は、第1IDと第2IDの組み合わせ毎に、属性値を説明変数に代入して得られる予測値に、着目している第1IDクラスタに第1IDが所属する所属確率と、着目している第2IDクラスタに第2IDが所属する所属確率を乗じた値と、目的変数の実績値との差を求めることとした場合において、その差の総和が最小となるように、予測モデル内の列ベクトルwを決定する。この結果、予測モデルy=wtxが定まる。
例えば、第1IDクラスタ“1”と第2IDクラスタ“2”との組み合わせに対応する予測モデルを生成するものとする。この場合、予測モデル学習部2003は、第1の実施形態で示した式(1)が最小となる列ベクトルw12を決定することで、その組み合わせに対応する予測モデル生成する。予測モデル学習部2003は、第1IDクラスタと第2IDクラスタの他の組み合わせに対応する予測モデルも同様に生成する。
予測モデル学習部2003は、生成した各予測モデルを記憶部2006に記憶させる。
予測部2004は、二者間の関係の予測対象となる第1IDおよび第2IDの指定を外部から受け付ける。例えば、予測部2004は、ユーザから、第1IDおよび第2IDを入力される。そして、予測部2004は、その第1IDと第2IDとの関係を、予測モデル学習部2003が生成した各学習モデルを用いて予測する。なお、ユーザは、例えば、ファクトデータにおいて二者間の関係がないとされている第1IDおよび第2ID(例えば、購入実績がないとされている顧客IDと商品IDの組み合わせ)を指定すればよい。ただし、ユーザは、二者間の関係があるとされている第1IDおよび第2IDを指定してもよい。
予測部2004は、予測モデル毎に、指定された第1IDの属性値と指定された第2IDの属性値とを用いて目的変数の値を算出する。このとき、説明変数に該当する属性として、ファクトデータが示す属性(例えば、購入日時等)が定められている場合、予測部2004は、その属性の値も用いて、目的変数の値を算出する。ただし、ファクトデータにおいて第1IDと第2IDとの関係がないとされていて、第1IDと第2IDとの組み合わせに応じた購入日時等がファクトデータ内に存在しない場合、その属性の値として、例えば、“0”等の所定の値を用いればよい。
また、予測部2004は、予測モデル毎に、着目している予測モデルに対応する第1IDクラスタに、指定された第1IDが所属する所属確率と、その予測モデルに対応する第2IDクラスタに、指定された第2IDが所属する所属確率との積を算出する。
そして、予測部2004は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付け加算した結果を、指定された第1IDおよび第2IDの関係の予測結果として導出する。予測部2004の動作の詳細については、図11を参照して後述する。
結果出力部2005は、予測部2004が導出した予測結果を出力する。結果出力部2005が予測結果を出力する態様は、特に限定されない。例えば、結果出力部2005は、予測結果を他の装置に出力してもよい。また、例えば、結果出力部2005は、予測結果をディスプレイ装置に表示させてもよい。
また、結果出力部2005は、予測結果の他に、共クラスタリングの結果(個々の第1IDクラスタに個々の第1IDが所属する所属確率、および、個々の第2IDクラスタに個々の第2IDが所属する所属確率)や、予測モデル学習部2003によって生成された各予測モデルを出力してもよい。
データ入力部2001、共クラスタリング部2002、予測モデル学習部2003、予測部2004および結果出力部2005は、例えば、プログラム(予測モデル生成プログラム)に従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図9において図示略)等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、データ入力部2001、共クラスタリング部2002、予測モデル学習部2003、予測部2004および結果出力部2005として動作すればよい。また、データ入力部2001、共クラスタリング部2002、予測モデル学習部2003、予測部2004および結果出力部2005が、それぞれ専用のハードウェアで実現されていてもよい。
次に、第2の実施形態の処理経過を説明する。図10は、第2の実施形態の処理経過の例を示すフローチャートである。
データ入力部2001が、第1のマスタデータ、第2のマスタデータおよびファクトデータ、並びに、種々の設定値を取得し、記憶部2006に記憶させる。すると、共クラスタリング部2002は、第1のマスタデータと、第2のマスタデータと、ファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングする(ステップS11)。共クラスタリング部2002は、共クラスタリングの結果として、個々の第1IDクラスタに個々の第1IDが所属する所属確率、および、個々の第2IDクラスタに個々の第2IDが所属する所属確率を、記憶部2006に記憶させる。
ステップS11の後、予測モデル学習部2003は、第1IDクラスタと第2IDクラスタと組み合わせ毎に、予測モデルを生成する(ステップS12)。予測モデル学習部2003は、生成した各予測モデルを記憶部2006に記憶させる。
予測モデル学習部2003が各予測モデルを生成する処理は、第1の実施形態における予測モデル学習部1121が各予測モデルを生成する処理と同様であり、ここでは説明を省略する。
ステップS12の後、二者間の関係の予測対象となる第1IDおよび第2IDが外部から指定されると、予測部2004は、ステップS12で生成された各予測モデルを用いて、指定された第1IDと指定された第2IDとの関係を予測する(ステップS13)。
ステップS13の後、結果出力部2005は、指定された第1IDと指定された第2IDとの関係の予測結果を出力する(ステップS14)。
図11は、ステップS13の処理経過の例を示すフローチャートである。
ステップS13において、予測部2004は、ステップS12で生成された各予測モデルの中から1つの予測モデルを選択する(ステップS21)。この予測モデルは、第1IDクラスタと第2IDクラスタとの組み合わせのうちの1つに対応している。
予測部2004は、選択した予測モデルの説明変数に、指定された第1IDの属性値と、指定された第2IDの属性値とを代入して、目的変数の値を算出する(ステップS22)。説明変数に該当する属性として、ファクトデータが示す属性(例えば、購入日時等)が定められている場合、予測部2004は、その属性の値も、対応する説明変数に代入すればよい。予測部2004は、第1IDの属性値を第1のマスタデータから読み取り、第2IDの属性値を第2のマスタデータから読み取ればよい。また、予測部2004は、ファクトデータが示す属性の値は、ファクトデータから読み込めばよい。
ステップS22の後、予測部2004は、選択した予測モデルに対応する第1IDクラスタと、その予測モデルに対応する第2IDクラスタとを特定する。例えば、選択した予測モデルが、第1IDクラスタ“2”と第2IDクラスタ“3”との組み合わせに対応する場合には、予測部2004は、第1IDクラスタ“2”と、第2IDクラスタ“3”とを特定すればよい。そして、予測部2004は、その第1IDクラスタに、指定された第1IDが所属する所属確率と、その第2IDクラスタに、指定された第2IDが所属する所属確率との積を算出する(ステップS23)。
次に、予測部2004は、全ての予測モデルが選択済みであるか否かを判定する(ステップS24)。全ての予測モデルが選択済みでないならば(ステップS24のNo)、予測部2004は、ステップS21以降の処理を繰り返す。
全ての予測モデルが選択済みであるならば(ステップS24のYes)、予測部2004は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付け加算する(ステップS25)。換言すれば、予測部2004は、ステップS22で算出した目的変数の値を、ステップS23で算出した積で重み付け加算する。より具体的には、予測部2004は、各ステップS22で算出した目的変数の値に、対応するステップS23で算出した積を乗算し、その乗算結果の総和を計算する。この総和(重み付け加算の結果)が、指定された第1IDと指定された第2IDとの関係の予測結果である。
ステップS25により、第1IDと第2IDとの関係の予測結果(本例では、第1IDによって特定される顧客が第2IDによって特定される商品を購入する確率の予測結果)が得られる。ステップS25で、ステップS13が終了し、前述のように、結果出力部2005は、指定された第1IDと指定された第2IDとの関係の予測結果を出力する(ステップS14)。
第2の実施形態によれば、共クラスタリング部2002は、第1のマスタデータ、第2のマスタデータ、およびファクトデータに基づいて、第1ID(顧客ID)および第2ID(商品ID)を共クラスタリングする。従って、ファクトデータが示す傾向(本例では、顧客が商品を購買する際の購買傾向)が、クラスタリング結果に反映される。よって、顧客の潜在的な特性や商品の潜在的な特性がマスタデータに明示されていなくても、共通の潜在的な特性を有する各IDの所属確率が特定のクラスタで高くなる。そして、予測モデル学習部2003は、第1IDクラスタと第2IDクラスタの組み合わせ毎に、予測モデルを生成する。従って、第1IDと第2IDとの関係を精度よく予測できる予測モデルを生成することができる。
さらに、第2の実施形態では、予測部2004が、各予測モデルを用いて、指定された第1IDと第2IDとの関係を予測する。従って、本実施形態によれば、予測モデルを生成するだけでなく、精度の高い予測結果を導出することができる。例えば、ファクトデータにおいて二者間の関係がないとされている第1IDおよび第2ID(例えば、購入実績がないとされている顧客IDと商品IDの組み合わせ)が指定されたとする。この場合、予測部2004が、その第1IDと第2IDとの関係(本例では、第1IDによって特定される顧客が第2IDによって特定される商品を購入する確率)を予測する。従って、予測モデル生成システムのユーザは、そもそも、第1IDによって特定される顧客と、第2IDによって特定される商品の関係性が小さいのか、あるいは、現時点で両者の関係がないだけであって、将来、両者の関係性が生じる可能性が高いのか等を把握できる。より具体的には、ユーザは、例えば、第1IDによって特定される顧客が、そもそも第2IDによって特定される商品を購入する可能性が低いのか、あるいは、現時点でその顧客がその商品を購入していないだけであって、将来、その顧客がその商品を購入する可能性が高いのか等を把握できる。その結果、ユーザは、商品の売上を高めるために、商品を購入する可能性が高い顧客に対してダイレクトメールを送ること等を検討できる。
なお、上記の説明では、目的変数の値が連続値である場合を例にして説明したが、目的変数の値はカテゴリ値であってもよい。
目的変数の値がカテゴリ値である場合、予測部2004は、ステップS25として、上述のステップS25ではなく、以下の処理を行えばよい。目的変数の値がカテゴリ値である場合、ステップS22では、複数のクラスのうち、1つのクラスに対応する値が算出される。すなわち、予測部2004は、各ステップS22で1つのクラスを特定していることになる。予測部2004は、ステップS25において、各ステップS22で特定されたクラス毎に、ステップS23で算出した積の和を計算する。そして、予測部2004は、その和が最大になるクラスを、予測結果とする。例えば、各ステップS22で特定されたクラスとして、“1”,“2”,“3”等があるとする。予測部2004は、クラス“1”を特定した各ステップS22に続くステップS23で算出した積の和を計算する。予測部2004は、クラス“2”,“3”等に関しても、同様の計算を行う。例えば、計算した和が最大となるクラスが“2”であったならば、予測部2004は、クラス“2”を予測結果とすればよい。
目的変数の値がカテゴリ値である場合の他の点に関しては、第1の実施形態において、目的変数の値がカテゴリ値である場合と同様である。
実施形態3.
第2の実施形態で説明した予測モデル生成システム2000は、第1の実施形態で説明した予測モデル生成システム1000とは異なり、予測モデル生成処理と、共クラスタリング処理との繰り返しをせずに、共クラスタリングが完了した後に予測モデルを生成する(図10を参照)。
本発明の第3の実施形態の予測モデル生成システムは、第1の実施形態と同様に、ステップS3〜S6の処理を繰り返すことにより、第1IDおよび第2IDを共クラスタリングするとともに、第1IDクラスタと第2IDクラスタの組み合わせ毎の予測モデルを生成する。さらに、本発明の第3の実施形態の予測モデル生成システムは、二者間の関係の予測対象となる第1IDおよび第2IDが指定されると、その第1IDと第2IDとの関係を、各学習モデルを用いて予測する。
図12は、本発明の第3の実施形態の予測モデル生成システムの例を示す機能ブロック図である。第1の実施形態と同様の要素については、図2と同一の符号を付し、説明を省略する。第3の実施形態の予測モデル生成システム1000は、データ入力部1300、学習部1100、記憶部1200および学習結果出力部1400に加え、さらに、対象入力部1600と、予測部1700と、予測結果出力部1800とを備える。
なお、データ入力部1300が取得する第1のマスタデータ、第2のマスタデータおよびファクトデータはそれぞれ、第1の実施形態における第1のマスタデータ、第2のマスタデータおよびファクトデータと同様である。ファクトデータの形式は、図18に例示する形式であっても、図1に例示する形式であってもよい。以下、第1のマスタデータが、顧客に関するマスタデータであり、第1IDが顧客IDであるものとする。また、第2のマスタデータが、商品に関するマスタデータであり、第2IDが商品IDであるものとする。また、ファクトデータが、購買実績データであるものとする。
また、第3の実施形態においても、説明を簡単にするために、目的変数の値が連続値である場合を例にして説明する。以下、目的変数に該当する属性が、第1IDによって特定される顧客が第2IDによって特定される商品を購入する確率である場合を例にして説明する。
以下の説明では、予測モデル生成システム1000が第1の実施形態で説明したステップS1〜S7の動作を既に完了しているものとする。すなわち、終了条件が満たされた時点の直近に得られた、共クラスタリングの結果、および、第1IDクラスタと第2IDクラスタの組み合わせ毎の予測モデルが、記憶部1200に記憶されているものとする。
対象入力部1600は、二者間の関係の予測対象となる第1IDおよび第2IDを取得する。対象入力部1600は、例えば、外部の装置にアクセスして第1IDおよび第2IDを取得してもよい。対象入力部1600によって取得される第1IDおよび第2IDとして、例えば、ファクトデータにおいて二者間の関係がないとされている第1IDおよび第2ID(例えば、購入実績がないとされている顧客IDと商品IDの組み合わせ)を予め指定しておけばよい。ただし、ファクトデータにおいて二者間の関係があるとされている第1IDおよび第2IDを指定しておいてもよい。また、対象入力部1600は、そのような第1IDおよび第2IDが入力される入力インタフェースであってもよい。
対象入力部1600が取得した第1IDおよび第2IDは、指定された第1IDおよび第2IDであると言える。同様に、対象入力部1600に入力された第1IDおよび第2IDは、指定された第1IDおよび第2IDであると言える。
予測部1700の動作は、第2の実施形態における予測部2004の動作と同様である。予測部1700は、予測モデル毎に、指定された第1IDの属性値と指定された第2IDの属性値とを用いて目的変数の値を算出する。このとき、説明変数に該当する属性として、ファクトデータが示す属性(例えば、購入日時等)が定められている場合、予測部1700は、その属性の値も用いて、目的変数の値を算出する。ただし、ファクトデータにおいて第1IDと第2IDとの関係がないとされていて、第1IDと第2IDとの組み合わせに応じた購入日時等がファクトデータ内に存在しない場合、その属性の値として、例えば、“0”等の所定の値を用いればよい。
また、予測部1700は、予測モデル毎に、着目している予測モデルに対応する第1IDクラスタに、指定された第1IDが所属する所属確率と、その予測モデルに対応する第2IDクラスタに、指定された第2IDが所属する所属確率との積を算出する。
そして、予測部1700は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付けした結果を、指定された第1IDおよび第2IDの関係の予測結果として導出する。
予測結果出力部1800は、予測部1700が導出した予測結果を出力する。予測結果出力部1800が予測結果を出力する態様は、特に限定されない。例えば、予測結果出力部1800は、予測結果を他の装置に出力してもよい。また、例えば、予測結果出力部1800は、予測結果をディスプレイ装置に表示させてもよい。
対象入力部1600、予測部1700および予測結果出力部1800は、クラスタリング部1120等と同様に、例えば、プログラム(予測モデル生成プログラム)に従って、動作するコンピュータのCPUによって実現される。
図13は、本発明の第3の実施形態における予測処理の経過の例を示すフローチャートである。前述のように、予測モデル生成システム1000は、第1の実施形態で説明した動作は完了しているものとする。
例えば、外部の装置に、ユーザによって指定された、二者間の関係の予測対象となる第1IDおよび第2IDが記憶されているとする。対象入力部1600は、その外部の装置にアクセスして、その指定された第1IDおよび第2IDを取得する(ステップS31)。なお、対象入力部1600が入力インタフェースであり、ユーザによって指定された第1IDおよび第2IDが、ユーザによって入力されてもよい。
次に、予測部1700は、第1IDクラスタと第2IDクラスタの組み合わせ毎の予測モデルを用いて、指定された第1IDと指定された第2IDとの関係を予測する(ステップS32)。ステップS32の動作は、第2の実施形態におけるステップS13の動作と同様であり、ステップS32の処理経過は、図11に示すフローチャートと同様に表すことができる。以下、図11を参照して、ステップS32における予測部1700の動作を説明する。なお、図11に示すステップS21〜S25に関して、既に説明した事項と同様の事項については、適宜説明を省略する。
ステップS32において、予測部1700は、第1IDクラスタと第2IDクラスタの組み合わせ毎に生成された各予測モデルの中から1つの予測モデルを選択する(ステップS21)。
予測部1700は、選択した予測モデルの説明変数に、指定された第1IDの属性値と、指定された第2IDの属性値とを代入して、目的変数の値を算出する(ステップS22)。
次に、予測部1700は、選択した予測モデルに対応する第1IDクラスタと、その予測モデルに対応する第2IDクラスタとを特定する。そして、予測部1700は、その第1IDクラスタに、指定された第1IDが所属する所属確率と、その第2IDクラスタに、指定された第2IDが所属する所属確率との積を算出する(ステップS23)。
次に、予測部1700は、全ての予測モデルが選択済みであるか否かを判定する(ステップS24)。全ての予測モデルが選択済みでないならば(ステップS24のNo)、予測部1700は、ステップS21以降の処理を繰り返す。
全ての予測モデルが選択済みであるならば(ステップS24のYes)、予測部1700は、予測モデル毎に算出した目的変数の値を、予測モデル毎に算出した上記の積で重み付け加算する(ステップS25)。すなわち、予測部1700は、ステップS22で算出した目的変数の値を、ステップS23で算出した積で重み付け加算する。より具体的には、予測部1700は、各ステップS22で算出した目的変数の値に、対応するステップS23で算出した積を乗算し、その乗算結果の総和を計算する。この総和(重み付け加算の結果)が、指定された第1IDと指定された第2IDとの関係の予測結果である。
ステップS25により、第1IDと第2IDとの関係の予測結果(本例では、第1IDによって特定される顧客が第2IDによって特定される商品を購入する確率の予測結果)が得られる。ステップS25で、ステップS32(図13参照)が終了する。
ステップS32の後、予測結果出力部1800は、指定された第1IDと指定された第2IDとの関係の予測結果を出力する(ステップS33)。
第3の実施形態によれば、第1の実施形態と同様の効果が得られる。
さらに、第3の実施形態では、予測部1700が、各予測モデルを用いて、指定された第1IDと第2IDとの関係を予測する。従って、本実施形態によれば、第2の実施形態と同様に、精度の高い予測結果を導出することができる。例えば、ファクトデータにおいて二者間の関係がないとされている第1IDおよび第2ID(例えば、購入実績がないとされている顧客IDと商品IDの組み合わせ)が指定されたとする。この場合、予測部1700が、その第1IDと第2IDとの関係(本例では、第1IDによって特定される顧客が第2IDによって特定される商品を購入する確率)を予測する。従って、予測モデル生成システムのユーザは、そもそも、第1IDによって特定される顧客と、第2IDによって特定される商品の関係性が小さいのか、あるいは、現時点で両者の関係がないだけであって、将来、両者の関係性が生じる可能性が高いのか等を把握できる。より具体的には、ユーザは、例えば、第1IDによって特定される顧客が、そもそも第2IDによって特定される商品を購入する可能性が低いのか、あるいは、現時点でその顧客がその商品を購入していないだけであって、将来、その顧客がその商品を購入する可能性が高いのか等を把握できる。その結果、ユーザは、商品の売上を高めるために、商品を購入する可能性が高い顧客に対してダイレクトメールを送ること等を検討できる。
また、第2の実施形態および第3の実施形態では、二者間の関係の予測対象となる第1IDおよび第2IDとして、ファクトデータにおいて二者間の関係がないとされている第1IDおよび第2IDが指定される場合を例にして説明した。第2の実施形態および第3の実施形態において、二者間の関係の予測対象となる第1IDおよび第2IDとして、ファクトデータにおいて二者間の関係があるとされている第1IDおよび第2IDが指定されてもよい。例えば、図1に例示するファクトデータでは、顧客ID“1”によって特定される顧客(以下、顧客“1”と記す。)が、商品ID“2”によって特定される顧客(以下、商品“2”と記す。)を購入したという関係を示している。この場合、顧客ID“1”および商品ID“2”が指定されてもよい。第2の実施形態および第3の実施形態において、予測部2004,1700は、例えば、予測結果として、顧客“1”が商品“2”を購入する確率を導出する。この確率が小さい値である場合、予測モデル生成システムのユーザは、本来、顧客“1”と商品“2”との関係性が小さいが、たまたま、顧客“1”が商品“2”を購入したということを推測できる。また、その確率が大きい値である場合、予測モデル生成システムのユーザは、元々、顧客“1”と商品“2”との関係性が大きく、実際に、顧客“1”が商品“2”を購入していたということを推測できる。
また、第3の実施形態においても、目的変数の値が連続値である場合を例にして説明したが、目的変数の値はカテゴリ値であってもよい。目的変数の値がカテゴリ値である場合のステップS25における予測部1700の動作は、第2の実施形態で説明した予測部2004の動作と同様であり、ここでは説明を省略する。目的変数の値がカテゴリ値である場合の他の点に関しては、第1の実施形態において、目的変数の値がカテゴリ値である場合と同様である。
上記の各実施形態では、第1のマスタデータが顧客に関するマスタデータであり、第2のマスタデータが商品に関するマスタデータであり、ファクトデータが購買実績データである場合を例にして説明した。さらに、上記の各実施形態では、第1IDが顧客IDであり、第2IDが商品IDである場合を例にして説明した。第1のマスタデータ、第2のマスタデータ、ファクトデータ、第1IDおよび第2IDは、上記の例に限定されない。
例えば、第1のマスタデータが、会社に属する社員に関するマスタデータであり、第2のマスタデータが、その会社内のプロジェクトに関するマスタデータであってもよい。そして、第1IDが、その会社に属する社員を識別するための社員IDであり、第2IDが、その会社内のプロジェクトを識別するためのプロジェクトIDであってもよい。そして、ファクトデータが、個々の社員が個々のプロジェクトを担当したことがあるか否かを示す実績データであってもよい。
この場合、社員IDとプロジェクトIDとの関係を精度良く予測するための予測モデルを生成することができる。また、第2の実施形態や第3の実施形態では、社員IDとプロジェクトIDとの関係性(社員とプロジェクトの関係性)を精度良く予測することができる。そして、例えば、ある社員(“P”とする。)が、あるプロジェクト(“Q”とする。)を担当したことない場合において、社員“P”とプロジェクト“Q”との関係性が大きいという予測結果が得られたとする。この場合、予測モデル生成システムのユーザは、社員“P”がプロジェクト“Q”で活躍できること等を推測できる。
[具体例]
以下、第1の実施形態および第3の実施形態において、クラスタ割り当て部1122が、IDがクラスタに所属する所属確率を算出する場合の算出式の具体例を示す。また、クラスタ情報算出部1123がモデル情報として平均値を算出する場合の算出式の具体例を示す。なお、以下では、予測モデルの学習アルゴリズムとして、変分推論法を用いる場合を例にする。また、第1のマスタデータが顧客に関するマスタデータであり、第2のマスタデータが商品に関するマスタデータであり、ファクトデータが購買実績データである場合を例にして説明する。また、目的変数の値がカテゴリ値であり、複数のクラスの中から1つのクラスを予測するための予測モデルが生成される場合を例にして説明する。すわなち、多クラス分類を行うための予測モデルが生成される場合を例にして説明する。
なお、数式内のハット記号を、以下の説明では省略する。なお、以下の各式に用いる記号の意味については、後述する。ただし、既に説明した記号については、説明を省略する。
d1番目の顧客IDが、顧客IDクラスタ“k1”に所属する所属確率を、logq(zd1=k1)とする。クラスタ割り当て部1122は、この所属確率を、以下に示す式(4)によって算出することができる。
式(4)の第1項は、d1番目の顧客IDの属性値(例えば、年齢、身長等)が、顧客IDクラスタ“k1”における属性値の平均値mk1にどれだけ近いかを表す。両者が近いほど、第1項の値は大きくなる。なお、属性値の平均値mk1は、本例におけるクラスタのモデル情報である。
式(4)の第2項は、d1番目の顧客IDを、顧客IDクラスタ“k1”に割り当てた場合における、その顧客IDと各商品IDとの関係の実測値と予測値との誤差の程度を表している。誤差の程度が小さいほど、第2項の値は大きくなる。
ρは、[0,1]の範囲の値をとるハイパーパラメータである。ρの値が1に近いほど、属性値と、クラスタのモデル情報との近さをより重要視していることになる。また、ρの値が0に近いほど、関係性の予測の精度をより重要視していることになる。
同様に、d2番目の商品IDが、商品IDクラスタ“k2”に所属する所属確率を、logq(zd2=k2)とする。クラスタ割り当て部1122は、この所属確率を、以下に示す式(5)によって算出することができる。
また、クラスタ情報算出部1123は、顧客IDクラスタ“k1”における属性値の平均値mk1を、以下に示す式(6)によって算出することができる。
同様に、クラスタ情報算出部1123は、商品IDクラスタ“k2”における属性値の平均値mk2を、以下に示す式(7)によって算出することができる。
式(6)は、前述の式(2)と同様の式であると言える。また、式(7)は、前述の式(3)と同様の式であると言える。
式(4)および式(5)で用いた符号の意味を以下に示す。
y1は、ファクトデータが表わしている目的変数に該当するクラスである。
Y1は、多クラス分類におけるクラスの数である。例えば、「買う/買わない」という2クラス分類であれば、Y1=2である。また、例えば、24時間を1時間毎に区切り、どの時間帯に買うかを目的変数が表わしている場合には、Y1=24である。
ωy1d1d2は、予測モデルでの「クラスy1であるか否かの判断基準」に対して、ファクトデータ内の「d1番の顧客IDと、d2番目の商品IDとに関する購買情報」が与える影響の強さである。ωy1d1d2の値が大きいほど、この影響はより強い。
wT klk2は、顧客IDクラスタ“k1”と商品IDクラスタ“k2”との組み合わせに対応する予測モデルにおけるwTである。
f△ d1d2(y1)は、「d1番の顧客IDと、d2番目の商品IDとに関する購買情報」に関して、クラス“y1”を予測結果とした場合における、予測結果と実測値との誤差である。本例では、ファクトデータ内の「d1番の顧客IDと、d2番目の商品IDとに関する購買情報」に関する実測値がクラス“y1”であり、予測結果と一致しているならば、f△ d1d2(y1)=0とする。また、ファクトデータが示す実測値と予測結果“y1”とが一致していない場ならば、f△ d1d2(y1)を、0でない所定の値とすればよい。
図14は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ100は、例えば、CPU101と、主記憶装置102と、補助記憶装置103と、インタフェース104と、ディスプレイ装置105とを備える。
本発明の各実施形態の予測モデル生成システムは、コンピュータ100に実装される。各実施形態の予測モデル生成システムの動作は、プログラム(予測モデル生成プログラム)の形式で補助記憶装置103に記憶されている。CPU101は、プログラムを補助記憶装置103から読み出して主記憶装置102に展開し、そのプログラムに従って上記の処理を実行する。
補助記憶装置103は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース104を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ100に配信される場合、配信を受けたコンピュータ100がそのプログラムを主記憶装置102に展開し、上記の処理を実行してもよい。
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置103に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図15は、本発明の予測モデル生成システムの概要を示すブロック図である。本発明の予測モデル生成システムは、共クラスタリング手段71と、予測モデル生成手段72とを備える。
共クラスタリング手段71(例えば、共クラスタリング部2002)は、第1のマスタデータと、第2のマスタデータと、第1のマスタデータ内のレコードのIDである第1IDと第2のマスタデータ内のレコードのIDである第2IDとの関係を示すファクトデータとに基づいて、第1IDおよび第2IDを共クラスタリングする。
予測モデル生成手段72(例えば、予測モデル学習部2003)は、第1IDのクラスタである第1IDクラスタと第2IDのクラスタである第2IDクラスタとの組み合わせ毎に、第1IDと第2IDとの関係を目的変数とする予測モデルを生成する。
そのような構成により、第1のマスタデータのレコードのIDと、第2のマスタデータのレコードのIDとの関係を精度良く予測するための予測モデルを生成することができる。
また、第1IDと第2IDとが指定された場合に、各予測モデルを用いて、第1IDと第2IDとの関係を予測する予測手段(予測手段2004)を備える構成であってもよい。
また、予測手段が、予測モデル毎に、指定された第1IDの属性値と指定された第2IDの属性値とを用いて目的変数の値を算出し、予測モデル毎に、着目している予測モデルに対応する第1IDクラスタにその第1IDが所属する確率と、当該予測モデルに対応する第2IDクラスタにその第2IDが所属する確率との積を算出し、予測モデル毎に算出した目的変数の値を予測モデル毎に算出した積で重み付け加算した結果を、第1IDと第2IDとの関係の予測結果として導出する構成であってもよい。
第1IDが、顧客を識別するための顧客IDであり、第2IDが、商品を識別するための商品IDであってもよい。
第1IDは、会社に属する社員を識別するための社員IDであり、第2IDは、会社内のプロジェクトを識別するためのプロジェクトIDであってもよい。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2016年11月14日に出願された日本特許出願2016−221113を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
本発明は、2種類の事項の関係を予測する予測モデルを生成する予測モデル生成システムに好適に適用される。