(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-25
(45)【発行日】2023-06-02
(54)【発明の名称】検定表作成装置、検定装置、検定表作成方法、検定方法及びプログラム
(51)【国際特許分類】
G06F 17/18 20060101AFI20230526BHJP
G06F 18/2323 20230101ALI20230526BHJP
【FI】
G06F17/18 Z
G06F18/2323
(21)【出願番号】P 2019145703
(22)【出願日】2019-08-07
【審査請求日】2022-06-06
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業(ACT-I)「決定グラフを用いた組み合わせ最適化問題に対する統一的開放の研究」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】503359821
【氏名又は名称】国立研究開発法人理化学研究所
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】石畠 正和
(72)【発明者】
【氏名】前原 貴憲
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2009/0082997(US,A1)
【文献】湊 真一、川原 純、水田正弘、石岡文生、栗原考次,スキャン統計量に基づく組合せホットスポット抽出を行う高速アルゴリズム,情報処理学会研究報告 [online],日本,一般社団法人情報処理学会,2018年08月27日,Vol. 2018-AL-169, No.3,pp. 1-8,ISSN 2188-8566
【文献】川原 純、堀田敬介、堀山貴史、湊 真一,m連結成分分割の高速列挙法と区割の比較,2015年秋季研究発表会アブストラクト集(第36回企業事例交流会),日本,公益社団法人日本オペレーションズ・リサーチ学会,2015年09月10日,pp.12-13(1-A-4),ISSN 1883-1893
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/18
G06F 18/23
G06F 18/2323
(57)【特許請求の範囲】
【請求項1】
複数のノードと各ノード間を接続するエッジとで構成されるグラフGとして、前記グラフGに含まれるノードのパターンのうちの所定の条件を満たすパターンの族FをZDDで表現したデータを入力する入力手段と、
前記入力手段により入力されたデータに含まれるノードを、葉ノードから根ノードに向けて順に選択する選択手段と、
前記選択手段により選択されたノードを根ノードとする部分ZDDに対応するBDD B
mを、BDDの演算処理系を用いて統計量m毎に再帰的に構築する構築手段と、
前記選択手段により選択されたノードが、前記入力手段により入力されたデータの根ノードである場合に、前記構築手段により構築された統計量m毎のBDD B
mを検定表として記憶部に記憶させる記憶手段と、
を有することを特徴とする検定表作成装置。
【請求項2】
前記構築手段は、
前記選択手段により選択されたノードをα、ノードαのラベルをα.labelとして、前記ノードαの0-枝に接続される子ノードを根ノードとする部分ZDDに対応するBDD B
m(α.0)と、前記ノードαの1-枝に接続される子ノードを根ノードする部分ZDDに対応するBDD B
m(α.1)と、前記演算処理系の1つであるselectにより算出されるB
m-1(α.1).select(α.label)との和を、統計量mにおけるBDD B
mとして構築する、ことを特徴とする請求項1に記載の検定表作成装置。
【請求項3】
2値のいずれかを取る観測データの集合を入力する入力手段と、
前記入力手段により入力された観測データの集合を用いて、スキャン統計量kを算出する統計量算出手段と、
前記統計量算出手段により算出されたスキャン統計量kと、予め作成された検定表とを用いて、p値を算出する有意確率算出手段と、
前記有意確率算出手段により算出されたp値と、予め設定された有意水準とを比較することで、統計的仮説検定における帰無仮説H
0が棄却されるか否かを判定する判定手段と、
を有することを特徴とする検定装置。
【請求項4】
前記検定表には、統計量m毎に、前記統計量mにおけるBDD B
mが格納されており、
前記有意確率算出手段は、
前記統計量算出手段により算出されたスキャン統計量kに対応するBDD B
kを前記検定表から検索し、検索されたBDD B
kを用いて前記p値を算出する、ことを特徴とする請求項3に記載の検定装置。
【請求項5】
複数のノードと各ノード間を接続するエッジとで構成されるグラフGとして、前記グラフGに含まれるノードのパターンのうちの所定の条件を満たすパターンの族FをZDDで表現したデータを入力する入力手順と、
前記入力手順で入力されたデータに含まれるノードを、葉ノードから根ノードに向けて順に選択する選択手順と、
前記選択手順で選択されたノードを根ノードとする部分ZDDに対応するBDD B
mを、BDDの演算処理系を用いて統計量m毎に再帰的に構築する構築手順と、
前記選択手順で選択されたノードが、前記入力手順で入力されたデータの根ノードである場合に、前記構築手順で構築された統計量m毎のBDD B
mを検定表として記憶部に記憶させる記憶手順と、
をコンピュータが実行することを特徴とする検定表作成方法。
【請求項6】
2値のいずれかを取る観測データの集合を入力する入力手順と、
前記入力手順で入力された観測データの集合を用いて、スキャン統計量kを算出する統計量算出手順と、
前記統計量算出手順で算出されたスキャン統計量kと、予め作成された検定表とを用いて、p値を算出する有意確率算出手順と、
前記有意確率算出手順で算出されたp値と、予め設定された有意水準とを比較することで、統計的仮説検定における帰無仮説H
0が棄却されるか否かを判定する判定手順と、
をコンピュータが実行することを特徴とする検定方法。
【請求項7】
コンピュータを、請求項1若しくは2に記載の検定表作成装置における各手段、又は、請求項3若しくは4に記載の検定装置における各手段、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検定表作成装置、検定装置、検定表作成方法、検定方法及びプログラムに関する。
【背景技術】
【0002】
観測されたデータ間に構造的な関係が存在するか否かを判定する方法として統計的仮説検定が知られている。具体的には、データ間に構造的な関係が存在しないことを示す仮説を帰無仮説H0、データ間に構造的な関係が存在することを示す仮説を対立仮説H1として、検定に用いる所定の統計量に基づき有意水準を設定する。次に、観測データから統計量の実現値を求め、この実現値からp値(有意確率)を計算する。そして、p値と有意水準とを比較することで、帰無仮説H0が棄却されるか否かを判定する。帰無仮説H0が棄却された場合は、データ間に構造的な関係が存在すると判断することができる。
【0003】
このときの統計的仮説検定に用いる統計量としてスキャン統計量(scan statistics)が知られている。スキャン統計量の実現値からp値を厳密計算により求める理論的な手法として、例えば非特許文献1に記載されている手法等が知られている。また、スキャン統計量の実現値からp値を近似計算により求める手法として、例えば非特許文献2に記載されている手法等が知られている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Louigi Addario-Berry, Nicolas Broutin, Luc Devroye, G´abor Lugosi, et al. On combinatorial testing problems. The Annals of Statistics, 38(5):3063-3092, 2010.
【文献】Jing Qian, Venkatesh Saligrama, and Yuting Chen. Connected sub-graph detection. In Artificial Intelligence and Statistics, pages 796-804, 2014.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の非特許文献1に記載されている手法は理論的な議論にとどまっており、実用に耐え得る速度で実行することができないと考えられる。
【0006】
また、上記の非特許文献2に記載されている手法は現実的な時間で解を求めることができるが、悲観評価に基づいてp値を近似的に算出するため、厳密計算で得られるp値と比較して帰無仮説H0が棄却されづらい値となってしまう場合がある。すなわち、データ間に構造的な関係が存在するか否かの判定精度が低下してしまう。
【0007】
データ間に構造的な関係が存在するか否かを高い精度で判定するためには、統計的仮説検定に用いられるp値の厳密解を実用的な速度で算出する手法が必要であるが、従来では、このような手法は知られていなかった。
【0008】
本発明の実施の形態は、上記の点に鑑みてなされたもので、p値の厳密解を算出するための検定表を実用的な時間で作成することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の実施の形態における検定表作成装置は、複数のノードと各ノード間を接続するエッジとで構成されるグラフGとして、前記グラフGに含まれるノードのパターンのうちの所定の条件を満たすパターンの族FをZDDで表現したデータを入力する入力手段と、前記入力手段により入力されたデータに含まれるノードを、葉ノードから根ノードに向けて順に選択する選択手段と、前記選択手段により選択されたノードを根ノードとする部分ZDDに対応するBDD Bmを、BDDの演算処理系を用いて統計量m毎に再帰的に構築する構築手段と、前記選択手段により選択されたノードが、前記入力手段により入力されたデータの根ノードである場合に、前記構築手段により構築された統計量m毎のBDD Bmを検定表として記憶部に記憶させる記憶手段と、を有することを特徴とする。
【発明の効果】
【0010】
p値の厳密解を算出するための検定表を実用的な時間で作成することを目的とする。
【図面の簡単な説明】
【0011】
【
図1】実施例1における検定表作成装置の全体構成の一例を示す図である。
【
図2】実施例1における検定表作成処理の一例を示すフローチャートである。
【
図4】実施例2における検定装置の全体構成の一例を示す図である。
【
図5】実施例2における検定処理の一例を示すフローチャートである。
【
図6】ZDD及びBDDのサイズとBDDの構築時間とを示す図である。
【
図8】最小のp値が算出された州又は都道府県を示す図である。
【
図9】2016年の米国大統領選における各州の選挙結果を示す図である。
【
図10】コンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について説明する。本発明の実施の形態では、実施例1として、p値の厳密解を算出するための検定表を実用的な時間で作成する場合について説明する。また、実施例2として、観測されたデータ間に構造的な関係が存在するか否かを統計的仮説検定により検定する際に、この検定表を用いてp値の厳密解を算出する場合について説明する。
【0013】
[記号及び用語の定義等]
まず、実施例1及び2で使用する記号や用語等を定義する。
【0014】
観測されたデータ(以降、「観測データ」とも表す。)間の構造的な関係はグラフGで与えられるものとする。各観測データにはインデックスが付与されているものとして、インデックスがグラフGのノードに対応し、観測データ間の構造的な関係はグラフGの辺(エッジ)で表現されるものとする。つまり、辺で接続されたノードに対応する観測データ間には構造的な関係があるものとする。
【0015】
このとき、グラフGのノードの集合をV、辺の集合をE、ノードの総数を|V|=Nとして、V={1,2,・・・,N}とする。
【0016】
また、グラフGのノードの組み合わせ(パターン)の全ての族を2Vとして、所定の条件を満たすグラフGのノードのパターンの族をF⊆2Vとする。SをFの要素S∈Fとすれば、Fは|S|=n(ただし、nはN以下の自然数)を満たすSからなる族である。つまり、Fはn個のノードからなるパターンの族であり、
F⊆2V s.t, |S|=n(∀S∈F)
と表される。
【0017】
また、観測データの集合をxとして、x={xv|v∈V}とする。このとき、本発明の実施の形態では、各観測データxvは2値のいずれかの値(例えば、0又は1)を取るものとする。つまり、xv∈{0,1}であるものとする。
【0018】
例えば、「日本の各都道府県の人口増加率のデータが観測データとして与えられた場合に、人口が増加した都道府県間に地理的な関係性があると言えるか否か」を検定することを考えた場合、各都道府県をノードとし、互いに隣接する都道府県に対応するノード間を辺で接続したグラフをグラフGとして与える。そして、人口増加率が所定の閾値以上となる都道府県を人口が増加した都道府県とし、人口が増加した都道府県に対応するノードvの観測データをxv=1、それ以外の都道府県に対応するノードvの観測データをxv=0とする。また、このとき、族2Vは都道府県のパターンの全てからなる族である。一方で、Fは所定の性質を満たすn個の都道府県のパターンの全てからなる族である。例えば、n=5として、Fは、2Vの中で隣接する5つの都道府県のパターンからなる族である。なお、隣接する都道府県とは、例えば、地理的に互いに隣接する都道府県のことを意味する。
【0019】
統計的仮説検定の帰無仮説H0と対立仮説H1とを以下のように定義する。
【0020】
H0:x1,・・・,xNは独立同分布(i.i.d.:independent and identically distributed)
H1:∃S∈F s.t. p(xv|v∈S)≠p(xu|u∈S)
ここで、pは帰無仮説H0が正しいとした下でのXの確率分布である。また、xv∈{0,1}であるため、本発明の実施の形態では、各xvはベルヌーイ分布に従うものとする。つまり、
xv~Bernoulli(xv;θ) (∀v∈V)
とする。ここで、
【0021】
【0022】
また、スキャン統計量Kは、以下の式(1)のように定義される。
【0023】
【0024】
また、p値(有意確率)は、以下の式(2)のように定義される。
【0025】
【0026】
【0027】
上記の式(2)に示すように、p値を計算するためにはWkを求める必要がある。しかしながら、例えば上記の非特許文献1等に記載されているWkの厳密計算の理論的方法は、計算量が非常に大きい(NP-hardである)ことが知られている。そこで、本発明の実施の形態では、パターンの族FがZDD(Zero-suppressed Binary Decision Diagram)で表現できることを利用して、BDD(Binary Decision Diagram)の演算処理系によって検定表を高速に作成した上で、この検定表を用いることでp値を高速に計算する。
【0028】
なお、ZDDとはラベル付きの階層的な有向非巡回グラフ(DAG:Directed Acyclic Graph)である。ZDDは、葉ノードとして、終端ノード
【0029】
【数5】
(以降、「第1終端ノード」とも表す。)と、終端ノード⊥(以降、「第2終端ノード」とも表す。)とを有する。また、葉ノード以外の各ノードからは「0-枝」と呼ばれるエッジと、「1-枝」と呼ばれるエッジとが出る。葉ノード以外の任意のノードに対して、このノードから出る0-枝が指す先のノードは「0-子ノード」、1-枝が指す先のノードは「1-子ノード」とも呼ばれる。なお、葉ノード以外のノードは、「分岐ノード」とも呼ばれる。
【0030】
また、各ノードにはラベルが付与されており、ZDDでは、葉ノード以外の各ノードの0-枝と1-枝とが、必ずラベルが小さい方のノードから大きい方のノードに向かうように構成されている。つまり、葉ノード以外の任意のノードをvとすれば、ZDDでは、「vのラベル<vの0-子ノードのラベル」、かつ、「vのラベル<vの1-子ノードのラベル」が成立する。なお、葉ノードのラベルは、全ての分岐ノードのラベルよりも大きい値とする。
【0031】
[実施例1]
以降では、実施例1について説明する。実施例1では、Wkに対応するBDDをBkとして、各統計量m(m=0,1,・・・,N)に対応するBmを構築することで、kとBkとを対応付けた検定表を作成する検定表作成装置10について説明する。
【0032】
(検定表作成装置10の全体構成)
実施例1における検定表作成装置10の全体構成について、
図1を参照しながら説明する。
図1は、実施例1における検定表作成装置10の全体構成の一例を示す図である。
【0033】
図1に示すように、実施例1における検定表作成装置10は、検定表作成処理部110と、記憶部120とを有する。検定表作成処理部110は、上述した検定表を作成するための処理(検定表作成処理)を実行する。記憶部120には、検定表作成処理で入力されるデータ(例えば、パターンの族FのZDD表現)や検定表作成処理で作成された検定表等が記憶される。
【0034】
ここで、検定表作成処理部110には、入力部111と、ノード選択部112と、BDD構築部113と、繰り返し制御部114とが含まれる。
【0035】
入力部111は、パターンの族FのZDD表現の入力を受け付ける。以降では、ZDD表現の族Fを「ZDD F」とも表す。
【0036】
ノード選択部112は、入力部111が入力を受け付けたZDD Fから1つのノードを選択する。このとき、ノード選択部112は、ZDD Fの葉ノードから根ノードに向けて、未だ選択されていないノードを順に選択する。以降では、ノード選択部112により選択された1つのノードを「ノードα」とも表す。
【0037】
BDD構築部113は、統計量m(m=0,1,・・・,N)毎に、ノード選択部112により選択されたノードαを根ノードとする部分ZDDに対応するBDD Bm(α)を構築する。そして、BDD構築部113は、統計量mとBDD Bm(α)とを対応付けて記憶部120に保存する。
【0038】
繰り返し制御部114は、ノード選択部112により選択されたノードαが、ZDD Fの根ノードであるか否かを判定する。ノードαがZDD Fの根ノードでない場合は、ノード選択部112によって再度ノードαが選択される。一方で、ノードαがZDD Fの根ノードである場合は、検定表作成処理が終了する。ZDD Fの根ノードをαrとすれば、検定表は、統計量m(m=0,1,・・・,N)毎に、統計量mとBDD Bm(αr)とを対応付けた表(テーブル)で表される。
【0039】
(検定表作成処理)
次に、実施例1における検定表作成処理について、
図2を参照しながら説明する。
図2は、実施例1における検定表作成処理の一例を示すフローチャートである。
【0040】
まず、検定表作成処理部110の入力部111は、パターンの族FのZDD表現であるZDD Fの入力を受け付ける(ステップS101)。入力部111は、例えば、記憶部120に記憶されているZDD Fを読み込むことでZDD Fの入力を受け付けてもよいし、通信ネットワークを介して接続される他の装置からZDD Fを受信することでZDD Fの入力を受け付けてもよい。なお、ZDD Fのノードの総数はNであるものとする。
【0041】
次に、検定表作成処理部110のノード選択部112は、上記のステップS101で入力を受け付けたZDD Fのノードの中から1つのノードαを選択する(ステップS102)。このとき、ノード選択部112は、ステップS102~ステップS104の繰り返し毎に、ZDD Fの葉ノードから根ノードに向けて、未だ選択されていないノードを順に選択する。
【0042】
例えば、同一ラベルが付与されているノードを1つの層として、ZDD Fが第1層~第J層の複数の層で構成されており、第1層には根ノードのみが含まれ、第J層には葉ノードのみが含まれている場合、ノード選択部112は、まず、ステップS102~ステップS104の繰り返し毎に、第J層の中から未選択のノードを1つずつ選択する。第J層のノードが全て選択された場合、ノード選択部112は、ステップS102~ステップS104の繰り返し毎に、第J-1層の中から未選択のノードを1つずつ選択する。このように、第J層のノードが全て選択された場合、ノード選択部112は、第J-1層の中から未選択のノードを選択する。
【0043】
以降も同様に、第1層の根ノードが選択されるまで、ノード選択部112は、ステップS102~ステップS104の繰り返し毎に、第j層の中から未選択のノードを1つずつ選択していき、第j層の全てのノードが選択された場合にはjを1つ減じた第j-1層の中から未選択のノードを1つずつ選択していく。
【0044】
次に、検定表作成処理部110のBDD構築部113は、統計量m(m=0,1,・・・,N)毎に、上記のステップS102で選択されたノードαを根ノードとする部分ZDD Fαに対応するBDD Bm(α)を構築する(ステップS103)。すなわち、BDD構築部113は、B0(α),B1(α),・・・,BN(α)を構築する。このとき、BDD構築部113は、以下の式(3)によりBm(α)を再帰的に計算することで、各Bm(α)を構築する。
【0045】
【数6】
ここで、「α.0」はノードαの0-子ノード、「α.1」はノードαの1-子ノード、「α.label」はノードαに付与されたラベルを表す。また、
【0046】
【数7】
である。つまり、B
m(α)は、部分ZDD F
αに含まれるパターンSの観測データx
vの和の最大値がm以上となるようなパターンSのBDD表現のことである。
【0047】
また、BをBDDとして、B.select(i)は、B.select(i):={S∈B:i∈S}で定義されるBDDの演算処理系の1つである。したがって、Bm-1(α.1).select(α.label)は、α.label∈SとなるパターンSをBm-1(α.1)の中から選択(抽出)することを表す。
【0048】
更に、初期条件として、以下が予め設定されているものとする。
【0049】
【数8】
なお、N(F
α)は部分ZDD F
αのノードの集合であり、A(F
α)を部分ZDD F
αの辺の集合とする。
【0050】
次に、検定表作成処理部110のBDD構築部113は、統計量mとBm(α)とを対応付けて記憶部120に保存する(ステップS104)。これにより、記憶部120には、(m=0,B0(α)),(m=1,B1(α)),・・・,(m=N,BN(α))がそれぞれ格納された表(テーブル)が保存される。
【0051】
なお、BDD構築部113は、統計量mとノードαとBm(α)とを対応付けて記憶部120に保存してもよい。この場合、記憶部120には、(m=0,α,B0(α)),(m=1,α,B1(α)),・・・,(m=N,α,BN(α))がそれぞれ格納された表(テーブル)が保存される。
【0052】
続いて、検定表作成処理部110の繰り返し制御部114は、上記のステップS102で選択されたノードαが、ZDD Fの根ノードであるか否かを判定する(ステップS105)。ノードαがZDD Fの根ノードでないと判定された場合、検定表作成処理部110は、上記のステップS102に戻る。これにより、ノードαが根ノードと判定されるまで、上記のステップS102~ステップS104が繰り返し実行される。
【0053】
一方で、ノードαがZDD Fの根ノードであると判定された場合、検定表作成処理部110は、検定表作成処理を終了する。これにより、根ノードをα
rとして、記憶部120には、(m=0,B
0(α
r)),(m=1,B
1(α
r)),・・・,(m=N,B
N(α
r))がそれぞれ格納された表(テーブル)が保存される。この表(テーブル)が検定表である。検定表の一例を
図3に示す。
図3に示すように、検定表は、統計量mとBDD B
m(α
r)とが対応付けられたレコードで構成されるテーブルで表現される。
【0054】
[実施例2]
以降では、実施例2について説明する。実施例2では、実施例1で作成された検定表を用いて、観測データについて統計的仮説検定を行う検定装置20について説明する。
【0055】
(検定装置20の全体構成)
実施例2における検定装置20の全体構成について、
図4を参照しながら説明する。
図4は、実施例2における検定装置20の全体構成の一例を示す図である。
【0056】
図4に示すように、実施例2における検定装置20は、検定表作成処理部110と、検定処理部210と、記憶部220とを有する。検定表作成処理部110は、上述した検定表作成処理を実行する。検定処理部210は、検定表作成処理で作成された検定表を用いて、観測データについての統計的仮説検定を行うための処理(検定処理)を実行する。記憶部220には、検定表作成処理で作成された検定表や検定処理で入力されるデータ(例えば、観測データ)等が記憶される。
【0057】
なお、検定表が記憶部220に保存されている場合には、検定装置20は、検定表作成処理部110を有していなくてもよい。すなわち、検定装置20は、例えば、実施例1における検定表作成装置10によって作成された検定表を予め取得し、記憶部220に保存する場合、検定表作成処理部110を有していなくてもよい。
【0058】
ここで、検定処理部210には、入力部211と、統計量計算部212と、有意確率計算部213と、判定部214とが含まれる。
【0059】
入力部211は、観測データの集合x={xv|v∈V}の入力を受け付ける。上述したように、各観測データxvは、xv∈{0,1}であるものとする。
【0060】
統計量計算部212は、各観測データxvを用いて、以下の式(4)によりスキャン統計量kを計算する。
【0061】
【数9】
有意確率計算部213は、統計量計算部212により計算されたスキャン統計量kと、記憶部220に記憶されている検定表とを用いて、有意確率p(つまり、p値)を計算する。
【0062】
判定部214は、有意確率計算部213により計算されたp値と予め設定された有意水準とを比較し、帰無仮説H0が棄却されるか否かを判定する。なお、この判定結果は、例えば、記憶部220に出力(記憶)されてもよいし、ディスプレイ等の表示装置に出力(表示)されてもよいし、通信ネットワークを介して接続される他の装置に出力(送信)されてもよい。
【0063】
(検定処理)
次に、実施例2における検定処理について、
図5を参照しながら説明する。
図5は、実施例2における検定処理の一例を示すフローチャートである。
【0064】
まず、検定処理部210の入力部211は、観測データの集合x={xv|v∈V}の入力を受け付ける(ステップS201)。入力部211は、例えば、記憶部220に記憶されている観測データの集合xを読み込むことでxの入力を受け付けてもよいし、通信ネットワークを介して接続される他の装置からxを受信することでxの入力を受け付けてもよい。
【0065】
次に、検定処理部210の統計量計算部212は、上記のステップS201で入力を受け付けたxに含まれる各観測データxvを用いて、上記の式(4)によりスキャン統計量kを計算する(ステップS202)。
【0066】
次に、検定処理部210の有意確率計算部213は、上記のステップS202で計算されたスキャン統計量kと、記憶部220に記憶されている検定表とを用いて、p値を計算する(ステップS203)。具体的には、有意確率計算部213は、まず、記憶部220に記憶されている検定表からスキャン統計量kに対応するBDD Bk(αr)を検索した上で、このBk(αr)を用いてp値を計算する。Bk(αr)を用いてp値を計算する方法については、例えば以下の参考文献1に開示されている方法を用いればよい。
【0067】
[参考文献1]
Masakazu Ishihata, Yoshitaka Kameya, Taisuke Sato, and Shin-ichi Minato. An em algorithm on bdds with order encoding for logic-based probabilistic models. In Proceedings of 2nd Asian Conference on Machine Learning, pages 161-176, 2010.
このように、実施例2における検定装置20は、スキャン統計量kを用いて検定表を検索することで、このスキャン統計量kに対応するBDD Bk(αr)を得ることができる。このため、実施例2における検定装置20は、高速にp値を計算することができる。
【0068】
続いて、検定処理部210の判定部214は、上記のステップS203で計算されたp値と、予め設定された有意水準とを比較し、帰無仮説H0が棄却されるか否かを判定する(ステップS204)。
【0069】
[実験結果]
以降では、実施例1における検定表作成装置10によって検定表を作成した上で、この検定表を用いて、実施例2における検定装置20によってp値を算出する実験の結果について説明する。
【0070】
この実験では、米国の地続きの48州を各ノード、これらの各州の隣接関係を辺(エッジ)としたグラフをGUSとし、日本の47都道府県を各ノード、これらの都道府県の連結関係(橋を考慮し、鹿児島と沖縄とは隣接しているものとした。)を辺としたグラフをGJPとした。また、観測データの集合としては、米国政府が公開している州毎の人口、収入、GDPの変化を示すデータの集合xUSと、日本政府が公開している都道府県毎の人口、収入、GDPの変化を示すデータの集合をxJPとを用いた。
【0071】
更に、パターンの族FUSを、L個の連結な州のパターンからなる族とする。同様に、パターンの族FJPを、L個の連結な都道府県のパターンからなる族とする。なお、連結な州のパターンについても、連結な都道府県のパターンと同様に、例えば、2次元の地図上で、当該パターンを構成する州によって表される地理的領域が連結空間(連結領域)となっていることを意味する。
【0072】
(実験結果1)
実験結果1として、ZDD及びBDDのサイズとBDDの構築時間とを
図6に示す。
図6(a)は、L∈{2,・・・,48}で変化させて、パターンの族F
USを用いた場合におけるZDD及びBDDのサイズとBDDの構築時間とを示している。一方で、
図6(b)は、L∈{2,・・・,47}で変化させて、パターンの族F
JPを用いた場合におけるZDD及びBDDのサイズとBDDの構築時間とを示している。
【0073】
図6(a)及び
図6(b)に示すように、L=20程度の場合がZDD及びBDDのサイズとBDDの構築時間とが最も大きいが、BDDのサイズは10
8未満であり、その構築時間は10[sec]未満である。
【0074】
したがって、実施例1における検定表作成装置10は、実用的な時間で検定表を作成できていることがわかる。
【0075】
(実験結果2)
実験結果2として、Lとp値との関係を
図7に示す。
図7(a)は、L∈{2,・・・,48}で変化させて、観測データの集合x
USとパターンの族F
USとを用いた場合におけるp値の変化を示している。一方で、
図7(b)は、L∈{2,・・・,47}で変化させて、観測データの集合x
JPとパターンの族F
JPとを用いた場合におけるp値の変化を示している。
【0076】
図7(a)に示すように、L=4~20程度の場合には、p値が、有意水準としてしばしば用いられる0.05よりも小さくなっている。同様に、
図7(b)に示すように、L=3~28程度の場合には、p値が、0.05よりも小さくなっている。
【0077】
(実験結果3)
実験結果3として、p値の分布について説明する。観測データの集合xUSと観測データの集合xJPとについては、以下の表1に示す観測データの集合を用いた。
【0078】
【表1】
ここで、#observationsは観測データの集合数を示す。つまり、32個の観測データの集合x
USと、67個の観測データの集合x
JPとを用いた。
【0079】
また、Lについては、L∈{5,10,15,20,25,30,35,40,45}で変化させた。更に、各観測データの値は設定例1及び設定例2として以下のように設定した。
【0080】
(設定例1)人口、収入、GDPについて、増加した州又は都道府県に対応する観測データを1、減少した州又は都道府県に対応する観測データを0とする。
【0081】
(設定例2)人口、収入、GDPについて、減少した州又は都道府県に対応する観測データを1、増加した州又は都道府県に対応する観測データを1とする。
【0082】
以上の設定の下、観測データの集合と予め作成された検定表とを用いて、実施例2における検定装置20でp値を計算した。計算されたp値の数は、USの場合は32×2×9=572であり、JPの場合は67×2×9=1206である。
【0083】
このとき、p値の分布を以下の表2に示す。
【0084】
【表2】
なお、表2では、全ての観測データが1となった場合や全ての観測データが0となった場合を省略している。また、表2では、p値の割合は小数点以下3桁目で四捨五入した値を記載している。この実験例の場合、上記の表2に示すように、USでは約95%のp値が0.5以上であり、JPでは約88%のp値が0.5以上となっている。
【0085】
(実験結果4)
実験結果4として、上記の表2で最小のp値が得られた場合の州又は都道府県を
図8に示す。
図8(a)は、USで最小のp値が算出された場合に、人口が減少した州を示している。一方で、
図8(b)は、JPで最小のp値が算出された場合に、人口が増加した都道府県を示している。
【0086】
ここで、
図8(a)に示す結果は、L=5の場合であり、p値は0.107であった。一方で、
図8(b)に示す結果は、L=15の場合であり、p値は0.030であった。したがって、例えば、有意水準として0.05が設定された場合、
図8(a)に示す結果では帰無仮説H
0は棄却されない一方で、
図8(b)に示す結果では帰無仮説H
0が棄却される。
【0087】
(実験結果5)
上記の実験結果1~4のUSと同様の条件の下で、観測データの集合として、2016年の大統領選における各州の選挙結果を示すデータを用いた場合について説明する。このときの選挙結果を
図9に示す。各観測データは、共和党が制した州(Red States)を1、民主党が制した州(Blue States)を0とした。また、Lは、L∈{5,10,15,20,25,30}で変化させた。
【0088】
実施例1における検定表作成装置10で検定表を作成した上で、実施例2における検定装置20でp値を算出した結果を以下の表3に示す。
【0089】
【表3】
なお、上記の表3中のKはスキャン統計量である。
【0090】
この実験例の場合、p値はいずれも大きいため、帰無仮説H0は棄却されない(つまり、選挙結果に地域的な関連性があるとは言えない。)。
【0091】
<ハードウェア構成>
最後に、実施例1における検定表作成装置10及び実施例2における検定装置20のハードウェア構成について説明する。実施例1における検定表作成装置10及び実施例2における検定装置20は、例えば、
図10に示すコンピュータ300のハードウェア構成により実現可能である。
【0092】
図10に示すコンピュータ300は、入力装置301と、表示装置302と、外部I/F303と、RAM(Random Access Memory)304と、ROM(Read Only Memory)305と、プロセッサ306と、通信I/F307と、補助記憶装置308とを有する。これらの各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
【0093】
入力装置301は、例えばキーボードやマウス、タッチパネル等である。表示装置302は、例えばディスプレイ等である。なお、検定表作成装置10は、入力装置301及び表示装置302の少なくとも一方を有していなくてもよい。同様に、検定装置20は、入力装置301及び表示装置302の少なくとも一方を有していなくてもよい。
【0094】
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。コンピュータ300は、外部I/F303を介して、記録媒体303a等の読み取りや書き込みを行うことができる。記録媒体303aには、検定表作成処理部110を実現する1以上のプログラムや検定処理部210を実現する1以上のプログラム、検定表等が記録されていてもよい。
【0095】
RAM304は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM305は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM305には、例えば、OS(Operating System)に関する設定情報や通信ネットワークに関する設定情報等が格納されている。
【0096】
プロセッサ306は、例えばCPU(Central Processing Unit)等の演算装置である。検定表作成処理部110や検定処理部210は、例えば、補助記憶装置308等に格納された1以上のプログラムがプロセッサ306に実行させる処理により実現される。
【0097】
通信I/F307は、コンピュータ300を通信ネットワークに接続するためのインタフェースである。検定表作成処理部110を実現する1以上のプログラムや検定処理部210を実現する1以上のプログラムは、通信I/F307を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0098】
補助記憶装置308は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置308に格納されるプログラムやデータには、例えば、OS、アプリケーションプログラム、検定表作成処理部110を実現する1以上のプログラム、検定処理部210を実現する1以上のプログラム等がある。
【0099】
実施例1における検定表作成装置10や実施例2における検定装置20は、
図10に示すコンピュータ300のハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、検定表作成装置10や検定装置20は、複数のコンピュータ300のハードウェア構成で実現されていてもよい。また、コンピュータ300は、複数のプロセッサ306や複数のメモリ(RAM304、ROM305及び補助記憶装置308等)を有していてもよい。
【0100】
本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更、組み合わせ等が可能である。
【符号の説明】
【0101】
10 検定表作成装置
20 検定装置
110 検定表作成処理部
111 入力部
112 ノード選択部
113 BDD構築部
114 繰り返し制御部
120 記憶部
210 検定処理部
211 入力部
212 統計量計算部
213 有意確率計算部
214 判定部
220 記憶部