IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

<>
  • 特許-重要度算出装置、方法及びプログラム 図1
  • 特許-重要度算出装置、方法及びプログラム 図2
  • 特許-重要度算出装置、方法及びプログラム 図3
  • 特許-重要度算出装置、方法及びプログラム 図4
  • 特許-重要度算出装置、方法及びプログラム 図5
  • 特許-重要度算出装置、方法及びプログラム 図6
  • 特許-重要度算出装置、方法及びプログラム 図7
  • 特許-重要度算出装置、方法及びプログラム 図8
  • 特許-重要度算出装置、方法及びプログラム 図9
  • 特許-重要度算出装置、方法及びプログラム 図10
  • 特許-重要度算出装置、方法及びプログラム 図11
  • 特許-重要度算出装置、方法及びプログラム 図12
  • 特許-重要度算出装置、方法及びプログラム 図13
  • 特許-重要度算出装置、方法及びプログラム 図14
  • 特許-重要度算出装置、方法及びプログラム 図15
  • 特許-重要度算出装置、方法及びプログラム 図16
  • 特許-重要度算出装置、方法及びプログラム 図17
  • 特許-重要度算出装置、方法及びプログラム 図18
  • 特許-重要度算出装置、方法及びプログラム 図19
  • 特許-重要度算出装置、方法及びプログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】重要度算出装置、方法及びプログラム
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20240729BHJP
   G06N 20/00 20190101ALI20240729BHJP
【FI】
G06Q10/04
G06N20/00
【請求項の数】 12
(21)【出願番号】P 2021150352
(22)【出願日】2021-09-15
(65)【公開番号】P2023042925
(43)【公開日】2023-03-28
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】田中 孝浩
(72)【発明者】
【氏名】道庭 賢一
(72)【発明者】
【氏名】春木 耕祐
(72)【発明者】
【氏名】小澤 政博
【審査官】池田 聡史
(56)【参考文献】
【文献】国際公開第2021/048902(WO,A1)
【文献】特開2019-121162(JP,A)
【文献】特開2020-024542(JP,A)
【文献】韓国登録特許第10-1768533(KR,B1)
【文献】森下光之助,“3章 特徴量の重要度を知る ~Permutation Feature Importance~”,機械学習を解釈する技術 予測力と説明力を両立する実践テクニック,初版,株式会社技術評論社,2021年08月17日,pp.53~88
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の説明変数及び一の目的変数に関する各値を含む各サンプルが所定の順序に並ぶデータを取得するデータ取得部と、
前記データにおいて前記複数の説明変数の各値と前記目的変数の各値との間の第1対応関係を各サンプル間でランダム化した第1データと、前記第1データにおいて前記複数の説明変数のうち一以上の対象説明変数の各値と前記目的変数の各値との間の対応関係を前記第1対応関係に復元した第2データとを生成する順序変換部と、
前記第1データに基づき前記目的変数の各値について第1予測値と、前記第2データに基づき前記目的変数の各値について第2予測値とを計算する予測部と、
前記目的変数の各値と前記第1予測値との間の第1予測誤差と、前記目的変数の各値と前記第2予測値との間の第2予測誤差とを計算する予測誤差計算部と、
前記第1予測誤差と、前記第2予測誤差とに基づき前記対象説明変数の重要度を算出する重要度算出部と、
を具備する重要度算出装置。
【請求項2】
前記順序変換部は、前記データにおいて前記複数の説明変数の各値を各サンプル間でランダムに並べ替えた前記第1データと、前記第1データにおいて前記対象説明変数の各値を各サンプル間で前記データの前記所定の順序に並べ替えた前記第2データとを生成する、
請求項1に記載の重要度算出装置。
【請求項3】
前記順序変換部は、前記データにおいて前記目的変数の各値を各サンプル間でランダムな第1順序に並べ替えた前記第1データと、前記第1データにおいて前記対象説明変数の各値を各サンプル間で前記第1順序に並べ替えた前記第2データとを生成する、
請求項1に記載の重要度算出装置。
【請求項4】
前記予測部は、機械学習モデルを用いて前記第1予測値と前記第2予測値とを計算する、
請求項1から請求項3のいずれか1項に記載の重要度算出装置。
【請求項5】
前記重要度算出部は、前記第1予測誤差と前記第2予測誤差との間の差分又は変化率を前記対象説明変数の重要度として算出する、
請求項1から請求項4のいずれか1項に記載の重要度算出装置。
【請求項6】
前記順序変換部は、グループ指定情報により指定された二以上の説明変数から成るグループを前記対象説明変数として前記第2データを生成する、
請求項1から請求項5のいずれか1項に記載の重要度算出装置。
【請求項7】
前記グループ指定情報は、同一のカテゴリデータから生成された二以上の説明変数を指定する、
請求項6に記載の重要度算出装置。
【請求項8】
前記データにおいて前記複数の説明変数に含まれる二の説明変数から成るペアごとに相関係数を計算する相関計算部、をさらに具備し、
前記順序変換部は、前記相関係数が閾値以上である前記ペアを前記対象説明変数として前記第2データを生成する、
請求項1から請求項5のいずれか1項に記載の重要度算出装置。
【請求項9】
前記データにおいて前記複数の説明変数に含まれる二の説明変数から成るペアごとに相関係数を計算する相関計算部、をさらに具備し、
前記順序変換部は、前記ペアのうち一方の説明変数が前記対象説明変数である場合、前記ペアに関する相関係数の絶対値が小さいほど、前記第1データにおいて前記ペアのうち他方の説明変数の各値を各サンプル間で並べ替える割合を減少させて前記第2データを生成する、
請求項1から請求項5のいずれか1項に記載の重要度算出装置。
【請求項10】
前記対象説明変数の重要度をグラフ化して表示する表示部、をさらに具備する
請求項1から請求項9のいずれか1項に記載の重要度算出装置。
【請求項11】
コンピュータが、
複数の説明変数及び一の目的変数に関する各値を含む各サンプルが所定の順序に並ぶデータを取得
前記データにおいて前記複数の説明変数の各値と前記目的変数の各値との間の第1対応関係を各サンプル間でランダム化した第1データと、前記第1データにおいて前記複数の説明変数のうち一以上の対象説明変数の各値と前記目的変数の各値との間の対応関係を前記第1対応関係に復元した第2データとを生成
前記第1データに基づき前記目的変数の各値について第1予測値と、前記第2データに基づき前記目的変数の各値について第2予測値とを計算
前記目的変数の各値と前記第1予測値との間の第1予測誤差と、前記目的変数の各値と前記第2予測値との間の第2予測誤差とを計算
前記第1予測誤差と、前記第2予測誤差とに基づき前記対象説明変数の重要度を算出する、
要度算出方法。
【請求項12】
コンピュータに、
複数の説明変数及び一の目的変数に関する各値を含む各サンプルが所定の順序に並ぶデータを取得するデータ取得機能と、
前記データにおいて前記複数の説明変数の各値と前記目的変数の各値との間の第1対応関係を各サンプル間でランダム化した第1データと、前記第1データにおいて前記複数の説明変数のうち一以上の対象説明変数の各値と前記目的変数の各値との間の対応関係を前記第1対応関係に復元した第2データとを生成する順序変換機能と、
前記第1データに基づき前記目的変数の各値について第1予測値と、前記第2データに基づき前記目的変数の各値について第2予測値とを計算する予測機能と、
前記目的変数の各値と前記第1予測値との間の第1予測誤差と、前記目的変数の各値と前記第2予測値との間の第2予測誤差とを計算する予測誤差計算機能と、
前第1予測誤差と、前記第2予測誤差とに基づき前記対象説明変数の重要度を算出する重要度算出機能と、
を実現させる重要度算出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、重要度算出装置、方法及びプログラムに関する。
【背景技術】
【0002】
近年、工場での製造工程の監視や疾病の発症リスクの予測等の種々のタスクに機械学習が応用されている。特に、後者のような人間の健康に関わるタスクには、予測に用いる機械学習モデル(以下、「モデル」と呼ぶ)の説明性が要請される。モデルによる予測の根拠を示す一例として、特定の説明変数が予測に及ぼす寄与の程度を表す変数重要度がある。変数重要度は、例えばPI(Permutation Importance)により評価される。PIは、テストデータに含まれる特定の説明変数に関する各値を各サンプル間でランダムに並べ替えたデータをモデルに入力して得られた予測誤差が、当該テストデータを当該モデルに入力して得られた予測誤差と比較してどの程度増加するかに基づき算出される。PIは、モデルの予測精度と密接に関連するため変数重要度として直感的に理解しやすい。
【0003】
しかしながら、複数の説明変数間に強い相関(多重共線性:multicollinearity)が存在する場合、PIが過小評価されてしまう。これは、特定の説明変数に関する各値をサンプル間でランダムに並べ替えることで当該説明変数の予測への寄与を失わせても、当該説明変数と強く相関する他の説明変数により予測が可能であるため、前者の予測誤差が本来の値よりも増加しないことが原因である。したがって、上記の場合、重要度の算出対象となる説明変数が本来有する変数重要度を適切に算出することができない。
【先行技術文献】
【非特許文献】
【0004】
【文献】Hemant Ishwaran, “Variable importance in binary regression trees and forests”, Electronic Journal of Statistics, Institute of Mathematical Statistics and Bernoulli Society, 2007, Vol.1, p.519-537
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする課題は、変数重要度を適切に算出することである。
【課題を解決するための手段】
【0006】
実施形態に係る重要度算出装置は、データ取得部と、順序変換部と、予測部と、予測誤差計算部と、重要度算出部とを具備する。データ取得部は、複数の説明変数及び一の目的変数に関する各値を含む各サンプルが所定の順序に並ぶデータを取得する。順序変換部は、前記データにおいて前記複数の説明変数の各値と前記目的変数の各値との間の第1対応関係を各サンプル間でランダム化した第1データと、前記第1データにおいて前記複数の説明変数のうち一以上の対象説明変数の各値と前記目的変数の各値との間の対応関係を前記第1対応関係に復元した第2データとを生成する。予測部は、前記第1データに基づき前記目的変数の各値について第1予測値と、前記第2データに基づき前記目的変数の各値について第2予測値とを計算する。予測誤差計算部は、前記目的変数の各値と前記第1予測値との間の第1予測誤差と、前記目的変数の各値と前記第2予測値との間の第2予測誤差とを計算する。重要度算出部は、前記第1予測誤差と、前記第2予測誤差とに基づき前記対象説明変数の重要度を算出する。
【図面の簡単な説明】
【0007】
図1】第1実施形態に係る重要度算出装置の機能構成例を示すブロック図。
図2】第1実施形態に係る重要度算出装置のハードウェア構成例を示すブロック図。
図3】第1実施形態に係る重要度算出装置の動作例を示すフロー図。
図4】テストデータの一例を示す図。
図5】第1データの第1例を示す図。
図6】第2データの第1例を示す図。
図7】第1データの第2例を示す図。
図8】第2データの第2例を示す図。
図9】従来手法に係る並べ替えデータの一例を示す図。
図10】テストデータの別の例を示す図。
図11】第1実施形態に係る重要度算出装置の使用例を示す図。
図12】第2実施形態に係る重要度算出装置の機能構成例を示すブロック図。
図13】第2実施形態に係る重要度算出装置の動作例を示すフロー図。
図14】第2データの第3例を示す図。
図15】第2データの第4例を示す図。
図16】第2実施形態に係る重要度算出装置の使用例を示す図。
図17】第2実施形態に係る重要度算出装置の別の使用例を示す図。
図18】第3実施形態に係る重要度算出装置の機能構成例を示すブロック図。
図19】第3実施形態に係る重要度算出装置のハードウェア構成例を示すブロック図。
図20】第3実施形態に係る重要度算出装置の動作例を示すフロー図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら実施形態に係る重要度算出装置、方法及びプログラムについて説明する。以下の実施形態では、同一の参照符号を付した部分は同様の動作を行うものとして、重複する説明を適宜、省略する。
【0009】
(第1実施形態)
図1は、第1実施形態に係る重要度算出装置10の機能構成例を示すブロック図である。重要度算出装置10は、特定の説明変数(対象説明変数とも呼ぶ)に関する変数重要度を算出するための装置である。本実施形態において、変数重要度はPI(Permutation Importance)であると想定する。重要度算出装置10は、各構成としてデータ取得部1、順序変換部2、予測部3、予測誤差計算部4及び重要度算出部5を含む。
【0010】
データ取得部1は、データ取得部1の外部から種々のデータを取得する。本実施形態において、データ取得部1は複数の説明変数及び一の目的変数に関する各値を含む各サンプルが所定の順序に並ぶデータ201(図4を参照)を取得する。すなわち、データ201はテーブル形式のデータである。データ201は、データ201と同様な訓練データを用いて事前に訓練されたモデル202の予測精度をテストするために使用され得る。当該観点から、データ201はテストデータ又はOOB(Out-Of-Bag)データとも呼ぶ。データ取得部1は、取得したデータ201を順序変換部2に出力する。
【0011】
順序変換部2は、データ取得部1から入力された種々のデータの順序を変換することで、種々のデータを生成する。本実施形態において、順序変換部2はデータ201において複数の説明変数の各値と目的変数の各値との間の第1対応関係を各サンプル間でランダム化したデータ203(第1データとも呼ぶ)を生成する。また、順序変換部2はデータ203において複数の説明変数のうち一以上の対象説明変数の各値と目的変数の各値との間の対応関係を第1対応関係に復元したデータ204(第2データとも呼ぶ)を生成する。第1実施形態において、対象説明変数は1つであると想定する。順序変換部2は、生成したデータ203,204を予測部3及び予測誤差計算部4のそれぞれに出力する。例えば、順序変換部2はデータ203,204を以下の第1例又は第2例に示す方法に従って生成する。
【0012】
第1例によれば、順序変換部2はデータ201において複数の説明変数の各値を各サンプル間でランダムに並べ替えたデータ203A(図5を参照)を生成する。また、順序変換部2はデータ203Aにおいて対象説明変数の各値を各サンプル間でデータ201の所定の順序に並べ替えたデータ204A(図6を参照)を生成する。
【0013】
第2例によれば、順序変換部2はデータ201において目的変数の各値を各サンプル間でランダムな第1順序に並べ替えたデータ203B(図7を参照)を生成する。また、順序変換部2はデータ203Bにおいて対象説明変数の各値を各サンプル間で第1順序に並べ替えたデータ204B(図8を参照)を生成する。
【0014】
第1例に係るデータ203A及び第2例に係るデータ203Bはいずれも、データ201において複数の説明変数の各値と目的変数の各値との間の対応関係を各サンプル間でランダム化したデータ203の一例である。したがって、順序変換部2が第1例のように複数の説明変数の各値を各サンプル間でランダムに並べ替えることは、順序変換部2が第2例のように目的変数の各値を各サンプル間でランダムに並べ替えることと同義である。一方、第1例に係るデータ204A及び第2例に係るデータ204Bは、データ203A及びデータ203Bのそれぞれにおいて対象説明変数の各値と目的変数の各値との間の対応関係をデータ201における対応関係(第1対応関係に相当)に復元したデータ204の一例である。したがって、順序変換部2が第1例のようにデータ203Aにおいて対象説明変数の各値を各サンプル間でデータ201の所定の順序に並べ替えることは、順序変換部2が第2例のようにデータ203Bにおいて対象説明変数の各値を各サンプル間でデータ203Bの目的変数の各値の順序(第1順序に相当)に並べ替えることと同義である。
【0015】
予測部3は、順序変換部2から入力された種々のデータに基づき種々の予測結果を計算する。本実施形態において、予測部3はデータ203に基づき目的変数の各値について予測値205(第1予測値とも呼ぶ)を計算する。また、予測部3はデータ204に基づき目的変数の各値について予測値206(第2予測値とも呼ぶ)を計算する。ここでは、予測部3は予測部3の外部から取得されたモデル202を用いて予測値205,206を計算する。すなわち、予測部3はデータ203,204をモデル202に入力することで予測値205,206を計算してもよい。モデル202としては、線形回帰、決定木、ランダムフォレスト、ロジスティック回帰、サポートベクターマシーン、ナイーブベイズ、k近傍法、クラスタリング、アソシエーション分析及びニューラルネットワークを含む任意のモデルが適宜、使用可能である。具体的には、予測部3はデータ203,204に含まれる各サンプルにおいて、複数の説明変数の各値に基づき目的変数の各値について予測値205,206を計算する。予測部3は、計算した予測値205,206を予測誤差計算部4に出力する。
【0016】
予測誤差計算部4は、順序変換部2から入力された種々のデータと、予測部3から入力された種々の予測結果とに基づき種々の予測誤差を計算する。本実施形態において、予測誤差計算部4はデータ203と予測値205とに基づき、データ203における目的変数の各値と予測値205との間の予測誤差207(第1予測誤差とも呼ぶ)を計算する。また、予測誤差計算部4はデータ204と予測値206とに基づき、データ204における目的変数の各値と予測値206との間の予測誤差208(第2予測誤差とも呼ぶ)を計算する。具体的には、予測誤差計算部4はデータ203,204に含まれる各サンプルにおいて、目的変数の各値と予測値205,206との間の予測誤差207,208を計算する。もちろん、各サンプルにおいて計算された予測誤差207,208について相加平均又は相乗平均が計算されてもよい。予測誤差計算部4は、計算した予測誤差207,208を重要度算出部5に出力する。
【0017】
重要度算出部5は、予測誤差計算部4から入力された種々の予測誤差に基づき、対象説明変数に関する変数重要度を算出する。本実施形態において、重要度算出部5は予測誤差207と予測誤差208とに基づき、対象説明変数の重要度209を算出する。具体的には、重要度算出部5は予測誤差207と予測誤差208との間の差分又は変化率を対象説明変数の重要度209として算出する。重要度算出部5は、算出した重要度209を重要度算出部5の外部に出力する。
【0018】
図2は、第1実施形態に係る重要度算出装置10のハードウェア構成例を示すブロック図である。重要度算出装置10は、各構成として処理回路11、メモリ12、ディスプレイ13、入力インタフェース14及び通信インタフェース15を含む。各構成は、共通の信号伝送路であるバスを介して互いに通信可能に接続される。なお、各構成は個々のハードウェアにより実現されなくともよい。例えば、各構成のうち少なくとも2つが1つのハードウェアにより実現されてもよい。
【0019】
処理回路11は、重要度算出装置10の種々の動作を制御する。処理回路11は、ハードウェアとしてCPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサを有する。処理回路11は、プロセッサを介してメモリ12に展開された各プログラムを実行することで、各プログラムに対応する各部(データ取得部1、順序変換部2、予測部3、予測誤差計算部4、重要度算出部5)を実現する。なお、各部は単独のプロセッサから成る処理回路11により実現されなくともよい。例えば、各部は複数のプロセッサを組み合わせた処理回路11により実現されてもよい。
【0020】
メモリ12は、処理回路11が使用するデータやプログラム等の情報を記憶する。メモリ12は、ハードウェアとしてRAM(Random Access Memory)等の半導体メモリ素子を有する。なお、メモリ12は、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク)、光磁気ディスク(MO)、光学ディスク(CD、DVD、Blu-ray(登録商標))、フラッシュメモリ(USBフラッシュメモリ、メモリカード、SSD)、磁気テープ等の外部記憶装置との間で情報を読み書きする駆動装置であってもよい。メモリ12の記憶領域は、重要度算出装置10の内部にあってもよいし、外部記憶装置にあってもよい。本実施形態において、メモリ12はデータ201,203,204、モデル202、予測値205,206、予測誤差207,208、重要度209を記憶してもよい。
【0021】
ディスプレイ13は、処理回路11が生成したデータやメモリ12に格納されるデータ等の情報を表示する。ディスプレイ13として、例えば、ブラウン管(CRT:Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機ELディスプレイ(OELD:Organic Electro-Luminescence Display)、及びタブレット端末等のディスプレイが適宜、使用可能である。本実施形態において、ディスプレイ13は対象説明変数の重要度209をグラフ化して表示してもよい。例えば、ディスプレイ13は重要度209を絵グラフ、棒グラフ、折れ線グラフ、円グラフ、帯グラフ、ヒストグラム及び箱ひげ図を含む任意のグラフにより表示してもよい。なお、ディスプレイ13は処理回路11による制御を介し、上記のグラフを含む種々の情報を表示してもよい。ディスプレイ13は、表示部の一例である。
【0022】
入力インタフェース14は、重要度算出装置10を利用するユーザからの入力を受け付け、受け付けた入力を電気信号に変換して処理回路11に出力する。入力インタフェース14として、マウス、キーボード、トラックボール、スイッチ、ボタン、ジョイスティック、タッチパッド、タッチパネルディスプレイ、マイク等の物理的な操作部品が適宜、使用可能である。もちろん、入力インタフェース14は重要度算出装置10とは別体である外部の入力装置から入力を受け付け、受け付けた入力を電気信号に変換して処理回路11に出力する装置であってもよい。入力インタフェース14は、データ201に含まれる複数の説明変数のうち対象説明変数を指定する旨の入力をユーザから受け付けてもよい。ユーザは、例えばモデル202を構築したエンジニアである。ちなみに、入力インタフェース14は二以上の説明変数から成るグループを指定するグループ指定情報210(第2実施形態を参照)の入力を受け付けてもよい。グループ指定情報210は、同一のカテゴリデータから生成された二以上の説明変数を指定してもよい。
【0023】
通信インタフェース15は、重要度算出装置10の内部及び外部との間で種々のデータを相互に通信する。当該通信には、有線又は無線を問わず任意の通信規格が使用可能である。本実施形態において、通信インタフェース15は重要度算出装置10の外部からデータ201及びモデル202を取得してもよい。また、通信インタフェース15は重要度209を重要度算出装置10の外部に出力してもよい。
【0024】
図3は、第1実施形態に係る重要度算出装置10の動作例を示すフロー図である。ステップS101において、重要度算出装置10はデータ取得部1によりデータを取得する。具体的には、重要度算出装置10は複数の説明変数及び一の目的変数に関する各値を含むデータ201を取得する。
【0025】
ステップS102において、第1例として重要度算出装置10は順序変換部2により全ての説明変数をランダムに並べ替える。具体的には、重要度算出装置10はデータ201に含まれる全ての説明変数に関する各値を各サンプル間でランダムに並べ替えることで、データ203Aを生成する。第2例として、重要度算出装置10は順序変換部2により目的変数をランダムに並べ替える。具体的には、重要度算出装置10はデータ201に含まれる目的変数に関する各値を各サンプル間でランダムに並べ替えることで、データ203Bを生成する。
【0026】
ステップS103において、第1例として重要度算出装置10は順序変換部2により1つの説明変数を元の順序に並べ替える。具体的には、重要度算出装置10はデータ203Aに含まれる全ての説明変数のうち1つの対象説明変数に関する各値を、各サンプル間でデータ201における目的変数に関する各値の順序に合わせて並べ替えることで、データ204Aを生成する。第2例として、重要度算出装置10は順序変換部2により1つの説明変数を目的変数の順序に並べ替える。具体的には、重要度算出装置10はデータ203Bに含まれる全ての説明変数のうち1つの対象説明変数に関する各値を、各サンプル間でデータ203Bにおける目的変数に関する各値の順序(第1順序に相当)に合わせて並べ替えることで、データ204Bを生成する。
【0027】
ステップS104において、重要度算出装置10は予測部3により目的変数を予測する。具体的には、重要度算出装置10はデータ203A,203Bに含まれる目的変数の各値について、データ203A,203Bに含まれる全ての説明変数の各値から予測値205を計算する。また、重要度算出装置10はデータ204A,204Bに含まれる目的変数の各値について、データ204A,204Bに含まれる全ての説明変数の各値から予測値206を計算する。
【0028】
ステップS105において、重要度算出装置10は予測誤差計算部4により予測誤差を計算する。具体的には、重要度算出装置10はデータ203A,203Bに含まれる目的変数の各値と予測値205との間の予測誤差207を計算する。また、重要度算出装置10はデータ204A,204Bに含まれる目的変数の各値と予測値206との間の予測誤差208を計算する。例えば、重要度算出装置10は各サンプルについて計算された各予測誤差207,208の二乗値を計算し、計算された二乗値の総和を各サンプルの総数で除算することで最終的な予測誤差207,208を計算してもよい。最終的な予測誤差207,208は平均二乗誤差(MSE:Mean Squared Error)とも呼ぶ。
【0029】
ステップS106において、重要度算出装置10は重要度算出部5により重要度を計算する。具体的には、重要度算出装置10は予測誤差207と予測誤差208とに基づき、対象説明変数の重要度209を算出する。重要度算出装置10は、予測誤差207と予測誤差208との間の差分又は変化率を対象説明変数の重要度209として算出する。
【0030】
ある計算方法によれば、重要度算出装置10は予測誤差207から予測誤差208を減算した差分(式:予測誤差207-予測誤差208)を、対象説明変数の重要度209として算出する。予測誤差207は、モデル202が行う予測に如何なる説明変数も寄与しない場合におけるモデル202の予測誤差である。一方、予測誤差208はモデル202が行う予測に対象説明変数が寄与し、残りの説明変数が寄与しない場合におけるモデル202の予測誤差である。したがって、本計算手法は、全ての説明変数がモデル202の予測に寄与しない場合の予測誤差207が、対象説明変数がモデル202の予測に寄与する場合の予測誤差208と比較してどの程度減少するかに基づき重要度209を算出するといえる。算出された重要度209には、対象説明変数と相関する他の説明変数の寄与が含まれないため、重要度209は対象説明変数が本来有する変数重要度であるといえる。
【0031】
別の計算方法によれば、重要度算出装置10は予測誤差207から予測誤差208を減算した差分を予測誤差207により除算した変化率(式:(予測誤差207-予測誤差208)/予測誤差207)を、対象説明変数の重要度209として算出する。上記と同様に、本計算方法により算出された重要度209は対象説明変数が本来有する変数重要度であるといえる。
【0032】
ステップS107において、重要度算出装置10は全ての説明変数について重要度を計算したか否かを判定する。具体的には、重要度算出装置10はデータ201に含まれる全ての説明変数のそれぞれについて重要度209を算出したか否かを判定する。重要度算出装置10が全ての説明変数について重要度209を算出していない場合(ステップS107のNo)、処理はステップS103に戻る。重要度の算出対象となる説明変数の数をN(Nは自然数)と仮定した場合、ステップS103からS106までの一連の処理はN回実行される。一方、重要度算出装置10が全ての説明変数について重要度209を算出した場合(ステップS107のYes)、処理は終了する。
【0033】
図4は、テストデータ(データ201)の一例を示す図である。データ201において、3つの説明変数(X、X、X)及び1つの目的変数yに関する各値を含む100個のサンプル(サンプル1-100)が、サンプル番号の昇順に並ぶ。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,1、説明変数Xの値X2,1及び説明変数Xの値X3,1が格納される。換言すれば、「サンプル1」において複数の説明変数の各値と目的変数の値との間には対応関係がある。同様に、他の各サンプルにおいて複数の説明変数の各値と目的変数の値との間には対応関係がある。なお、各サンプルにおける対応関係を示すため、あるサンプル及び当該サンプルに格納される各変数の値はそれぞれ同一の添え字を含む。例えば、「サンプル1」及び「サンプル1」に格納される各変数の値(y、X1,1、X2,1、X3,1)はそれぞれ同一の添え字「1」を含む。具体的には、添え字「1,1」は、説明変数Xの「サンプル1」の値を示し、添え字「3,2」は、説明変数Xの「サンプル2」の値を示す。
【0034】
図5は、第1データの第1例(データ203A)を示す図である。データ203Aは、データ201に含まれる全ての説明変数に関する各値を各サンプル間でランダムに並べ替えたデータである。具体的には、データ203Aにおいて3つの説明変数(X、X、X)に関する各値が、100個のサンプル間でランダムに並べ替えられている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,3、説明変数Xの値X2,3及び説明変数Xの値X3,3が格納される。同様に、「サンプル2」には目的変数yの値y、説明変数Xの値X1,27、説明変数Xの値X2,27及び説明変数Xの値X3,27が格納される。このように、データ203Aにおいてはデータ201における複数の説明変数(X、X、X)の各値と目的変数yの各値との間の対応関係が、各サンプル間でランダム化されている。
【0035】
本実施形態において、重要度算出装置10がデータ201における全ての説明変数に関する各値をランダム化する際には、データ201の各サンプルについて複数の説明変数(X、X、X)の各値の対応関係を維持した状態で、目的変数の各値と複数の説明変数の各値との対応関係をランダム化すればよい。
【0036】
図6は、第2データの第1例(データ204A)を示す図である。データ204Aは、データ203Aに含まれる全ての説明変数のうち1つの対象説明変数に関する各値を、各サンプル間でデータ201における目的変数に関する各値の順序に並べ替えたデータである。ここでは、3つの説明変数(X、X、X)のうち対象説明変数として「説明変数X」が指定されている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,1、説明変数Xの値X2,3及び説明変数Xの値X3,3が格納される。同様に、「サンプル2」には目的変数yの値y、説明変数Xの値X1,2、説明変数Xの値X2,27及び説明変数Xの値X3,27が格納される。このように、データ204Aにおいては、データ203Aにおける対象説明変数Xの各値と目的変数yの各値との間の対応関係が、各サンプル間でデータ201における対応関係に復元される。一方、データ204Aにおける他の説明変数(X、X)の各値と目的変数yの各値との対応関係は、各サンプル間でデータ203Aにおける対応関係と同様である。
【0037】
図7は、第1データの第2例(データ203B)を示す図である。データ203Bは、データ201に含まれる目的変数に関する各値を各サンプル間でランダムに並べ替えたデータである。具体的には、データ203Bにおいて目的変数yに関する各値が、100個のサンプル間でランダムに並べ替えられている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,1、説明変数Xの値X2,1及び説明変数Xの値X3,1が格納される。同様に、「サンプル2」には目的変数yの値y27、説明変数Xの値X1,2、説明変数Xの値X2,2及び説明変数Xの値X3,2が格納される。このように、データ203Bにおいてはデータ201における複数の説明変数(X、X、X)の各値と目的変数yの各値との間の対応関係が、各サンプル間でランダム化されている。
【0038】
図8は、第2データの第2例(データ204B)を示す図である。データ204Bは、データ203Bに含まれる全ての説明変数のうち1つの対象説明変数に関する各値を、各サンプル間でデータ203Bにおける目的変数に関する各値の順序(第1順序に相当)に合わせて並べ替えたデータである。ここでは、3つの説明変数(X、X、X)のうち対象説明変数として「説明変数X」が指定されている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,3、説明変数Xの値X2,1及び説明変数Xの値X3,1が格納される。同様に、「サンプル2」には目的変数yの値y27、説明変数Xの値X1,27、説明変数Xの値X2,2及び説明変数Xの値X3,2が格納される。このように、データ204Bにおいては、データ203Bにおける対象説明変数Xの各値と目的変数yの各値との間の対応関係が、各サンプル間でデータ201における対応関係に復元される。一方、データ204Bにおける他の説明変数(X、X)の各値と目的変数yの各値との対応関係は、各サンプル間でデータ203Bにおける対応関係と同様である。
【0039】
図9は、従来手法に係る並べ替えデータ250の一例を示す図である。データ250は、データ201に含まれる全ての説明変数のうち1つの対象説明変数に関する各値を、各サンプル間でランダムに並べ替えたデータである。ここでは、3つの説明変数(X、X、X)のうち対象説明変数として「説明変数X」が指定されている。具体的には、データ250において説明変数Xに関する各値が100個のサンプル間でランダムに並べ替えられている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,3、説明変数Xの値X2,1及び説明変数Xの値X3,1が格納される。同様に、「サンプル2」には目的変数yの値y、説明変数Xの値X1,27、説明変数Xの値X2,2及び説明変数Xの値X3,2が格納される。
【0040】
ここで仮に、従来手法に基づき1つの対象説明変数に関する変数重要度が計算される場合について説明する。従来手法によれば、データ201において対象説明変数に関する各値が各サンプル間でランダムに並べ替えたデータ250(図9を参照)が生成される。続いて、データ201がモデル202に入力されることで得られた予測誤差(第3予測誤差とも呼ぶ)と、データ250がモデル202に入力されることで得られた予測誤差(第4予測誤差とも呼ぶ)との間の差分又は変化率が、対象説明変数の重要度として算出される。
【0041】
ある計算方法によれば、第4予測誤差から第3予測誤差を減算した差分(式:第4予測誤差-第3予測誤差)が、対象説明変数の重要度として算出される。第4予測誤差は、モデル202が行う予測に対象説明変数が寄与せず、残りの説明変数が寄与する場合におけるモデル202の予測誤差である。一方、第3予測誤差はモデル202が行う予測に全ての説明変数が寄与する場合におけるモデル202の予測誤差である。したがって、本計算手法は、対象説明変数がモデル202の予測に寄与しない場合の予測誤差(第4予測誤差)が、全ての説明変数がモデル202の予測に寄与する場合の予測誤差(第3予測誤差)と比較してどの程度増加するかに基づき対象説明変数の重要度を算出するといえる。
【0042】
しかしながら、上記の計算方法により算出された重要度には、対象説明変数と相関する他の説明変数の寄与が含まれる。具体的には、前者の予測誤差(第4予測誤差)には対象説明変数と相関する他の説明変数の寄与が含まれるため、前者の予測誤差は本来の値よりも増加しない。したがって、従来手法に基づき算出される重要度は、対象説明変数が本来有する変数重要度よりも過小評価された値であり、対象説明変数が本来有する変数重要度であるとはいえない。
【0043】
図10は、テストデータの別の例(データ300)を示す図である。データ300は、データ300と同様な訓練データを用いて事前に訓練されたモデル202の予測精度をテストするために使用され得る。データ300は、変数として複数の説明変数(X、X、X、X)と目的変数yとを含む。全ての説明変数のうち、説明変数(X、X、X)の値は標準正規分布N(0,1)に従う。一方、残りの説明変数Xの値は説明変数Xの値により一意に定まる。すなわち、説明変数Xと説明変数Xとの間には強い相関が存在する。また、目的変数yの値は説明変数(X、X)の値及びノイズeの値により一意に定まる。すなわち、説明変数Xの値は目的変数yの値に影響しない。
【0044】
重要度算出装置10は、データ300を用いてモデル202の予測に対する各説明変数(X、X、X、X)の重要度を算出する。ここでは、モデル202はランダムフォレストであり、各説明変数の値から目的変数の値を予測すると想定する。なお、モデル202は、ランダムフォレストに限らず、機械学習で用いられる任意のモデルであればよい。重要度算出装置10は、データ300の一部を用いて事前に訓練されたモデル202に対し、訓練に使用されなかったデータ300の残りの部分に関するデータを用いて各説明変数の重要度を算出する。重要度算出装置10は、提案手法(図3を参照)に係る態様でデータ300を用いて計算し、各説明変数の重要度を算出する。算出された各説明変数の重要度は、例えばグラフ310(図11を参照)のようにディスプレイ13に表示される。また、重要度算出装置10は従来手法(図9を参照)に係る態様でデータ300を用いて計算し、各説明変数の重要度を算出してもよい。従来手法及び提案手法に係る各説明変数の重要度は、共に正規化されてディスプレイ13に表示され得る。なお、重要度算出装置10が提案手法に係る各説明変数の重要度のみを表示する場合は、各説明変数の重要度が正規化される必要はない。
【0045】
図11は、第1実施形態に係る重要度算出装置10の使用例を示す図である。図11において、従来手法及び提案手法に係る態様で算出された各説明変数の正規化重要度がグラフ310により示される。ここでは、重要度算出装置10は、提案手法に係る態様でデータ300を用いて計算して各説明変数の重要度を算出し、従来手法との比較のため算出された重要度を正規化している。グラフ310は箱ひげ図であるが、重要度の表示態様はこれに限られない。他の表示態様として、重要度の中央値又は平均値の少なくとも一方のみが表示されてもよい。また、提案手法に係る各説明変数の重要度のみが表示されてもよい。グラフ310から理解される通り、互いに強く相関する説明変数X、Xの正規化重要度はともに、従来手法において比較的低い値を示し、提案手法において比較的高い値を示す。
【0046】
以上、第1実施形態に係る重要度算出装置10について説明した。重要度算出装置10は、機械学習モデル(モデル202)の予測精度をテストするためのテストデータ(データ201)について、当該テストデータにおける全ての説明変数の各値と目的変数の各値との間の対応関係を各サンプル間でランダム化したデータ(データ203)を生成する。また、重要度算出装置10は、ランダム化したデータにおいて変数重要度の算出対象となる1つの説明変数(対象説明変数)の各値と目的変数の各値との間の対応関係を、テストデータにおける対応関係に復元したデータ(データ204)を生成する。続いて重要度算出装置10は、テストデータから生成された各データ(データ203,204)を機械学習モデルに入力することで、機械学習モデルに全ての説明変数の各値から目的変数の各値を予測させる。さらに重要度算出装置10は、予測結果(予測値205,206)と目的変数の各値との間の予測誤差(予測誤差207,208)を計算する。最後に重要度算出装置10は、計算された予測誤差に基づき、変数重要度の算出対象となる1つの説明変数の変数重要度(重要度209)を算出する。
【0047】
したがって、第1実施形態に係る重要度算出装置10は、変数重要度を適切に算出することができる。また、重要度算出装置10は算出された重要度209をディスプレイ13にグラフ化して表示する。これにより、ユーザは表示された重要度209を確認することで、重要度の算出対象となる特定の説明変数が本来有する変数重要度を確認することができる。さらに、ユーザは表示された重要度209に基づきモデル202を最適化するように構築し直すことができる。加えて、重要度算出装置10はモデル202が行う予測に本来は大きく寄与する説明変数について、ユーザが当該説明変数を重要ではないと見落とす可能性を低減することができる。
【0048】
(第2実施形態)
図12は、第2実施形態に係る重要度算出装置10の機能構成例を示すブロック図である。第2実施形態に係る重要度算出装置10のハードウェア構成は第1実施形態と同様であるため、その説明を省略する。第1実施形態とは異なり、第2実施形態に係る順序変換部2にはグループ指定情報210が入力される。
【0049】
順序変換部2は、順序変換部2の外部からグループ指定情報210を取得する。グループ指定情報210は、二以上の説明変数から成るグループ(説明変数グループとも呼ぶ)を指定する情報である。具体的には、順序変換部2はグループ指定情報210により指定された説明変数グループを、重要度を算出する対象となる対象説明変数としてデータ204を生成する。なお、グループ指定情報210は、1つの説明変数グループに限らず複数の説明変数グループを指定してもよい。この場合、順序変換部2はグループ指定情報210により指定された複数の説明変数グループのそれぞれを対象説明変数としてデータ204を生成する。重要度算出部5は、指定されたそれぞれの説明変数グループについて重要度209を算出する。
【0050】
図13は、第2実施形態に係る重要度算出装置10の動作例を示すフロー図である。ステップS201において、重要度算出装置10はデータ取得部1によりデータを取得する。ステップS201は、ステップS101と同様である。
【0051】
ステップS202において、重要度算出装置10は順序変換部2により全ての説明変数又は目的変数をランダムに並べ替える。ステップS202は、ステップS102と同様である。
【0052】
ステップS203において、第1例として重要度算出装置10は順序変換部2により2つ以上の説明変数を元の順序に並べ替える。具体的には、重要度算出装置10はデータ203Aに含まれる全ての説明変数のうち、グループ指定情報210により指定された2つ以上の説明変数から成るグループに関する各値を、各サンプル間でデータ201における目的変数に関する各値の順序に合わせて並べ替えることで、データ204C(図14を参照)を生成する。第2例として、重要度算出装置10は順序変換部2により2つ以上の説明変数を目的変数の順序に並べ替える。具体的には、重要度算出装置10はデータ203Bに含まれる全ての説明変数のうち、グループ指定情報210により指定された2つ以上の説明変数から成るグループに関する各値を、各サンプル間でデータ203Bにおける目的変数に関する各値の順序(第1順序に相当)に合わせて並べ替えることで、データ204D(図15を参照)を生成する。
【0053】
ステップS204において、重要度算出装置10は予測部3により目的変数を予測する。具体的には、重要度算出装置10はデータ203A,203Bに含まれる目的変数の各値について予測値205を計算する。また、重要度算出装置10はデータ204C,204Dに含まれる目的変数の各値について予測値206を計算する。
【0054】
ステップS205において、重要度算出装置10は予測誤差計算部4により予測誤差を計算する。具体的には、重要度算出装置10はデータ203A,203Bに含まれる目的変数の各値と予測値205との間の予測誤差207を計算する。また、重要度算出装置10はデータ204C,204Dに含まれる目的変数の各値と予測値206との間の予測誤差208を計算する。
【0055】
ステップS206において、重要度算出装置10は重要度算出部5により重要度を計算する。具体的には、重要度算出装置10は予測誤差207と予測誤差208とに基づき、説明変数グループ(対象説明変数に相当)の重要度209を算出する。重要度算出装置10は、予測誤差207と予測誤差208との間の差分又は変化率を説明変数グループの重要度209として算出する。
【0056】
ステップS207において、重要度算出装置10は全ての説明変数グループについて重要度を計算したか否かを判定する。具体的には、重要度算出装置10はグループ指定情報210により指定された全ての説明変数グループのそれぞれについて重要度209を算出したか否かを判定する。重要度算出装置10が全ての説明変数グループの重要度209を算出していない場合(ステップS207のNo)、処理はステップS203に戻る。重要度の算出対象となる説明変数グループの数をNと仮定した場合、ステップS203からS206までの一連の処理はN回実行される。一方、重要度算出装置10は全ての説明変数グループについて重要度209を算出した場合(ステップS207のYes)、処理は終了する。
【0057】
図14は、第2データの第3例(データ204C)を示す図である。データ204Cは、データ203Aに含まれる全ての説明変数のうち1つの説明変数グループに関する各値を、各サンプル間でデータ201における目的変数に関する各値の順序に並べ替えたデータである。ここでは、3つの説明変数(X、X、X)のうち説明変数グループとして「説明変数X、X」が指定されている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,1、説明変数Xの値X2,1及び説明変数Xの値X3,3が格納される。同様に、「サンプル2」には目的変数yの値y、説明変数Xの値X1,2、説明変数Xの値X2,2及び説明変数Xの値X3,27が格納される。このように、データ204Cにおいては、データ203Aにおける説明変数グループ(X、X)の各値と目的変数yの各値との間の対応関係が、各サンプル間でデータ201における対応関係に復元される。一方、データ204Cにおける他の説明変数Xの各値と目的変数yの各値との対応関係は、各サンプル間でデータ203Aにおける対応関係と同様である。
【0058】
図15は、第2データの第4例(データ204D)を示す図である。データ204Dは、データ203Bに含まれる全ての説明変数のうち1つの説明変数グループに関する各値を、各サンプル間でデータ203Bにおける目的変数に関する各値の順序(第1順序に相当)に合わせて並べ替えたデータである。ここでは、3つの説明変数(X、X、X)のうち説明変数グループとして「説明変数X、X」が指定されている。例えば、「サンプル1」には目的変数yの値y、説明変数Xの値X1,3、説明変数Xの値X2,3及び説明変数Xの値X3,1が格納される。同様に、「サンプル2」には目的変数yの値y27、説明変数Xの値X1,27、説明変数Xの値X2,27及び説明変数Xの値X3,2が格納される。このように、データ204Dにおいては、データ203Bにおける説明変数グループ(X、X)の各値と目的変数yの各値との間の対応関係が、各サンプル間でデータ201における対応関係に復元される。一方、データ204Dにおける他の説明変数Xの各値と目的変数yの各値との対応関係は、各サンプル間でデータ203Bにおける対応関係と同様である。
【0059】
図16は、第2実施形態に係る重要度算出装置10の使用例を示す図である。図16において、従来手法及び提案手法に係る態様で算出された各説明変数の正規化重要度がグラフ400により示される。グラフ400は、グラフ310(図11を参照)と同様な態様により表示され得る。グラフ310と異なり、グラフ400においては説明変数グループとして説明変数X、Xが1つに集約された説明変数X2,3に関する正規化重要度が示される。提案手法に係る説明変数グループX2,3の正規化重要度の中央値は、提案手法に係る説明変数Xの正規化重要度の中央値と概ね同一である。このように、重要度算出装置10は互いに強く相関する2つの説明変数(X、X)を1つの説明変数とみなすことで、当該1つの説明変数が有する真の効果量を算出する。
【0060】
図17は、第2実施形態に係る重要度算出装置10の別の使用例を示す図である。図17において、従来手法及び提案手法に係る態様で算出された各説明変数の重要度がグラフ410,420により示される。グラフ410,420において、ある疾病の発症リスクを予測するモデル202が予測に用いる各説明変数の重要度が表示される。グラフ410,420は箱ひげ図であるが、重要度の表示態様はこれに限られない。他の表示態様として、重要度の中央値又は平均値の少なくとも一方のみが表示されてもよい。なお、重要度算出装置10がグラフ410,420のうち一方のみを表示する場合は、重要度が正規化される必要はない。グラフ410の枠411に囲まれる2種類のデータは、枠412に囲まれる2種類の説明変数「項目C_非該当」及び「項目C_該当」に対応する。同様に、グラフ420の枠421に囲まれるデータは、枠422に囲まれる説明変数「項目C」に対応する。
【0061】
上記の2種類の説明変数は、同一のカテゴリデータから生成された説明変数である。一般に、機械学習モデルはカテゴリデータを取り扱えないため、カテゴリデータを機械学習モデルが取り扱い可能なデータ形式に変換する必要がある。例えば、あるカテゴリデータが取り得る各値の数をNと仮定した場合、N個の説明変数を新たに生成して、各値をN次元のワンホット(one-hot)ベクトルにより表現する方法がある。重要度算出装置10は、同一のカテゴリデータから生成された二以上の説明変数をグループ指定情報210により指定することで、カテゴリデータとしての変数重要度を算出することができる。
【0062】
以上、第2実施形態に係る重要度算出装置10について説明した。重要度算出装置10は、機械学習モデル(モデル202)の予測精度をテストするためのテストデータ(データ201)について、当該テストデータにおける全ての説明変数の各値と目的変数の各値との間の対応関係を各サンプル間でランダム化したデータ(データ203)を生成する。また、重要度算出装置10は、ランダム化したデータにおいて、グループ指定情報210により指定された変数重要度の算出対象となる2つ以上の説明変数(説明変数グループ)の各値と目的変数の各値との間の対応関係を、テストデータにおける対応関係に復元したデータ(データ204)を生成する。続いて重要度算出装置10は、テストデータから生成された各データ(データ203,204)を機械学習モデルに入力することで、機械学習モデルに全ての説明変数の各値から目的変数の各値を予測させる。さらに重要度算出装置10は、予測結果(予測値205,206)と目的変数の各値との間の予測誤差(予測誤差207,208)を計算する。最後に重要度算出装置10は、計算された予測誤差に基づき、変数重要度の算出対象となる2つ以上の説明変数の変数重要度(重要度209)を算出する。
【0063】
したがって、第2実施形態に係る重要度算出装置10は、変数重要度を適切に算出することができる。また、重要度算出装置10はグループ指定情報210により指定された2つ以上の説明変数を説明変数グループとして集約することで、集約された説明変数グループに関する変数重要度を算出することができる。ある説明変数と別の説明変数との間の相関が十分に強い場合、機械学習モデルは両者の説明変数のうちいずれを用いても同程度の予測精度をもって目的変数を予測することが可能である。したがって、上記の場合に両者の説明変数間で変数重要度の値の大きさを議論することは有意ではない。重要度算出装置10は、両者の説明変数をグループ指定情報210により指定し、説明変数グループとしての変数重要度を算出することで本来の変数重要度を算出することができる。すなわち、重要度算出装置10は、互いに強く相関する複数の説明変数が有する真の効果量を算出することができる。
【0064】
(第3実施形態)
図18は、第3実施形態に係る重要度算出装置10の機能構成例を示すブロック図である。第1及び第2実施形態とは異なり、第3実施形態に係る重要度算出装置10は相関計算部6をさらに含む。
【0065】
データ取得部1は、データ取得部1の外部からデータ201を取得する。データ取得部1は、取得したデータ201を順序変換部2及び相関計算部6のそれぞれに出力する。
【0066】
相関計算部6は、データ取得部1から入力されたデータ201において、複数の説明変数に含まれる二の説明変数から成るペア(説明変数ペアとも呼ぶ)ごとに相関係数211を計算する。相関係数211は、2つの説明変数間の相関の強さを表す指標である。相関計算部6は、計算した相関係数211を順序変換部2に出力する。
【0067】
データ201に含まれる全ての説明変数の数をn(nは自然数)と仮定すると、相関係数211の計算対象となる説明変数ペアの組み合わせの総数は「」である。すなわち、相関計算部6は、上記の個数の説明変数ペアそれぞれについて相関係数211を計算してもよい。もちろん、相関計算部6は、計算されたそれぞれの相関係数211を相関行列として順序変換部2に出力してもよい。
【0068】
順序変換部2は、順序変換部2の外部から閾値212を取得する。閾値212は、順序変換部2にあらかじめ格納された値でもよいし、ユーザが入力インタフェース14を介して入力した値でもよい。続いて、順序変換部2は各説明変数ペアについて計算された相関係数211が閾値212以上であるか否かを判定する。説明変数ペアの相関係数211が閾値212以上である場合、順序変換部2は当該説明変数ペアを重要度の算出対象となる対象説明変数とみなす。続いて順序変換部2は、第1及び第2実施形態と同様な手法でデータ203,204を生成する。具体的には、順序変換部2は閾値212以上である説明変数ペアに関する各値を各サンプル間でランダムに並べ替える。重要度算出部5は、各説明変数ペアについて重要度209を算出する。
【0069】
図19は、第3実施形態に係る重要度算出装置10のハードウェア構成例を示すブロック図である。第1及び第2実施形態とは異なり、第3実施形態に係る処理回路11は相関計算部6をさらに含む。
【0070】
本実施形態において、メモリ12は相関係数211及び閾値212を記憶してもよい。ディスプレイ13は、相関係数211をグラフ化して表示してもよい。例えば、ディスプレイ13は計算された各相関係数211から成る相関行列をヒートマップ形式で表示してもよい。さらに、ディスプレイ13は、重要度209及び相関係数211をそれぞれグラフ化して同時に表示してもよい。
【0071】
図20は、第3実施形態に係る重要度算出装置10の動作例を示すフロー図である。ステップS301において、重要度算出装置10はデータ取得部1によりデータを取得する。ステップS301は、ステップS101及びステップS201と同様である。
【0072】
ステップS302において、重要度算出装置10は順序変換部2により全ての説明変数又は目的変数をランダムに並べ替える。ステップS302は、ステップS102及びステップS202と同様である。
【0073】
ステップS303において、重要度算出装置10は相関計算部6により相関係数を計算する。具体的には、重要度算出装置10はデータ201において複数の説明変数に含まれる2つの説明変数から成るペア(説明変数ペア)ごとに相関係数211を計算する。
【0074】
ステップS304において、重要度算出装置10は順序変換部2により相関係数が閾値以上であるか否かを判定する。具体的には、重要度算出装置10は計算した各相関係数211が閾値212以上であるか否かを判定する。重要度算出装置10が如何なる相関係数211も閾値212以上ではない、すなわち閾値212未満であると判定した場合(ステップS304のNo)、処理は終了する。一方、重要度算出装置10が少なくとも1つの相関係数211が閾値212以上であると判定した場合(ステップS304のYes)、処理はステップS305に進む。
【0075】
ステップS305において、重要度算出装置10は順序変換部2により2つの説明変数を元の順序に並べ替える。具体的には、重要度算出装置10はデータ203Aに含まれる全ての説明変数のうち、閾値212以上であると判定された2つの説明変数から成るペアに関する各値を、各サンプル間でデータ201における目的変数に関する各値の順序に合わせて並べ替えることで、データ204を生成する。あるいは、重要度算出装置10は順序変換部2により2つの説明変数を目的変数の順序に並べ替える。具体的には、重要度算出装置10はデータ203Bに含まれる全ての説明変数のうち、閾値212以上であると判定された2つの説明変数から成るペアに関する各値を、各サンプル間でデータ203Bにおける目的変数に関する各値の順序(第1順序に相当)に合わせて並べ替えることで、データ204を生成する。
【0076】
ステップS306において、重要度算出装置10は予測部3により目的変数を予測する。具体的には、重要度算出装置10はデータ203A,203Bに含まれる目的変数の各値について予測値205を計算する。また、重要度算出装置10はデータ204に含まれる目的変数の各値について予測値206を計算する。
【0077】
ステップS307において、重要度算出装置10は予測誤差計算部4により予測誤差を計算する。具体的には、重要度算出装置10はデータ203A,203Bに含まれる目的変数の各値と予測値205との間の予測誤差207を計算する。また、重要度算出装置10はデータ204に含まれる目的変数の各値と予測値206との間の予測誤差208を計算する。
【0078】
ステップS308において、重要度算出装置10は重要度算出部5により重要度を計算する。具体的には、重要度算出装置10は予測誤差207と予測誤差208とに基づき、説明変数ペア(対象説明変数に相当)の重要度209を算出する。重要度算出装置10は、予測誤差207と予測誤差208との間の差分又は変化率を説明変数ペアの重要度209として算出する。
【0079】
ステップS309において、重要度算出装置10は全ての説明変数ペアについて重要度を計算したか否かを判定する。具体的には、重要度算出装置10は閾値212以上であると判定された全ての説明変数ペアのそれぞれについて重要度209を算出したか否かを判定する。重要度算出装置10が全ての説明変数ペアの重要度209を算出していない場合(ステップS309のNo)、処理はステップS305に戻る。重要度の算出対象となる説明変数ペアの数をNと仮定した場合、ステップS305からS308までの一連の処理はN回実行される。一方、重要度算出装置10が全ての説明変数ペアについて重要度209を算出した場合(ステップS309のYes)、処理は終了する。
【0080】
以上、第3実施形態に係る重要度算出装置10について説明した。重要度算出装置10は、機械学習モデル(モデル202)の予測精度をテストするためのテストデータ(データ201)について、当該テストデータにおける全ての説明変数の各値と目的変数の各値との間の対応関係を各サンプル間でランダム化したデータ(データ203)を生成する。次に、重要度算出装置10は、テストデータに含まれる全ての説明変数のうち、2つの説明変数から成る説明変数ペアごとに相関係数(相関係数211)を計算する。重要度算出装置10は、ランダム化したデータにおいて、相関係数が閾値(閾値212)以上であると判定された2つの説明変数(説明変数ペア)の各値と目的変数の各値との間の対応関係をテストデータにおける対応関係に復元したデータ(データ204)を生成する。続いて、重要度算出装置10は、テストデータから生成された各データ(データ203,204)を機械学習モデルに入力することで、機械学習モデルに全ての説明変数の各値から目的変数の各値を予測させる。さらに重要度算出装置10は、予測結果(予測値205,206)と目的変数の各値との間の予測誤差(予測誤差207,208)を計算する。最後に重要度算出装置10は、計算された予測誤差に基づき、変数重要度の算出対象となる2つの説明変数の変数重要度(重要度209)を算出する。
【0081】
したがって、第3実施形態に係る重要度算出装置10は、変数重要度を適切に算出することができる。また、重要度算出装置10は、2つの説明変数間の相関の強さに応じて重要度の算出対象となる説明変数ペアを自動的に決定することができる。これにより、重要度算出装置10は、ユーザが説明変数ペアを手動で選択する手間を省くことができる。また、重要度算出装置10は、互いに強く相関する2つの説明変数が本来有する真の効果量を算出することができる。
【0082】
ちなみに、順序変換部2は説明変数ペアのうち一方の説明変数が対象説明変数である場合、説明変数ペアに関する相関係数の絶対値が小さいほど、データ203において説明変数ペアのうち他方の説明変数の各値を各サンプル間で並べ替える割合を減少させてデータ204を生成してもよい。例えば、説明変数X-X間の相関係数が「R」で表され、説明変数Xが対象説明変数である場合を想定する。重要度算出装置10は、データ203における対象説明変数Xの各値と目的変数yの各値との対応関係を、データ201における説明変数Xの各値と目的変数yの各値との対応関係に復元する。一方、重要度算出装置10はデータ203における別の説明変数Xの各値と目的変数yの各値との対応関係を、相関係数Rの絶対値|R|が小さいほどより小さい割合でデータ201における説明変数Xの各値と目的変数yの各値との対応関係に復元する。例えば、説明変数X及びXが無相関(すなわち、|R|=0)である場合、重要度算出装置10はデータ203における説明変数Xの各値を並び替えない。換言すれば、当該場合において重要度算出装置10は、第1実施形態と同様な動作を行う。一方、説明変数X及びXについて十分に相関が強い場合、重要度算出装置10はデータ203における説明変数Xの各値をデータ201における元の順序に並べ替える。換言すれば、当該場合において重要度算出装置10は、第2実施形態と同様な動作を行う。
【0083】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、各省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0084】
1・・・データ取得部、2・・・順序変換部、3・・・予測部、4・・・予測誤差計算部、5・・・重要度算出部、6・・・相関計算部、10・・・重要度算出装置、11・・・処理回路、12・・・メモリ、13・・・ディスプレイ、14・・・入力インタフェース、15・・・通信インタフェース、201,203(203A,203B),204(204A,204B,204C,204D),250,300・・・データ、202・・・モデル、205,206・・・予測値、207,208・・・予測誤差、209・・・重要度、210・・・グループ指定情報、211・・・相関係数、212・・・閾値、310,400,410,420・・・グラフ、411,412,421,422・・・枠
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20