(57)【要約】【課題】精度よく目的変数を予測する予測モデルを生成する。【解決手段】データ分析システムは、各々が複数の説明変数と、複数の説明変数に対応する目的変数と、を含む複数のレコードからなる学習データを保持し、学習データに基づいて、複数の説明変数から目的変数を予測する予測モデルを生成し、各レコードについて、予測モデルに基づく予測の確からしさを示す信頼度を計算し、複数のレコードのうち、信頼度が所定の範囲内であるレコードからなるサブセットを作成し、サブセットに属するレコードに基づいて、複数の説明変数から、目的変数との相関が高い説明変数の組合せを抽出し、抽出した説明変数の組合せを新たな説明変数として学習データに追加し、新たな説明変数が追加された学習データに基づいて、複数の説明変数から目的変数を予測する予測モデルを生成する。【選択図】図１
2016004525.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに接続される記憶媒体と、を有するデータ分析システムであって、
前記記憶媒体は、複数のレコードを含む学習データを保持し、
前記複数のレコードの各々は、複数の説明変数と、前記複数の説明変数に対応する目的変数と、を含み、
前記プロセッサは、
前記学習データに基づいて、前記複数の説明変数から前記目的変数を予測する予測モデルを生成し、
前記各レコードについて、前記予測モデルに基づく予測の確からしさを示す信頼度を計算し、
前記複数のレコードのうち、前記信頼度が所定の範囲内であるレコードからなるサブセットを作成し、
前記サブセットに属するレコードに基づいて、前記複数の説明変数から、前記目的変数との相関が高い説明変数の組合せを抽出し、
前記抽出した説明変数の組合せを新たな説明変数として前記学習データに追加し、
前記新たな説明変数が追加された前記学習データに基づいて、前記複数の説明変数から前記目的変数を予測する予測モデルを生成することを特徴とするデータ分析システム。
【請求項２】
請求項１に記載のデータ分析システムであって、
前記学習データに含まれる前記各レコードは、前記目的変数が所定の属性値を示す正例のレコード、又は、前記目的変数が前記所定の属性値と異なる属性値を示す負例のレコードのいずれかであり、
前記信頼度は、前記所定の属性値の予測の確からしさを示し、
前記プロセッサは、第１の所定の値より高い前記信頼度を有する前記正例のレコード、及び、第２の所定の値より低い前記信頼度を有する前記負例のレコードを除外するように前記サブセットを生成することを特徴とするデータ分析システム。
【請求項３】
請求項２に記載のデータ分析システムであって、
前記プロセッサは、さらに、前記第１の所定の値より低い第３の所定の値より低い前記信頼度を有する前記正例のレコード、及び、前記第２の所定の値より高い第４の所定の値より高い前記信頼度を有する前記負例のレコードを除外するように前記サブセットを生成することを特徴とするデータ分析システム。
【請求項４】
請求項２に記載のデータ分析システムであって、
前記プロセッサは、第１の所定の値より低い前記信頼度を有する全ての前記正例のレコード、及び、第２の所定の値より高い前記信頼度を有する全ての前記負例のレコードを含むように前記サブセットを生成することを特徴とするデータ分析システム。
【請求項５】
請求項１に記載のデータ分析システムであって、
前記プロセッサは、
前記説明変数の組合せごとに、前記サブセットに属する前記レコードの数に対する、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含み、かつ、前記目的変数が前記所定の属性値を示すレコードの数の割合である支持度を計算し、
前記説明変数の組合せごとに、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含むレコードの数に対する、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含み、かつ、前記目的変数が前記所定の属性値を示すレコードの数の割合である確信度を計算し、
前記支持度及び前記確信度が所定の条件を満たす前記説明変数の組合せを、前記目的変数との相関が高い説明変数の組合せとして抽出することを特徴とするデータ分析システム。
【請求項６】
請求項５に記載のデータ分析システムであって、
前記プロセッサは、
前記説明変数の組合せごとに、前記サブセットに属する前記レコードの数に対する、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含み、かつ、前記目的変数が前記所定の属性値を示すレコードの数の割合に、重み係数を乗じることによって、前記支持度を計算し、
前記説明変数の組合せを含む複数の前記レコードが、前記信頼度と前記目的変数との乖離が大きいレコードを多く含む程、重みを増すように、前記重み係数を計算することを特徴とするデータ分析システム。
【請求項７】
請求項１に記載のデータ分析システムであって、
前記プロセッサは、前記学習データに基づいて、ロジスティック回帰分析によって前記複数の説明変数から前記複数の説明変数に対応する前記目的変数を予測する予測モデルを生成することを特徴とするデータ分析システム。
【請求項８】
請求項１に記載のデータ分析システムであって、
前記プロセッサに接続される出力装置をさらに有し、
前記プロセッサは、前記出力装置を介して、前記新たな説明変数として追加された前記説明変数の組合せを出力することを特徴とするデータ分析システム。
【請求項９】
請求項１に記載のデータ分析システムであって、
前記プロセッサは、
前記新たな説明変数が追加された前記学習データに基づいて生成した予測モデルについて、前記信頼度を計算する手順及びその後の手順を繰り返し実行し、
前記新たな説明変数が前記学習データに追加されなかったか、生成された予測モデルの精度が所定の値以上であるか、前記学習データに含まれる説明変数の数が所定の値以上であるか、又は、繰り返しの数が所定の値以上である場合に、前記信頼度を計算する手順及びその後の手順の繰り返しを中止することを特徴とするデータ分析システム。
【請求項１０】
プロセッサと、前記プロセッサに接続される記憶媒体と、を有する計算機が実行するデータ分析方法であって、
前記記憶媒体は、複数のレコードを含む学習データを保持し、
前記複数のレコードの各々は、複数の説明変数と、前記複数の説明変数に対応する目的変数と、を含み、
前記データ分析方法は、
前記学習データに基づいて、前記複数の説明変数から前記目的変数を予測する予測モデルを生成する第１手順と、
前記各レコードについて、前記予測モデルに基づく予測の確からしさを示す信頼度を計算する第２手順と、
前記複数のレコードのうち、前記信頼度が所定の範囲内であるレコードからなるサブセットを作成する第３手順と、
前記サブセットに属するレコードに基づいて、前記複数の説明変数から、前記目的変数との相関が高い説明変数の組合せを抽出する第４手順と、
前記抽出した説明変数の組合せを新たな説明変数として前記学習データに追加する第５手順と、
前記新たな説明変数が追加された前記学習データに基づいて、前記複数の説明変数から前記目的変数を予測する予測モデルを生成する第６手順と、を含むことを特徴とするデータ分析方法。
【請求項１１】
請求項１０に記載のデータ分析方法であって、
前記学習データに含まれる前記各レコードは、前記目的変数が所定の属性値を示す正例のレコード、又は、前記目的変数が前記所定の属性値と異なる属性値を示す負例のレコードのいずれかであり、
前記信頼度は、前記所定の属性値の予測の確からしさを示し、
前記第３手順は、第１の所定の値より高い前記信頼度を有する前記正例のレコード、及び、第２の所定の値より低い前記信頼度を有する前記負例のレコードを除外するように前記サブセットを生成する手順であることを特徴とするデータ分析方法。
【請求項１２】
請求項１１に記載のデータ分析方法であって、
前記第３手順は、前記第１の所定の値より低い第３の所定の値より低い前記信頼度を有する前記正例のレコード、及び、前記第２の所定の値より高い第４の所定の値より高い前記信頼度を有する前記負例のレコードをさらに除外するように前記サブセットを生成する手順であることを特徴とするデータ分析方法。
【請求項１３】
請求項１１に記載のデータ分析方法であって、
前記第３手順は、第１の所定の値より低い前記信頼度を有する全ての前記正例のレコード、及び、第２の所定の値より高い前記信頼度を有する全ての前記負例のレコードを含むように前記サブセットを生成する手順であることを特徴とするデータ分析方法。
【請求項１４】
請求項１０に記載のデータ分析方法であって、
前記第４手順は、
前記説明変数の組合せごとに、前記サブセットに属する前記レコードの数に対する、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含み、かつ、前記目的変数が前記所定の属性値を示すレコードの数の割合である支持度を計算する手順と、
前記説明変数の組合せごとに、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含むレコードの数に対する、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含み、かつ、前記目的変数が前記所定の属性値を示すレコードの数の割合である確信度を計算する手順と、
前記支持度及び前記確信度が所定の条件を満たす前記説明変数の組合せを、前記目的変数との相関が高い説明変数の組合せとして抽出する手順と、を含むことを特徴とするデータ分析方法。
【請求項１５】
請求項１４に記載のデータ分析方法であって、
前記支持度を計算する手順は、前記説明変数の組合せごとに、前記サブセットに属する前記レコードの数に対する、前記サブセットに属する前記レコードのうち、前記説明変数の組合せを含み、かつ、前記目的変数が前記所定の属性値を示すレコードの数の割合に、重み係数を乗じることによって、前記支持度を計算する手順と、
前記説明変数の組合せを含む複数の前記レコードが、前記信頼度と前記目的変数との乖離が大きいレコードを多く含む程、重みを増すように、前記重み係数を計算する手順と、を含むことを特徴とするデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析システム及びデータ分析方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１がある。この文献には、ナイーブベイズ分類器を用いたデータ分析技術が記載されている。このデータ分析技術は、相関の高い属性のペアを新たな属性として利用することを特徴としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２５７８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１によれば、属性の組合せの中から偏相関係数が所定値以上となる組合せを抽出して、新たな属性として保持することにより、データの記述を拡張する。しかし、従来の属性で元データが精度よく予測できなかったデータを、生成された新たな属性を用いて精度よく予測できるとは限らない。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明は、プロセッサと、前記プロセッサに接続される記憶媒体と、を有するデータ分析システムであって、前記記憶媒体は、複数のレコードを含む学習データを保持し、前記複数のレコードの各々は、複数の説明変数と、前記複数の説明変数に対応する目的変数と、を含み、前記プロセッサは、前記学習データに基づいて、前記複数の説明変数から前記目的変数を予測する予測モデルを生成し、前記各レコードについて、前記予測モデルに基づく予測の確からしさを示す信頼度を計算し、前記複数のレコードのうち、前記信頼度が所定の範囲内であるレコードからなるサブセットを作成し、前記サブセットに属するレコードに基づいて、前記複数の説明変数から、前記目的変数との相関が高い説明変数の組合せを抽出し、前記抽出した説明変数の組合せを新たな説明変数として前記学習データに追加し、前記新たな説明変数が追加された前記学習データに基づいて、前記複数の説明変数から前記目的変数を予測する予測モデルを生成することを特徴とする。
【発明の効果】
【０００６】
本発明の一実施形態によれば、適切な説明変数の組合せを新たな説明変数としてデータに加えることで、精度よく目的変数を予測することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態のデータ分析システムの構成を示すブロック図である。
【図２】本発明の実施形態のデータ分析システムが実行するデータ分析処理を示すフローチャートである。
【図３】本発明の実施形態のデータ分析システムが保持するデータの説明図である。
【図４】本発明の実施形態のデータ分析システムが学習データのサブセットを作成する処理を示すフローチャートである。
【図５】本発明の実施形態のデータ分析システムが、信頼度が所定の範囲内であるかを判断する方法の第１の例の説明図である。
【図６】本発明の実施形態のデータ分析システムが、信頼度が所定の範囲内であるかを判断する方法の第２の例の説明図である。
【図７】本発明の実施形態のデータ分析システムが所定の範囲を設定するために表示する画面の説明図である。
【図８】本発明の実施形態のデータ分析システムが実行するアソシエーション分析のフローチャートである。
【図９】本発明の実施形態のデータ分析システムが保持する、説明変数生成プログラムによって説明変数を追加されたデータの説明図である。
【図１０】本発明の実施形態のデータ分析システムが実行する終了判定のフローチャートである。
【図１１】本発明の実施形態のデータ分析システムが提示する予測モデルの説明図である。
【発明を実施するための形態】
【０００８】
以下、添付図面に基づいて、本発明の実施形態を説明する。
【０００９】
図１は、本発明の実施形態のデータ分析システムの構成を示すブロック図である。
【００１０】
本実施形態のデータ分析システム１０１は、プロセッサ１０２、メモリ１０３、記憶媒体１０４、入出力装置１０５、及び通信装置１０６からなる。
【００１１】
プロセッサ１０２は、メモリ１０３に格納されたプログラムに従って、データ分析システム１０１を制御する。
【００１２】
メモリ１０３は、例えば半導体メモリであり、プロセッサ１０２によって実行されるプログラム、プロセッサ１０２によって参照されるデータ、及びプロセッサ１０２が実行する処理の結果として取得されたデータ等を格納する。記憶媒体１０４に格納されたプログラム及びデータの少なくとも一部が、必要に応じてメモリ１０３にコピーされてもよいし、取得されたデータが必要に応じてメモリ１０３から記憶媒体１０４にコピーされてもよい。
【００１３】
図１の例では、メモリ１０３に予測プログラム１０７、サブセット作成プログラム１０８、組合せ発見プログラム１０９、説明変数生成プログラム１１０及び終了判定プログラム１１１が格納される。これらのプログラムに従って実行される処理については後述する（図２等参照）。以下の説明においてこれらのプログラムが処理を実行するように記載する場合があるが、実際にはそれらの処理はプログラムに記述された命令に従うプロセッサ１０２によって実行される。
【００１４】
記憶媒体１０４は、例えばフラッシュメモリ又はハードディスクのような不揮発性の記憶媒体である。記憶媒体１０４に格納されるデータ１１２については後述する（図３参照）。
【００１５】
入出力装置１０５は、データ分析システム１０１の操作者からの入力を受ける入力装置、及び、その操作者に情報を出力する出力装置を含む。例えば、入出力装置１０５は、入力装置としてキーボード、ボタン又はポインティングデバイス等を備え、出力装置として画像表示装置等を備えてもよいし、それらと同等の機能を有するいわゆるタッチパネル等を備えてもよい。
【００１６】
通信装置１０６は、例えばモデム又はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタのような通信装置であり、データ分析システム１０１と外部とのデータのやり取りを可能とする。
【００１７】
図２は、本発明の実施形態のデータ分析システムが実行するデータ分析処理を示すフローチャートである。
【００１８】
最初に、プロセッサ１０２は、メモリ１０３に格納された予測プログラム１０７を実行し、記憶媒体１０４に格納されるデータ１１２の説明変数から目的変数を予測するモデル式（以下、予測モデルとも記載）を作成し（ステップ２０１）、データの１レコードごとに予測の確からしさを示す信頼度を算出する（ステップ２０２）。目的変数予測手法は予測の確からしさを示す信頼度を算出することのできる任意の公知の手法（例えば、ロジスティック回帰分析）によって実行することができるため、目的変数予測手法の詳細な説明及びそれに使用されるパラメタについての説明は省略する。
【００１９】
図３は、本発明の実施形態のデータ分析システムが保持するデータ１１２の説明図である。
【００２０】
図３には、データ１１２の一例として、事業者が管理する顧客データを示す。このデータ１１２において、１行が、一人の顧客に関する情報を格納する１レコード（顧客レコードとも記載）に相当する。各レコードは、レコード番号３０１、説明変数３０２及び目的変数３０３を含む。図３の例において、説明変数３０２は、性別３１１、年代３１２、契約期間３１３及びオプション加入３１４といった各顧客の属性を示す属性値を含む。ここで、オプション加入３１４は、各顧客がオプションに加入しているか否かを示す属性値である。図３では省略されているが、さらに住居形態（例えば戸建か集合住宅か）等の属性値が説明変数３０２に含まれてもよい。一方、目的変数３０３は、当該顧客が現在契約を継続しているか解約したかを示す属性値である。
【００２１】
したがって本例ではデータ分析システム１０１の目的は説明変数である顧客の属性値から解約する確率の高い顧客を予測するモデル式を作成することである。以降、本実施形態では、ロジスティック回帰分析を用いて解約する確率の高い顧客を予測する例について説明する。この場合、信頼度は、「顧客が解約する」という予測の確からしさであり、すなわち、ロジスティック回帰分析の出力する解約確率に相当する。
【００２２】
上記のように、本実施形態のデータ１１２は、ある時点において解約したか否かが分かっている顧客について、その顧客が解約したか否かを示す属性値を目的変数３０３として、その顧客のその他の複数の属性値を当該目的変数３０３に対応する説明変数３０２として含んでいる。このデータ１１２は、説明変数３０２から目的変数３０３を予測するための予測モデルを生成するための学習に使用される。このため、データ１１２は、以下の説明において学習データとも記載される。ただし、上記の属性値は一例であり、説明変数３０２及び目的変数３０３が上記以外の属性値である場合にも本発明を適用することができる。その場合、信頼度は、目的変数３０３が所定の属性値となる（例えば解約以外の何らかの事象が発生する）という予測の確からしさを示す。
【００２３】
次に、プロセッサ１０２は、メモリ１０３に格納されたサブセット作成プログラム１０８を実行し、予測プログラム１０７が算出した信頼度に基づいて、学習データのサブセットを作成する（ステップ２０３）。
【００２４】
ここで、学習データのサブセットを作成する方法の一例について図４を用いて詳細に説明する。
【００２５】
図４は、本発明の実施形態のデータ分析システムが学習データのサブセットを作成する処理を示すフローチャートである。
【００２６】
学習データのサブセットを作成する処理とは、全学習データから、目的変数との相関が高い説明変数の組合せを発見する処理（後述するステップ２０４及び図８参照）の対象となるデータを抽出する処理であり、より具体的には、学習データに含まれる各レコードについて計算された信頼度に基づいて、各レコードが目的変数との相関が高い説明変数の組合せを発見する処理の対象となるか否かを判定する処理である。サブセットに属するレコードは、目的変数との相関が高い説明変数の組合せを発見する処理の対象となると判定された（具体的には信頼度が所定の範囲内であると判定された）レコードである。
【００２７】
初めに、プロセッサ１０２は、データ（図３の例では顧客に対応するレコード）ごとのループ処理を行う（ステップ４０１）。このループには、後述するステップ４０２及び４０３が含まれる。データごとのループの中で、プロセッサ１０２は、ステップ２０２で算出した当該データの信頼度を参照し、信頼度が所定の範囲内であるかを判断する（ステップ４０２）。
【００２８】
図５は、本発明の実施形態のデータ分析システムが、信頼度が所定の範囲内であるかを判断する方法の第１の例の説明図である。
【００２９】
図５はデータごとに算出した信頼度の頻度を表すヒストグラムであり、上段（ａ）が正例（図３の例では目的変数３０３が「解約」である顧客のレコード）の信頼度のヒストグラムであり、下段（ｂ）が負例（図３の例では目的変数３０３が「継続」である顧客のレコード）の信頼度のヒストグラムである。
【００３０】
詳細には、目的変数３０３の値が「解約」であるデータ１１２のレコードの説明変数３０２の値を、ステップ２０１で作成したモデル式に代入することによって得られた解約確率が、正例の信頼度である。目的変数３０３の値が「解約」である全てのレコードについて計算した信頼度の頻度が、図５（ａ）のヒストグラムに表される。一方、目的変数３０３の値が「解約」である全てのレコードについて上記と同様の方法で計算した信頼度の頻度が、図５（ｂ）のヒストグラムに表される。
【００３１】
図５（ａ）において右側に分布しているデータは実際に解約した顧客データのうち信頼度が高い、つまり解約する確率が高いと予測できたものである。一方図５（ｂ）において左側に分布しているデータは解約していない顧客データのうち信頼度が低い、つまり解約する確率が低いと予測できたものである。つまり、図５（ａ）の分布が右に片寄っており、図５（ｂ）の分布が左に片寄っているほど、予測プログラム１０７が作成した予測モデルの精度が高いことを示している。
【００３２】
図５の例は、信頼度が所定の範囲内であるデータとして図中の点線で囲われた範囲のデータを示している。本例では信頼度が０．５付近のデータ、つまり予測プログラム１０７が予測した結果、解約確率が高いとも低いとも言えない範囲のデータを対象としている。
【００３３】
図６は、本発明の実施形態のデータ分析システムが、信頼度が所定の範囲内であるかを判断する方法の第２の例の説明図である。
【００３４】
図６に示すヒストグラムは図５と同様であるが、図６では実際に解約した顧客データのうち、解約確率が低いと予測したデータ、および解約していない顧客データのうち、解約確率が高いと予測したデータを所定の範囲内のデータと判断している（点線四角内）。これはつまり予測プログラム１０７が予測を大きく外した範囲に相当する。
【００３５】
ここで、所定の範囲内を定める閾値の設定手段の一例について図７を用いて詳細に説明する。
【００３６】
図７は、本発明の実施形態のデータ分析システムが所定の範囲を設定するために表示する画面の説明図である。
【００３７】
図７の例では所定の範囲の設定方法としてタイプ１及びタイプ２のいずれかが選択される。タイプ１は図５で説明したように、予測プログラム１０７の予測結果として得られた解約確率が高いとも低いともいえない範囲のデータを指定するものであり、予測された解約確率の下限及び上限を指定することができる。
【００３８】
一方タイプ２は図６で説明したように予測プログラム１０７が予測を大きく外した範囲のデータを指定するものであり、正例（本例では解約者）に対する解約確率予測結果の下限、及び負例（本例では継続者）に対する解約確率予測結果の上限を指定することができる。
【００３９】
例えば、プロセッサ１０２は、図７に示す画面を入出力装置１０５に含まれる画像表示装置に表示させる。操作者が入出力装置１０５に含まれるポインティングデバイスを操作してタイプ１に対応するチェックボックスを選択すると、タイプ１に対応する予測確率（すなわち予測された解約確率）の下限及び上限の入力フィールドが有効になる。有効になった入力フィールドに操作者が予測確率の下限（例えば「０．３」）及び上限（例えば「０．７」）を入力することによって、例えば図５に示すような所定の範囲が指定される。
【００４０】
一方、図７では省略されているが、ユーザがタイプ２に対応するチェックボックスを選択すると、タイプ２に対応する予測確率の下限及び上限の入力フィールドが有効になる。有効になった入力フィールドに操作者が正例の予測確率の上限（例えば「０．５」）及び負例の予測確率の下限（例えば「０．５」）を入力することによって、例えば図６に示すような所定の範囲が指定される。
【００４１】
上記の図５から図７には、学習データのサブセットの二つの例を示したが、実際には上記以外の種々のサブセットを作成することができる。例えば、全ての信頼度の範囲の学習データを含むサブセットを作成してもよい。その詳細については後述する。
【００４２】
プロセッサ１０２は、ステップ４０２において信頼度が所定の範囲内であると判断されたデータをサブセットデータに追加する（ステップ４０３）。以上の手順によって学習データのサブセットが作成される。
【００４３】
次に、プロセッサ１０２は、メモリ１０３に格納された組合せ発見プログラム１０９を実行し、ステップ２０３で作成した学習データのサブセットから、新たに説明変数に追加するための説明変数の組合せを発見する（ステップ２０４）。説明変数の組合せ発見手法は、頻出パタンを抽出することのできる任意の公知の手法（例えばアソシエーション分析）によって実行することができる。ステップ２０４において実行される処理の一例について、図８を用いて詳細に説明する。
【００４４】
図８は、本発明の実施形態のデータ分析システムが実行するアソシエーション分析のフローチャートである。
【００４５】
初めに、プロセッサ１０２は、説明変数の組合せごとのループ処理を行う（ステップ８０１）。このループには、後述するステップ８０２〜８０６が含まれる。
【００４６】
次に、プロセッサ１０２は、ある説明変数の組合せについて、式１で表される支持度を算出する（ステップ８０２）。
【００４７】
【数１】
2016004525.tif 000003
【００４８】
式１において、Ｘは説明変数の組合せである。例えば、Ｘは、「男性かつ２０代」のような二つの説明変数の組合せであってもよいし、「男性かつ２０代かつ契約期間１年以上」のような三つの説明変数の組合せであってもよいし、それ以上の数の説明変数の組合せであってもよい。一方、Ｙは予測の目的となる目的変数であり、本例では解約である。Ｘ⇒Ｙは説明変数の組合せがＸであるときに目的変数が解約となる相関ルールを表す。Ｍは、作成された学習データのサブセットに含まれる全データ数（すなわち顧客レコード数）を表す。σ（Ｘ∪Ｙ）は、作成された学習データのサブセットに含まれる全データのうち、説明変数の組合せがＸであり、かつ、目的変数Ｙが解約であるデータ数を表す。相関ルールＸ⇒Ｙの支持度ｓｕｐｐｏｒｔ（Ｘ⇒Ｙ）は、Ｍに対するσ（Ｘ∪Ｙ）の割合で表される。
【００４９】
次に、プロセッサ１０２は、式２によって確信度を算出する（ステップ８０３）。確信度ｃｏｎｆｉｄｅｎｃｅは、説明変数の組合せがＸであるデータ数に対する、目的変数Ｙが解約であるデータ数の割合で表される。ここで、σ（Ｘ∪Ｙ）は、作成された学習データのサブセットに含まれる全データのうち、説明変数の組合せがＸであるデータ数を表す。
【００５０】
【数２】
2016004525.tif 000004
【００５１】
次に、プロセッサ１０２は、支持度があらかじめ定められた最小支持度以上であるかを判定し（ステップ８０４）、支持度が最小支持度以上である場合に、確信度があらかじめ定められた最低確信度以上であるかを判定する（ステップ８０５）。上記のように、確信度が高いことは、説明変数の組合せがＸであるデータ数に対する、目的変数Ｙが解約であるデータ数の割合が大きいことから、組合せＸと目的変数Ｙ「解約」との相関が高いと考えられる。しかし、確信度が高くても、支持度が低ければ、説明変数の組合せＸに該当して、かつ、解約をした顧客の数が少ない（言い換えると説明変数の組合せＸに該当する顧客の数自体が少ない）ため、組合せＸと目的変数Ｙ「解約」との相関が高いとは言い切れない。このため、プロセッサ１０２は、支持度が最小支持度以上であり、かつ、確信度が最低確信度以上であると判定された説明変数の組合せＸを、目的変数Ｙとの相関が高い組合せとして、メモリ１０３に記憶する（ステップ８０６）。
【００５２】
プロセッサ１０２は、支持度が最小支持度以上であり、かつ確信度が最低確信度以上である説明変数の組合せの全てを保持してもよいし、所定の閾値を設けて保持する説明変数の組合せの数を制限してもよいし、支持度が最も高い説明変数の組合せ又は確信度が最も高い説明変数の組合せのみを保持してもよい。
【００５３】
このような組合せ発見手法によって、予測プログラム１０７が作成した予測モデルが信頼度高く予測することのできないデータから、解約する確率の高い説明変数の組合せを見つけることができる。
【００５４】
ここで、アソシエーション分析によって説明変数の組合せを発見する方法の別の一例について説明する。ステップ８０２において支持度を算出する際に、プロセッサ１０２は、式３のように係数αを乗じる。
【００５５】
【数３】
2016004525.tif 000005
【００５６】
係数αは式４で表される。
【００５７】
【数４】
2016004525.tif 000006
【００５８】
ここで、δYは、式５に示すように、当該データの目的変数が解約のとき１、そうでなければ０をとる変数であり、ｐｒｏｂは予測された解約確率（すなわち信頼度）である。このとき、式４に示すδY−ｐｒｏｂの絶対値は、各レコードについて計算された信頼度と当該レコードの目的変数とがどの程度かけ離れているかを示す乖離度であり、この乖離度が大きいほど当該レコードに関する解約確率の予測精度が低いと言える。
【００５９】
【数５】
2016004525.tif 000007
【００６０】
つまりαは、説明変数の組合せがＸで解約したデータの解約確率の予測精度が低いほど大きな値をとる。言い換えると、重み係数αによって支持度を重みづけした場合、説明変数の組合せＸを含む複数のレコードが乖離度の大きいレコードを多く含む程、その組合せＸは目的変数Ｙとの相関が高い組合せと判定されやすくなる。その結果、予測モデルが精度良く予測できないデータに対してより有効な説明変数の組合せを発見することができる。変数βは重み係数であり交差検証法などによって値を決定することができる。
【００６１】
次に、プロセッサ１０２は、メモリ１０３に格納された説明変数生成プログラム１１０を実行し、ステップ２０４で組合せ発見プログラム１０９が発見した説明変数の組合せを新たな説明変数としてデータ１１２に追加する（ステップ２０５）。
【００６２】
ここで、説明変数生成プログラム１１０によって説明変数を追加したデータ１１２の一例について図９を用いて詳細に説明する。
【００６３】
図９は、本発明の実施形態のデータ分析システムが保持する、説明変数生成プログラム１１０によって説明変数を追加されたデータ１１２の説明図である。
【００６４】
組合せ発見プログラム１０９が発見した説明変数の組合せが「性別が男性かつ年代が２０代」であった場合、図９に示すように、男性かつ２０代のレコードの属性値がＹｅｓとなり、それ以外の属性値がＮｏとなるような新たな説明変数「男性かつ２０代」９０１が追加される。
【００６５】
次に、プロセッサ１０２は、メモリ１０３に格納された予測プログラム１０７を実行し、説明変数が追加された学習データに基づいて、再度説明変数から目的変数を予測するモデル式を作成する（ステップ２０６）。ここでモデル式を作成する手順は、学習データに新たな説明変数が追加されていることを除いて、ステップ２０１で実行されるものと同様である。
【００６６】
次に、プロセッサ１０２は、メモリ１０３に格納された終了判定プログラム１１１を実行し、予測モデルの作成を終了するか否かを判定する（ステップ２０７）。
【００６７】
ここで、プロセッサ１０２が終了判定プログラム１１１を実行することによって予測モデルを終了するか否かを判定する手法の一例を、図１０を用いて詳細に説明する。
【００６８】
図１０は、本発明の実施形態のデータ分析システムが実行する終了判定のフローチャートである。
【００６９】
プロセッサ１０２は、初めに、ステップ２０４において新しい説明変数の組合せが発見され、その組合せがステップ２０５において新たな説明変数としてデータ１１２に追加されたか否かを判定する（ステップ１００１）。ここで新しい説明変数が追加されていなければ、さらに予測モデルの作成を繰り返し実行したとしても、いずれかのパラメータ（例えば最小支持度又は最小確信度等）が変更されない限りは新たな説明変数が追加される可能性がないため、プロセッサ１０２は予測モデルの作成を終了すると判定する（ステップ１００２）。
【００７０】
新しい説明変数が追加されていた場合、次にプロセッサ１０２は、ステップ２０６において作成された予測モデルのデータ１１２に対する予測精度が閾値以上であるか否かを判定する（ステップ１００３）。予測精度が閾値以上であった場合、所望の精度で解約確率を予測するモデル式が得られたため、プロセッサ１０２は予測モデルの作成を終了すると判定する（ステップ１００２）。
【００７１】
予測精度が閾値未満であった場合、次にプロセッサ１０２は、データ１１２の説明変数の数が閾値以上であるか否かを判定する（ステップ１００４）。説明変数の数が閾値以上であった場合に、必要以上に予測モデルが複雑になりすぎることを防ぐために、プロセッサ１０２は予測モデルの作成を終了すると判定する（ステップ１００２）。
【００７２】
説明変数の数が閾値未満であった場合、次にプロセッサ１０２は、ステップ２０２からステップ２０６の繰り返し回数が閾値以上であるか否かを判定する（ステップ１００５）。ステップ２０２からステップ２０６の繰り返し回数が閾値以上であった場合に、予測モデルの作成に費やす時間が長くなりすぎることを防ぐために、プロセッサ１０２は予測モデルの作成を終了すると判定する（ステップ１００２）。
【００７３】
ステップ２０２からステップ２０６の繰り返し回数が閾値未満であった場合、プロセッサ１０２は、予測モデルの作成を継続すると判定する（ステップ１００６）。
【００７４】
プロセッサ１０２は、ステップ１００１、１００３〜１００５の条件の全部ではなく一部のみを用いて終了判定を行ってもよいし、上記以外の条件を追加してもよい。
【００７５】
最後に、プロセッサ１０２は、入出力装置１０５を介して作成した予測モデルを提示する（ステップ２０８）。提示する予測モデルの一例を図１１に示す。
【００７６】
図１１は、本発明の実施形態のデータ分析システムが提示する予測モデルの説明図である。
【００７７】
図１１に示すように、プロセッサ１０２は、予測モデルに関する情報として、学習データ数、適合率、再現率、Ｆ値といった予測性能指標の他、予測に使用する説明変数及び各説明変数に乗じる係数を提示する。このとき、ステップ２０４およびステップ２０５で新たに追加された説明変数の組合せを強調表示することで、操作者にどのような説明変数が新たに追加されたかを確実に提示することが可能となる。操作者は、提示された情報に基づいて、目的変数との相関が高い説明変数の組合せ、具体的には例えばどのような属性の組合せを有する人物が契約を解約しやすいか、を知ることができる。強調表示の手段は例えば太字表示、点滅表示又は赤字表示などが考えられるがもちろんこれらに限定されるものではない。
【００７８】
ここで、適合率とは、計算された解約確率に基づいて解約すると予測された顧客の人数のうち、実際に解約した顧客の人数の割合である。一方、再現率とは、実際に解約した顧客の人数のうち、解約確率に基づいて解約すると予測された顧客の人数の割合である。Ｆ値は、適合率と再現率の相加平均である。これらの値を計算するために、プロセッサ１０２は、例えば、解約確率が所定の閾値を超える顧客が解約すると予測してもよい。
【００７９】
図１１の例では、住居形態、性別、長期契約（すなわち契約期間）等が、当初から与えられた説明変数である。図１１では省略されているが、図３に示すように、年代、オプション加入等の説明変数が含まれてもよい。図１１の例では、これらの説明変数の組合せである「住居形態が戸建かつ長期契約あり」及び「住居形態がマンションかつ性別が女性」が、ステップ２０４で発見され、ステップ２０５でそれぞれ一つの新たな説明変数として追加された説明変数である。図１１の例ではこれらの追加された説明変数が太字で強調表示されている。図９に示すように、「性別が男性かつ年代が２０代」といった説明変数が追加された場合には、それも表示される。そして、図１１に表示された各説明変数に対応する係数は、ステップ２０６で再学習された値の例である。
【００８０】
ここで、上記の本発明の実施形態の効果、及び、同様の効果を奏する実施形態の変形例について説明する。
【００８１】
上記の本発明の実施形態のデータ分析システム１０１は、複数の説明変数の組合せのうち、目的変数との相関が高い組合せを抽出してそれを新たな説明変数として追加することによって、より精度の高い予測モデルを生成することができる。このとき、説明変数の組合せと目的変数との相関の高さを全学習データ（すなわち全ての信頼度の範囲の学習データのレコード）に基づいて計算してもよく、それによって予測精度を向上させることができる。
【００８２】
しかし、図５等に例示するように、学習データには、元の説明変数に基づく予測モデルによって十分に精度の高い予測ができたデータ（具体的には信頼度が１又はそれに近い正例のレコード及び信頼度が０又はそれに近い負例のレコード）が含まれる一方で、精度の高い予測ができなかったデータも含まれる。これらのうち、精度の高い予測ができなかった学習データにおいて目的変数との相関が高い説明変数の組合せを発見することができれば、その組合せを新たな説明変数として追加することによって、特にそれまで精度の高い予測ができなかったデータについて予測精度を向上させることができる。
【００８３】
このため、データ分析システム１０１は、学習データ全体のうち、既に設定されている説明変数に基づく予測精度が十分ではなかった部分のみに基づいて相関の高さを計算してもよい。それによって、そのような学習データの予測精度の向上に特に寄与する可能性が高い説明変数の組合せが抽出されるため、さらに予測精度が向上することが期待できる。
【００８４】
具体的には、データ分析システム１０１は、学習データに含まれるレコードのうち、信頼度がある所定の値（第１の値）より高い正例のレコード、及び、ある所定の値（第２の値）より低い負例のレコードを除外したサブセットを作成してもよい。ここで、信頼度が０から１までのいずれかの値である場合、第１の値及び第２の値は、いずれも、０より高く１より低い値である。図５及び図６はその具体例を示す。
【００８５】
図５の例では、信頼度が第１の値より高い正例のレコード、信頼度が別の所定の値（第３の値）より低い正例のレコード、信頼度が第２の値より低い負例のレコード、及び、信頼度が別の所定の値（第４の値）より高い負例のレコードがサブセットから除外される。ここで、第３の値は、０より高く、第１の値より低い値であり、第４の値は、第２の値より高く、１より低い値である。図７の例では第１の値及び第４の値が０．７、第２の値及び第３の値が０．３であるが、これらの値が別の値であってもよく、第１の値と第４の値、第２の値と第３の値がそれぞれ互いに異なってもよい。
【００８６】
図６の例では、信頼度が第１の値より低い全ての正例のレコード、及び、信頼度が第２の値より高い全ての負例のレコードがサブセットに含まれる。第１の値及び第２の値は同じ値（例えば０．５等）であってもよいが、互いに異なる値であってもよい。
【００８７】
一方、係数αを含む式３を用いて支持度を計算した場合には、ある説明変数の組合せを含む複数のレコードが乖離度の大きいレコードを多く含む程、その組合せは目的変数との相関が高い組合せと判定されやすくなるため、全ての信頼度の範囲を含むサブセットを作成した（すなわちサブセットが全学習データを含む）としても、既に設定されている説明変数に基づく予測精度が十分ではなかった学習データの予測精度を向上させることができる。
【００８８】
上記の実施形態の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。上記の実施形態の各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００８９】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９０】
また、図面には、実施例を説明するために必要と考えられる制御線及び情報線を示しており、必ずしも、本発明が適用された実際の製品に含まれる全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００９１】
１０１  データ分析システム
１０２  プロセッサ
１０３  メモリ
１０４  記憶媒体
１０５  入出力装置
１０６  通信装置
１０７  予測プログラム
１０８  サブセット作成プログラム
１０９  組合せ発見プログラム
１１０  説明変数生成プログラム
１１１  終了判定プログラム
１１２  データ
【図１】
2016004525.tif 000008
【図２】
2016004525.tif 000009
【図３】
2016004525.tif 000010
【図４】
2016004525.tif 000011
【図５】
2016004525.tif 000012
【図６】
2016004525.tif 000013
【図８】
2016004525.tif 000014
【図９】
2016004525.tif 000015
【図１０】
2016004525.tif 000016
【図１１】
2016004525.tif 000017
【図７】
2016004525.tif 000018