(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022158233
(43)【公開日】2022-10-17
(54)【発明の名称】相関構造分析装置、相関構造分析方法およびプログラム
(51)【国際特許分類】
G06F 17/15 20060101AFI20221006BHJP
【FI】
G06F17/15
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2021062989
(22)【出願日】2021-04-01
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(74)【代理人】
【識別番号】100161702
【弁理士】
【氏名又は名称】橋本 宏之
(74)【代理人】
【識別番号】100189348
【弁理士】
【氏名又は名称】古都 智
(74)【代理人】
【識別番号】100196689
【弁理士】
【氏名又は名称】鎌田 康一郎
(72)【発明者】
【氏名】安田 秀策
(72)【発明者】
【氏名】佐々木 俊也
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB23
(57)【要約】
【課題】疑似相関の影響を排除した相関関係を分析する方法を提供する。
【解決手段】相関構造分析装置は、複数の変数を含んだデータを取得するデータ読込部と、前記複数の変数のうちの2つの前記変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算する指標計算部と、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価する評価部と、を備え、前記評価部は、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の変数を含んだデータを取得するデータ読込部と、
前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算する指標計算部と、
前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価する評価部と、
を備え、
前記評価部は、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する、
相関構造分析装置。
【請求項2】
前記評価部は、前記2つの変数の相関関係が、相関あり、相関なし、疑似相関、隠れていた相関あり、の何れであるかを評価する、
請求項1に記載の相関構造分析装置。
【請求項3】
第1のサンプル変数と、前記第1のサンプル変数と相関を有する第2のサンプル変数と、前記第1のサンプル変数又は前記第2のサンプル変数と疑似相関を有する第3のサンプル変数と、を生成して、前記閾値を仮設定し、
前記第1のサンプル変数と前記第2のサンプル変数と前記第3のサンプル変数について、仮設定された前記閾値に基づいて前記評価部が相関関係を評価した結果に基づいて、仮設定した前記閾値を評価する閾値算出部、
をさらに備え、
前記閾値算出部は、仮設定した前記閾値が適切であると評価できるまで、前記閾値の仮設定と仮設定した前記閾値に対する評価を繰り返す、
請求項1または請求項2に記載の相関構造分析装置。
【請求項4】
前記閾値算出部は、仮設定した前記閾値の適切さの評価を、Accuracy、Precision、Recall、F1値の4つの評価指標のうちの何れか1つ又は複数を用いて行う、
請求項3に記載の相関構造分析装置。
【請求項5】
前記指標計算部は、前記データ読込部が取得した前記変数ごとのデータ型が、計量尺度を有するデータか、順序尺度を有するデータか、名義尺度を有するデータか、に応じて、異なる計算方法で前記相関指標および前記疑似相関指標を計算する、
請求項1から請求項4の何れか1項に記載の相関構造分析装置。
【請求項6】
前記指標計算部は、
前記2つの変数が計量尺度を有するデータの組合せの場合、前記相関指標として相関係数を計算し、前記疑似相関指標として偏相関係数を計算し、
前記2つの変数が計量尺度を有するデータと順序尺度を有するデータの組合せの場合、計量尺度を有するデータを、順序尺度を有するデータに尺度変換して、前記相関指標として順位相関係数を計算し、前記疑似相関指標として順位偏相関係数を計算する、
請求項1から請求項5の何れか1項に記載の相関構造分析装置。
【請求項7】
前記指標計算部は、
前記2つの変数のうち少なくとも1つが名義尺度を有するデータの場合、前記相関指標として相互情報量を計算し、前記疑似相関指標として条件付き相互情報量を計算し、
前記条件付き相互情報量の計算では、前記2つの変数の相互情報量を計算したのち、前記2つの変数を1つの変数Xとみなし、変数Xと他の変数との相互情報量を計算する、
請求項1から請求項6の何れか1項に記載の相関構造分析装置。
【請求項8】
前記指標計算部は、前記変数Xと他の変数との相互情報量の計算では、前記変数Xについて、前記2つの変数を昇順に並べ替え、その順番を維持しながら前記2つの変数の組合せを複数通り作成し、複数通りの組み合わせ方で作成されたそれぞれの前記変数Xについて、他の変数との間の相互情報量を計算する、
請求項7に記載の相関構造分析装置。
【請求項9】
前記指標計算部は、前記2つの変数のうち少なくとも1つが名義尺度を有するデータの場合、当該データの並び順を複数通り作成し、それぞれの並び順について相互情報量を計算する、
請求項7または請求項8に記載の相関構造分析装置。
【請求項10】
前記複数の変数を平面上に並べて表示し、前記評価部による評価結果に基づいて、前記変数の間の相関関係を表示したネットワーク図を出力する分析結果出力部、
を更に備える請求項1から請求項9の何れか1項に記載の相関構造分析装置。
【請求項11】
前記分析結果出力部は、前記指標計算部の計算結果に基づいて、前記2つの変数の前記相関指標又は前記疑似相関指標の値の大きさに応じて、その相関の強さを色又は濃淡で表現したヒートマップを出力する、
請求項10に記載の相関構造分析装置。
【請求項12】
複数の変数を含んだデータを取得するステップと、
前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算するステップと、
前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価するステップと、
を有し、
前記相関関係を評価するステップでは、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する、
相関構造分析方法。
【請求項13】
コンピュータに、
複数の変数を含んだデータを取得するステップと、
前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算するステップと、
前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価するステップと、
を有し、
前記相関関係を評価するステップでは、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、相関構造分析装置、相関構造分析方法およびプログラムに関する。
【背景技術】
【0002】
データ分析において相関分析を実施し、分析結果を製品開発や業務プロセスの改善などに活用することがある。従来、多変量データに対する分析は、変数間の単純な相関関係を求めるものが多数であり、擬似相関まで分析することは稀である。これにより、分析者の知見、力量によっては、擬似相関を誤って相関があるものとして抽出してしまい、誤判断を誘発し、後工程でのトラブルや手戻りを生じさせる原因となっている。
【0003】
特許文献1には、観測変数に関して得られたデータに基づき、観測変数間における因果関係を示した因果構造のモデル(完全グラフ)の候補を複数生成し、データとの適合度などの観点から、各モデルの評価を行って、評価が最も良いモデルを観測変数の因果構造として決定し、決定した因果構造を表示させる技術が開示されている。特許文献1には、技術的には因果関係がないにも関わらず、あたかも因果関係があるように表示される因果構造の例が挙げられ、このような関係が疑似相関によるものであることが記載されている。しかし、特許文献1に記載の技術によって、必ずしも真の相関と疑似相関の見分けができるわけでは無い。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
疑似相関の影響を排除した相関関係の分析を可能とする技術が求められている。
【0006】
本開示は、上記課題を解決することができる相関構造分析装置、相関構造分析方法およびプログラムを提供する。
【課題を解決するための手段】
【0007】
本開示の相関構造分析装置は、複数の変数を含んだデータを取得するデータ読込部と、前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算する指標計算部と、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価する評価部と、を備え、前記評価部は、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する。
【0008】
本開示の相関構造分析方法は、複数の変数を含んだデータを取得するステップと、前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算するステップと、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価するステップと、を有し、前記相関関係を評価するステップでは、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する。
【0009】
本開示のプログラムは、コンピュータに、複数の変数を含んだデータを取得するステップと、前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算するステップと、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価するステップと、を有し、前記相関関係を評価するステップでは、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する処理を実行させる。
【発明の効果】
【0010】
上述の相関構造分析装置、相関構造分析方法およびプログラムによれば、疑似相関の影響を排除した相関関係を分析することができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態の相関構造分析装置の一例を示すブロック図である。
【
図2】実施形態に係るデータ型と適用可能な相関指標の組合せを示す図である。
【
図3】相関指標の計算方法の説明に用いる図である。
【
図4A】相互情報量の計算方法の説明に用いる第1の図である。
【
図4B】相互情報量の計算方法の説明に用いる第2の図である。
【
図5】疑似相関指標の計算方法の説明に用いる図である。
【
図6】条件付き相互情報量の計算方法の説明に用いる図である。
【
図7】実施形態の条件付き相互情報量の最適化の一例を示す第1の図である。
【
図8】実施形態の条件付き相互情報量の最適化の一例を示す第2の図である。
【
図9】実施形態の条件付き相互情報量の最適化の一例を示す第3の図である。
【
図10】実施形態の条件付き相互情報量の最適化の一例を示す第4の図である。
【
図11】実施形態の疑似相関指標の計算方法について説明する図である。
【
図12】実施形態の相関指標および疑似相関指標の計算結果の一例を示す図である。
【
図13】実施形態の相関関係の評価方法について説明する図である。
【
図14】実施形態の閾値算出方法について説明する図である。
【
図18】実施形態に係る相関構造分析処理の一例を示すフローチャートである。
【
図19】実施形態の相関構造分析装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0012】
<実施形態>
以下、本開示の実施形態に係る相関構造分析方法について、
図1~
図19を参照しながら説明する。
(構成)
図1は、実施形態の相関構造分析装置の一例を示すブロック図である。
本実施形態の相関構造分析装置10は、多変量データの相関関係を分析する。例えば、データA~Dの相関関係を分析する場合、データAとB、AとC、AとD、BとC、BとD、CとDの相関関係を分析する。また、データAとBの相関関係を分析する場合、データC、Dの影響を除いた相関関係を評価する。図示するように相関構造分析装置10は、データ読込部11と、入力部12と、指標計算部13と、評価部14と、閾値算出部15と、分析結果出力部16と、記憶部17と、を備える。
【0013】
データ読込部11は、相関関係を分析する対象となるデータを読み込む。分析対象とする変数の数に制限はないが、データA~Dの4つの変数を読み込むものとすると、データA~Dは、例えば、各列にデータA~Dがそれぞれ格納され、各行のデータA~Dが対応する1組のデータとして構成されたCSVファイルなどの表形式データとしてまとめられていて、データ読込部11は、この表形式データを読み込む。
【0014】
データ読込部11が読み込むデータは、数値データとカテゴリデータの2種類に分類される。数値データは、気温、速度など数値で表される計量尺度を持つデータ(以下、計量データと記載する。)又は、1位、2位、3位など順序や序列に意味はあるが間隔には意味が無い順序尺度を持つデータ(以下、順位データと記載する。)である。カテゴリデータは、性別、郵便番号、住所など他と区別し分類するための名義尺度を持つデータ(以下、名義データと記載する。)である。計量データ、順位データ、名義データをデータ型と呼ぶ。
【0015】
入力部12は、キーボード、マウス、タッチパネル、ボタン等の入力装置を用いて構成される。入力部12は、入力装置を用いて入力された情報を受け付け、その情報を指標計算部13等に出力する。
【0016】
指標計算部13は、データ読込部11が読み込んだデータの相関関係を分析する。例えば、データA~Dが読み込まれ、データAとデータBの相関関係を分析する場合、指標計算部13は、データAとデータBの相関指標と疑似相関指標を計算し、各指標の統計的妥当性を確認する。同様に、指標計算部13は、他の変数の組合せについても相関指標および疑似相関指標を計算する。指標計算部13は、データ型(計量データ、順位データ、名義データ)に応じて相関指標の分析方法を変更する。一般に計量データの相関分析では相関係数(ピアソンの累積相関係数)が相関指標として用いられ、T検定によって妥当性のチェックが行われることが多い。順位データの相関分析では順位相関係数(スピアマンの順位相関係数)が相関指標として用いられ、T検定によって妥当性のチェックが行われることが多い。名義データの相関分析では連関係数(相互情報量)が相関指標として用いられ、χ
2検定やG2検定によって妥当性のチェックが行われることが多い。指標計算部13は、分析対象変数のデータ型に基づいて、相関係数、順位相関係数、相互情報量の何れかの指標を選択して、選択した指標に応じた計算方法によって、相関指標と疑似相関指標を計算する。データ型と指標の対応表を
図2に示す。
【0017】
図2は、データ型と適用可能な相関指標の組合せを示す図である。指標計算部13は、
図2の表において丸印があればその分析方法によって、丸印が無く三角印があればその分析方法によって、相関指標などを計算する。丸印は読み込んだデータをそのまま用いて指標を計算することが可能で、三角印は読み込んだデータを尺度変換してから指標の計算をすることを示す。例えば、一方の変数が計量データで、他方の変数が順位データであれば、計量データを区切って順位データに変換してから両者の相関指標などを計算する。例えば、変数1と変数2の相関を分析する場合、変数1と変数2が共に計量データの場合、指標計算部13は、相関係数と疑似相関係数を計算する(項番1)。変数1が順位データで変数2が計量データの場合、指標計算部13は、計量データを順位データに尺度変換して、順位相関係数と順位疑似相関係数を計算する(項番2)。変数1が名義データで変数2が計量データの場合、指標計算部13は、計量データを名義データに尺度変換して、相互情報量と条件付き相互情報量を計算する(項番4)。他の組合せについても同様である。各指標の計算方法については後述する。
【0018】
評価部14は、指標計算部13が計算した相関指標と疑似相関指標に基づいて、変数間の相関関係を評価する。具体的には、評価部14は、変数間の相関関係が「(真の)相関あり」、「疑似相関」、「隠れていた相関」、「相関なし」の何れであるかを評価する。
閾値算出部15は、評価部14が相関関係の評価に用いる閾値を算出する。
【0019】
分析結果出力部16は、評価部14による評価結果を表示する。また、分析結果出力部16は、指標計算部13で計算した相関指標、疑似相関指標および統計的妥当性の指標をグラフなどに表示して出力する。
記憶部17は、データ読込部11が読み込んだデータ、指標計算部13の計算結果、判定に用いる閾値など各種データを記憶する。
【0020】
<相関指数の計算>
指標計算部13は、
図2の表に応じて、(a)相関係数、(b)順位相関係数、(c)相互情報量の何れかの相関指標とそれぞれのp値とを計算する。このとき、(a)相関係数、(b)順位相関係数の算出では、数値データのみを対象に行列形式で係数が算出される。また、(c)相互情報量の算出では、数値データ・カテゴリデータともに行列形式で係数が算出される。
【0021】
(a)相関係数
(線形)相関係数の計算方法は公知である。データ列X
pとデータ列X
q(共にデータ数はm個)の相関係数ρ
pqはEを期待値とすると、公式により
図3の式(1)となる。データテーブルX=[x
1、x
2、・・・、x
n]とすると、(線形)相関行列Cは、Xの分散共分散行列を用いて
図3の式(2)で計算することができる。ただし、diag(シグマ)
-1/2は、分散共分散行列の対角成分以外(共分散成分)を0とし、対角成分を-1/2乗した行列である。またT検定に用いるt値は、
図3の式(3)を用いて計算する。このようにして、指標計算部13は、公知の方法によって、相関係数とt値を計算し、t値からp値を計算する。
【0022】
(b)順位相関係数
順位相関係数の計算方法は公知である。順位相関係数行列は、データ列Xpとデータ列Xqの各列の変数を小さい値から順に1、2、・・・と番号付けしたうえで、相関係数行列を算出することで求められる。また、相関係数の場合と同様に
図3の式(3)を用いてt値を計算する。
【0023】
(c)相互情報量
相互情報量は、MIC(Maximum Information Coefficient)と呼ばれる公知の手法によって計算することができる。以下、
図4A、
図4Bを参照して、簡単に計算手順を説明する。
図4Aのグリッドの各点は、変数1と変数2を組合せた1つのデータを示す。このようなデータが20個取得できた場合の変数1(
図4Aのx)と変数2(
図4Aのy)の相互情報量は以下の手順で計算する。
(手順1)変数1をソートし、なるべく同数となるよう均等に値をまとめてn分割する。
図4Aの例の場合、xは3分割されている。
(手順2)変数2を値ごとにm分割し、分割したときの相互情報量を計算する。なお、相互情報量ではなく、代わりにAICやBICなどの情報量基準を用いてもよい。
図4Aの例の場合、yは3分割されている。相互情報量の計算は、m×nに区切ってできたマスごとに以下の式(4)の計算を行い、全てのマスについての計算結果を合計したものが、今回のm×nの分割方法に対する相互情報量となる。
p(x,y)・log(p(x,y)/p(x)・p(y)))・・・(4)
p(x,y)はxとyが共に対象マスに含まれる確率、p(x)はデータが対象マスのxと同じ列に含まれる確率、p(y)はデータが対象マスと同じ行に含まれる確率である。
図4Aに例示する計算例は中央のマス(x、yのラベルが共に1の場合)についての計算結果である。
【0024】
(手順3)n,mの値を変えて異なった方法で分割を行い、相互情報量を計算する。全ての分割方法の中で、相互情報量が最大となったときのMIC相関を変数1と変数2の間の相関指標値とする。また、この値を相互情報量行列における変数1と変数2の相関指標を示す値とする。
一例として、4つの変数の場合について説明する。4変数それぞれi,j,k,lのラベル(マスの番号)を有する点の数をC
ijklと表す。また、特にラベルを指定しない場合、・で表記する。このとき、1、2番目の変数(変数1、変数2)のMIC相関I
12の計算式を
図4Bの式(5)に示す。なお、n
minは1,2番目の変数のうち少ない方のラベルの数(
図4Aの例では3個)を表し、mは全データ数(
図4Aの例では20個)を表す。
【0025】
(手順4)変数1、2以外の他の変数の組み合わせについて、手順1~3を繰り返し実行し、各変数間の相互情報量を計算し、相互情報量行列を計算する。
また、相互情報量について、G2検定によってp値を計算する。具体的には、P(X、Y)=P(X)・P(Y)を帰無仮説として、変数1,2のラベル数がそれぞれn1,n2の場合、
図4Bの式(6)の値G12が自由度(n
1-1)・(n
2-1)のχ
2分布に従うとしてχ
2検定し、p値を計算する。
【0026】
<疑似相関指数の計算>
指標計算部13は、
図2の表に応じて、(d)疑似相関係数、(e)疑似順位相関係数、(f)条件付き相互情報量の何れかの疑似相関指標とそれぞれのp値とを計算する。このとき、(d)疑似相関係数、(e)順位相関係数の算出では、数値データのみを対象に、行列形式で係数が算出される。また、(f)相互情報量の算出では、数値データ・カテゴリデータともに行列形式で係数が算出される。
【0027】
(d)疑似相関係数(線形偏相関係数)
線形偏相関係数の計算方法は公知である。偏相関係数の算出では、対象の変数以外の変数で、対象の変数を説明する重回帰モデルを構築し、重回帰モデルのモデル化誤差の相関を求める。分析対象のデータをxp、xq、重回帰モデルによるxp、xqの推定値をxp~、xq~とし、重回帰モデルのモデル化誤差をx´p=xp-xp~、x´q=xq-xq~とすると、重回帰モデルのモデル化誤差の相関ρ
p´q´は公式により、
図5の式(7)で表すことができる。相関係数の場合と同様にして、偏相関行列P´は、Iを単位行列とすると、
図5の式(8)で計算することができる。また、T検定におけるt値は、相関係数と同様の方法により計算する。このように指標計算部13は、公知の方法によって、線形偏相関係数とt値、p値を計算する。
【0028】
(e)疑似順位相関係数(順位偏相関係数)
順位偏相関係数の計算方法は公知である。順位偏相関係数行列は、データ列Xpとデータ列Xqの各列の変数を小さい値から順に1、2、・・・と番号付けしたうえで、線形偏相関係数行列を算出することで求められる。また、T検定におけるt値は、疑似相関係数(線形偏相関係数)と同様の方法により計算する。
【0029】
(f)条件付き相互情報量
条件付き相互情報量は、以下の手順で計算される。この計算方法は、本実施形態に特徴的な手法である。
(手順1)変数1と変数2の相互情報量を計算し、相互情報量が最大となる分割数、分割位置(分割後のデータの分布)を取得する。
この計算は、相関指数の計算で説明したMICと同様である。
(手順2)手順1で得られた分割における変数1と変数2の組み合わせを1つの変数Xとみなし、この変数Xと相互情報量が最大となる変数3~Nの分割を得る。例えば、変数1~3について、変数1,2の条件付き相互情報量を求める場合、変数Xと変数3の間でMICと同様の処理を行い、相互情報量が最大となる分割数、分割位置を取得する。他の変数4~Nについても、変数Xとの間で最大となる相互情報量を求める。
【0030】
(手順3)変数3~Nの下での変数1と変数2の条件付き相互情報量を算出する。
手順1、2の結果に基づいて、変数1と変数2の相互情報量から変数3~Nの影響を除いたMIC偏相関を計算する。ここで、変数1、2に対する変数3、4の条件付き相互情報量をI
12|34とし、変数p,q、rに対するエントロピをH
pqrと記載すると、I
12|34=H
134+H
234-H
34-H
1234、と記述できる。このときのMIC偏相関I
12|34は、
図6の式(9)で計算する。なお、n
minは1,2番目の変数のうち少ない方のラベルの数を表す。mはデータ数を表す。
【0031】
(手順4)変数1,2の組合せ以外の他の全ての変数の組み合わせについて、手順1~3を繰り返し適用し、各変数間の疑似相関を排除した相関の度合いを計算する。
また、条件付き相互情報量については、G2検定によってp値を計算する。具体的には、P(X,Y,Z,W)=P(X,Z,W)・P(Y,Z,W)/P(Z,W)を帰無仮説とする。変数1、2、3、4のラベル数がそれぞれn
1,n
2,n
3,n
4とした場合、
図6の式(10)の値G
12|34が自由度(n
1-1)・(n
2-1)・n
3・n
4のχ
2分布に従うとしてχ
2検定し、p値を計算する。
【0032】
(手順2の最適化)
上記の(手順2)において、変数1と変数2の分割の組み合わせを最適化することが望ましい。例えば、(手順1)のMICによって、変数1がa1、a2、a3、・・・と昇順に分割され、変数2がb1,b2,b3,・・・と昇順に分割されているものとする。このとき、(手順2)では変数1と変数2の組み合わせを変数Xとみなすことから、(ai,bj)を1つの変数とみなし、新たにラベルc1,c2,c3,・・・を与えることになる。このとき、c1,c2,c3,・・・は昇順に付与される必要がある。a,bがともに昇順に並んでいることから、c1=(a1,b1)となることは自明であるが、c2を(a1,b2)とすべきか、(a2,b1)とすべきか不明である。そこで、本実施形態では(ai,bj)の順序を全探索するため、jに対するiの増加比率をrと定め、r・i+(1-r)・jの小さい順に(ai,bj)を並び替えて順にc1,c2,c3,・・・とラベルを付与する。そして、このラベルckに対し、相互情報量が最大となるよう第三の変数を分割し、相互情報量を求める。さらに、すべての増加比率rに対して最大の相互情報量を算出し、最も大きくなるラベルckおよび第三変数の分割を求める。この処理には多大な計算を要するため、適宜間引きや打ち切りを行ってもよい。以下、(手順2)の最適化について例を挙げて説明する。
【0033】
MICを利用した相互情報量の計算では、カテゴリデータは序数(並び順)の割り当て、数値データは値で分割したうえでの序数の割り当てを行う必要がある。MICでは、数値データの分割に、もう一方の変数の序数に基づいた動的分割手法を採用している。この動的分割手法では、分割・序数割り当て後の変数間相互情報量が最大となるよう、動的プログラミングを用いて分割の区切りを決定し、数値の大小をもとに分割ごとに序数を割り当てている。そのため、片方の序数が変わると、もう一方の変数の分割結果が変わる。例えば、ある変数がカテゴリデータ(名義データ)、もう一方の変数が数値データ(計量データ又は順位データ)の場合は、カテゴリデータに割り当てる序数の順序によって、動的分割手法の結果が変わり、数値データの分割結果が変わる。したがって、相互情報量を計算する変数がカテゴリデータと数値データの場合、最適な相互情報量の計算のために、カテゴリデータに割り当てる序数を最適化する必要がある。カテゴリデータに割り当てる順序の最適化では、全探索を行えばよい。すなわち、カテゴリと序数の順列組み合わせを計算し、すべての組み合わせから、最も相互情報量の高い最適な順序の序数を算出すればよい。
【0034】
今、変数1、2に対する変数3の条件付き相互情報量を求めることを考える。変数1、2の序数は、それぞれの値の関係から、通常のMICと同じ方法で算出することができる。しかし、条件付き相互情報量の算出のためには、変数3も序数にする必要がある。変数3がカテゴリデータの場合は、そのままカテゴリごとに序数を割り当てればよいが、変数3が数値データの場合は、MICと同様の動的分割手法を適用し、序数を割り当てる必要がある。MICと同様の動的分割手法を適用するには、変数3の基準となるような、変数1、2の両方を加味した序数を定義する必要がある。本実施形態では、変数1,2の組み合わせに序数を割り当て、新たな変数Xとみなす。例えば、変数1、2がそれぞれ3,4分割されているとする。このとき、
図7(a)の表のように変数Xの序数を定義すれば、これまでと同様の方法で、変数Xを基準に変数3を分割することが可能となる。
【0035】
一方、変数Xの与え方は、変数1序数と変数2序数の大小関係さえ維持できていればよいので、
図7~
図10に示すように複数通り考えられる。先に述べた通り、片方の序数が変わると、もう一方の変数の分割結果が変わる。したがって、変数Xの序数によって変数3の分割結果が変わるため、手順2)において変数Xの序数の最適化が必要となる。
【0036】
ここで、変数Xへの序数の与え方を一般化する。変数1の序数をi、変数2の序数をjとし、新たなパラメータとして増加率r(0≦r≦1)を定義する。変数Xの序数を計算するための指標として、O(r)=r・i+(1-r)・jを定義する。このO(r)の小さい順に序数を与えることで、変数1の序数と変数2の序数の大小関係を維持した変数Xの任意の序数を与えられる。たとえば、
図7の表で例示した変数Xの序数はr=0.9、
図8の変数Xの序数はr=0.1、
図9の変数Xの序数はr=0.6、
図10の変数Xの序数はr=0.7で得ることができる。
【0037】
なお、r=sin(p)とすれば、pは、変数1と変数2の序数の平面における直線の角度を表すことになる。変数Xの順序の最適化では、rまたはpについて全探索を行い、最も相互情報量の高い最適な順序の序数を算出する。これにより、第三の変数の最適な分割が得られる。
【0038】
(変数がカテゴリデータの場合の最適化)
また、変数のいずれかがカテゴリデータの場合、カテゴリデータの数値化が必要となるが、数値化についても最適化することが望ましい。例えば、「りんご」「みかん」「なし」のような名義データを考える。これらをMICで処理するためには、それぞれのラベルに対し1、2、3、・・・のように序数を割り当てる必要がある。各ラベルには順序が存在しないことから、2、3、1、・・・のように、異なる順序で序数を割り当てることができる。しかし、MICではヒューリスティックな動的プログラミングによる変数分割を行っているため、この序数の順序によって異なる結果が得られる。したがって、特に一方がカテゴリデータでもう一方が数値データの場合は、MICをカテゴリデータに対し盲目的に使用することでは適切な相互情報量を得ることができない。そこで、本実施形態では、ラベルの順列すべてに対し相互情報量を評価することで、最大の相互情報量を算出する方法を用いる。具体的には、ラベルa1、a2、a3、・・・に対し、1,2,3・・・、2,1,3・・・、・・・のように並び替えた序数を割り当て、それぞれに対し、変数2の相互情報量を算出して、全体で最大の相互情報量となる数値順を算出することで、ラベルに対する割り当てるべき数値順を定める。ただし、この処理には多大な計算を要するため、適宜間引きや打ち切りを行ってもよい。なお、カテゴリデータの最適化は、相互情報量の計算、条件付き相互情報量の計算の何れにも適用することができる。
【0039】
図11は、疑似相関指標の他の計算方法について説明する図である。
上記では、変数1、2以外の全ての変数3・・・Nに対する擬似相関指標、擬似順位相関指標、条件付き相互情報量の算出方法(2対多)を示した。この様子を
図10(b)に示す。
図10(b)のA(変数1)とB(変数2)が重なる領域の大きさは、AとBの相関関係の大きさを示す。この領域に対してCやDが重なる範囲は、CやDの影響でAとBに相関が生じているように見えるつまり疑似相関の大きさを示している。AとBの真の相関を把握したい場合、
図10(b)に示すようにAとBが重なる範囲からCやDが重なる範囲を除外した残りの範囲(偏相関係数)を求めることが一般的である。
【0040】
これに対し、
図10(a)に示すように、A(変数1)とB(変数2)が重なる領域からCが重なる範囲のみを除外した残りの範囲と、Dが重なる範囲のみを除外した残りの範囲と、をそれぞれ計算し、その値が小さいものをAとBの偏相関として計算してもよい。これは、最も悪い偏相関となる変数、つまりAとBの相関関係に最も大きな影響を与える変数を見つけたい場合などに有効である。この処理は、別途、変数A、Bと変数Cで構成されるサブデータ1をメモリ上に作成して擬似相関指標を算出し、変数A、Bと変数Dで構成されるサブデータ2を作成して擬似相関指標を算出し、擬似相関指標の値が最も小さくなったときの変数を特定することによって実行することができる。例えば、変数1がプラントの運転状態を示す変数で、変数2が運転状態と相関する運転パラメータであるばあい、最も影響の大きい変数3(C)、変数4(D)を見つけ、その影響の大きさを計算することで、プラントの運転状態と真に相関する運転パラメータを見極めることができる。
【0041】
図12は、実施形態の相関指標および疑似相関指標の計算結果の一例を示す図である。
指標計算部13が、変数のデータ型に応じた方法で相関指標、疑似相関指標、p値を計算し終えると、
図12に例示するような結果が得られる。
図12(a)には、変数A~C間の相関指標値(データ型の組合せに応じて計算された相関係数、順位相関係数、相互情報量の何れか)とp値の対応表が記載されている。この表の左下半分の領域にはp値、右上半分の領域には計算した指標値の値が記載されている。
図12(b)には、変数A~C間の疑似相関指標値(データ型の組合せに応じて計算された疑似相関係数、疑似順位相関係数、条件付き相互情報量の何れか)とp値の対応表が記載されている。
【0042】
図13は、実施形態の相関関係の評価方法について説明する図である。
変数間の相関指標と疑似相関指標が算出されると、評価部14が、
図13に示す評価基準に基づいて変数間の相関関係を評価する。例えば、評価部14は、変数1と変数2の相関指標を閾値1と比較して、相関指標が閾値1以上か、閾値1未満かを判定する。評価部14は、変数1と変数2の疑似相関指標を閾値2と比較して、疑似相関指標が閾値2以上か、閾値1未満かを判定する。相関指標が閾値1以上で疑似相関指標を閾値2以上の場合、評価部14は、変数1と変数2には真の相関があると評価する。相関指標が閾値1以上で疑似相関指標を閾値2未満の場合、評価部14は、変数1と変数2は疑似相関であると評価する。相関指標が閾値1未満で疑似相関指標を閾値2以上の場合、評価部14は、変数1と変数2には隠れていた相関があると評価する。相関指標が閾値1未満で疑似相関指標を閾値2未満の場合、評価部14は、変数1と変数2には相関がないと評価する。
【0043】
図14は、実施形態の閾値算出方法について説明する図である。
上記の評価に用いる閾値1、閾値2は、分析者が任意に定めることができる。しかし、閾値算出部15が、次のようにして設定してもよい。
閾値算出部15が、分析対象と同数のサンプルデータ1を生成する(ステップS1)。次に閾値算出部15が、サンプルデータ1と真の相関があるサンプルデータ2、サンプルデータ3を生成する(ステップS2)。例えば、閾値算出部15は、サンプルデータ1を所定の関数Fx1(例えば2次関数)に入力して、関数Fx1の出力をサンプルデータ2とする。閾値算出部15は、サンプルデータ1を別の関数Fx2(例えば指数関数)に入力して、関数Fx2の出力をサンプルデータ3とする。閾値算出部15は、関数Fx1、Fx2が出力した値にさらにノイズを付加して、サンプルデータ2、3を生成してもよい。以上により、真の相関を持つサンプルデータ1とサンプルデータ2の組合せと、サンプルデータ1とサンプルデータ3の組合せが得られる。また、疑似相関をもつサンプルデータ2とサンプルデータ3の組合せが得られる。
【0044】
なお、サンプルデータの生成方法は、ここで説明した方法に限定されず、真の相関を持つサンプルデータと疑似相関を持つサンプルデータを分析対象データと同数生成できれば、他の方法でサンプルデータを生成してもよい。
【0045】
次にサンプルデータ1~3を入力として、指標計算部13が、各データ間の相関指標と疑似相関指標を計算する(ステップS3)。次に閾値算出部15は、相関指標に判定に用いる閾値1と疑似相関指標の判定に用いる閾値2の仮の値をランダムに設定する(ステップS4)。評価部14が、閾値算出部15によって仮設定された閾値1と閾値2に基づいて、サンプルデータ1~3について相関関係を評価する(ステップS5)。
【0046】
次に閾値算出部15が、ステップS3で計算された相関指標と疑似相関指標に基づいて、TP、FN、TN、FPの各値を算出する(ステップS6)。ここで、TPとは「真の相関を正しく真の相関として抽出した件数」である。FNとは「真の相関を誤って擬似相関として抽出した件数」である。TNとは「擬似相関を正しく擬似相関として抽出した件数」である。FPとは「擬似相関を誤って真の相関として抽出した件数」である。
【0047】
例えば、真の相関を有するサンプルデータ1~3のデータ数が100件であって、評価部14がステップS4にて、サンプルデータ1とサンプルデータ2は相関あり、サンプルデータ1とサンプルデータ3は疑似相関、サンプルデータ2とサンプルデータ3は相関あり、と評価したとする。すると、TPの値は、1000件(サンプルデータ1とサンプルデータ2は真の相関があり、そのように評価された。)である。FNの値は、1000件(サンプルデータ1とサンプルデータ3は真の相関があるにもかかわらず、疑似相関と評価された。)。TNの値は、0件(サンプルデータ2、3は疑似相関にもかかわらず、相関ありと評価された。)である。FPの値は、1000件(サンプルデータ2、3は疑似相関にもかかわらず、相関ありと評価された。)である。
【0048】
次に閾値算出部15が、ステップS5で算出したTP、FN、TN、FPの値を用いて、仮設定した閾値1、2に基づくサンプルデータに対する相関関係の評価結果に対する評価指標値を計算する(ステップS7)。閾値算出部15は、相関関係の評価結果を所定の評価指標によって評価することにより、仮設定した閾値1,2を評価する。例えば、閾値算出部15は、評価指標として、Accuracy(正解率)、Precision(適合率)、Recall(再現率)、F1値のうちの1つ又は2以上の指標を用いて閾値1,2の評価を行う。これらの指標のいずれを重視するかは、ユーザによって設定されてもよい。各指標の値は、以下の式で計算することができる。
Accuracy = (TP+TN)/(TP+FP+TN+FN)
Precision = TP/(TP+FP)
Recall = TP/(TP+FN)
F1 = (2×Recall×Precision)/(Recall+Precision)
これら、Accuracy、Precision、Recall、F1は、例えば、機械学習の分野で用いられる指標値である。閾値算出部15は、Accuracy、Precision、Recall、F1をのうち使用するものについて、上の各式を用いて評価値を計算する。複数の評価指標を用いる場合、閾値算出部15は、各評価指標の加重和を用いて閾値の適正さの評価を行ってもよい。
【0049】
次に閾値算出部15は、ステップS7で計算した評価指標値が適正かどうか判定する(ステップS8)。閾値算出部15は、評価指標値の値を所定の閾値と比較して許容範囲内であれば、適切な評価指標値が得られたと判定し、今回仮設定した閾値1、2を正式な閾値として記憶部17に記録して閾値の算出処理を終了する。評価指標値の値が許容範囲外であれば、ステップS4以降の処理を繰り返し実行する。
【0050】
<分析結果の表示>
評価部14による相関関係の評価が終了すると、記憶部17には、指標計算部13によって計算された各変数間の相関指標値および疑似相関指標値の値と、評価部14によって評価された「相関あり」、「疑似相関」、「隠れていた相関」、「相関なし」の何れかの評価結果が記録される。分析結果出力部16は、分析結果を人が理解しやすい形式に変換して表示する。例えば、分析結果出力部16は、相関指標行列ならびに擬似相関指標行列を記憶部17から読み出して、ネットワーク図として描画する。
図15にネットワーク図の一例を示す。ネットワーク
図100では変数を丸型のノードとして表現し、関係のあるノードを線(エッジ)で繋ぐことにより相関関係の有無を表現する。分析結果出力部16は、評価部14の評価結果に応じて、エッジの表示態様(色や線の種類)を変更して表示する。また、分析結果出力部16は、ノードの付近には各変数の名前を表示し、エッジの付近に相関係数や偏相関係数の値、p値などを表示する。これにより、ユーザは、ノード間の関係を容易に把握することができる。また、従来の相関係数のみで抽出できていなかった「隠れていた相関」関係や、誤って抽出していたと考えられる「擬似相関」を確認でき、相関分析の信頼性を向上することができる。
【0051】
また、分析結果出力部16は、変数間の相関関係の大小を色や濃淡で表現したヒートマップを作成して表示してもよい。
図16に変数間の相関指標値のヒートマップ200と、疑似相関指標値のヒートマップ201とを示す。ヒートマップ200、201の縦軸と横軸には、変数名が記載され、縦軸に記載された変数aと横軸に記載された変数bが交わる領域に変数a,bの相関係数又は偏相関係数の値に応じた色が表示される。色が濃い程、相関係数などの値が大きい。ヒートマップを表示することにより、ユーザは、全ての変数についての相関関係を俯瞰的にとらえることができる。分析結果出力部16は、ユーザが、マウスなどである領域を選択すると、その領域に関する2つの変数の名称や相関係数の値などを前面に拡大して表示してもよい(ホバーウィンドウ)。
【0052】
また、分析結果出力部16は、特定変数に対する相関指標の可視化として、棒グラフを表示してもよい。
図17に特定の変数Xと他の変数A、B,C、・・・の間の偏相関係数の値を定量的に示した棒グラフ300を示す。棒グラフ300を参照することにより、ユーザは、特定変数Xに対する相関の大きさの定量的な比較を行うことができる。
なお、相関分析における補足情報として、分析結果出力部16は、実データの分布の確認手段として散布図を表示してもよい(図示せず)。
【0053】
(動作)
次に
図18を参照して、本実施形態の相関構造分析処理の流れについて説明する。
図18は、実施形態に係る相関構造分析処理の一例を示すフローチャートである。
まず、データ読込部11が、複数の変数に関するデータを取得する(ステップS10)。例えば、データ読込部11は、変数A~Dのデータが多数記録された電子ファイルを読み込む。データ読込部11は、読み込んだデータを記憶部17に記録する。
次にユーザが、相関関係の評価を指示する操作を相関構造分析装置10に対して行う。入力部12は、この操作を受け付け、指標計算部13に出力する。指標計算部13は、データ型に基づいて、相関指標とp値を計算する(ステップS20)。指標計算部13は、変数AとB、変数AとC、変数AとD、変数BとC、変数BとD、変数CとDの相関指標とp値を計算する。指標計算部13は、
図2の表に従って、計量データ同士であれば、相関係数を計算する。2つの変数の組合せが順位データと、計量データ又は順位データであれば、指標計算部13は、計量データについて順位付けを行って、順位相関係数を計算する。2つの変数の組合せが名義データと、それ以外のデータ型であれば、指標計算部13は、他のデータについて尺度変換を行って相互情報量を計算する。2つの変数の組合せが名義データ同士の場合は、指標計算部13は、そのまま(尺度変換しないで)相互情報量を計算する。指標計算部13は、計算した相関指標とp値を変数の組合せごとに記憶部17に記録する。
【0054】
指標計算部13は、データ型に基づいて、疑似相関指標とp値を計算する(ステップS30)。指標計算部13は、変数AとB、変数AとC、変数AとD、変数BとC、変数BとD、変数CとDの疑似相関指標とp値を計算する。例えば、変数AとBに関する疑似相関指数について、指標計算部13は、変数AとBの相関に対して変数C,D両方の影響を排除した偏相関を計算するが、変数Cの影響だけを排除した場合と、変数Dの影響だけを排除した場合の両方を計算し、値が小さい方を採用してもよい(
図11)。指標計算部13は、データ型に基づいて、疑似相関係数、順位疑似相関係数、条件付き疑似相関係数の何れかを計算する。ステップS20で説明したように、指標計算部13は、必要に応じて適宜、尺度変換を行って、条件付き相互情報量などの計算を行う。指標計算部13は、計算した疑似相関指標とp値を変数の組合せごとに記憶部17に記録する。
【0055】
次に閾値の設定を行う(ステップS40)。ユーザが、相関指標を判定する為の閾値1と疑似相関指標を判定するための閾値2を相関構造分析装置10に入力してもよい。閾値算出部15は、ユーザが入力した閾値1,2を、入力部12を通じて取得し、記憶部17に記録する。あるいは、閾値算出部15は、
図14で説明した処理によって閾値1,2を設定してもよい。
【0056】
次に評価部14が、変数の組合せごとに相関関係を評価する(ステップS50)。評価部14は、ステップS20、S30の計算結果と、ステップS40で設定された閾値と、
図13に示す評価ロジックと、に基づいて、変数AとB、変数AとC、変数AとD、変数BとC、変数BとD、変数CとDの相関関係が「(真の)相関あり」、「疑似相関」、「隠れていた相関」、「相関なし」の何れであるかを評価し、その評価結果を変数の組合せごとに記憶部17に記録する。
【0057】
次に分析結果出力部16が、分析結果を表示する(ステップS60)。分析結果出力部16は、記憶部17から、各変数間の相関指標値、疑似相関指標値、評価結果(「相関あり」など)を読み出して、
図15に例示するネットワーク
図100、
図16に例示するヒートマップ200,201、
図17に例示する棒グラフ300などを作成する。分析結果出力部16は、作成したグラフ類を表示装置に表示したり、電子ファイルへ出力したりする。
【0058】
(効果)
以上説明したように、本実施形態によれば、多変量データの相関分析を自動的に実行することができる。また、相関分析にあたっては、疑似相関の影響を排除して真に相関があるかどうかを分析することができる。また、相関の有無だけではなく、「疑似相関」、「隠れていた相関」を検出することができる。また、指標計算部13は、データ型に応じて適切な方法で相関指標、疑似相関指標を自動的に計算するので、ユーザは、様々なデータ型が混在する複数の変数についても、当該変数のデータを相関構造分析装置10に入力するだけでよく、尺度変換などの作業を行う必要が無い。また、カテゴリデータ(名義データ)の尺度変換については、指標計算部13は、最適化(「(変数がカテゴリデータの場合の最適化)」)処理を実行することができるので、正確な相互情報量、条件付き相互情報量を計算することができる。また、本実施形態によれば、分析結果をネットワーク図などで表示することができる。これにより、ユーザにとって理解しやすい相関構造を表示することができる。
【0059】
図19は、実施形態の相関構造分析装置のハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。
上述の相関構造分析装置10は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0060】
なお、相関構造分析装置10の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
なお、相関構造分析装置10は、複数のコンピュータ900によって構成されていても良い。
【0061】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0062】
<付記>
各実施形態に記載の相関構造分析装置、相関構造分析方法およびプログラムは、例えば以下のように把握される。
【0063】
(1)第1の態様に係る相関構造分析装置10は、複数の変数を含んだデータを取得するデータ読込部11と、前記複数の変数のうちの2つの変数の相関を示す相関指標と、他の変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算する指標計算部13と、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価する評価部14と、を備え、前記評価部14は、前記2つの変数に疑似相関を排除した相関関係があるか否かを評価する。
これにより、疑似相関の影響を排除した相関関係を把握することができる。
【0064】
(2)第2の態様に係る相関構造分析装置10は、(1)の相関構造分析装置10であって、前記評価部14は、前記2つの変数の相関関係が、相関あり、相関なし、疑似相関、隠れていた相関あり、の何れであるかを評価する。
これにより、相関の有無だけではなく、2つの変数の間の「隠れていた相関」や「疑似相関」を認知することができる。
【0065】
(3)第3の態様に係る相関構造分析装置10は、(1)~(2)の相関構造分析装置10であって、第1のサンプル変数と、前記第1のサンプル変数と相関を有する第2のサンプル変数と、前記第1のサンプル変数又は前記第2のサンプル変数と疑似相関を有する第3のサンプル変数と、を生成して、前記閾値を仮設定し、前記第1のサンプル変数と前記第2のサンプル変数と前記第3のサンプル変数について、仮設定された前記閾値に基づいて前記評価部が相関関係を評価した結果に基づいて、仮設定した前記閾値を評価する閾値算出部15、をさらに備え、前記閾値算出部15は、仮設定した前記閾値が適正であると評価できるまで、前記閾値の仮設定と仮設定した前記閾値に対する評価を繰り返す。
これにより、相関指標と疑似相関指標の判定に用いる閾値を自動で設定することができる。
【0066】
(4)第4の態様に係る相関構造分析装置10は、(3)の相関構造分析装置10であって、前記閾値算出部15は、仮設定した前記閾値の適正さの評価を、Accuracy、Precision、Recall、F1値の4つの評価指標のうちの何れか1つ又は複数を用いて行う。
機械学習の分野でモデルの評価に用いる評価指標を用いて閾値の精度を評価する。4つの評価指標を適切に組み合わせて用いることで、所望の性質を有する閾値を設定することができる。例えば、Precisionを重視することでFPを抑え、Recallを重視することでFNを抑えるような閾値を得ることができる。
【0067】
(5)第5の態様に係る相関構造分析装置10は、(1)~(4)の相関構造分析装置10であって、前記指標計算部13は、前記データ読込部11が取得した前記変数ごとのデータ型が、計量尺度を有するデータか、順序尺度を有するデータか、名義尺度を有するデータか、に応じて、異なる計算方法で前記相関指標および前記疑似相関指標を計算する。
これにより、どのようなデータ型の変数が読み込まれても、自動的に適切な方法で、相関指標および疑似相関指標を計算することができる。
【0068】
(6)第6の態様に係る相関構造分析装置10は、(1)~(5)の相関構造分析装置10であって、前記指標計算部13は、前記2つの変数が計量尺度を有するデータの組合せの場合、前記相関指標として相関係数を計算し、前記疑似相関指標として偏相関係数を計算し、前記2つの変数が計量尺度を有するデータと順序尺度を有するデータの組合せの場合、計量尺度を有するデータを、順序尺度を有するデータに尺度変換して、前記相関指標として順位相関係数を計算し、前記疑似相関指標として順位偏相関係数を計算する。
これにより、変数が計量データ又は順位データの場合に、相関指標と疑似相関指標を計算することができる。
【0069】
(7)第7の態様に係る相関構造分析装置10は、(1)~(6)の相関構造分析装置10であって、前記指標計算部13は、前記2つの変数のうち少なくとも1つが名義尺度を有するデータの場合、前記相関指標として相互情報量を計算し、前記疑似相関指標として条件付き相互情報量を計算し、前記条件付き相互情報量の計算では、前記2つの変数の相互情報量を計算したのち、前記2つの変数を1つの変数Xとみなし、変数Xと他の変数との相互情報量を計算する。
これにより、変数がカテゴリデータの場合に、相関指標と疑似相関指標を計算することができる。特に、カテゴリデータに対する疑似相関指標の計算方法は確立されていなかったが、条件付き相互情報量を計算により、カテゴリデータの疑似相関指標を計算することができる。
【0070】
(8)第8の態様に係る相関構造分析装置10は、(7)の相関構造分析装置10であって、前記指標計算部13は、前記変数Xと他の変数との相互情報量の計算では、前記変数Xについて、前記2つの変数を昇順に並べ替え、その順番を維持しながら前記2つの変数の組合せを複数通り作成し、複数通りの組み合わせ方で作成されたそれぞれの前記変数Xについて、他の変数との間の相互情報量を計算する。
これにより、条件付き相互情報量の計算において妥当な計算結果を得ることができる。
【0071】
(9)第9の態様に係る相関構造分析装置10は、(7)~(8)の相関構造分析装置10であって、前記指標計算部は、前記2つの変数のうち少なくとも1つが名義尺度を有するデータの場合、当該データの並び順を複数通り作成し、それぞれの並び順について相互情報量を計算する。
これにより、相互情報量および条件付き相互情報量の計算において妥当な計算結果を得ることができる。
【0072】
(10)第10の態様に係る相関構造分析装置10は、(1)~(9)の相関構造分析装置10であって、前記複数の変数を平面上に並べて表示し、前記評価部による評価結果に基づいて、それぞれの前記変数の間の相関関係を表示したネットワーク図を出力する分析結果出力部、を更に備える。
これにより、各変数間の相関関係(相関の有無、疑似相関、隠れていた相関)を可視化することができる。
【0073】
(11)第11の態様に係る相関構造分析装置10は、(10)の相関構造分析装置10であって、前記分析結果出力部は、前記指標計算部の計算結果に基づいて、前記2つの変数の前記相関指標又は前記疑似相関指標の値の大きさに応じて、その相関の強さを色又は濃淡で表現したヒートマップを出力する。
これにより、各変数間の相関の強さを可視化することができる。
【0074】
(12)第12の態様に係る相関構造分析方法は、複数の変数を含んだデータを取得するステップと、前記複数の変数のうちの2つの前記変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算するステップと、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価するステップと、を有し、前記相関関係を評価するステップでは、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する。
【0075】
(13)第13の態様に係るプログラムは、コンピュータ900に、複数の変数を含んだデータを取得するステップと、前記複数の変数のうちの2つの前記変数の相関を示す相関指標と、他の前記変数の影響を除いた前記2つの変数の相関を示す疑似相関指標と、を計算するステップと、前記相関指標および前記疑似相関指標とそれぞれの指標に対する所定の閾値とに基づいて、前記2つの変数の相関関係を評価するステップと、を有し、前記相関関係を評価するステップでは、前記2つの変数の間に疑似相関を排除した相関関係があるか否かを評価する処理を実行させる。
【符号の説明】
【0076】
10・・・相関構造分析装置
11・・・データ読込部
12・・・入力部
13・・・指標計算部
14・・・評価部
15・・・閾値算出部
16・・・分析結果出力部
17・・・記憶部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース