(57)【要約】【課題】説明変数が目的変数に与える影響度を可視化する。【解決手段】データ分析システムであって、プログラムを実行する演算装置と、前記演算装置と接続された記憶装置とを備え、前記演算装置が、機械学習モデルが学習時に用いた複数の説明変数からなる入力データセット又は前記説明変数が加工されたデータセットからなる入力データセットを、指定された分割条件で分割し、前記分割された各データセットの分布構造の特徴を表す特徴ノードを算出する特徴ノード算出部と、前記演算装置が、前記特徴ノードを含む入力データの近傍データを生成し、前記生成された近傍データの説明変数と、前記近傍データを前記機械学習モデルに入力して得られた目的変数のデータとに基づいて、当該説明変数と当該目的変数との関係性を表すスコアを算出するスコア算出部と、前記演算装置が、前記スコアを含む出力結果を出力する出力処理部とを備える。【選択図】図１
2019191895.tif 000002
【特許請求の範囲】
【請求項１】
データ分析システムであって、
プログラムを実行する演算装置と、前記演算装置と接続された記憶装置とを備え、
前記演算装置が、機械学習モデルが学習時に用いた複数の説明変数からなる入力データセット又は前記説明変数が加工されたデータセットからなる入力データセットを、指定された分割条件で分割し、前記分割された各データセットの分布構造の特徴を表す特徴ノードを算出する特徴ノード算出部と、
前記演算装置が、前記特徴ノードを含む入力データの近傍データを生成し、前記生成された近傍データの説明変数と、前記近傍データを前記機械学習モデルに入力して得られた目的変数のデータとに基づいて、当該説明変数と当該目的変数との関係性を表すスコアを算出するスコア算出部と、
前記演算装置が、前記スコアを含む出力結果を出力する出力処理部とを備えることを特徴とするデータ分析システム。
【請求項２】
請求項１に記載のデータ分析システムであって、
前記特徴ノード算出部は、自己組織化マップが適用された前記入力データセットに基づいて特徴ノードを算出することを特徴とするデータ分析システム。
【請求項３】
請求項１に記載のデータ分析システムであって、
前記特徴ノード算出部は、前記機械学習モデルが学習時に用いた複数の説明変数及び前記機械学習モデルが算出した目的変数からなる入力データセット、又は前記説明変数及び前記目的変数が加工されたデータセットからなる入力データセットを用いて前記特徴ノードを算出することを特徴とするデータ分析システム。
【請求項４】
請求項１に記載のデータ分析システムであって、
前記特徴ノード算出部は、特定の説明変数の特定の値又は範囲、及び前記目的変数の要素の特定の値又は範囲の少なくとも一つを含む分割条件、又はこれらの組み合わせによって表現される分割条件によって前記入力データセットを分割することを特徴とするデータ分析システム。
【請求項５】
請求項１に記載のデータ分析システムであって、
前記スコア算出部は、前記説明変数のデータと前記目的変数のデータとに基づいて線形モデル推定を適用することによって、前記説明変数毎に前記目的変数の形式に対応したスコアを算出することを特徴とするデータ分析システム。
【請求項６】
請求項１に記載のデータ分析システムであって、
前記スコア算出部は、前記目的変数中の要素の一部のうち、前記分割条件ごとに指定された部分を集計して目的スコアを算出することを特徴とするデータ分析システム。
【請求項７】
請求項６に記載のデータ分析システムであって、
前記スコア算出部は、前記算出したスコア及び前記算出した目的スコアについて、前記各分割条件における特徴ノードごとの周辺データの数に基づいて、説明変数ごとに加重平均スコアを算出することを特徴とするデータ分析システム。
【請求項８】
請求項１に記載のデータ分析システムであって、
前記演算装置が、前記各分割条件において、前記特徴ノード算出部によって算出された特徴ノードを二次元空間にマッピングするノードマッピング部を備えることを特徴とするデータ分析システム。
【請求項９】
請求項７に記載のデータ分析システムであって、
前記演算装置が、前記各分割条件において、前記特徴ノード算出部によって算出された特徴ノードを二次元空間にマッピングするノードマッピング部を備え、
前記ノードマッピング部は、前記説明変数ごとの特徴ノードの値と、前記算出されたスコアと、前記スコア及び目的スコアについて算出された加重平均スコアとを、ノードの幾何学的構造に基づいて画像化して表示するためのデータを生成することを特徴とするデータ分析システム。
【請求項１０】
請求項８に記載のデータ分析システムであって、
前記ノードマッピング部は、前記特徴ノードのベクトル又は目的変数成分を含む特徴ノードのベクトルを、前記分割条件の特徴ノードの幾何学的構造に基づいて初期化した後、多次元尺度構成法を適用してマッピングを行うことを特徴とするデータ分析システム。
【請求項１１】
請求項１に記載のデータ分析システムであって、
前記入力データセットが、所定時間ごとの説明変数を含む時系列データである場合、当該説明変数を過去のある時点から現時点までの独立した変数として展開したデータを入力データとし、
前記演算装置が、当該展開に用いた規則を格納することを特徴とするデータ分析システム。
【請求項１２】
計算機が実行するデータ分析方法であって、
前記計算機は、プログラムを実行する演算装置と、前記演算装置と接続された記憶装置とを有し、
前記方法は、
前記演算装置が、機械学習モデルが学習時に用いた複数の説明変数からなる入力データセット又は前記説明変数が加工されたデータセットからなる入力データセットを、指定された分割条件で分割し、
前記演算装置が、前記分割された各データセットの分布構造の特徴を表す特徴ノードを算出し、
前記演算装置が、前記特徴ノードを含む入力データの近傍データを生成し、
前記生成された近傍データの説明変数と、前記近傍データを前記機械学習モデルに入力して得られた目的変数のデータとに基づいて、当該説明変数と当該目的変数との関係性を表すスコアを算出し、
前記演算装置が、前記スコアを含む出力結果を出力することを特徴とするデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ分析システムに関する。
【背景技術】
【０００２】
ニューラルネットワーク等の機械学習技術が注目を集めている。機械学習により得られた機械学習モデルを利用して様々な問題の解決が試みられている。例えば、特許文献１においては、既知事例集合と、予測事例が入力された場合に、既知事例集合から予測事例に類似した事例の集合である類似事例集合を抽出する類似事例抽出部１と、類似事例集合から或る予測属性値の確信度を計算する確信度計算部２と、類似事例集合と確信度から、その確信度の信頼性尺度を計算する信頼性尺度計算部３とを備え、ある予測属性値の確信度と、その確信度の信頼性尺度を出力するように構成する予想装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３２３６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された手法は、類似事例に基づく予測結果の確信度に、その確信度の信頼度を示す信頼性尺度を付加することにより、予測結果に対するユーザのその後の判断を支援するものであり、ユーザは各説明変数の予測結果に対する寄与度を知ることができない。すなわち、ユーザはどのような要因により入力データから予測結果が導かれたかを知ることができない。換言すると、ユーザは、ニューラルネットワークにおいて説明変数と予測結果である目的変数との関連性が未知のまま機械学習モデルを利用していた。このため、ユーザは予測結果に基づいてどのような判断をすべきか知ることが困難であった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、説明変数が目的変数に与える影響度を可視化して、予測結果に基づいてどのような判断をすべきかを把握可能にする技術を提供する。
【課題を解決するための手段】
【０００６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データ分析システムであって、プログラムを実行する演算装置と、前記演算装置と接続された記憶装置とを備え、前記演算装置が、機械学習モデルが学習時に用いた複数の説明変数からなる入力データセット又は前記説明変数が加工されたデータセットからなる入力データセットを、指定された分割条件で分割し、前記分割された各データセットの分布構造の特徴を表す特徴ノードを算出する特徴ノード算出部と、前記演算装置が、前記特徴ノードを含む入力データの近傍データを生成し、前記生成された近傍データの説明変数と、前記近傍データを前記機械学習モデルに入力して得られた目的変数のデータとに基づいて、当該説明変数と当該目的変数との関係性を表すスコアを算出するスコア算出部と、前記演算装置が、前記スコアを含む出力結果を出力する出力処理部とを備える。
【発明の効果】
【０００７】
本発明の一態様によれば、説明変数が目的変数に与える影響度を可視化できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本実施例のデータ分析システム構成を表す図である。
【図２】本実施例のデータ分析システムのデータ構造を示す図である。
【図３】本実施例の全体処理のフローチャートである。
【図４】本実施例の特徴ノード算出処理のフローチャートである。
【図５】本実施例のスコア算出処理のフローチャートである。
【図６】本実施例のノードマッピング処理のフローチャートである。
【図７】本実施例の出力処理のフローチャートである。
【図８】本実施例の成分マップの例を示す図である。
【図９】本実施例のヒットマップの例を示す図である。
【図１０】本実施例のスコアマップの例を示す図である。
【図１１】本実施例のノードマップの例を示す図である。
【発明を実施するための形態】
【０００９】
＜実施例１＞
以下、本発明の実施例を図面を参照して説明する。
【００１０】
なお、本実施例では、機械学習モデルは、予め学習済みであり、その学習において利用された学習データを参照し、及び学習済みの機械学習モデルを利用して出力結果を得る処理を行うものである。また、機械学習モデルは、ｄ次元ベクトルの入力信号に対してｋ次元ベクトルの出力信号を返すものであり、さらに、本実施例での機械学習モデルの出力信号は、ｋ個の分類クラスに属する分類確率に相当するものとして説明する。
【００１１】
図１は、本実施例のデータ分析システム構成を表す図である。
【００１２】
本実施例のデータ分析システムは、機械学習における入力データ及び出力データの関係性を分析する計算機であり、入力装置１０１、出力装置１０２、表示装置１０３、処理装置１０４、及び記憶装置１１１を有する。
【００１３】
入力装置１０１は、キーボードやマウスなどであり、ユーザからの入力を受けるインターフェースである。出力装置１０２は、プリンタなどであり、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースである。表示装置１０３は、液晶表示装置などのディスプレイ装置であり、プログラムの実行結果をユーザが視認可能な形式で出力するインターフェースである。なお、データ分析システムにネットワークを介して接続された端末が入力装置１０１と出力装置１０２と表示装置１０３とを提供してもよい。
【００１４】
処理装置１０４は、プログラムを実行するプロセッサ（演算装置）及びプログラムやデータを格納するメモリによって構成される。具体的には、プロセッサがプログラムを実行することによって、入力処理部１０６、特徴ノード算出部１０７、スコア算出部１０８、ノードマッピング部１０９、及び出力処理部１１０が実現される。なお、プロセッサがプログラムを実行して行う処理の一部を、他の演算装置（例えば、ＦＰＧＡ）で実行してもよい。
【００１５】
メモリは、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶素子であり、プロセッサ１１が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００１６】
記憶装置１１１は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置である。記憶装置１１１は、処理装置１０４がプログラムの実行時に使用するデータ及び処理装置１０４が実行するプログラムを格納する。具体的には、記憶装置１１１は、入力データテーブル１１２、正規化情報テーブル１１３、分割条件テーブル１１４、ノード情報テーブル１１５、ノード距離テーブル１１６、スコアテーブル１１７及び加重平均スコアテーブル１１８などの一連の処理に必要なデータ及び出力結果を格納する。なお、プログラムは、記憶装置１１１から読み出されて、メモリにロードされて、プロセッサによって実行される。
【００１７】
データ分析システムは、所定のプロトコルに従って、他の装置との通信を制御する通信インターフェースを有してもよい。
【００１８】
処理装置１０４が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介してデータ分析システムに提供され、非一時的記憶媒体である不揮発性の記憶装置１１１に格納される。このため、データ分析システムは、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００１９】
データ分析システムは、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００２０】
図２は、本実施例のデータ分析システムのデータ構造を示す図である。
【００２１】
入力データテーブル１１２は、機械学習モデルの学習データを、本実施例のデータ分析システムによる一連の処理で利用する形式に加工したデータを格納し、説明変数１〜ｄ（２０１）及び目的変数１〜ｋ（２０２）を含む。
【００２２】
説明変数１〜ｄ（２０１）は、機械学習モデルの入力データであるｄ次元ベクトルを表している。但し、機械学習では変数ごとにデータを正規化することが多い。本実施例ではこの正規化されたデータを、正規化情報テーブル１１３を用いて、もとの数値データに戻して格納する。また、機械学習モデルの学習データが時系列である場合、変数名ｘに対して、ｘ＿ｔ０，ｘ＿ｔ１，ｘ＿ｔ２，．．．のように各時点の値での変数名として平坦化できる。この場合、説明変数２０１の次元数と機械学習モデルの入力次元数は一致せず、本実施例の入力データ形式でデータを機械学習モデルに入力する際には、その都度データ形式を変換する。目的変数１〜ｋ（２０２）は、機械学習モデルの出力結果であるｋ次元ベクトルである。
【００２３】
正規化情報テーブル１１３は、機械学習モデルの学習時に行った正規化処理に関する情報を格納し、変数ＩＤ２０３、変数名２０４、データ型２０５、平均２０６、標準偏差２０７及びモデル用データ形式対応情報２０８のデータを含む。
【００２４】
変数ＩＤ２０３は、説明変数２０１の要素を特定するインデクスである。変数名２０４は、当該説明変数の名前である。データ型２０５は、当該説明変数のデータ型（例えば、論理型、整数型、浮動小数点型など）である。
【００２５】
平均２０６及び標準偏差２０７は、機械学習モデルの学習時の正規化処理で用いた平均と標準偏差を格納する。但し、変数が論理型の場合など、正規化処理を行わない変数に対しては、平均を０、標準偏差を１などと設定するとよい。モデル用データ形式対応情報２０９は、機械学習モデルの入力形式と本実施例のデータ分析システムで扱う入力形式が異なる場合に、その形式を相互変換するための情報を格納する。例えば、時系列を含むデータの場合、変数ｘをｘ＿ｔ０，ｘ＿ｔ１，．．．と展開するので、展開前のインデクスと展開後のインデクスとの対応関係を記述しておくことで、相互変換が可能となる。
【００２６】
分割条件テーブル１１４は、特徴ノード算出部１０７が入力データテーブル１１２を分割する条件を格納し、条件ＩＤ２０９、分割条件２１０、データ数２１１、マップサイズ２１２及び集計フラグ１〜ｋ（２１３）のデータを含む。
【００２７】
条件ＩＤ２０９は、分割条件テーブル１１４に記録される条件を識別するための識別情報である。分割条件２１０は、入力データを分割して１組のデータセットを得るための条件である。例えば、ＳＱＬのｓｅｌｅｃｔ文のような文字列でもよい。分割条件２１０には、説明変数に対する特定の値又は範囲や、目的変数に対する値の条件の組み合わせを記述されてもよい。データ数２１１は、当該分割条件によって選択された入力データ中のデータ数である。
【００２８】
マップサイズ２１２は、特徴ノード算出部１０７が、図４のノードベクトル算出ステップ４０３で使用するマップサイズを格納する。又は、マップサイズを自動設定する場合には、マップサイズ２１２の値をＮＵＬＬなどとしておき、自動設定の結果を格納してもよい。集計フラグ１〜ｋ（２１３）は、図５の目的スコア集計処理５０４で使用する目的変数に対するｋ個のフラグ配列である。この配列で１が設定されている目的変数に対するスコアのみを集計し、目的スコアとする。例えば、会員管理システムにおいて現在ランクからのランクアップを目的とした分析では、各現在ランクを分割条件として設定し、現在ランクより上位の予測ランクに対応する目的変数のフラグを１に設定する。
【００２９】
ノード情報テーブル１１５は、特徴ノード算出部１０７による特徴ノード算出結果を格納し、条件ＩＤ２１４、ノードＩＤ２１５、ヒット数２１６、ヒット率２１７、座標２１８、説明変数１〜ｄ（２１９）及び目的変数１〜ｋ（２２０）のデータを含む。
【００３０】
条件ＩＤ２１４は、分割条件テーブル１１４に記録される条件を識別するための識別情報（条件ＩＤ２０９）である。ノードＩＤ２１５は、条件ＩＤ２１４によって特定される条件を満たすノードの識別情報である。ヒット数２１６は、ノードＩＤ２１５で特定されたノードについて、分割条件によって分割されたデータセットのうち、当該ノードが他ノードより近い距離にあるデータ数である。ヒット率２１７は、ヒット数２１６をデータ数２１１で除した値である。座標２１８は、図３に示すノードマッピング処理３０４の処理結果である。
【００３１】
説明変数１〜ｄ（２１９）及び目的変数１〜ｋ（２２０）は、入力データテーブル１１２と同形式のデータであり、入力データセットに対して、その分布構造の特徴を表すノードベクトルである。このベクトルは入力データテーブルに含まれるデータと一致するものが存在する必要はなく、また、データ型２０５に指定された型に従わなくてもよい。例えば、論理値や整数値が指定されても、浮動小数点型のデータとして格納できる。
【００３２】
ノード距離テーブル１１６は、ノード情報テーブル１１５の説明変数２１９、又は説明変数２１９に目的変数２２０を加えたノードベクトルについて、各ノード間の距離を格納し、ノードｆｒｏｍ２２１、ノードｔｏ２２２及び距離２２３のデータを含む。
【００３３】
ノードｆｒｏｍ２２１及びノードｔｏ２２２は、それぞれノード情報テーブル１１５に記録されるノードを特定するための識別情報である。ノードｆｒｏｍ２２１及びノードｔｏ２２２の値は、条件ＩＤ２１４とノードＩＤ２１５の組でもよいし、ノード情報テーブル１１５上のｉｎｄｅｘでもよい。距離２２３は、ノードｆｒｏｍ２２１とノードｔｏ２２２の間のノードベクトルの距離である。
【００３４】
なお、ノード距離テーブル１１６は二次元配列として表現してもよい。この場合、行及び列にはノード情報テーブル１１５のｉｎｄｅｘを用いる。
【００３５】
スコアテーブル１１７は、スコア算出部１０８の算出結果を格納し、目的変数ＩＤ２２４、条件ＩＤ２２５、ノードＩＤ２２６及び説明変数１〜ｄのスコア２２７のデータを含む。
【００３６】
目的変数ＩＤ２２４は、機械学習モデルの出力結果におけるｋ次元ベクトルの要素番号を格納する。条件ＩＤ２２５及びノードＩＤ２２６は、ノード情報テーブル１１５に記録されたノードを特定するための識別情報であり、ノード情報テーブル１１５の条件ＩＤ２１４及びノードＩＤ２１５と共通の値を用いる。説明変数１〜ｄのスコア２２７は、スコア算出部１０８の算出結果であり、目的変数ＩＤ２２４、条件ＩＤ２２５、ノードＩＤ２２６及び説明変数ごとに格納する。
【００３７】
スコアテーブル１１７は、図５で説明する目的スコア及び加重平均スコアも格納する。目的スコアは、目的変数ＩＤ２２４に−１などを設定し、加重平均スコアは、目的変数ＩＤ２２４及びノードＩＤ２２６に−１などを設定し、目的変数とノードが特定のものを識別していないことを表すものである。
【００３８】
加重平均スコアテーブル１１８は、目的変数２２４とノードＩＤ２２６が−１のように特定されない形で、分割条件と説明変数ごとのスコアを格納している。具体的には、加重平均スコアテーブル１１８は、後述するスコア算出処理３０３（図５）のステップ５０５で算出された加重平均スコアを分割条件ごとに分け、各説明変数のスコアを絶対値の降順にソートし、変数名とともに列挙したリストである。加重平均スコアテーブル１１８は、出力処理３０５（図７）のステップ７０１で生成される。加重平均スコアテーブル１１８によって、ユーザは、各分割条件が表すターゲット層ごとに、影響度が高い説明変数を容易に把握でき、分割条件での説明変数の順位及びスコアを比較できる。例えば、条件１、２では属性Ａの影響度が大きく、条件３、４では属性Ｊの影響度が大きい。また、属性Ｉのスコアは符号が逆になっており、同一の施策を適用すると効果が逆に現れる可能性がある。このように、各条件が示すターゲット層への施策立案に活用できる。
【００３９】
図３は、本実施例の全体処理のフローチャートである。
【００４０】
まず、入力処理部１０６が入力処理を実行する（３０１）。例えば、入力処理部１０６は、正規化情報テーブル１１３を参照して、機械学習モデルの学習データを、その入力形式から本実施例の入力形式に変換し、正規化された数値を元に戻す処理を実行し、その結果を入力データテーブル１１２に格納する。
【００４１】
次に、特徴ノード算出部１０７が特徴ノード算出処理を実行する（３０２）。例えば、特徴ノード算出部１０７は、分割条件テーブル１１４に従って入力データテーブル１１２を分割し、分割された各データセットから特徴ノードを算出し、結果をノード情報テーブルに格納する。特徴ノード算出処理の詳細は図４で説明する。
【００４２】
次に、スコア算出部１０８がスコア算出処理を実行する（３０３）。例えば、スコア算出部１０８は、説明変数の影響度を表すスコアを算出し、結果をスコアテーブルに格納する。スコア算出処理の詳細は図５で説明する。
【００４３】
次に、ノードマッピング部１０９がノードマッピング処理を実行する（３０４）。例えば、ノードマッピング部１０９は、ステップ３０２で得られた特徴ノードを低次元空間へマッピングする。ノードマッピング処理の詳細は図６で説明する。
【００４４】
次に、出力処理部１１０が出力処理を実行し（３０５）、処理を終了する。出力処理の詳細は図７で説明する。
【００４５】
図４は、本実施例の特徴ノード算出処理３０２のフローチャートである。
【００４６】
まず、特徴ノード算出部１０７は、変数ｐを１から分割条件テーブル１１４のデータ件数でループする（４０１）。以降、ｐ番目の分割条件についてステップ４０２からステップ４０５の処理を実行する。
【００４７】
次に、特徴ノード算出部１０７は、データ分割処理を行う（４０２）。例えば、ｐ番目の分割条件の分割条件２１０を満たすデータを入力データテーブル１１２から選択する。選択されたデータセットは、正規化情報テーブルを用いて正規化処理を施される。
【００４８】
次に、特徴ノード算出部１０７は、ノードベクトル算出を行う（４０３）。例えば、ｋ−平均法に代表されるクラスタリング手法などによって、選択されたデータセットの分布構造を考慮し、より少ないノード数でその特徴を表すノードベクトルを算出する。本実施例では、自己組織化マップ（以下、ＳＯＭと略す）を適用する。ＳＯＭは、格子状に配置されたノードと、隣接するノードとの間を連結するエッジで表現されるニューラルネットワークの一種である。各ノードには、入力データと同形式の参照ベクトルが割り当てられる。参照ベクトルは、ＳＯＭの学習データと距離が最も近いノード（以下、ＢＭＵ（Ｂｅｓｔ  Ｍａｔｃｈｉｎｇ  Ｕｎｉｔ）と略す）の参照ベクトルと共に、ＢＭＵに連結したノードの参照ベクトルも、学習データに近づくように更新する。ＳＯＭは公知の手法であるため、手法の詳細な説明は省略する。この処理を繰り返すことによって、学習データの複雑な分布構造を、ノードの幾何学的構造に写像できる。
【００４９】
ＳＯＭの結果として算出される各ノードの参照ベクトルは、説明変数２１９と目的変数２２０の形式でノード情報テーブル１１５に格納される。
【００５０】
なお、ＳＯＭを実行する際の学習データの形式は、説明変数のみ、又は説明変数及び目的変数の組によって設定できる。どちらの形式を利用するかは予め設定されているとよい。そして、出力結果としての目的変数２２０は、これら学習データの入力形式に従う。
【００５１】
次に、特徴ノード算出部１０７は、ノードごとにヒット数を計数する（４０４）。ここでは、ステップ４０３で算出したノードごとに、それをＢＭＵとする選択データセット中のデータ数をヒット数２１６の値として算出する。ヒット率２１７はこれを選択されたデータ件数で割って算出する。
【００５２】
次に、特徴ノード算出部１０７は、算出された結果をデータの保存領域に格納する（４０５）。このとき、ステップ４０３で算出されたノードベクトルは正規化されているため、正規化情報テーブル１１３を用いて元に戻す処理を行い、その結果を格納する。
【００５３】
そして、ステップ４０１からステップ４０５のループが終了すると特徴ノード算出処理３０２を終了する。
【００５４】
図５は、本実施例のスコア算出処理３０３のフローチャートである。
【００５５】
まず、スコア算出部１０８は、変数ｉを１からノード情報テーブル１１５のデータ件数でループする（５０１）。以降、ｉ番目のノードについてステップ５０２からステップ５０４の処理を実行する。
【００５６】
次に、スコア算出部１０８は、ノードｉの近傍データセットと、それに対する機械学習モデルの予測結果を生成する（５０２）。近傍データとは、変数ｉで指定されたノードの説明変数が表すｄ次元ベクトルの周辺に位置するベクトルデータである。本実施例では近傍データの生成方法として、ノードｉの説明変数の値を平均とし、正規化情報の標準偏差の２分の１を標準偏差とした正規分布に従った乱数によって生成する方法を用いるが、他の生成方法を用いてもよい。近傍データセットのデータ件数は予め指定されているとよい。機械学習モデルによる予測は、正規化情報テーブルを用いた正規化と、モデル用データ形式対応情報２０８による変換を行って実行できる。
【００５７】
次に、スコア算出部１０８は、生成された近傍データセットと機械学習モデルの予測結果について局所モデル推定処理を行う（５０３）。ステップ５０３では、近傍データについて説明変数と目的変数との関係性を表すスコアを得る。本実施例では近傍データセットと機械学習モデルの予測結果に対して線形モデル推定を適用し、その推定パラメータをスコアとする。すなわち、ｄ次元の説明変数Ｘ＝（ｘ１，ｘ２，…，ｘｄ）に対する機械学習モデルの出力結果Ｙを、下式で表される線形モデルで近似し、推定パラメータＳｉを入力ｘｉにおけるスコアとする。ここで、Ｙ，Ｙ，Ｓｉ，Ｃはｋ次元ベクトルである。線形モデル推定の手法は公知の技術であるため、手法の詳細な説明は省略する。
【００５８】
【数１】
2019191895.tif 000003
【００５９】
次に、スコア算出部１０８は、ステップ５０３で得られたスコアを、集計フラグ２１３に従って集計して目的スコアを算出する（５０４）。具体的には、フラグが１の要素のスコアを説明変数ごとに集計する。
【００６０】
そして、スコア算出部１０８は、ステップ５０１からステップ５０４のループが終了すると、ヒット率２１７を目的スコアに適用して加重平均スコアを算出する（５０５）。加重平均スコアは、同一条件ＩＤの全ノードについて、説明変数ごとに算出される。
【００６１】
そして、スコア算出部１０８は、算出された結果をデータの保存領域に格納し（５０６）、スコア算出処理を終了する。
【００６２】
図６は、本実施例のノードマッピング処理３０４のフローチャートである。本実施例では、多次元尺度構成法（以下、ＭＤＳと略す）を使って格子状の平面ＳＯＭノードの分割条件ごとのセットを２次元座標にマッピングするが、ノードの幾何学的構造やマッピングする空間は他の次元数の空間でもよい。
【００６３】
ＭＤＳは、多次元ベクトル空間上のノードを、２次元や３次元などの低次元空間にマッピングする手法の一つで、ノード間の距離を可能な限り再現するようにマッピングを行う。ＭＤＳは公知の手法であるため、手法の詳細な説明は省略する。本実施例では、ＭＤＳを適用する際に、ＳＯＭノードの幾何学的構造を考慮した初期化を行う。
【００６４】
まず、ノードマッピング部１０９は、ノード距離テーブル１１６を生成する（６０１）。本実施例では、各特徴ノードベクトルを、正規化された説明変数２１９とし、ユークリッド距離によって距離テーブルを生成する。
【００６５】
次に、ノードマッピング部１０９は、各変数を初期化する（６０２）。具体的には、まずｌｔ、ｌｂ、ｒｔ、ｒｂを、それぞれ格子状のＳＯＭノードの構造における左上、左下、右上、右下のノードｉｎｄｅｘとして定義し、全て−１を設定する。次に、ｙを０に設定する。次に、配列Ｐｏｓを、各ノードの座標を格納する配列として定義する。そして、Ｓｗ、Ｓｈを、それぞれｘ方向、ｙ方向のノード座標配列として定義する。この配列サイズはマップサイズ２１２によって決定される。Ｐｏｓ、Ｓｗ、Ｓｈの要素は全て０で初期化する。
【００６６】
次に、ノードマッピング部１０９は、変数ｐを１から分割条件テーブル１１４のデータ件数でループする（６０３）。以降、ｐ番目の分割条件についてステップ６０４からステップ６０９の処理を実行する。
【００６７】
次に、ノードマッピング部１０９は、ｒｂが０以上であれば（６０４でＹｅｓ）、ｙに配列Ｓｈ内の最大値に所定数（例えば、２）を加算した数を入力する（６０５）。所定数は適切な値に変更してもよい。
【００６８】
一方、ノードマッピング部１０９は、ｒｂが負の数であれば（６０４でＮｏ）、何もせずにステップ６０６に進む。
【００６９】
次に、分割条件ｐのノードに対する四隅ノードｉｎｄｅｘを、それぞれｌｔ，ｌｂ，ｒｔ，ｒｂに設定する（６０６）。このとき、ｌｔをｒｂ＋１に設定し、マップサイズ２１２に従って残りの変数を設定できる。
【００７０】
次に、ノードマッピング部１０９は、Ｓｗ、Ｓｈに値を設定する（６０７）。本実施例では、ノードｌｔとｒｔとの距離、ｌｔとｌｂとの距離を、マップサイズに従って均等分割した値を設定する。
【００７１】
次に、ノードマッピング部１０９は、Ｓｈの各要素にｙを加算する（６０８）。ｘ軸方向に移動したい場合、変数ｘを定義して、ｙと同様の処理をＳｗに適用すればよい。
【００７２】
次に、ノードマッピング部１０９は、ノードｌｔ〜ｒｂの座標をＰｏｓに設定する（６０９）。この処理は、例えば、ＳＯＭのノード構造においてｉ行ｊ列の位置のノードの座標を、（Ｓｗ［ｉ］，Ｓｈ［ｊ］）で設定するとよい。
【００７３】
そして、ステップ６０３からステップ６０８のループが終了すると、Ｐｏｓをノードの初期座標としてＭＤＳを適用する（６１０）。
【００７４】
次に、ノードマッピング部１０９は、結果を保存領域に格納し（６１１）、ノードマッピング処理を終了する。
【００７５】
図７は、本実施例の出力処理３０５のフローチャートである。
【００７６】
まず、出力処理部１１０は、加重平均スコアを列挙して、加重平均スコアテーブル１１８を生成する（７０１）。加重平均スコアテーブル１１８は、前述したように、分割条件ごとに加重平均スコアを分け、各説明変数のスコアを絶対値の降順にソートし、変数名ともに列挙したものである。
【００７７】
次に、出力処理部１１０は、ノードベクトルの成分マップを表示する（７０２）。成分マップは、同一条件における各ノードの特定の説明変数３１９又は目的変数２２０の値を、ＳＯＭのノードの幾何学的構造とマップサイズによって可視化したものである。例えば、マップサイズがｍ×ｎのときの説明変数ｉの成分マップは、ノード情報テーブルの同一条件ＩＤの全ノードにおける説明変数ｉの値を、その値に対応した色でｍ×ｎの画像として表示する。
【００７８】
本実施例の成分マップは、図８に例示するように、特定の分割条件に対して、説明変数２１９ごとに、ノードの幾何学的構造に基づいて、説明変数３１９の値を画像化している。また、ステップ４０３において、目的変数２０２も加えたベクトルに対する処理を行った場合には、目的変数２２０を用いた成分マップも表示可能である。成分マップによって、各説明変数間の相関や、説明変数と目的変数との間の相関関係などを視覚的に把握できる。
【００７９】
次に、出力処理部１１０は、ヒットマップを表示する（７０３）。ヒットマップは、ステップ７０２の可視化手法を用いて、ヒット数２１６（又はその対数）又はヒット率２１７を可視化したものである。
【００８０】
本実施例のヒットマップは、図９に例示するように、ヒット率２１７の対数に基づいた色分けによってヒット数を画像化している。また、図のようにヒット数の数値を表示してもよい。ヒットマップによって、学習データの分布において密度の濃いノードなどを把握できる。
【００８１】
次に、出力処理部１１０は、スコアマップを表示する（７０４）。スコアマップは、ステップ７０２の可視化手法を用いて、特定の説明変数に対するスコア２２７又は目的スコアを可視化したものである。
【００８２】
本実施例のスコアマップは、図１０に例示するように、説明変数ごとのスコア２２７に基づいた色分けによってスコア２２７を画像化している。例えば、スコアが０の場合を緑に設定し、プラス方向に赤、マイナス方向に青へと段階的に変化する色分けを行うことで、どのノード位置で、どの説明変数の影響度が強いかを容易に把握できる。また、図のように、該当する説明変数の成分マップと模様を比較することで、影響度が高いノードにおける説明変数の値の様子を把握できる。
【００８３】
次に、出力処理部１１０は、ノードマップを表示する（７０５）。ノードマップは、ステップ３０４で算出したノードごとの座標２１８によって、各ノードを低次元空間上の点として可視化したものである。このとき、各ノードを表す点の形や色などは、ノード情報テーブルの説明変数の値、目的変数の値、スコアテーブルの説明変数ごとのスコア、目的スコア、分割条件などによって設定するとよい。
【００８４】
本実施例のノードマップは、図１１に例示するように、各分割条件におけるノードの座標２１８に基づいて、２次元空間にノードをプロットしたものである。また、特定の分割条件におけるノードの幾何学的構造を格子状の線によって表示してもよい。ノードマップによって、複数の分割条件での各ノードの位置関係を把握できる。例えば、現在ランクを分割条件とした場合に、距離が近いノードを見ることで、ランクが上がる可能性や下がるリスクが高そうなノードを容易に探し出せる。それら近隣ノードとの特徴の違いは、ノード情報テーブルの値を直接比較したり、成分マップを用いて比較できる。
【００８５】
そして、処理を終了する。
【００８６】
なお、前述した可視化手法はユーザの指示によって任意の順序で実行可能であり、それらを組み合わせて同時に表示してもよい。
【００８７】
以上に説明したように、本実施例のデータ分析システムは、機械学習モデルが学習時に用いた複数の説明変数からなる入力データセット又は前記説明変数が加工されたデータセットからなる入力データセットを、指定された分割条件で分割し、前記分割された各データセットの分布構造の特徴を表す特徴ノードを算出する特徴ノード算出部１０７と、前記特徴ノードを含む入力データの近傍データを生成し、前記生成された近傍データの説明変数と、前記近傍データを前記機械学習モデルに入力して得られた目的変数のデータとに基づいて、当該説明変数と当該目的変数との関係性を表すスコアを算出するスコア算出部１０８と、前記スコアを含む出力結果を出力する出力処理部１１０とを備える。このため、学習済の機械学習モデルに対し、分割条件が示すターゲット層ごとに、説明変数が目的変数に与える影響度を算出し可視化できる。また、分布構造の特徴を表す特徴ノードによって、学習データより少ないデータでデータセットの特徴を表すことができる。また、学習データが少なく、網羅されていなくても、近傍データによってデータセットの特徴を表して、特徴ノードを補完できる。つまり、少ないデータでデータセットの特徴を表して、演算量を低減できる。
【００８８】
また、特徴ノード算出部１０７は、自己組織化マップが適用された前記入力データセットに基づいて特徴ノードを算出するので、特徴ノードを的確に算出できる。
【００８９】
また、特徴ノード算出部１０７は、前記機械学習モデルが学習時に用いた複数の説明変数及び前記機械学習モデルが算出した目的変数からなる入力データセット、又は前記説明変数及び前記目的変数が加工されたデータセットからなる入力データセットを用いて前記特徴ノードを算出するので、目的変数をマップで比較できる。
【００９０】
また、特徴ノード算出部１０７は、特定の説明変数の特定の値又は範囲、及び前記目的変数の要素の特定の値（例えば、最大値）又は範囲の少なくとも一つを含む分割条件、又はこれらの組み合わせによって表現される分割条件によって前記入力データセットを分割するので、ターゲット層を絞り込んだ分析ができる。すなわち、集団全体ではなく、目的によって属性を変えることによって、特定の属性を有する集団のデータを解析できる。
【００９１】
また、スコア算出部１０８は、前記説明変数のデータと前記目的変数のデータとに基づいて線形モデル推定を適用することによって、前記説明変数毎に前記目的変数の形式に対応したスコアを算出するので、線形モデルはシンプルで扱いやすいことから、ユーザにとって分かりやすく、結果に対する信頼性を向上できる。特に、線形モデルでは、複数属性を統合する場合に確率の和で計算可能であるため、ユーザが直感的に分かりやすい。
【００９２】
また、スコア算出部１０８は、前記目的変数中の要素の一部のうち、前記分割条件ごとに指定された部分を集計して目的スコアを算出するので、ターゲット層を絞り込んだ分析ができる。すなわち、集団全体ではなく、目的によって属性を変えることによって、特定の属性を有する集団のデータを解析できる。
【００９３】
また、スコア算出部１０８は、前記算出したスコア及び前記算出した目的スコアについて、前記各分割条件における特徴ノードごとの周辺データの数に基づいて、説明変数ごとに加重平均スコアを算出するので、密度分布を考慮して、データの特性を正しく表せる。
【００９４】
また、各分割条件において、前記各分割条件において、特徴ノード算出部１０７によって算出された特徴ノードを二次元空間にマッピングするノードマッピング部部１０９を備えるので、集団の特性を分かりやすく表すことができる。
【００９５】
また、ノードマッピング部１０９は、前記説明変数ごとの特徴ノードの値と、前記算出されたスコアと、前記スコア及び目的スコアについて算出された加重平均スコアとを、ノードの幾何学的構造に基づいて画像化して表示するためのデータを生成するので、ノード間の距離の関係性を維持しつつ、異なる属性の集団間でデータを比較できる。
【００９６】
また、ノードマッピング部１０９は、前記特徴ノードのベクトル又は目的変数成分を含む特徴ノードのベクトルを、前記分割条件の特徴ノードの幾何学的構造に基づいて初期化した後、多次元尺度構成法を適用してマッピングを行うので、スコアマップによって、影響度が高い属性と低い属性とを分かりやすく表すことができる。
【００９７】
また、入力データセットが、所定時間ごとの説明変数を含む時系列データである場合、当該説明変数を過去のある時点から現時点までの独立した変数として展開したデータを入力データとし、当該展開に用いた規則を格納するので、入力データセットが時系列データであるデータを解析できる。
【００９８】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【００９９】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１００】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１０１】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１０２】
１０１…入力装置
１０２…出力装置
１０３…表示装置
１０４…処理装置
１０５…プログラム
１０６…入力処理部
１０７…特徴ノード算出部
１０８…スコア算出部
１０９…ノードマッピング部
１１０…出力処理部
１１１…記憶装置
１１２…入力データテーブル
１１３…正規化情報テーブル
１１４…分割条件テーブル
１１５…ノード情報テーブル
１１６…ノード距離テーブル
１１７…スコアテーブル
【図１】
2019191895.tif 000004
【図２】
2019191895.tif 000005
【図３】
2019191895.tif 000006
【図４】
2019191895.tif 000007
【図５】
2019191895.tif 000008
【図６】
2019191895.tif 000009
【図７】
2019191895.tif 000010
【図８】
2019191895.tif 000011
【図９】
2019191895.tif 000012
【図１０】
2019191895.tif 000013
【図１１】
2019191895.tif 000014