(57)【要約】  確率推論システムは、確率推論モデルの入力を受け取る変形前モデル入力部と、前記確率推論モデルを変形して変形確率推論モデルを出力するモデル変形実行部と、前記変形確率推論モデルを用いて確率推論処理を行った場合の計算コストを計算する推論計算コスト推定部と、前記変形確率推論モデルを用いて確率推論処理を行った場合の、前記確率推論モデルを用いて確率推論処理を行った場合に対する、前記確率推論モデル内のある指定された確率変数に発生しうる推論誤差の大きさを推定する推論誤差推定部と、前記計算コストおよび前記推論誤差に関する確率推論条件に基づいて、採用する確率推論モデルを選択する採用モデル選択部と、前記採用された確率推論モデルを出力する変形モデル出力部と、を備える。
2015145555.tif 000002
【特許請求の範囲】
【請求項１】
確率推論モデルの入力を受け取る変形前モデル入力部と、
前記確率推論モデルを変形して変形確率推論モデルを出力するモデル変形実行部と、
前記変形確率推論モデルを用いて確率推論処理を行った場合の計算コストを計算する推論計算コスト推定部と、
前記変形確率推論モデルを用いて確率推論処理を行った場合の、前記確率推論モデルを用いて確率推論処理を行った場合に対する、前記確率推論モデル内のある指定された確率変数に発生しうる推論誤差の大きさを推定する推論誤差推定部と、
前記計算コストおよび前記推論誤差に関する確率推論条件に基づいて、採用する確率推論モデルを選択する採用モデル選択部と、
前記採用された確率推論モデルを出力する変形後モデル出力部と、
を備えることを特徴とする確率推論システム。
【請求項２】
請求項１に記載の確率推論システムにおいて、
前記確率推論モデルは、確率変数と、前記確率変数同士の確率的依存性を表すリンクとを含むグラフィカルモデルであり、
前記モデル変形実行部は、前記リンクを削除することにより前記変形確率推論モデルを作成することを特徴とする確率推論システム。
【請求項３】
請求項２に記載の確率推論システムにおいて、
前記推論誤差推定部は、前記削除されたリンクを通じて送られ得る複数の状態を仮定することにより、前記推論誤差の大きさを推定することを特徴とする確率推論システム。
【請求項４】
請求項３に記載の確率推論システムにおいて、
前記複数の状態は、前記削除されたリンクに対して考え得る中で最も差の大きい状態であることを特徴とする確率推論システム。
【請求項５】
請求項１に記載の確率推論システムにおいて、
前記採用モデル選択部は、前記変形確率推論モデルから、前記推論誤差の増加量に対する前記計算コストの減少量の割合が大きいものを選択し、前記選択されたモデルが前記確率推論条件を満たすかを判定することを特徴とする確率推論システム。
【請求項６】
請求項５に記載の確率推論システムにおいて、
前記選択されたモデルが前記確率推論条件を満たす場合、前記変形後モデル出力部が、前記選択されたモデルを前記採用された確率推論モデルとして出力し、
前記選択されたモデルが前記確率推論条件を満たさず、かつ、前記モデル変形実行部の処理を継続することで前記確率推論条件を満たす可能性がある場合、前記選択されたモデルを用いて前記モデル変形実行部による変形処理を継続することを特徴とする確率推論システム。
【請求項７】
請求項６に記載の確率推論システムにおいて、
前記モデル変形実行部による前記変形処理を前記確率推論条件を満たすまで繰り返し実行することを特徴とする確率推論システム。
【請求項８】
請求項１に記載の確率推論システムにおいて、
前記モデル変形実行部は、前記確率推論モデル内の確率変数のクラスタリングを行い、作成された複数のクラスタから任意のクラスタを選択することにより、前記変形確率推論モデルを作成することを特徴とする確率推論システム。
【請求項９】
請求項８に記載の確率推論システムにおいて、
前記モデル変形実行部は、前記確率推論条件で指定された確率変数を含むクラスタのみで構成された前記変形確率推論モデルを作成することを特徴とする確率推論システム。
【請求項１０】
請求項１に記載の確率推論システムにおいて、
前記推論誤差推定部は、
ある特定の確率変数の推論誤差を求める場合、前記特定の確率変数以外の他の確率変数について、前記特定の確率変数の考え得る複数の状態の各々を仮定して確率推論処理を行った場合の最尤値を決定し、
前記最尤値を設定した状態で、前記変形確率推論モデルと変形前の前記確率推論モデルとで確率推論処理を行った場合の、前記特定の確率変数の発生確率の差分を計算することを特徴とする確率推論システム。
【請求項１１】
請求項１０に記載の確率推論システムにおいて、
前記推論誤差推定部は、
前記複数の状態の中の第１の状態における最尤値を設定した状態で、前記変形確率推論モデルと変形前の前記確率推論モデルとで確率推論処理を行った場合の、前記特定の確率変数の発生確率の差分と、
前記複数の状態の中の第２の状態における最尤値を設定した状態で、前記変形確率推論モデルと変形前の前記確率推論モデルとで確率推論処理を行った場合の、前記特定の確率変数の発生確率の差分と
のうち最大の差分を前記推論誤差の大きさとして出力することを特徴とする確率推論システム。
【請求項１２】
請求項１に記載の確率推論システムにおいて、
前記確率推論モデルはベイジアンネットワークであることを特徴とする確率推論システム。
【請求項１３】
請求項１２に記載の確率推論システムにおいて、
前記確率推論処理は、メッセージパッシングアルゴリズムを含むアルゴリズムを用いた確率推論であることを特徴とする確率推論システム。
【請求項１４】
請求項１２に記載の確率推論システムにおいて、
前記確率推論処理は、バケツエリミネーションアルゴリズムを含むアルゴリズムを用いた確率推論であることを特徴とする確率推論システム。
【請求項１５】
請求項１に記載の確率推論システムにおいて、
前記確率推論条件の入力を受付ける確率推論条件入力部と、
前記確率推論モデルへの入力データを受付けるデータ入力部と、
前記採用された確率推論モデルを用いて確率推論処理を実行する確率推論実行部と、
前記確率推論実行部による結果を出力する予測結果出力部と
をさらに備えることを特徴とする確率推論システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、確率推論モデルを用いた確率推論システムに関する。
【背景技術】
【０００２】
過去のデータの因果関係を確率的にモデル化したベイジアンネットワークなどの確率推論モデルを用いて確率推論を行うことで、未知の事象や未来の事象を推定する方法が広く知られている。ベイジアンネットワークを用いた確率推論においては、ベイジアンネットワークが複雑であるほど確率推論に必要な計算量が増大し、現実的な時間では厳密な確率推論ができなくなることが知られている。そのため、推論の精度が落ちる代わりに少ない計算量で推論できる近似推論と呼ばれる確率推論手法が用いられている。近似推論の一手法として、ベイジアンネットワーク自体を変形することで計算量を削減する手法があり、例えば特許文献１によって公開されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８４４７７１０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１で述べられている手法をはじめとする従来の近似推論手法の優劣は、確率推論の計算量と、精度（厳密推論の結果との誤差の小ささ）とによって評価されることが多かった。精度の評価では、全ての事象に対する推定誤差の平均値や最大値を考慮することが多く、従来の近似推論手法においてもそれらの値を最小化することを重視していた。そのため、事象の重要度によらず一定の値幅で誤差が生じるという傾向があった。【０００５】
また、従来の近似推論手法では発生確率の低い事象に対しても、発生確率の高い事象に対しても同程度の誤差が生じる傾向があった。発生確率２０％の事象に対する１％の誤差と、発生確率１％の事象に対する１％の誤差では深刻さが異なるように、元々の発生確率によって誤差の大きさに対する許容度は異なる。【０００６】
上記の状況により、事故や故障の発生、重病の発症のように、本来の発生確率は低いが重要な事象の発生を近似推論によって推定しようとする際に推定の精度が悪化するという課題があった。また、確率推論の精度と確率推論の計算量は互いにトレードオフの関係にある場合が多く、両者のバランスを調整する際にも、全事象の確率推論の精度ではなく特定の事象の確率推論の精度を対象とした調整が困難であるという課題があった。【０００７】
本発明の目的は、指定した特定の事象の精度を高精度かつ高速に確率推論することができ、確率推論の精度と計算量とのバランスを調整する際にも特定の事象の推論精度に注目した調整ができる確率推論システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する為に、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例をあげるならば、確率推論モデルの入力を受け取る変形前モデル入力部と、前記確率推論モデルを変形して変形確率推論モデルを出力するモデル変形実行部と、前記変形確率推論モデルを用いて確率推論処理を行った場合の計算コストを計算する推論計算コスト推定部と、前記変形確率推論モデルを用いて確率推論処理を行った場合の、前記確率推論モデルを用いて確率推論処理を行った場合に対する、前記確率推論モデル内のある指定された確率変数に発生しうる推論誤差の大きさを推定する推論誤差推定部と、前記計算コストおよび前記推論誤差に関する確率推論条件に基づいて、採用する確率推論モデルを選択する採用モデル選択部と、前記採用された確率推論モデルを出力する変形後モデル出力部と、を備える確率推論システムが提供される。
【発明の効果】
【０００９】
本発明によれば、確率推論モデルを変形することで、指定した特定の事象を高速かつ高精度に確率推論でき、確率推論の精度と計算量とのバランスを調整する際にも特定の事象の推論精度に注目した調整ができる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】第１実施例の疾病発症予測装置の構成図である。
【図２】第１実施例の病態遷移モデル変形部の構成図である。
【図３】第１実施例の疾病発症予測装置の処理を説明するフローチャートである。
【図４】第１実施例の病態遷移モデル変形部の処理を説明するフローチャートである。
【図５】第１実施例の病態遷移モデルの例である。
【図６】第１実施例の変形された病態遷移モデルの例である。
【図７】クリークを説明する図である。
【図８】第１実施例の推論誤差推定部の処理を説明する図である。
【図９】第１実施例において複数の変形された病態遷移モデルを計算量と推定誤差で比較した例である。
【図１０】第１実施例の採用モデル選択部の処理を説明する図である。
【図１１】第１実施例の確率推論条件入力部のインタフェースの例である。
【図１２】第２実施例の病態遷移モデル変形部の処理を説明する図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施例について説明する。なお、添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１２】
［第１実施例］
本実施例では、健診結果、問診結果、病歴、診療記録などといった医療データをもとに、分析対象者の将来的な疾病発生確率を予測する疾病発症予測装置の例を説明する。
【００１３】
上記の医療データとは、対象者毎の診療記録や検査値など、個人毎の医療及び健康に関する情報を含むデータのことである。例えば、医療データとしては、身長、体重、ＢＭＩ、血圧、コレステロール、血糖値などの健康診断や問診時に測定される検査値などが含まれる。また、医療データの他の例としては、喫煙の有無、日常の汗運動の有無、飲酒の有無、睡眠の状態などの生活習慣の情報が挙げられる。さらに、医療データの他の例としては、病歴、すなわち、医療機関を受診した際の傷病名の履歴などの情報が挙げられる。また、医療データの他の例としては、処方された医薬品、実施された診療行為、及び医療費などの診療記録の情報などが挙げられる。
【００１４】
図１は、本実施例の疾病発症予測装置の構成図である。疾病発症予測装置は、入力部１０８と、出力部１０９と、演算装置１１０と、メモリ１１１と、記憶媒体１０７とを備える。入力部１０８は、マウス、キーボードなどのヒューマンインターフェースであり、疾病発症予測装置への入力を受け付ける。出力部１０９は、疾病発症予測装置による演算結果を出力するディスプレイやプリンタなどである。記憶媒体１０７は、疾病発症予測装置による分析処理を実現する各種プログラム、及び処理の実行結果等を格納する記憶装置である。記憶媒体１０７には、病態遷移モデル入力部１０１、病態遷移モデル変形部１０２、確率推論条件入力部１０３、分析対象医療データ入力部１０４、確率推論実行部１０５、予測結果出力部１０６の各種プログラムが格納されている。
【００１５】
メモリ１１１には、記憶媒体１０７に格納されている各種プログラムが展開される。演算装置１１０は、メモリ１１１にロードされたプログラムを実行する演算装置（プロセッサ）であり、例えば、ＣＰＵ、ＧＰＵなどである。以下に説明する処理及び演算は、演算装置１１０が実行する。
【００１６】
病態遷移モデル入力部１０１は、病態遷移モデルの入力を受け付ける。病態遷移モデルとは、健診結果、問診結果、病歴、診療記録といった医療データの各項目同士の統計確率的な因果関係について記述された確率的モデルである。本実施例では、病態遷移モデルは、大量に蓄積された過去の医療データから統計的に構築されたベイジアンネットワークの形態をとるものとする。ベイジアンネットワークとは、一部の変数を観測した時、その他の変数の確率分布を求めることができるものである。この時行われる確率計算に基づく演算を確率推論と呼ぶ。なお、本発明に適用できるモデルは、ベイジアンネットワークに限定されず、因果関係を確率により記述する他のグラフィカルモデルの形態でもよい。
【００１７】
病態遷移モデル変形部１０２は、入力された病態遷移モデルを変形することで、病態遷移モデル上での確率推論計算実行時にかかる計算コストを減少させる。病態遷移モデル変形部の構成については後述する。
【００１８】
確率推論条件入力部１０３は、病態遷移モデルを用いた確率推論を行う際の確率推論条件の入力を受け付ける。確率推論条件とは、確率推論を実行する際に満たすべき条件のことで、推定項目ごとの要求精度と、確率推論計算の実行に要する時間の許容量の一方または両方である。例えば、「糖尿病の発生確率の推定誤差を５％以内」、「１件あたりの確率推論実行時間１秒以内」いうような条件である。本実施例では、確率推論条件入力部１０３は、出力部１０９のディスプレイ画面上にインタフェースを表示させ、入力部１０８からの入力を受け付けるプログラムの形態をとるものとする。
【００１９】
図１１は、確率推論条件入力部１０３がディスプレイ画面上に表示するインタフェースの例である。画面上のインタフェース１１００は、確率推論実行条件の入力欄１１０１、１１０２、１１０３を備える。第１の入力欄１１０１には、推論精度を指定したい項目を入力する。ここでは、「糖尿病」という項目が入力されている。第２の入力欄１１０２には、推論精度の下限を入力する。第３の入力欄１１０３には、推論実行時間の上限を入力する。各入力欄１１０１、１１０２、１１０３を入力した後に、ボタン１１０４を押下することで、確率推論条件入力部１０３が確率推論条件を決定する。
【００２０】
分析対象医療データ入力部１０４は、分析対象者に関する健診結果、問診結果、病歴、診療記録などといった医療データの入力を受け付ける。
【００２１】
確率推論実行部１０５は、病態遷移モデル変形部１０２によって変形された病態遷移モデルを用いて、分析対象医療データ入力部１０４が受け取った医療データに基づき、分析対象者の疾病発症確率を推定する確率推論計算を行う。ベイジアンネットワーク上での確率推論計算の手法としては、例えばジャンクションツリーアルゴリズムとメッセージパッシングアルゴリズムの組み合わせによる手法や、バケツエリミネーションアルゴリズムなどがある。本実施例の確率推論実行部１０５は、ジャンクションツリーアルゴリズムとメッセージパッシングアルゴリズムを組み合わせた確率推論計算を実装したプログラムソフトウェアを搭載したコンピュータであるとする。上記のアルゴリズム以外の確率推論計算の場合も、本発明の適用の範囲内である。
【００２２】
予測結果出力部１０６は、確率推論実行部１０５によって出力された分析対象者の疾病発症確率を出力部１０９に出力する。
【００２３】
図２は、病態遷移モデル変形部１０２の構成図の例である。病態遷移モデル変形部１０２は、変形前モデル入力部２０１と、モデル変形実行部２０２と、推論誤差推定部２０３と、推論計算コスト推定部２０４と、採用モデル選択部２０５と、変形後モデル出力部２０６とを備える。
【００２４】
変形前モデル入力部２０１は、変形前の病態遷移モデルを受け付ける。モデル変形実行部２０２は、変形前モデル入力部２０１によって受け取った病態遷移モデルを変形し、複数の病態遷移モデルを作成する。推論誤差推定部２０３は、複数の病態遷移モデルの各々について推定推論誤差を算出する。また、推論計算コスト推定部２０４は、複数の病態遷移モデルの各々について推論計算コストを算出する。採用モデル選択部２０５は、算出された推定推論誤差および推論計算コストに基づいて、採用する病態遷移モデルを決定する。このとき、採用モデル選択部２０５は、確率推論条件入力部１０３で受け付けた確率推論条件を満たすかどうかを判定し、採用する病態遷移モデルを決定する。変形後モデル出力部２０６は、採用された病態遷移モデルを出力する。
【００２５】
次に、疾病発症予測装置の動作を説明する。図３は、疾病発症予測装置の動作を説明するフローチャートである。ステップ３０１において、病態遷移モデル入力部１０１が、病態遷移モデルの入力を受け取る。次に、ステップ３０２において、確率推論条件入力部１０３が、画面上に表示したインタフェースを介して、確率推論条件の入力を受け取る。
【００２６】
次に、ステップ３０３において、病態遷移モデル変形部１０２が、病態遷移モデルを変形して複数の病態遷移モデルを作成し、確率推論条件に基づいて、複数の病態遷移モデルから確率推論に用いる病態遷移モデルを決定する。次に、ステップ３０４において、分析対象医療データ入力部１０４が、分析の対象となる医療データの入力を受け取る。
【００２７】
次に、ステップ３０５において、確率推論実行部１０５が、受け取った医療データに対して、採用された病態遷移モデルを用いて確率推論を行い、疾病の発症率を計算する。次に、ステップ３０６において、他に分析するべき入力データ（医療データ）があるかどうか判定し、他にまだデータがあればステップ３０４へ戻って、新しい医療データに対して処理を継続する。ステップ３０６で、他に分析するべき医療データがない場合は、ステップ３０７に進む。ステップ３０７において、予測結果出力部１０６が、確率推論の結果を出力部１０９に出力し、処理を終了する。
【００２８】
次に、病態遷移モデル変形部１０２の動作を説明する。図４は、病態遷移モデル変形部１０２の動作を説明するフローチャートである。ステップ４０１において、変形前モデル入力部２０１が、病態遷移モデル入力部１０１で受け取った変形前の病態遷移モデルＧの入力を受け取る。次に、ステップ４０２において、モデル変形実行部２０２が、病態遷移モデルＧを複数通りの方法で変形し、変形された病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎを作成する。
【００２９】
次に、ステップ４０３において、推論計算コスト推定部２０４が、各変形モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎの推論計算コストを計算する。次に、ステップ４０４において、推論誤差推定部２０３が、各病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎの推定推論精度を計算する。
【００３０】
次に、ステップ４０５において、採用モデル選択部２０５が、各病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎの推定推論誤差と推論計算コストに基づき、採用する病態遷移モデルＧｉを決定する。そして、ステップ４０６において、採用モデル選択部２０５は、病態遷移モデルＧｉが確率推論条件入力部１０３で入力された確率推論条件を既に満たしているかどうか、あるいは、処理を継続することで満たす可能性があるかどうかを判定し、モデル変形処理を終了するかを決定する。既に確率推論条件を満たしている場合と、処理を継続することで確率推論条件を満たす可能性がない場合は、ステップ４０８に進む。ステップ４０８では、既に確率推論条件を満たしている場合、変形後モデル出力部２０６が、変形モデルＧｉを出力し、処理を終了する。なお、処理を継続することで満たす可能性がない場合は、変形モデルＧｉをそのまま出力してもよいし、１つ前の処理でＧｉとして採用された変形モデルを出力してもよい。また、処理を継続することで満たす可能性がない場合は、Ｇｉを出力せずに確率推定条件を再設定するなど、他の処理に分岐させてもよい。
【００３１】
ステップ４０６において、確率推論条件を満たしていないが、処理を継続することで満たす可能性がある場合、採用モデル選択部２０５は、モデル変形処理を続行することを決定し、ステップ４０７へ進む。ステップ４０７では、変形モデルＧｉをＧと設定する。その後、ステップ４０２に戻り、モデル変形処理を継続する。
【００３２】
次に、病態遷移モデルを変形するステップ４０２の処理の例について説明する。病態遷移モデルの変形は、ベイジアンネットワーク内のリンクを１本削除することで行う。リンクとは確率変数同士の確率的依存性を表すものである。図５は、病態遷移モデルの例であり、変形前モデル入力部２０１が受け取る病態遷移モデルの例である。病態遷移モデルは、確率変数と、確率変数同士の確率的依存性を表すリンクとを含む。図６は、図５の病態遷移モデルから１つのリンクを削除したベイジアンネットワークの例である。図５のベイジアンネットワークからリンクを１つ削除すると図６のベイジアンネットワークに変形する。ここでは、糖尿病と高血圧症の間のリンクが削除されている。一般的に、ベイジアンネットワーク内のリンクを削除すると確率推論時の計算コストは減少するが、推論精度も減少する。どのリンクを削除するかによって減少する計算コストと推論精度が異なる。本実施例では、病態遷移モデルのグラフ内の全てのリンクに対して、そのリンクを削除した場合に作成される複数の病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎを作成する。なお、複数の病態遷移モデルの作成方法は、この例に限定されず、他の方法でもよい。例えば、病態遷移モデルのグラフ内の任意のリンクに対して削除を実行して、複数の病態遷移モデルを作成してもよい。
【００３３】
次に、変形された病態遷移モデルの推論計算コストを計算するステップ４０３の処理の例について説明する。ジャンクションツリーアルゴリズムとメッセージパッシングアルゴリズムを用いた場合のベイジアンネットワークの確率推論の計算コストについては、クリークと呼ばれる状態変数の組の状態によって決まる。クリークとは状態変数の集合であり、クリークに含まれる全ての状態変数は互いにリンクで繋がれている必要がある。図７はクリークの例である。７０１は３つの状態変数から構成されるクリーク、７０２は４つの状態変数から構成されるクリーク、７０３は５つの状態変数から構成されるクリークである。一方、７０４はリンクで繋がれていないノードが含まれるため、全体で１つのクリークではなく、７０５と７０６がそれぞれクリークとなる。ジャンクションツリーアルゴリズムとメッセージパッシングアルゴリズムを用いた場合のベイジアンネットワークの確率推論の計算コストは、例えば、数１の式によって求めることができる。
【００３４】
【数１】
2015145555.tif 000003
【００３５】
ここで、s_stateは、メッセージ送信側クリークに含まれる確率変数の状態数の積である。r_stateは、メッセージ受信側クリークに含まれる確率変数の状態数の積である。s_nodeは、送信側クリークに含まれる確率変数の数である。r_nodeは、受信側クリークに含まれる確率変数の数である。b_nodeは、送信側クリークと受信側クリークに共通して含まれる確率変数の数である。c_stateは、クリークの状態数である。クリークの状態数とは、クリークに含まれる全ての確率変数の状態数の積である。c_neighborは、クリークの隣接クリークの数、即ちクリークが持つリンクの数である。
【００３６】
次に、変形された病態遷移モデルの推論誤差を推定するステップ４０４の処理の例について説明する。図５、図６、図８を用いて説明する。推論誤差推定部２０３は、変形された確率推論モデルを用いて確率推論処理を行った場合の、変形前の確率推論モデルを用いて確率推論処理を行った場合に対する、前記確率推論モデル内のある指定された確率変数に発生しうる推論誤差の大きさを推定する。以下では、図５のベイジアンネットワークで確率推論処理を行った場合に対する、図６のベイジアンネットワークで確率推論処理を行った場合の心筋梗塞の発症率の推論結果の推論誤差を求める例で考える。
【００３７】
メッセージパッシングアルゴリズムでは、図８の矢印のように、リンクに沿ってメッセージが伝搬し、受け取ったメッセージを掛け合わせることで確率変数の確率分布が計算される。伝搬されるメッセージの内容は、送信側の確率変数の確率分布によって変化する。本実施例では、削除されたリンクを通じて送られ得る複数の状態を仮定することにより、推論誤差の大きさを推定する。詳細には、削除されたリンクを通じて送られる状態に関して、送信側の確率変数の取り得る複数の状態を仮定し、メッセージを伝搬させる。ここでは、モデル変形後に削除されるリンクに対して考え得る中で最も差の大きい２種類以上のメッセージを伝搬させ、その推論結果の差を調べることで、誤差を推定する。同様の処理で、例えばバケツエリミネーションアルゴリズムのような、メッセージパッシングアルゴリズム以外の確率推論手法の推論誤差も求めることができる。
【００３８】
例えば、図８において、リンク８０１を削除した場合の心筋梗塞発症率の推論誤差を調べたいときには、リンク８０１を通じて送られるメッセージ８０２の内容を「１００％糖尿病が発症している」というメッセージと、「１００％糖尿病が発症していない」というメッセージの２通りを仮定する。
【００３９】
それぞれのメッセージを仮定した状態で、リンク８０１を削除した病態遷移モデル（図６のモデル）に各メッセージを伝搬させて、心筋梗塞の発症率を推論する。このとき、リンク８０１を削除した病態遷移モデルに対して、２通りの心筋梗塞の発症率が結果として得られる。これら２通りの発症率の差は想定される最大の誤差であり、リンク８０１を削除した場合の心筋梗塞発症率の推論誤差とする。なお、体重のように確率変数の取りうる状態が３つ以上想定される場合は、その数だけ状態を仮定してメッセージを伝搬させ、同様の処理を行うことで推論誤差を求めることができる。
【００４０】
なお、各リンクに対して、そのリンクを削除した場合に伝搬させる少なくとも２つのメッセージは、記憶媒体１０７に予め登録されていてもよい。例えば、各リンクに対してそのリンクを識別する識別子（リンクＩＤ）を定義し、そのリンクＩＤとそのリンクを削除した場合に伝搬させる少なくとも２つのメッセージとが関連付けられた情報を記憶媒体１０７に登録しておいてもよい。この情報を参照することにより、推論誤差推定部２０３が、複数の病態遷移モデルに対して推論誤差を求めることができる。
【００４１】
図９は、複数の変形された病態遷移モデルに対して計算量と推論誤差を求めた結果を示すテーブルの一例である。変形前の病態遷移モデルの各リンクには、リンクＩＤが定義されている。モデル変形実行部２０２は、上記のように、削除するリンクを変えることで複数の病態遷移モデルＧ１、Ｇ２、Ｇ３を作成する。推論計算コスト推定部２０４が、各変形モデルＧ１、Ｇ２、Ｇ３の推論計算コストを計算する。さらに、推論誤差推定部２０３が、各変形モデルＧ１、Ｇ２、Ｇ３の推論誤差を計算する。最終的に、これらの情報に基づいて、採用モデル選択部２０５が、図９に示すような情報を作成してもよい。図９のテーブルでは、変形後の病態遷移モデルの識別子９０１と、各病態遷移モデルにおける削除されたリンクのＩＤ  ９０２と、各病態遷移モデルに対する計算削減量９０３と、各病態遷移モデルにおける特定の事象に対する推論誤差９０４とが関連付けて格納されている。これにより、変形された病態遷移モデルＧ１、Ｇ２、Ｇ３のそれぞれを比較することができる。
【００４２】
次に、採用モデル選択部２０５が各病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎの推定推論誤差と推論計算コストに基づき、採用する病態遷移モデルＧｉを決定するステップ４０５の処理について図１０を用いて説明する。図１０は、採用モデル選択部２０５の処理を説明する図である。図１０は、横軸を計算コスト、縦軸を推論誤差としたグラフに各病態遷移モデルをプロットした図を示す。
【００４３】
採用モデル選択部２０５は、複数の病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎのうち、推論誤差増加量に対する計算コスト減少量の割合が大きいものをＧｉとして選択する。図１０において、変形前のモデルをＧ（１００１）とする。また、変形後のモデルをＧ１（１００２）、Ｇ２（１００３）、Ｇ３（１００４）、Ｇ４（１００５）とする。変形前のモデルＧ（１００１）に対して、推論誤差増加量に対する計算コスト減少量の割合が大きいものは、矢印の傾きから、Ｇ１（１００２）である。したがって、採用モデル選択部２０５は、Ｇ１（１００２）をＧｉとして選択する。
【００４４】
ただし、いずれかの変形モデルが入力された確率推論条件を満たす場合はそのモデルをＧｉとして選択してもよい。図１０の点線１０１０は、図１１で入力された計算コストの条件を示す閾値であり、点線１０１１は、図１１で入力された推論誤差の条件を示す閾値である。したがって、領域１００６は、入力された確率推論条件を表す領域である。この場合、Ｇ２（１００３）は、領域１００６内にあり、すなわち、確率推論条件を満たしているため、Ｇ２（１００３）をＧｉとして選択してもよい。ベイジアンネットワークのリンクを削除した場合、計算コストは必ず減少し、推論誤差は増加する場合が多いため、以上で示す方法が効果の高い変形方法であるといえる。
【００４５】
次に、終了判定処理であるステップ４０６の処理について図１０を用いて説明する。採用モデル選択部２０５は、変形されたモデルＧｉが領域１００６に入っているかを判定する。変形されたモデルＧｉが領域１００６に入っている場合は、変形されたモデルＧｉが既に確率推論条件を満たしているので、モデル変形処理を終了する判定を行う。そして、変形後モデル出力部２０６によって、変形されたモデルＧｉが、採用されたモデルとして出力される（ステップ４０８）。
【００４６】
また、図１０の領域１００７は、推論誤差の条件を満たさない、あるいは、推論誤差及び計算コストの両方の条件を満たさない領域である。Ｇｉが領域１００７に入っている場合は、モデル変形処理を継続しても確率推論条件を満たす領域１００６に入ることはないと言える。これは、ベイジアンネットワークのリンクを削除した場合、計算コストは必ず減少し、推論誤差は増加する場合が多いためである。したがって、Ｇｉが領域１００７に入っている場合などは、処理を継続することで確率推論条件を満たす可能性がないと判定し、処理を終了するという判定を行う（すなわち、ステップ４０８へ進む）。
【００４７】
Ｇｉが領域１００６、１００７に入っていない場合、すなわち、変形されたモデルＧｉが確率推論条件を満たさず、かつ、モデル変形実行部２０２の処理を継続することで確率推論条件を満たす可能性がある場合、変形されたモデルＧｉを用いてモデル変形実行部２０２による変形処理を継続することを決定する（すなわち、ステップ４０７へ進む）。このように、ステップ４０２〜４０７の処理を、確率推論条件を満たすまで繰り返し実行する。
【００４８】
次に、本実施例の疾病発症予測装置における入出力例を説明する。表１は、将来の疾病発症予測と医療費予測に本実施例を適用した例を示す。表１に示すように、出力内容として、各疾病の発症確率などの確率だけでなく、翌年の医療費の期待値なども出力されてもよい。
【００４９】
【表１】
2015145555.tif 000004
【００５０】
表２は、生活習慣からの将来の測定値予測に本実施例を適用した例を示す。なお、出力結果としての体重、血圧などの測定値の予測値は、具体的な数値に限定されない。測定値の範囲を複数段階で分割し、測定値に対応する段階の情報を出力してもよい。
【００５１】
【表２】
2015145555.tif 000005
【００５２】
表３は、生活習慣の推定に本実施例を適用した例を示す。
【００５３】
【表３】
2015145555.tif 000006
【００５４】
また、出力内容は、確率推論による予測／推定の情報に限定されず、採用された変形モデルＧｉの情報、モデルＧｉにおける特定の事象の推定値に発生しうる誤差の最大量（すなわち、図９の推論誤差の情報など）も出力部１０９に表示してもよい。
【００５５】
以上で述べたように、本実施例の疾病発症予測装置によれば、分析対象者に関する既知の医療データを入力し、ベイジアンネットワークである病態遷移モデル上での確率推論によって特定の疾病の将来の発症確率を推定する場合に、入力された確率推論条件内で精度良く、小さい計算コストで推定結果を出力することができる。
【００５６】
さらに、特許文献１のような従来の類似手法と比較して、変形した確率推論モデルの精度評価を高速に行うことができるため、多くの候補から、計算コストが小さく、かつ、高精度な確率推論モデルを発見することができる。また、推論実行前に特定の事象の推定値に発生しうる誤差の最大量を提示することができる。
【００５７】
また、本実施例によれば、指定した特定の事象を高速かつ高精度に確率推論できて、確率推論の精度と計算量とのバランスを調整する際にも特定の事象の推論精度に注目した調整ができる、近似推論手法を実現することができる。
【００５８】
［第２実施例］
本実施例では、第１実施例の疾病発症予測装置において、病態遷移モデル内の各確率変数同士の相互情報量が与えられている場合、もしくは病態遷移モデルから各確率変数同士の相互情報量が計算できる場合に、高精度かつ高速な確率推論ができる病態遷移モデルを出力できるモデル変形実行部２０２について説明する。
【００５９】
本実施例のモデル変形実行部２０２の、ステップ４０２における処理について図１２を用いて説明する。本実施例のステップ４０２では、まず、モデル変形実行部２０２が、各確率変数同士の相互情報量を距離として用いることで確率変数のクラスタリングを行う。次に、モデル変形実行部２０２が、クラスタリング結果に基づき、クラスタ同士をつなぐリンクを削除する。クラスタリングはｋ−ｍｅａｎｓ法などのアルゴリズムで行うことができる。その後、確率推論条件で指定された確率変数が含まれるクラスタ以外を削除する。
【００６０】
例えば、図１２は、モデル変形実行部２０２によるクラスタリングにより、クラスタ１２０１、クラスタ１２０２、クラスタ１２０３が作成された場合を示す。ここで、確率推論条件で指定された確率変数がクラスタ１２０１に含まれているとする。この場合、リンク１２０４、１２０５、１２０６、１２０７を削除する。さらに、確率推論条件で指定された確率変数がクラスタ１２０１に含まれているため、クラスタ１２０２、１２０３を削除する。すなわち、モデル変形実行部２０２は、変形後のモデルとして、確率推論条件で指定された確率変数を含むクラスタ１２０１のみで構成されたモデルを作成する。
【００６１】
上記の処理によって、モデル変形実行部２０２は、確率推論条件で指定された確率変数の推定するための確率推論処理の計算コストを大幅に削減する可能性の高い病態遷移モデルを作成する。なお、本実施例におけるモデル変形処理は、上記の処理に限定されない。例えば、モデル変形実行部２０２は、確率推論条件で指定された確率変数を含むクラスタ１２０１以外のクラスタをいくつか残してもよい。モデル変形実行部２０２は、作成された全てのクラスタから任意の複数のクラスタを選択することにより、モデルを作成してもよい。また、モデル変形実行部２０２は、作成されるクラスタの粒度を適宜変更してもよく、より細かい粒度でクラスタを作成してもよい。
【００６２】
［第３実施例］
本実施例では、第１実施例とは別の処理で各病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎの推定推論誤差を計算する推論誤差推定部２０３のステップ４０４の処理について説明する。
【００６３】
ある特定の確率変数Ｘの推論誤差を求める場合、特定の確率変数Ｘの考え得る複数の状態（例えば、第１の状態および第２の状態）を仮定する。そして、第１の状態を仮定して確率推論処理を行った場合の、特定の確率変数Ｘ以外の他の確率変数の最尤値を決定する。第１の状態における最尤値を設定した状態で、変形された確率推論モデルと変形前の確率推論モデルとで確率推論処理を行った場合の、特定の確率変数Ｘの発生確率の第１の差分を求める。次に、第２の状態を仮定して確率推論処理を行った場合の、特定の確率変数Ｘ以外の他の確率変数の最尤値を決定する。そして、第２の状態における最尤値を設定した状態で、変形された確率推論モデルと変形前の確率推論モデルとで確率推論処理を行った場合の、特定の確率変数Ｘの発生確率の第２の差分を求める。そして、第１の差分と第２の差分とのうち最大のものを推論誤差の大きさとして出力する。
【００６４】
上記の内容を、図５及び図６を用いて説明する。図５のベイジアンネットワークで確率推論を行った場合に対する、図６のベイジアンネットワークで確率推論を行った場合の心筋梗塞の発症率の推論結果の推論誤差を求める例で考える。初めに、「１００％心筋梗塞が発症する」という状態を仮定する。その条件で図５のベイジアンネットワークで確率推論を行うと、その他の確率変数（腎症、糖尿病、高血圧症…）の最尤値が決定する。この最尤値の組をＳ１とする。最尤値とは、確率変数がとる状態のうち、最も発生確率が高い状態である。次にＳ１を仮定した条件で、図５のベイジアンネットワークと図６のベイジアンネットワークで確率推論を行い、結果として出力される２つの心筋梗塞の発症率の差を求める。この差をＥ１とする。
【００６５】
次に、「１００％心筋梗塞が発症しない」という状態を仮定して上記の処理を行い、図５のベイジアンネットワークと図６のベイジアンネットワークで確率推論を行った場合の２つの心筋梗塞の発症率の差Ｅ２を求める。最後に、推論誤差推定部２０３は、Ｅ１とＥ２の中で最大のものを図６のベイジアンネットワークの心筋梗塞発症率に関する推論誤差として出力する。
【００６６】
上記では、「心筋梗塞が発症する」「心筋梗塞が発症しない」という２つの状態を取りうる確率変数の推論誤差を求めたが、確率変数のとりうる状態の数がＮ個の場合は、「１００％状態１になる」、「１００％状態２になる」、「１００％状態３になる」…というＮ個の状態を仮定すればよい。以上の処理によって、推論誤差推定部２０３は病態遷移モデルＧ１、Ｇ２、Ｇ３、…、Ｇｎの推定推論誤差を求めてもよい。
【００６７】
第３実施例による推論誤差の推定処理は、一度に複数個のリンクを削除した場合にもＮ回の確率推論で誤差の推定を行うことができる。一方、第１実施例の推論誤差推定処理の場合は、削除したリンクごとにＮ個の状態を仮定して確率推論を行う必要があるので、複数のリンクを削除した場合に必要な確率推論の回数が大きくなってしまう。削除するリンクの数に応じて、必要な場合には第１実施例の方法と第３実施例の方法を使い分けることができる。
【００６８】
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることもできる。また、ある実施例の構成に他の実施例の構成を加えることもできる。また、各実施例の構成の一部について、他の構成を追加・削除・置換することもできる。
【００６９】
上記の疾病発症予測装置の機能、処理手段などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）などの記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤなどの記憶媒体に置くことができる。また、上記で説明した疾病発症予測装置の機能、処理手段などは、それらの一部あるいは全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
【符号の説明】
【００７０】
１０１      ：病態遷移モデル入力部
１０２      ：病態遷移モデル変形部
１０３      ：確率推論条件入力部
１０４      ：分析対象医療データ入力部
１０５      ：確率推論実行部
１０６      ：予測結果出力部
１０７      ：記憶媒体
１０８      ：入力部
１０９      ：出力部
１１０      ：演算装置
１１１      ：メモリ
２０１      ：変形前モデル入力部
２０２      ：モデル変形実行部
２０３      ：推論誤差推定部
２０４      ：推論計算コスト推定部
２０５      ：採用モデル選択部
２０６      ：変形後モデル出力部
【図１】
2015145555.tif 000007
【図２】
2015145555.tif 000008
【図３】
2015145555.tif 000009
【図４】
2015145555.tif 000010
【図５】
2015145555.tif 000011
【図６】
2015145555.tif 000012
【図７】
2015145555.tif 000013
【図８】
2015145555.tif 000014
【図９】
2015145555.tif 000015
【図１０】
2015145555.tif 000016
【図１１】
2015145555.tif 000017
【図１２】
2015145555.tif 000018
【国際調査報告】
2015145555.tif 000019
2015145555.tif 000020
2015145555.tif 000021