(57)【要約】      （修正有）【課題】多重検定において偽陽性の確率の演算量を削減する。【解決手段】情報処理装置１００は、多重検定によって得られた特定事象の発生有無に係る集計後データ４３に基づいて、検定毎にｐ値上限算出部３３及びｐ値下限値算出部３４において偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して偽陽性の確率を算出し、偽陽性の確率のセットを取得する絞り込み部を有する。【選択図】図８
2018109828.tif 000002
【特許請求の範囲】
【請求項１】
多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する絞り込み部
を有する情報処理装置。
【請求項２】
前記絞り込み部は、更に、
前記検定毎に前記偽陽性の確率の前記上限値を算出し、得られた複数の上限値から最小値を取得して前記所定の値に設定する上限値算出部と、
前記検定毎に前記偽陽性の確率の前記下限値を算出し、得られた複数の下限値の中から、前記所定の値よりも小さい下限値を選択する下限値算出部と、
前記下限値算出部が選択した前記所定の値よりも小さい下限値の検定に対して前記偽陽性の確率を算出する確率算出部と、
を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記絞り込み部は、更に、
前記検定毎に前記偽陽性の確率の前記上限値を算出し、得られた複数の上限値から最小値を取得する上限値算出部と、
前記最小値の検定の前記偽陽性の確率を算出して前記所定の値に設定する確率算出部と、
前記検定毎に前記偽陽性の確率の前記下限値を算出し、得られた複数の下限値から前記確率算出部が算出した前記所定の値よりも小さい下限値の検定を選択する下限値算出部とを有し、
前記確率算出部は、前記下限値算出部が選択した前記検定毎に前記偽陽性の確率を算出する
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記特定事象の発生有無と、該特定事象の発生有無との関連性に係る複数の属性の値を示す集計前データの該特定事象の発生有無の置き換え処理を行う置換処理部と、
前記該特定事象の発生有無がランダムに置き換えられた前記集計前データに基づいて、前記多重検定により得られた集計結果を示す前記集計後データを作成する集計処理部と、
を更に有する請求項１乃至３のいずれか一項記載の情報処理装置。
【請求項５】
多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する
処理をコンピュータに行わせる情報処理プログラム。
【請求項６】
多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する
処理をコンピュータが行う情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、および情報処理方法に関する。
【背景技術】
【０００２】
統計学の分野では、ある仮説をたてて確率に基づいて検討する仮説検定がよく用いられている。
【０００３】
生物学、化学等のバイオアイテムの検索に関し、疾患関連遺伝子多型の探索研究における各患者の表現型と遺伝子型を記述した文書を各文献とし、各遺伝子型を各バイオアイテムとし、表現型に関する語句をキーワードとして用いる技術が提案されている。この技術により、表現型に最も相関する遺伝子型を統計学的な有意性確率の順位で検索可能とする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００７／１２６０８８号パンフレット
【非特許文献】
【０００５】
【非特許文献１】Terada，Kim  and  Sese，“High-speed  Westfall-Young  permutation  procedure  for  genome-wide  association  studies”，ACM-BCB  2015
【非特許文献２】Skala，“Skala，“Hypergeometric  tail  inequalities：ending  the  insanity”，arxiv  1311．5939）”，arxiv  1311．5939
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮説検定では、ある仮説を棄却するかしないかを決める水準の確率を有意水準（αとよばれる）とよぶ。本来は陰性であるのに誤って陽性と判定されることを偽陽性、または第一種過誤とよぶ。α＝０．０５と設定すると、偽陽性の生じる確率は５％となる。
【０００７】
仮説検定では、与えられたデータから偽陽性の確率（ｐ値とよばれる）を算出して、ｐ値が有意水準よりも大きいかどうかで統計的有意性を判定する。例として、「男性と女性との間でダイエットしている人の割合に有意差がない」という仮説について、ｐ値が有意水準よりも小さい場合に仮説を棄却する。つまり、ｐ＜０．０５であれば、偶然起こる確率は５％以下であると考えられ、偶然ではく有意に差がある、と結論付ける。
【０００８】
しかしながら、同時に複数の仮説検定が発生する多重検定では、このｐ値を算出する演算量が膨大になる。上述した検索対象を精度良く定める関連技術では、ｐ値の演算量を削減することができない。
【０００９】
したがって、１つの側面では、多重検定において偽陽性の確率の演算量を削減することを目的とする。
【課題を解決するための手段】
【００１０】
一態様によれば、多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する絞り込み部を有する情報処理装置が提供される。
【００１１】
また、上記課題を解決するための手段として、上記方法を行う装置、コンピュータに上記処理を実行させるためのプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
【発明の効果】
【００１２】
多重検定において偽陽性の確率の演算量を削減することができる。
【図面の簡単な説明】
【００１３】
【図１】クロス集計表の例を示す図である。
【図２】確率関数とｐ値とを説明するための図である。
【図３】多重検定において第一種過誤が生じる場合を説明するための図である。
【図４】検定間の従属性の例を示す図である。
【図５】最小ｐ値の確率分布の例を示す図である。
【図６】本実施例における絞り込み処理の例を示す図である。
【図７】情報処理装置のハードウェア構成を示す図である。
【図８】本実施例における情報処理装置の機能構成の第１例を示す図である。
【図９】集計前データの構成例を示す図である。
【図１０】集計後データの構成例を示す図である。
【図１１】最小ｐ値テーブルの構成例を示す図である。
【図１２】図８の機能構成の第１例におけるｐ値算出処理を説明するためのフローチャート図である。
【図１３】ステップＳ１０３での不等式による絞り込み処理を説明するためのフローチャート図である。
【図１４】本実施例における情報処理装置の機能構成の第２例を示す図である。
【図１５】図１４の機能構成の第２例における不等式による絞り込み処理を説明するためのフローチャート図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて説明する。先ず、仮説検定について説明する。フィッシャーの正確確率検定（以下、簡潔に、「フィッシャー検定」という）が、２つの集団を２つのカテゴリーに分類したデータの仮説検定を行う手法として統計学の分野でよく知られている。
【００１５】
一例として、男性と女性の２つの集団の間でダイエットしている人としていない人の２つのカテゴリーの割合に有意差がない、という仮説を検定するときにフィッシャー検定が用いられる。この仮説に対して、ｐ値が有意水準よりも大きいか否かで統計的有意性を判定する。
【００１６】
以下に、フィッシャー検定の概要を説明する。ここでは、ある病気について発症している人（case）と発症していない人（control）の２群に分類し、それぞれの群について塩基（ＤＮＡの遺伝情報を担う要素）の変異がある人とない人とに分類する。このような分類は、図１に示すようなクロス集計表で表される。
【００１７】
図１は、クロス集計表の例を示す図である。図１に例示するクロス集計表では、
nは発症かつ変異ありの人数
xは変異ありの合計人数
Ncは発症の合計人数
Ntは集計表の合計人数
を表わす。クロス集計表内のn、x-n、Nc-n、およびNt-x-Nc+nは、観測度数といい、各項目の合計値を示すx、Nt-x、Nc、Nt-Nc、およびNtは、周辺度数を表わす。上述では、特定疾患の発症の有無を例としたが、商品購入の有無等でもよい。
【００１８】
このクロス集計表に基づいて、偽陽性の確率を示すｐ値の計算方法について説明する。与えられた図１のクロス集計表に対して、数１と数２によりｐ値を計算する。数1で得られる確率関数Prと数２で得られるｐ値との関係は、図２で示される。
【００１９】
まず、図１のクロス集計表において、周辺度数が与えられた状況で、発症かつ変異ありの人数がnとなる確率関数Prは、
【００２０】
【数１】
2018109828.tif 000003
で表される。図２において、確率関数Pr(n；x，Nc，Nt)は簡潔にPr[n]で示される。確率関数Prより、フィッシャー検定のｐ値は、
【００２１】
【数２】
2018109828.tif 000004
で表される。図２において、斜線領域は偶然起こる確率の領域を示し、一例として５％に設定され、ｐ値が５％以下であった場合、偶然ではなく有意に差があることを示す。
【００２２】
上述では、１つの仮説検定であったが、同時に複数の仮説検定が発生する状況を多重検定と呼ぶ。例えば、ある病気と関連する塩基（ＤＮＡの遺伝情報を担う要素）を特定するために、多数の塩基について繰り返し仮説検定を行う場合がある。
【００２３】
図３は、多重検定において第一種過誤が生じる場合を説明するための図である。図３では、１つの検定が引き起こす偽陽性の確率を１つの丸い形状で表す。図３（Ａ）では、１回の検定の結果例を示している。有意水準値αが５％とする。図３（Ａ）において、偽陽性の起こる確率は５％である。
【００２４】
一方、図３（Ｂ）では、１０回の検定の結果例を示している。１−０．９５１０により０．４を得る。即ち、少なくとも１つの検定で偽陽性の起こる確率は、４０％である。このように、多重検定では、検定回数が多くなるほど高確率で第一種過誤が生じる。
【００２５】
このような偽陽性の確率が高くなる現象を抑えるために有意水準を補正する手法として、様々な多重検定補正が存在する。Bonferroni法、Holm法、Tarone法、およびpermutation（並べ替え）法（Westfall-Young法ともいう）等が知られている。
【００２６】
以下に、permutation法（Westfall-Young法）についてその概要を説明する。permutation法は、多数の検定間の従属性を扱うことができる。図４は、検定間の従属性の例を示す図である。図４においても、１つの検定が引き起こす偽陽性の確率を１つの丸い形状で表す。
【００２７】
図４（Ａ）は、独立な２つの検定の例を示す。図４（Ｂ）は、従属性のある２つの検定の例を示している。permutation法は、図４（Ｂ）のように従属性のある複数の検定間の従属性を扱うことが可能である。
【００２８】
permutation法は、数値シミュレーション（以下、単に、シミュレーションという）を使用し、計算が収束するまで以下の処理を繰り返す。
・与えられたデータ（集計前データ４２（図９））の特定事象発生有無をランダムに並べ替えて（permutation）、全ての検定について集計表を作成してｐ値を計算する。
・全ての検定の中から最小のｐ値を選択する。
・シミュレーションごとに得られた最小ｐ値のセットから、最小ｐ値の確率分布を数値的に求める。
・最小ｐ値の確率分布をもとに多重検定補正の補正値を決定する。
【００２９】
図５は、最小ｐ値の確率分布の例を示す図である。図５には、数値的に得られた最小ｐ値の確率分布Pr[min  p]を示し、この最小ｐ値の確率分布Pr[min  p]から求めた補正後の有意水準（有意水準補正値α’）を示している。
【００３０】
図５より、有意水準補正値α’よりも最小ｐ値が小さくなる確率は５％である。言い換えると、多重検定のなかで１つでも偽陽性を生じる確率は５％である。
【００３１】
上述したフィッシャー検定は仮説検定によく使用されるが、ｐ値算出の演算量が多く計算時間がかかる。具体的には、数１はクロス集計表の周辺度数Ｎが大きくなると、積の演算量が膨大になる。また、多重検定を補正するpermutation法ではｐ値を繰り返し計算するため、ｐ値の計算コストの増大がpermutation法全体の計算コスト増大を招く。
【００３２】
そこで、フィッシャー検定のｐ値を高速に算出する方法として、lookup  table（ルックアップテーブル）を用いる方法（非特許文献１）が知られている。この方法では、一度計算したｐ値をlookup  tableに保存する。同じ引数(n，x，Nc，Nt)のｐ値を求める際に、lookup  tableに保持されている値を検索する。
【００３３】
一例として、病気と関連する可能性のある多数の塩基について検定をする場合、観測度数nおよび周辺度数xは塩基毎に異なる値を取るが、周辺度数Nc，  Ntはすべての塩基について共通の値を取る。それゆえ、lookup  tableは、x、nの２変数の組み合わせについて保持すればよい。
【００３４】
このようにlookup  tableを検索することで、直接ｐ値を計算する場合よりも高速にｐ値を得ることができる。
【００３５】
一方で、欠損値を含むデータを扱う場合、n、xに加えてNc，Ntの値も塩基毎に異なるため、引数(n，x，Nc，Nt)の組み合わせが膨大になる。それゆえ、一度、計算したｐ値を再び計算する機械がほとんど無くなるため、lookup  tableを検索する処理がほとんど無くなり、高速化が困難となる。
【００３６】
ここで、ｐ値の計算の演算量を低減するために、permutation法について更なる検証を行う。まず、permutation法に関する知識を有する者が思いつくであろう方法について検証する。
【００３７】
permutation法は、全ての検定のｐ値を必要とせず、各permutation時の最小ｐ値のみを必要とする。それゆえ、計算コストを縮減するために、最小ｐ値の候補となる検定を絞込み、候補に対してのみｐ値を計算する方法が考えられる。
【００３８】
クロス集計表（図１）の統計的な偏りを表わす指標として、
【００３９】
【数３】
2018109828.tif 000005
で表されるOdds  Ratio（OR）が良く用いられる。
【００４０】
ORの計算コストはフィッシャー検定のｐ値算出のコストに比べて十分少ない。従って、まず、全ての検定のORを算出して、ORの値が大きくなる検定を最小ｐ値を得られる候補として絞込みを行うことが考えられる。
【００４１】
この方法では、絞り込み時のORの閾値の決め方に任意性があるため、分析者の経験により計算コストや結果に差が生じる。ORの大小関係とフィッシャー検定のｐ値の大小関係は必ずしも一致しないので、閾値の決め方次第では正確な最小ｐ値を得られない場合があり、その結果、有意水準補正の精度劣化を引き起こす場合がある。
【００４２】
以下に説明する本実施例では、正確な最小ｐ値を得ることで検定の精度を劣化させずに、ｐ値の計算の演算量を削減する。
【００４３】
上述したORを用いた検定の絞り込み方法では、正確な最小ｐ値を得られない可能性がある。その問題を解決するために、発明者等は、フィッシャー検定のｐ値（数２）との大小関係が明確な関数を用いる方法を見出した。発明者等の方法では、ｐ値の上限と下限を予め算出することで、正確にｐ値の絞り込みを行えるため、精度が劣化することなく有意水準値αの補正値（有意水準補正値α’）を求めることができる。
【００４４】
まず、ｐ値の上限を与える効果的な不等式は以前から知られている（非特許文献２）。ここでいう効果的とは、正確なｐ値と上限との差が小さく、かつ上限を求める演算量が正確なｐ値を求める演算量よりも十分少ないことをいう。
【００４５】
このように、ｐ値の上限を得る効果的な不等式（数６）は知られているが、ｐ値の下限を与える効果的な不等式は知られていなかった。発明者等は、ｐ値算出に必要な超幾何分布の確率密度関数（数１）の性質とpermutation法の両方に精通しているため、以下の方法を見出した。
【００４６】
まず、発明者等は、permutation法で必要となる最小ｐ値の算出には、超幾何分布の確率密度関数のtail（裾野）のみが必要であることに着目した。上記のtail（裾野）が指数関数的に減少する性質に着目して、本来は確率密度関数の和で与えられるp値（式１）を近似的に確率密度関数１項のみで与える下限式を発案した。さらに、超幾何分布の確率密度関数にスターリングの公式を適用して演算量の少ない下限式に変形して、下限式（数５）を発案した。
【００４７】
以下に、発明者等によって見出された不等式による絞り込み処理について説明する。数２で定義される確率関数Prについて不等式
【００４８】
【数４】
2018109828.tif 000006
を用いる。また、flow及びfuppは、
【００４９】
【数５】
2018109828.tif 000007
【００５０】
【数６】
2018109828.tif 000008
により定義する。
【００５１】
ここで、数２から数４を得るための式の変形について説明しておく。数２のフィッシャー検定のｐ値について、非特許文献２より、
【００５２】
【数７】
2018109828.tif 000009
が成り立つことが知られている。一方、数２より、以下の不等式が成り立つ。
【００５３】
【数８】
2018109828.tif 000010
数７及び数８より、対数をとると、
【００５４】
【数９】
2018109828.tif 000011
が成り立つ。
【００５５】
上記数９の最左辺について、スターリングの公式
【００５６】
【数１０】
2018109828.tif 000012
を用いて、
【００５７】
【数１１】
2018109828.tif 000013
を得る。よって、数１０と数１１により、数４を得る。
【００５８】
本実施例における絞り込み処理では、全ての検定についてfuppを計算して最小となるfuppを求める。次に、全てのflowを計算して最小fuppよりもflowが小さくなる検定を選択する。そして、絞り込み処理で選択された検定についてのみ、ｐ値を計算して最小p値を求めるｐ値計算処理を行う。
【００５９】
検定数Ntが大きい場合、p値の演算量に比べてfupp及びflowの演算量は十分少ない。したがって、全ての検定についてｐ値を算出するよりも、全ての検定についてfupp及びflowを算出して検定の絞り込みをし、絞り込み後の検定についてのみｐ値を算出することで、高速化できる。ｐ値の積の演算量O((x-n)Nt)であるのに対して、本実施例におけるfupp及びflowによる積の演算量は、O(1)である。
【００６０】
図６は、本実施例における絞り込み処理の例を示す図である。図６において、横軸にｐ値の対数値（log  p-value）を示し、左から右へとｐ値は小さくなる。検定毎に得られたfupp及びflowを示している。この例では、検定６ａ、６ｂ、６ｃ、６ｄ、及び６ｅについて算出されたfupp及びflowを例示している。
【００６１】
絞り込み処理では、全ての検定６ａ〜６ｅのうち検定６ａが最小fuppを示すため、検定６ａの最小fuppより小さいflowの検定６ｂ及び６ｃを特定する。この例では、検定６ａ〜６ｃが選択され、検定６ｄ及び６ｅは除外される。本実施例では、特に、ｐ値の下限を与える効果的な不等式（数４）を得たことで、検定毎に適切なｐ値の範囲を取得できるため、精度よく検定を選別し、ｐ値算出処理を高速化する。
【００６２】
上述した本実施例に係るｐ値算出処理を実現する情報処理装置は、図７に示すようなハードウェア構成を有する。図７は、情報処理装置のハードウェア構成を示す図である。図７において、情報処理装置１００は、コンピュータによって制御される情報処理装置であって、ＣＰＵ（Central  Processing  Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００６３】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って情報処理装置１００を制御するプロセッサに相当する。主記憶装置１２には、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００６４】
補助記憶装置１３には、ＨＤＤ（Hard  Disk  Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び補助記憶装置１３の１以上に相当する。
【００６５】
入力装置１４は、マウス、キーボード等を有し、分析者等の利用者が情報処理装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。入力装置１４と表示装置１５とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。  
情報処理装置１００によって行われるｐ値算出処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等の記憶媒体１９によって情報処理装置１００に提供される。
【００６６】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と情報処理装置１００とのインターフェースを行う。
【００６７】
また、記憶媒体１９に、後述される本実施の形態に係るｐ値算出処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して情報処理装置１００にインストールされる。インストールされたプログラムは、情報処理装置１００により実行可能となる。
【００６８】
尚、プログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、データとしての構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤ（Digital  Versatile  Disk）ディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００６９】
図８は、本実施例における情報処理装置の機能構成の第１例を示す図である。図８において、情報処理装置１００は、置換処理部３１と、集計処理部３２と、ｐ値上限値算出部３３と、ｐ値下限値算出部３４と、ｐ値算出部３５と、最小ｐ値選択部３６と、有意水準補正部３７と、収束判定部３８とを有する。
【００７０】
置換処理部３１と、集計処理部３２と、ｐ値上限値算出部３３と、ｐ値下限値算出部３４と、ｐ値算出部３５と、最小ｐ値選択部３６と、有意水準補正部３７と、収束判定部３８とは、情報処理装置１００にインストールされたプログラムが、情報処理装置１００のＣＰＵ１１に実行させる処理により実現される。
【００７１】
また、記憶部１３０は、集計前データ４２、集計後データ４３、最小ｐ値テーブル４４、有意水準値α、有意水準補正値α’(k)、有意水準補正値α’(k-1)、誤差β(k)等を記憶する。
【００７２】
置換処理部３１は、記憶部１３０に記憶された集計前データ４２（図９）に記憶された特定事象発生有無との関連性に係る属性をランダムに並べ替える（permutation）。属性をランダムに並べ替えた置換結果で集計前データ４２は、置き換えられる。
【００７３】
集計処理部３２は、並び替えられた集計前データ４２を入力として、多重検定を行う。特定事象発生有無と各属性に対する検定毎にクロス集計表を作成し、作成したクロス集計表から観測度数と周辺度数と取得し、観測度数と周辺度数と示した集計結果を記憶部１３０の集計後データ４３（図１０）に出力し記憶する。この観点において、集計後データ４３は、多重検定同時集計テーブルと言える。
【００７４】
ｐ値上限値算出部３３は、集計後データ４３から観測度数nと周辺度数x、Nc、Ntとを取得して、全ての検定のｐ値上限値（fupp）を算出し、ｐ値上限値（fupp）の中から最小値（最小fupp）を選択する。最小fuppは、ｐ値下限値算出部３４に通知される。
【００７５】
ｐ値下限値算出部３４は、集計後データ４３から観測度数nと周辺度数x、Nc、Ntとを取得して、全ての検定のｐ値下限値（flow）を算出し、算出したｐ値下限値（flow）のうちｐ値下限値（flow）よりも小さいｐ値下限値（flow）を得た検定をｐ値算出の候補として選択する。検定候補を示す絞り込み結果がｐ値算出部に通知される。
【００７６】
ｐ値算出部３５は、ｐ値下限値算出部３４によって得られた検定候補に対して、数１と数２とを用いてｐ値を算出する。算出して得られたｐ値のセットは最小ｐ値選択部３６に通知される。
【００７７】
ｐ値上限値算出部３３と、ｐ値下限値算出部３４と、ｐ値算出部３５とが、後述される不等式（数４）による絞り込み処理を行う絞り込み部Ｐ１に相当する。絞り込み処理は、図１３で詳述される。
【００７８】
最小ｐ値選択部３６は、ｐ値算出部３５から通知されたｐ値のセットから最小ｐ値を選択し、最小ｐ値テーブル４４（図１１）に追加して記憶する。
【００７９】
有意水準補正部３７は、有意水準補正値α’および誤差βを更新する。有意水準補正部３７は、最小ｐ値テーブル４４から最小ｐ値のセットを取得して、分析者等の利用者９によって定められた有意水準値αを用いて、最小p値のセット中の上位（１００×α）％以下のうち、最大の最小p値を有意水準補正値α’(k)とする。
【００８０】
また、有意水準補正部３７は、ｋ回目のpermutation時の有意水準補正値α’(k)と（ｋ−１）回目のpermutation時の有意水準補正値α’(k-1)から数１２により、
【００８１】
【数１２】
2018109828.tif 000014
ｋ回目の誤差β(k)を求める。
【００８２】
有意水準補正部３７は、記憶部１３０に、現在の有意水準補正値α’(k)を有意水準補正値α’(k-1)に設定し、求めた誤差β(k)を記憶する。初期状態では、利用者９が指定した有意水準補正値α’が有意水準補正値α’(k-1)に設定される。有意水準補正値α’(k)と誤差β(k)とが、有意水準補正値α’と誤差βとして収束判定部３８に通知される。
【００８３】
収束判定部３８は、有意水準補正部３７から有意水準補正値α’と誤差βとを受け付けると、予め定められた収束判定値εと誤差βとを比較し、誤差βが収束判定値ε未満であれば、有意水準補正値α’を得られたｐ値として表示装置１５に表示させ、本実施例に係るｐ値判定処理を終了する。誤差βが収束判定値ε以上の場合、未収束を示す判定結果を置換処理部３１に通知する。判定結果を受けた置換処理部３１は、上述した処理を繰り返す。
【００８４】
次に、集計前データ４２、集計後データ４３、及び最小ｐ値テーブル４４の構成例について説明する。
【００８５】
図９は、集計前データの構成例を示す図である。図９において、集計前データ４２は、統計データ等を蓄積し記憶するテーブルであり、ＩＤ、特定事象発生有無、複数の属性１、２、・・・、ｍ等の項目を有する。
【００８６】
ＩＤは、レコードを特定する識別情報を示す。患者、購買者等の個人に対応付けられてもよい。特定事象発生有無は、特定の疾患の発症の有無（case/control）、特定商品の購入の有無等を示す。発症した場合、購入した場合等は「１」を示し、発症していない場合、購入していない場合等は「０」を示す。
【００８７】
複数の属性１、２、・・・、ｍは、特定事象発生有無の関連性に係る属性を示す。属性が成立する場合、「１」を示し、属性が成立しない場合、「０」を示す。特定疾患に関する場合、複数の塩基の種類が属性１、２、・・・、ｍで示される。特定商品に関する場合、地域名、年齢層、天気情報、時間帯、同時に購入される得る他商品名等が示される。
【００８８】
図１０は、集計後データの構成例を示す図である。図１０において、集計後データ４３は、検定毎に観測度数の値と、複数の周辺度数の値とを記憶するテーブルであり、観測度数と、複数の周辺度数等の項目を有する。集計後データ４３は、多重検定同時集計テーブルに相当する。
【００８９】
観測度数は、検定毎のクロス集計表（図１）のnの値を示す。複数の周辺度数は、クロス集計表（図１）のｘの値、Ncの値、およびNtの値を示す。
【００９０】
図１１は、最小ｐ値テーブルの構成例を示す図である。図１１において、最小ｐ値テーブル４４は、最小ｐ値選択部３６によって選択された最小ｐ値が蓄積され記憶されるテーブルである。ｐ値算出処理が収束するまでの繰り返しごとに最小ｐ値が最小ｐ値テーブル４４に蓄積される。
【００９１】
この例では、最小ｐ値テーブル４４に、繰り返しごとに、「0．0004」、「0．0006」、「0．0007」等が蓄積されたことを示している。繰り返しごとに得られた最小ｐ値と、集計後データ４３の、得られた最小ｐ値の検定に係る観測度数と周辺度数のセットのレコードと関連付けされることが望ましい。又は、最小ｐ値テーブル４４に観測度数と周辺度数のセットを記憶する項目を含んでもよい。
【００９２】
図１２は、図８の機能構成の第１例におけるｐ値算出処理を説明するためのフローチャート図である。図１２において、利用者９から有意水準値αを取得すると記憶部１３０に記憶し、置換処理部３１は、集計前データ４２に対して特定事象発生有無をランダムに並べ替えて、集計前データ４２を置き換える（ステップＳ１０１）。
【００９３】
次に、集計処理部３２は、集計前データ４２に対して多重検定を行い、検定毎の観察度数と複数の周辺度数とを示す集計後データ４３を記憶部１３０に出力する（ステップＳ１０２）。
【００９４】
集計後データ４３が記憶部１３０に出力されると、絞り込み部Ｐ１により、不等式（数４）による絞り込み処理が行われる（ステップＳ１０３）。不等式（数４）による絞り込み処理は、図１３で詳述する。ｐ値算出処理の対象となる検定の絞り込みが行われると、各検定候補のｐ値のセットが得られる。
【００９５】
最小ｐ値選択部３６は、ｐ値のセットから最小ｐ値を選択して最小ｐ値テーブル４４に追加する（ステップＳ１０４）。
【００９６】
最小ｐ値テーブル４４に最小ｐ値が追加されると、有意水準補正部３７は、最小ｐ値テーブル４４から最小ｐ値のセットを読み出して、今回の繰り返しによる有意水準補正値α’を算出し、また、前回との誤差βを算出して、有意水準補正値α’及び誤差βを更新する（ステップＳ１０５）。
【００９７】
有意水準補正部３７は、記憶部１３０に記憶されている利用者９が指定した有意水準値αを読み出して、最小ｐ値テーブル４４から読み出した最小ｐ値のセットから上位（100×α）％以下で最大の最小p値を特定する。特定した最小ｐ値を今回の有意水準補正値α’とする。
【００９８】
記憶部１３０に記憶されている前回の有意水準補正値α’を有意水準補正値α’(k-1)として記憶し、今回の有意水準補正値α’と前回の有意水準補正値α’(k-1)との誤差β(k)を算出する。有意水準補正部３７は、今回の有意水準補正値α’及び誤差β(k)とを記憶部１３０に記憶して更新する。また、有意水準補正部３７は、今回の有意水準補正値α’及び誤差β(k)とを収束判定部３８に通知する。
【００９９】
収束判定部３８は、有意水準補正部３７からの通知に応じて、誤差β(k)が収束判定値ε未満であるか否かを判定する（ステップＳ１０６）。収束判定部３８により、誤差β(k)が収束判定値ε以上であると判定された場合（ステップＳ１０６のＮＯ）、ｐ値算出処理は、ステップＳ１０１へと戻り、ランダム置換処理から繰り返される。一方、収束判定部３８により、誤差β(k)が収束判定値ε未満であると判定された場合（ステップＳ１０６のＹＥＳ）、ｐ値算出処理は、終了する。
【０１００】
図１３は、ステップＳ１０３での不等式による絞り込み処理を説明するためのフローチャート図である。図１３において、ｐ値上限値算出部３３は、全ての検定のｐ値上限値（fupp）を算出する（ステップＳ２０１）。ｐ値上限値算出部３３は、集計後データ４３の各レコードから観測度数と周辺度数のセットを取得して、検定のｐ値上限値（fupp）を算出する。
【０１０１】
そして、ｐ値上限値算出部３３は、算出した複数のｐ値上限値（fupp）の中から最小値（最小fupp）を選択する（ステップＳ２０２）。選定されたｐ値上限値（fupp）の最小値（最小fupp）は、ｐ値下限値算出部３４に通知される。
【０１０２】
ｐ値下限値算出部３４は、全ての検定のｐ値下限値（flow）を算出する（ステップＳ２０３）。ｐ値下限値算出部３４は、集計後データ４３の各レコードから観測度数と周辺度数のセットを取得して、検定のｐ値下限値（flow）を算出する。
【０１０３】
そして、ｐ値下限値算出部３４は、算出した複数のｐ値下限値（flow）の中から、ｐ値上限値（fupp）の最小値（最小fupp）よりもｐ値下限値（flow）が小さい検定を候補として選択し、絞り込み結果をｐ値算出部３５に通知する（ステップＳ２０４）。絞り込み結果は、各検定候補毎に、観測度数と周辺度数のセットを示す。
【０１０４】
ｐ値算出部３５は、絞り込み結果に基づいて、検定候補毎に、集計後データ４３から各検定候補の観測度数と周辺度数のセットを取得してｐ値を算出し、ｐ値のセットを出力する（ステップＳ２０５）。その後、不等式による絞り込み処理を終了する。
【０１０５】
図８の機能構成例では、ｐ値上限値（fupp）の最小値よりもｐ値下限値（flow）が小さい検定を候補として選択したが、ｐ値上限値（fupp）の最小値の検定でｐ値を求め、求めたｐ値より更に小さいｐ値下限値（flow）が存在する場合にはその検定を候補として選択することが考えられる。この場合のｐ値算出方法の機能構成例について説明する。
【０１０６】
図１４は、本実施例における情報処理装置の機能構成の第２例を示す図である。図１４において、情報処理装置１００は、置換処理部３１と、集計処理部３２と、ｐ値上限値算出部３３と、ｐ値算出部５４と、ｐ値下限値算出部５５と、最小ｐ値選択部３６と、有意水準補正部３７と、収束判定部３８とを有する。
【０１０７】
置換処理部３１と、集計処理部３２と、ｐ値上限値算出部３３と、ｐ値算出部５４と、ｐ値下限値算出部５５と、最小ｐ値選択部３６と、有意水準補正部３７と、収束判定部３８とは、情報処理装置１００にインストールされたプログラムが、情報処理装置１００のＣＰＵ１１に実行させる処理により実現される。
【０１０８】
また、記憶部１３０は、集計前データ４２、集計後データ４３、最小ｐ値テーブル４４、有意水準値α、有意水準補正値α’(k)、有意水準補正値α’(k-1)、誤差β(k)等を記憶する。
【０１０９】
置換処理部３１は、記憶部１３０に記憶された集計前データ４２（図９）に記憶された特定事象発生有無をランダムに並べ替える（permutation）。ランダムに並べ替えた置換結果で集計前データ４２は、置き換えられる。
【０１１０】
集計処理部３２は、並び替えられた集計前データ４２を入力として、多重検定を行う。特定事象発生有無と各属性に対する検定毎にクロス集計表を作成し、作成したクロス集計表から観測度数と周辺度数と取得し、観測度数と周辺度数と示した集計結果を記憶部１３０の集計後データ４３（図１０）に出力し記憶する。
【０１１１】
ｐ値上限値算出部３３は、集計後データ４３から観測度数nと周辺度数x、Nc、Ntとを取得して、全ての検定のｐ値上限値（fupp）を算出し、ｐ値上限値（fupp）のなかから最小値（最小fupp）を選択する。最小fuppは、ｐ値算出部５４に通知される。
【０１１２】
ｐ値算出部５４は、ｐ値上限値算出部３３から最小fuppの通知を受けると、最小fuppの検定の集計後データ４３から観測度数nと周辺度数x、Nc、Ntとを取得して、ｐ値を算出してｐ値閾値とする。ｐ値算出部５４は、ｐ値下限値算出部５５を呼び出して、算出したｐ値閾値に基づいて、検定候補の絞り込みを行わせる。
【０１１３】
ｐ値算出部５４は、ｐ値下限値算出部５５から戻り値として検定候補を取得すると、各検定毎にｐ値を算出し、算出して得たｐ値のセットを最小ｐ値選択部３６に通知する。
【０１１４】
ｐ値下限値算出部５５は、集計後データ４３から観測度数nと周辺度数x、Nc、Ntとを取得して、全ての検定のｐ値下限値（flow）を算出し、ｐ値下限値（flow）の中から、ｐ値算出部５４から通知されたｐ値閾値よりも小さいｐ値下限値（flow）となる検定を候補として選択する。ｐ値下限値算出部５５は、検定候補を戻り値としてｐ値算出部５４に通知する。
【０１１５】
ｐ値上限値算出部３３と、ｐ値算出部５４と、ｐ値下限値算出部５５とが、後述される不等式（数４）による絞り込み処理を行う絞り込み部Ｐ２に相当する。絞り込み処理は、図１５で詳述される。
【０１１６】
最小ｐ値選択部３６は、ｐ値算出部５４から通知されたｐ値のセットから最小ｐ値を選択し、最小ｐ値テーブル４４（図１１）に追加して記憶する。
【０１１７】
有意水準補正部３７は、有意水準補正値α’および誤差βを更新する。有意水準補正部３７は、最小ｐ値テーブル４４から最小ｐ値のセットを取得して、利用者９によって定められた有意水準値αを用いて、上位（100×α）％以下で最大の最小p値を有意水準補正値α’(k)とする。
【０１１８】
また、有意水準補正部３７は、ｋ回目のpermutation時の有意水準補正値α’(k)と（ｋ−１）回目のpermutation時の有意水準補正値α’(k-1)から、上述した数１２によりｋ回目の誤差β(k)を求める。
【０１１９】
有意水準補正部３７は、記憶部１３０に、現在の有意水準補正値α’(k)を有意水準補正値α’(k-1)に設定し、求めた誤差β(k)を記憶する。初期状態では、利用者９が指定した有意水準補正値α’が有意水準補正値α’(k-1)に設定される。有意水準補正値α’(k)と誤差β(k)とが、有意水準補正値α’と誤差βとして収束判定部３８に通知される。
【０１２０】
収束判定部３８は、有意水準補正部３７から有意水準補正値α’と誤差βとを受け付けると、予め定められた収束判定値εと誤差βとを比較し、誤差βが収束判定値ε未満であれば、有意水準補正値α’を得られたｐ値として表示装置１５に表示させ、本実施例に係るｐ値判定処理を終了する。誤差βが収束判定値ε以上の場合、未収束を示す判定結果を置換処理部３１に通知する。判定結果を受けた置換処理部３１は、上述した処理を繰り返す。
【０１２１】
集計前データ４２、集計後データ４３、及び最小ｐ値テーブル４４の構成例は、機能構成の第１例と同様であるため、その説明を省略する。また、絞り込み部Ｐ２以外は、第２例と同様であるため、全体のフローチャートは、図１２と同様である。よって、絞り込み部Ｐ２に係るフローチャートについて以下に説明する。
【０１２２】
図１５は、図１４の機能構成の第２例における不等式による絞り込み処理を説明するためのフローチャート図である。図１５において、ｐ値上限値算出部３３は、全ての検定のｐ値上限値（fupp）を算出する（ステップＳ４０１）。ｐ値上限値算出部３３は、集計後データ４３の各レコードから観測度数と周辺度数のセットを取得して、検定のｐ値上限値（fupp）を算出する。
【０１２３】
そして、ｐ値上限値算出部３３は、算出した複数のｐ値上限値（fupp）の中から最小値を選択する（ステップＳ４０２）。選定されたｐ値上限値（fupp）の最小値（最小fupp）は、ｐ値算出部５４に通知される。
【０１２４】
ｐ値算出部５４は、ｐ値上限値算出部３３から通知された最小値（最小fupp）の検定の観測度数と周辺度数のセットを集計後データ４３から取得してｐ値を算出し、ｐ値閾値を得る（ステップＳ４０３）。ｐ値閾値は、ｐ値下限値算出部５５に通知される。
【０１２５】
ｐ値下限値算出部５５は、全ての検定のｐ値下限値（flow）を算出する（ステップＳ４０４）。ｐ値下限値算出部５５は、集計後データ４３の各レコードから観測度数と周辺度数のセットを取得して、検定のｐ値下限値（flow）を算出する。
【０１２６】
そして、ｐ値下限値算出部５５は、ｐ値下限値（flow）の中から、ｐ値閾値よりも小さいｐ値下限値（flow）の検定を選択し、絞り込み結果をｐ値算出部５４に通知する（ステップＳ４０５）。
【０１２７】
ｐ値算出部５４は、絞り込み結果で示される検定毎にｐ値を算出し、ｐ値のセットを出力する（ステップＳ４０６）。その後、不等式による絞り込み処理を終了する。
【０１２８】
上述より、本実施例によれば、ｐ値上限値（fupp）とｐ値下限値（flow）とを用いて絞り込みを行うことで、分析者の経験に依存せずに機械的に絞り込みの閾値を設定することができる。したがって、分析者の熟練度に依存せずに、誰が分析しても計算コストを削減させることが可能である。
【０１２９】
ｐ値上限値（fupp）とｐ値下限値（flow）とを用いて絞り込みを行うことで、確実に最小ｐ値を得ることができる。したがって、精度劣化を引き起こすことなく、高速に有意水準補正値α’を求めることができる。
【０１３０】
また、Odds  Ratio（OR）を用いた方法と比較した場合、ｐ値閾値の決め方は分析者としてのユーザ９の経験に依存しているため、精度改善及び高速化の実現が困難である。更に、Odds  Ratio（OR）を用いた方法では、正確な最小ｐ値を得られない場合がある。
【０１３１】
ｐ値の上限値と下限値を求める演算量は、検定毎に偽陽性の確率（ｐ値）を算出する場合の演算量に比べ十分に小さい。本実施例では、ｐ値算出対象の検定を絞り込むため、演算量を削減することが可能である。ゲノム解析において多重検定を行う場合等では、ｐ値算出対象の塩基が絞り込まれるため、演算量を削減できる。
【０１３２】
上述したように、permutation法の各シミュレーションにおいて、各検定の観測度数nと周辺度数x、Nc、Ntの情報を持つ集計後データ４３を作成する。集計後データ４３に対して、不等式（数４）による絞り込み処理を実行して、最小ｐ値の候補となる変数の組(n，  x，  Nc，  Nt)の絞り込みを行う。変数の組(n，  x，  Nc，  Nt)は、検定毎の引数を表わす。絞り込まれた変数の組(n，  x，  Nc，  Nt)に対して、即ち、絞り込まれたｐ値算出対象の検定に対して、実際にｐ値を計算し、その中で最小ｐ値を選択する。
【０１３３】
このような手法により、本実施例では、絞り込んだ後の検定に対してのみｐ値を算出するため、全てのｐ値を計算する場合と比べて計算コストを抑えることができる。また、周辺度数Nc及びNtを固定せずに絞り込みを行うため、集計後データ４３に関連技術では対応していなかった欠損値を含む場合であっても、効果を得ることができる。
【０１３４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１３５】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する絞り込み部
を有する情報処理装置。
（付記２）
前記絞り込み部は、更に、
前記検定毎に前記偽陽性の確率の前記上限値を算出し、得られた複数の上限値から最小値を取得して前記所定の値に設定する上限値算出部と、
前記検定毎に前記偽陽性の確率の前記下限値を算出し、得られた複数の下限値の中から、前記所定の値よりも小さい下限値を選択する下限値算出部と、
前記下限値算出部が選択した前記所定の値よりも小さい下限値の検定に対して前記偽陽性の確率を算出する確率算出部と、
を有することを特徴とする付記１記載の情報処理装置。
（付記３）
前記絞り込み部は、更に、
前記検定毎に前記偽陽性の確率の前記上限値を算出し、得られた複数の上限値から最小値を取得する上限値算出部と、
前記最小値の検定の前記偽陽性の確率を算出して前記所定の値に設定する確率算出部と、
前記検定毎に前記偽陽性の確率の前記下限値を算出し、得られた複数の下限値から前記確率算出部が算出した前記所定の値よりも小さい下限値の検定を選択する下限値算出部とを有し、
前記確率算出部は、前記下限値算出部が選択した前記検定毎に前記偽陽性の確率を算出する
ことを特徴とする付記１記載の情報処理装置。
（付記４）
前記特定事象の発生有無と、該特定事象の発生有無との関連性に係る複数の属性の値を示す集計前データの特定事象発生有無の置き換え処理を行う置換処理部と、
前記特定事象発生有無がランダムに置き換えられた前記集計前データに基づいて、前記多重検定により得られた集計結果を示す前記集計後データを作成する集計処理部と、
を更に有する付記１乃至３のいずれか一項記載の情報処理装置。
（付記５）
取得した前記偽陽性の確率のセットの中から、有意水準補正値の算出対象となる最小の偽陽性の確率を選択して記憶部に追加する最小値選択部と、
前記記憶部に記憶されている前記最小の偽陽性の確率を用いて、有意水準補正値を算出する有意水準補正部と
前記有意水準補正値が収束するまで、前記置換処理部に前記置き換え処理を行わせる収束判定部と
を有する付記１乃至３のいずれか一項記載の情報処理装置。
（付記６）
多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する
処理をコンピュータに行わせる情報処理プログラム。
（付記７）
多重検定によって得られた特定事象の発生有無に係る集計後データに基づいて、検定毎に偽陽性の確率の上限値と下限値とを求め、求めた複数の上限値から、所定の値を設定し、設定した前記所定の値よりも小さい下限値の検定に対して該偽陽性の確率を算出し、該偽陽性の確率のセットを取得する
処理をコンピュータが行う情報処理方法。
【符号の説明】
【０１３６】
６ａ、６ｂ、６ｃ、６ｄ、６ｅ      検定
９          利用者
１１        ＣＰＵ
１２        主記憶装置
１３        補助記憶装置
１４        入力装置
１５        表示装置
１７        通信Ｉ／Ｆ
１８        ドライブ装置
３１        置換処理部
３２        集計処理部
３３        ｐ値上限値算出部
３４        ｐ値下限値算出部
３５        ｐ値算出部
３６        最小ｐ値選択部
３７        有意水準補正部
３８        収束判定部
４２        集計前データ
４３        集計後データ
４４        最小ｐ値テーブル
５４        ｐ値算出部
５５        ｐ値下限値算出部
１００      情報処理装置
【図１】
2018109828.tif 000015
【図２】
2018109828.tif 000016
【図３】
2018109828.tif 000017
【図４】
2018109828.tif 000018
【図５】
2018109828.tif 000019
【図６】
2018109828.tif 000020
【図７】
2018109828.tif 000021
【図８】
2018109828.tif 000022
【図９】
2018109828.tif 000023
【図１０】
2018109828.tif 000024
【図１１】
2018109828.tif 000025
【図１２】
2018109828.tif 000026
【図１３】
2018109828.tif 000027
【図１４】
2018109828.tif 000028
【図１５】
2018109828.tif 000029