(57)【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置であって、
前記記憶デバイスは、目的変数の実測値と複数の因子の実測値とを含む学習データを複数有する学習データ集合と、前記複数の因子の予測値を含む前記学習データ由来の予測データを複数有する予測データ集合と、前記目的変数の実測値と前記複数の因子の実測値との関係を示す学習モデルと、を記憶しており、
前記プロセッサは、
前記複数の因子の値どうしが類似するように前記予測データ集合をクラスタリングして、複数の因子クラスタを生成する第１生成処理と、
前記予測データ集合を用いて、前記複数の因子の相関により前記複数の因子が共起する共起量を算出する第１算出処理と、
前記第１算出処理によって算出された共起量に基づいて前記複数の因子をクラスタリングして、２以上の因子を含む共起クラスタを１以上有する複数の共起クラスタを生成する第２生成処理と、
前記第１生成処理によって生成された複数の因子クラスタの中の２以上の因子を含む特定の因子クラスタに含まれる特定の予測データ群における前記２以上の因子の予測値のうち、前記第２生成処理によって生成された複数の共起クラスタの中の特定の共起クラスタが示す２以上の特定の因子の予測値を、前記学習モデルに与えることにより、前記特定の因子クラスタにおける前記目的変数の予測値を算出する第２算出処理と、
を実行することを特徴とする分析装置。
【請求項２】
請求項１に記載の分析装置であって、
前記プロセッサは、
前記特定の予測データ群における前記２以上の因子の予測値に基づいて、前記特定の因子クラスタにおける前記２以上の因子の予測値を代表する統計値を算出する第３算出処理を実行し、
前記第２算出処理では、前記プロセッサは、前記第３算出処理によって算出された前記２以上の因子の予測値を代表する統計値のうち、前記特定の共起クラスタが示す２以上の特定の因子の統計値を、前記学習モデルに与えることにより、前記特定の因子クラスタにおける前記目的変数の予測値を算出することを特徴とする分析装置。
【請求項３】
請求項１に記載の分析装置であって、
前記プロセッサは、
前記学習モデルの種類を設定する設定処理と、
前記目的変数の実測値と前記複数の因子の実測値とを用いて、前記設定処理によって設定された種類の学習モデルを生成して、前記記憶デバイスに格納する第３生成処理と、
を実行することを特徴とする分析装置。
【請求項４】
請求項３に記載の分析装置であって、
前記設定処理では、前記プロセッサは、前記種類として、線形モデルまたは非線形モデルを設定することを特徴とする分析装置。
【請求項５】
請求項１に記載の分析装置であって、
前記予測データ集合は、前記学習モデルを用いた確率サンプリング法によって前記学習データ集合から生成されたデータ集合であることを特徴とする分析装置。
【請求項６】
請求項１に記載の分析装置であって、
前記プロセッサは、
前記学習モデルを用いた確率サンプリング法によって前記予測データまたは前記予測データに類似するデータのいずれか一方を採択することにより、２つの予測データ群を生成する第４生成処理と、
前記第４生成処理によって生成された２つの予測データ群が同一の確率分布に収束するか否かを判定する判定処理と、
前記判定処理による判定結果に基づいて前記２つの予測データ群を統合することにより、前記予測データ集合を生成する統合処理と、を実行し、
前記第１生成処理では、前記プロセッサは、前記複数の因子の値どうしが類似するように、前記統合処理によって得られた前記予測データ集合をクラスタリングして、前記複数の因子クラスタを生成し、
前記第１算出処理では、前記プロセッサは、前記統合処理によって得られた前記予測データ集合を用いて、前記複数の因子の相関により前記複数の因子が共起する共起量を算出することを特徴とする分析装置。
【請求項７】
請求項６に記載の分析装置であって、
前記プロセッサは、
前記学習モデルを用いた確率サンプリング法によって前記予測データまたは前記予測データに類似するデータのいずれか一方を採択する採択率を制御するパラメータの値を設定する設定処理を実行し、
前記第４生成処理では、前記プロセッサは、前記採択率に基づいて前記予測データまたは前記予測データに類似するデータのいずれか一方を採択することにより、前記２つの予測データ群を生成することを特徴とする分析装置。
【請求項８】
請求項１に記載の分析装置であって、
前記プロセッサは、
前記因子クラスタの生成数を設定する設定処理を実行し、
前記第１生成処理では、前記プロセッサは、前記複数の因子の値どうしが類似するように前記予測データ集合をクラスタリングして、前記設定処理によって設定された生成数の因子クラスタを生成することを特徴とする分析装置。
【請求項９】
請求項１に記載の分析装置であって、
前記プロセッサは、
前記共起クラスタの生成数を設定する設定処理を実行し、
前記第２生成処理では、前記プロセッサは、前記第１算出処理によって算出された共起量に基づいて前記複数の因子をクラスタリングして、２以上の因子を含む共起クラスタを１以上有する共起クラスタを、前記設定処理によって設定された生成数生成することを特徴とする分析装置。
【請求項１０】
請求項１に記載の分析装置であって、
前記複数の因子は複数の薬の患者への投与量であり、前記目的変数は前記患者に前記複数の薬を前記投与量投与した場合の薬効を示す値であることを特徴とする分析装置。
【請求項１１】
複数の計算機が通信可能に接続された分析システムであって、
前記複数の計算機のいずれかが、目的変数の実測値と複数の因子の実測値とを含む学習データを複数有する学習データ集合と、前記複数の因子の予測値を含む前記学習データ由来の予測データを複数有する予測データ集合と、前記目的変数の実測値と前記複数の因子の実測値との関係を示す学習モデルと、を記憶しており、
前記複数の計算機のいずれかが、
前記複数の因子の値どうしが類似するように前記予測データ集合をクラスタリングして、複数の因子クラスタを生成する第１生成処理と、
前記予測データ集合を用いて、前記複数の因子の相関により前記複数の因子が共起する共起量を算出する第１算出処理と、
前記第１算出処理によって算出された共起量に基づいて前記複数の因子をクラスタリングして、２以上の因子を含む共起クラスタを１以上有する複数の共起クラスタを生成する第２生成処理と、
前記第１生成処理によって生成された複数の因子クラスタの中の２以上の因子を含む特定の因子クラスタに含まれる特定の予測データ群における前記２以上の因子の予測値のうち、前記第２生成処理によって生成された複数の共起クラスタの中の特定の共起クラスタが示す２以上の特定の因子の予測値を、前記学習モデルに与えることにより、前記特定の因子クラスタにおける前記目的変数の予測値を算出する第２算出処理と、
を実行することを特徴とする分析システム。
【請求項１２】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、を有する分析装置による分析方法であって、
前記記憶デバイスは、目的変数の実測値と複数の因子の実測値とを含む学習データを複数有する学習データ集合と、前記複数の因子の予測値を含む前記学習データ由来の予測データを複数有する予測データ集合と、前記目的変数の実測値と前記複数の因子の実測値との関係を示す学習モデルと、を記憶しており、
前記プロセッサは、
前記複数の因子の値どうしが類似するように前記予測データ集合をクラスタリングして、複数の因子クラスタを生成する第１生成処理と、
前記予測データ集合を用いて、前記複数の因子の相関により前記複数の因子が共起する共起量を算出する第１算出処理と、
前記第１算出処理によって算出された共起量に基づいて前記複数の因子をクラスタリングして、２以上の因子を含む共起クラスタを１以上有する複数の共起クラスタを生成する第２生成処理と、
前記第１生成処理によって生成された複数の因子クラスタの中の２以上の因子を含む特定の因子クラスタに含まれる特定の予測データ群における前記２以上の因子の予測値のうち、前記第２生成処理によって生成された複数の共起クラスタの中の特定の共起クラスタが示す２以上の特定の因子の予測値を、前記学習モデルに与えることにより、前記特定の因子クラスタにおける前記目的変数の予測値を算出する第２算出処理と、
を実行することを特徴とする分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを分析する分析装置、分析システムおよび分析方法に関する。
【背景技術】
【０００２】
特許文献１は、患者属性と１つ以上の有害事象（Ａｄｖｅｒｓｅ  Ｅｖｅｎｔｓ；ＡＥ）との間の相関に関する情報を識別および提供する臨床意思決定支援システムとともに使用するコンピュータ実装方法、システム、およびコンピュータ可読記憶媒体を開示する。特許文献１のプロセスは、ＡＥと患者属性との間の相関に対してＡＥおよび１つ以上の患者属性を含むデータベース情報を処理することと、１つ以上のＡＥと１つ以上の患者属性との間の少なくとも１つの相関を識別することとを含む。相関は、１つ以上の相関ルールを決定するための相関ルール発見プロセスを介して発見されてもよい。各相関ルールは、確信度、支持度、および／または他の閾値を満たす。当該プロセスは、識別または発見された相関に基づいて、ユーザに情報または警告をさらに提供する。【０００３】
特許文献２は、診療に対する適切な支援を行う診療支援プログラムを開示する。特許文献２の診療支援プログラムでは、診断された病気に対する患者の治療期間と前記診断された病気に対する基準治癒期間とを比較し、前記患者の治療期間が前記基準治癒期間を越えている場合に、類似する症状を発症させるそれぞれの病気を関連付けて記憶する記憶手段から前記診断された病気の症状に類似する症状を発症させる他の病気を検索し、検索した前記他の病気の病名情報を出力する、処理をコンピュータに実行させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１２−５２４９４５号公報
【特許文献２】特開２０１４−１９９５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、学習データから学習モデルを生成しても、どの因子が他のどの因子と関連するかがわからないという問題がある。たとえば、目的変数を疾病確率、因子を複数の薬の投与量とした場合、たとえば、薬Ａと薬Ｂとを組み合わせて患者に投与することが効果的なのか、副作用が生じるのかがわからないという問題がある。【０００６】
本発明は、因子の組み合わせの有効性を分析することを目的とする。
【課題を解決するための手段】
【０００７】
本願において開示される発明の一側面となる分析装置、分析システムおよび分析方法は、記憶デバイスに、目的変数の実測値と複数の因子の実測値とを含む学習データを複数有する学習データ集合と、前記複数の因子の予測値を含む前記学習データ由来の予測データを複数有する予測データ集合と、前記目的変数の実測値と前記複数の因子の実測値との関係を示す学習モデルと、を記憶しておき、前記複数の因子の値どうしが類似するように前記予測データ集合をクラスタリングして、複数の因子クラスタを生成する第１生成処理と、前記予測データ集合を用いて、前記複数の因子の相関により前記複数の因子が共起する共起量を算出する第１算出処理と、前記第１算出処理によって算出された共起量に基づいて前記複数の因子をクラスタリングして、２以上の因子を含む共起クラスタを１以上有する複数の共起クラスタを生成する第２生成処理と、前記第１生成処理によって生成された複数の因子クラスタの中の２以上の因子を含む特定の因子クラスタに含まれる特定の予測データ群における前記２以上の因子の予測値のうち、前記第２生成処理によって生成された複数の共起クラスタの中の特定の共起クラスタが示す２以上の特定の因子の予測値を、前記学習モデルに与えることにより、前記特定の因子クラスタにおける前記目的変数の予測値を算出する第２算出処理と、を実行することを特徴とする。
【発明の効果】
【０００８】
本発明の代表的な実施の形態によれば、因子の組み合わせの有効性を分析することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかるデータ分析例を示す説明図である。
【図２】図２は、分析装置のハードウェア構成例を示すブロック図である。
【図３】図３は、図１に示した学習データの詳細な内容を示す説明図である。
【図４】図４は、初期設定画面例を示す説明図である。
【図５】図５は、分析装置による分析処理手順例を示すフローチャートである。
【図６】図６は、因子の確率分布を示す説明図である。
【図７】図７は、統合確率分布の一例を示す説明図である。
【図８】図８は、因子クラスタリング結果を示す説明図である。
【図９】図９は、共起クラスタリングの処理例を示す説明図である。
【図１０】図１０は、ステップＳ５１０による予測結果を示す説明図である。
【図１１】図１１は、表示画面例を示す説明図である。
【図１２】図１２は、分析システムのシステム構成例を示す説明図である。
【図１３】図１３は、分析システムによる分散処理手順例を示すフローチャート１である。
【図１４】図１４は、分析システムによる分散処理手順例を示すフローチャート２である。
【図１５】図１５は、分析システムによる分散処理手順例を示すフローチャート３である。
【図１６】図１６は、図１５に示した分析システムによる分散処理手順例を示すフローチャート３の変形例を示すフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１０】
＜データ分析例＞
図１は、実施例１にかかるデータ分析例を示す説明図である。（１）〜（６）は、分析装置による分析方法の手順を示す。（１）分析装置は、学習データ集合１０から学習モデルを生成する。学習データ集合１０は、例として、目的変数を薬効、具体的には疾病確率とし、因子を複数の薬の患者への投与量とする。疾病確率は、０％〜１００％で表現できるが、ここでは、疾病を１（＝１００％）、健康を０（＝０％）とする。また、因子は、便宜的に薬１〜薬４の４つの説明変数であるが、実際には、たとえば、数万から数億の薬である。また、各エントリは、患者を示す。患者は便宜的にＡ〜Ｆの６人であるが、実際には、たとえば、数万から数億の患者である。【００１１】
（１）学習モデルの生成において、生成される学習モデルには、線形モデルと非線形モデルがある。線形モデルには、たとえば、線形分類（Ｌｉｎｅａｒ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ）とロジスティック回帰（Ｌｏｇｉｓｔｉｃ  Ｒｅｇｒｅｓｓｉｏｎ）とがある。非線形モデルには、たとえば、ニューラルネットワーク（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、サポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、アダブースト（Ａｄａｂｏｏｓｔ）、ランダムフォレスト（Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ）がある。ユーザは、学習モデルの生成の際に、いずれかのモデルを選択することができる。たとえば、ユーザは、因子の組み合わせの有効性を高速に分析したい場合には、線形モデルを選択すればよく、高精度に分析したい場合には、非線形モデルを選択すればよい。【００１２】
（２）分析装置は、（１）で生成された学習モデルから各因子の確率分布２０を生成する。具体的には、たとえば、分析装置は、マルコフ連鎖モンテカルロ法に代表される確率サンプリング法を用いて、学習データ集合１０由来の因子の確率分布２０を２組（それぞれｄ１、ｄ２と称す）生成する。これにより、仮想的な因子データを大量に収集することができる。【００１３】
（３）分析装置は、（２）で生成された因子の確率分布ｄ１，ｄ２が同一の確率分布に収束するか否かを判定する。収束判定には、具体的には、たとえば、Ｇｅｌｍａｎ−Ｒｕｂｉｎ法が用いられる。収束するまで、分析装置は、（２）の因子の確率分布２０を生成する。【００１４】
（４）分析装置は、（３）で収束すると判定された因子の確率分布ｄ１、ｄ２を統合し、統合した因子の確率分布（統合確率分布Ｄ）について、因子クラスタリングを実行する。因子クラスタリングには、具体的には、たとえば、ｋ−ｍｅａｎｓクラスタリングが用いられる。クラスタ数は、あらかじめ設定される。ここでは、クラスタ数は例として「３」とする。これにより、因子クラスタリング結果４０において、統合確率分布Ｄのエントリは、３種類の患者タイプα、β、γに分類される。【００１５】
（５）また、分析装置は、統合確率分布Ｄについて、共起クラスタリングを実行する。具体的には、たとえば、分析装置は、統合確率分布Ｄの因子同士の相関係数を共起量として算出する。そして、分析装置は、共起量に階層クラスタリング法を適用し、共起クラスタを生成する。ここでは、共起クラスタ１（薬１，薬２）と共起クラスタ２（薬３，薬４）が得られたものとする。なお、ここでは、共起クラスタは、２つの因子の組み合わせであるが、３以上の因子の組み合わせでもよい。【００１６】
（６）分析装置は、患者タイプα、β、γごとに、共起クラスタに属する因子を学習モデルに与えることにより、患者タイプα、β、γごとの疾病確率の予測値を算出する。このように、分析装置は、因子の組み合わせの有効性を分析することができる。【００１７】
＜分析装置のハードウェア構成例＞
図２は、分析装置のハードウェア構成例を示すブロック図である。分析装置２００は、プロセッサ２０１と、記憶デバイス２０２と、入力デバイス２０３と、出力デバイス２０４と、通信インターフェース（通信ＩＦ２０５）と、を有する。プロセッサ２０１、記憶デバイス２０２、入力デバイス２０３、出力デバイス２０４、および通信ＩＦ２０５は、バスにより接続される。プロセッサ２０１は、分析装置２００を制御する。記憶デバイス２０２は、プロセッサ２０１の作業エリアとなる。また、記憶デバイス２０２は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス２０２としては、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリがある。入力デバイス２０３は、データを入力する。入力デバイス２０３としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス２０４は、データを出力する。出力デバイス２０４としては、たとえば、ディスプレイ、プリンタがある。通信ＩＦ２０５は、ネットワークと接続し、データを送受信する。【００１８】
＜学習データ例＞
図３は、図１に示した学習データ集合１０の詳細な内容を示す説明図である。学習データ集合１０は、例として、テーブル形式のデータとする。なお、以降のデータベースまたはテーブルの説明において、ＡＡフィールドｂｂｂ（ＡＡはフィールド名、ｂｂｂは符号）の値を、ＡＡｂｂｂと表記する場合がある。たとえば、患者ＩＤフィールド３０１の値を、患者ＩＤ３０１と表記する。【００１９】
学習データ集合１０は、患者ＩＤフィールド３０１と、目的変数フィールド３０２と、因子フィールド３０３と、を有する。同一行における各フィールド３０１〜３０３の値が患者情報となるエントリを構成する。図３では、エントリ数は「６」であるが、実際には、たとえば、数万から数億の患者のエントリがある。【００２０】
患者ＩＤフィールド３０１は、患者ＩＤを格納する記憶領域である。患者ＩＤ３０１は、患者を一意に特定する識別情報である。【００２１】
目的変数フィールド３０２は、患者ＩＤ３０１ごとの目的変数を格納する記憶領域である。目的変数３０２は、疾病確率を示す。疾病確率は、０％〜１００％で表現できるが、学習データ集合１０は実測値であるため、疾病を１（＝１００％）、健康を０（＝０％）とする。【００２２】
因子フィールド３０３は、複数の因子を格納する記憶領域である。因子３０３は、薬の投与量を示す説明変数である。本例では、因子３０３は、便宜的に薬１〜薬４の４つの説明変数であるが、実際には、たとえば、数万から数億の薬である。なお、因子３０３である薬の投与量の単位は、薬ごとに定められる。【００２３】
図３において、患者ＩＤ３０１が「患者Ａ」のエントリは、患者Ａに薬１を「２０」、薬２を「１３．０」、薬４を「２２．０」を投与された結果、患者Ａは疾病であることを示す。また、患者ＩＤ３０１が「患者Ｂ」のエントリは、患者Ｂに薬１を「１０」、薬２を「２３．０」、薬３を「１」、薬４を「３１．０」を投与された結果、患者Ｂは疾病であることを示す。【００２４】
＜初期設定画面例＞
図４は、初期設定画面例を示す説明図である。初期設定画面４００は、出力デバイス２０４の一例であるディスプレイに表示され、入力デバイス２０３により設定される。機械学習選択領域４０１は、機械学習方法を選択するプルダウン式のインタフェースである。因子クラスタリング設定領域４０２は、クラスタリング方法と、クラスタ数と、を設定する領域である。因子クラスタリング選択領域４０３は、因子クラスタリングの手法を選択するプルダウン式のインタフェースである。因子クラスタ数設定領域４０４は、因子クラスタリングで得たいクラスタの数を設定する入力欄である。【００２５】
σ値設定領域４０５は、σ値を設定する入力欄である。σ値は、図１の（２）各因子の確率分布２０の生成において、マルコフ連鎖モンテカルロ法の採択率αで用いられる固定のパラメータである。σ値は、０よりも大きく１以下の範囲の値である。【００２６】
共起クラスタリング設定領域４０６は、共起方法と、クラスタリング方法と、クラスタ数と、しきい値とを設定する領域である。共起量選択領域４０７は、共起量の計算方法を選択するプルダウン式のインタフェースである。共起クラスタリング選択領域４０８は、共起クラスタリングの手法を選択するプルダウン式のインタフェースである。共起クラスタ数設定領域４０９は、因子クラスタリングで得たい共起クラスタの数を設定する入力欄である。しきい値設定領域４１０は、因子クラスタの関連度を示す相関値の予測値についてのしきい値を設定する入力欄である。決定ボタン４１１は、各項目４０１〜４１０の値を入力するボタンである。【００２７】
＜分析処理手順例＞
図５は、分析装置２００による分析処理手順例を示すフローチャートである。分析装置２００は、記憶デバイス２０２に記憶された分析プログラムをプロセッサ２０１に実行させることにより、図５のフローチャートに示す処理を実行する。まず、分析装置２００は、初期設定を実行する（ステップＳ５０１）。初期設定（ステップＳ５０１）では、図４に示した初期設定画面がディスプレイに表示される。ユーザは、初期設定画面の各項目４０１〜４０９について選択または入力をする。分析装置２００は、入力ボタン４１０の押下を検出することで、各項目４０１〜４０９の値を読み込む。【００２８】
つぎに、分析装置２００は、図１の（１）に示したように、学習データ集合１０から学習モデルを生成する（ステップＳ５０２）。ロジスティック回帰の場合、学習モデルは下記式（１）で表現される。【００２９】
ｙ＝ｆ（ｘ）＝σ（ｗｔｘ＋ｂ）・・・（１）【００３０】
ｙは目的変数を示すスカラである。ｘはｍ次元の特徴量ベクトルである。ｍは因子の個数に相当する。図３の学習データ集合１０では、因子３０３の数は４個（薬１〜薬４）であるため、ｍ＝４である。σ（）はシグモイド関数である。ベクトルｗとスカラｂは、それぞれ、重みとバイアスのパラメータであり、学習パラメータと呼ばれる。非線形モデルの場合、シグモイド関数σ（）内のｗｔｘが、ベクトルｗと因子ｘとに基づくｗｔｘよりも複雑な関数に置き換わる。【００３１】
分析装置２００は、図４の機械学習選択領域４０１で選択された機械学習方法に応じた学習モデルを選択して、学習モデルを表現する学習パラメータを求める。【００３２】
つぎに、分析装置２００は、図１の（２）に示したように、マルコフ連鎖モンテカルロ法に代表される確率サンプリング法を用いて、学習データ集合１０由来の因子の確率分布ｄ１，ｄ２を生成する（ステップＳ５０３）。【００３３】
図６は、因子の確率分布ｄ１，ｄ２を示す説明図である。因子の確率分布ｄ１，ｄ２は、仮想患者ＩＤフィールド６０１と、目的変数フィールド６０２と、因子フィールド６０３と、を有する。同一行における各フィールド６０１〜６０３の値が仮想患者情報となるエントリを構成する。なお、エントリ数は、学習データ集合１０のエントリ数と同数とする。【００３４】
仮想患者ＩＤフィールド６０１は、仮想患者ＩＤを格納する記憶領域である。仮想患者ＩＤ６０１は、仮想患者を一意に特定する識別情報である。【００３５】
目的変数フィールド６０２は、仮想患者ＩＤ６０１ごとの目的変数を格納する記憶領域である。目的変数６０２は、疾病確率を示す。疾病確率は、０％〜１００％で表現される。【００３６】
因子フィールド６０３は、複数の因子を格納する記憶領域である。因子６０３は、薬の投与量を示す説明変数である。本例では、因子６０３の数は、学習データ集合１０の因子３０３の数と同数となる。【００３７】
因子の確率分布ｄ１，ｄ２のエントリである仮想患者情報の生成例について説明する。分析装置２００は、学習データ集合１０のエントリ群からいずれかのエントリの因子ベクトルを選択する。たとえば、患者ＩＤ３０１が「患者Ａ」の因子ベクトルｘ＝（２０，１３．０，０，２２．０）が選択されたとする。分析装置２００は、選択した因子ベクトルの各要素に乱数値ｒを加算して、仮想因子ベクトルｘ’＝（２０＋ｒ，１３．０＋ｒ，０＋ｒ，２２．０＋ｒ）とする。【００３８】
分析装置２００は、選択された因子ベクトルｘと仮想因子ベクトルｘ’とをマルコフ連鎖モンテカルロ法の採択率αの式（２）に代入する。【００３９】
【数１】
0006695431.tif 000002
【００４０】
関数ｑはガウス分布関数である。関数ｑ（ｘ’｜ｘ）は、因子ベクトルｘが与えられた場合に仮想因子ベクトルｘ’を生成する確率を示すガウス分布関数である。関数ｑ（ｘ｜ｘ’）は、仮想因子ベクトルｘ’が与えられた場合に因子ベクトルｘを生成する確率を示すガウス分布関数である。関数ｆは、たとえば、式（１）に示したような、ステップＳ５０２で生成された学習モデルである。σには、σ値設定領域４０５に入力されたσ値が代入される。σ値により、採択率αは、（１−σ）以上の疾病確率の患者情報を含むガウス分布となる。すなわち、（１−σ）以上の疾病確率となる仮想患者情報の仮想因子ベクトルｘ’を採択率αで採択することができる。【００４１】
次に、０〜１の区間で一様な乱数βを発生させ、採択率αがしきい値β（たとえば、１）以上である場合、分析装置２００は、仮想因子ベクトルｘ’を採択する。採択率αがしきい値以上でない場合、分析装置２００は、因子ベクトルｘを採択する。採択された因子ベクトルを採択因子ベクトル＜ｘ＞と表記する。【００４２】
採択率αがしきい値β（たとえば、１）以上である場合、分析装置２００は、採択因子ベクトル＜ｘ＞と乱数ベクトルＲとを比較する。具体的には、たとえば、分析装置２００は、採択因子ベクトル＜ｘ＞のすべての要素が、乱数ベクトルＲの対応する要素以上であるか否かを判断する。採択因子ベクトル＜ｘ＞のすべての要素が、乱数ベクトルＲの対応する要素以上である場合、分析装置２００は、採択因子ベクトル＜ｘ＞を新規の仮想患者の仮想因子ベクトルに決定する。【００４３】
採択因子ベクトル＜ｘ＞のすべての要素が、乱数ベクトルＲの対応する要素以上でない場合、分析装置２００は、因子ベクトルｘを新規の仮想患者の仮想因子ベクトルに決定する。なお、採択因子ベクトル＜ｘ＞のすべての要素が、乱数ベクトルＲの対応する要素以上であることを判断の条件としたが、採択因子ベクトル＜ｘ＞の一部の要素が、乱数ベクトルＲの対応する要素以上であるとしてもよい。【００４４】
このあと、分析装置２００は、各仮想患者情報のエントリにおいて、学習モデルに新規の仮想患者の仮想因子ベクトルである因子６０３を与えることで、目的変数６０２である疾病確率を算出する。このようにして、ステップＳ５０３において、仮想患者情報のエントリが設定され、因子の確率分布ｄ１，ｄ２が生成される。【００４５】
図５に戻り、分析装置２００は、図１の（３）に示したように、因子の確率分布ｄ１，ｄ２が同一の確率分布に収束しているかを判定する（ステップＳ５０４）。具体的には、たとえば、分析装置２００は、因子の確率分布ｄ１，ｄ２が同一の確率分布に収束しているかを検証するための収束値を、Ｇｅｌｍａｎ−Ｒｕｂｉｎ法により計算する。より具体的には、分析装置２００は、因子の確率分布ｄ１の列データと、当該列データに対応する因子の確率分布ｄ２の列データとを、Ｇｅｌｍａｎ−Ｒｕｂｉｎの収束判定式に与えて、収束値Ｒｈａｔを算出する。【００４６】
たとえば、分析装置２００は、因子の確率分布ｄ１の目的変数６０２の列データと、因子の確率分布ｄ２の目的変数６０２の列データとをＧｅｌｍａｎ−Ｒｕｂｉｎの収束判定式に与えて、収束値Ｒｈａｔを算出する。また、分析装置２００は、因子の確率分布ｄ１の因子６０３における薬１の列データと、因子の確率分布ｄ２の因子６０３における薬１の列データとをＧｅｌｍａｎ−Ｒｕｂｉｎの収束判定式に与えて、収束値Ｒｈａｔを算出する。薬２以降の列データに付いても同様に、分析装置２００は、収束値Ｒｈａｔを算出する。【００４７】
収束値Ｒｈａｔが１．１以下であれば、因子の確率分布ｄ１，ｄ２の列データは、同一の確率分布に収束すると判定する。分析装置２００は、収束しないと判定された列データを削除する。残存列データの数がしきい値（たとえば、５０％以上）以上であれば、因子の確率分布ｄ１，ｄ２が同一の確率分布に収束していることとなり（ステップＳ５０４：Ｙｅｓ）、ステップＳ５０５に移行する。残存列データの数がしきい値以上でなければ（ステップＳ５０４：Ｎｏ）、ステップＳ５０３に戻り、分析装置２００は、学習データ集合１０由来の因子の確率分布ｄ１，ｄ２を再生成する。また、因子の確率分布ｄ１，ｄ２の因子６０３の列データが１つでも削除された場合、分析装置２００は、残存する因子６０３を学習モデルに与えて、目的変数６０２を再計算する。【００４８】
収束しない列データを削除することにより、因子の確率分布ｄ１，ｄ２の信頼性の向上を図ることができ、分析精度が向上する。また、残存列データの数がしきい値以上であれば、分析装置２００は、収束しないと判定された列データを削除せずに、ステップＳ５０４に移行してもよい。これにより、因子６０３を網羅した分析をおこなうことができる。また、ステップＳ５０４を実行しないこととしてもよい。これにより、分析速度の向上を図ることができる。【００４９】
つぎに、分析装置２００は、ステップＳ５０４において収束判定された因子の確率分布ｄ１，ｄ２を統合する（ステップＳ５０５）。統合した因子の確率分布を統合確率分布Ｄとする。【００５０】
図７は、統合確率分布Ｄの一例を示す説明図である。図７では、説明の便宜上、図６に示した因子の確率分布ｄ１，ｄ２を連結した内容としたが、ステップＳ５０４において因子６０３におけるいずれかの列データが削除されている場合は、統合確率分布Ｄにおいても削除された状態となる。【００５１】
つぎに、分析装置２００は、図１の（４）に示したように、統合確率分布Ｄを用いて、因子クラスタリングにより因子クラスタを生成する（ステップＳ５０６）。分析装置２００は、初期設定（ステップＳ５０１）において、因子クラスタリング選択領域４０３で選択された因子クラスタリングを実行し、因子クラスタ数設定領域４０４で設定されたクラスタ数分の因子クラスタを生成する。【００５２】
図８は、因子クラスタリング結果４０を示す説明図である。因子クラスタリング結果４０は、患者タイプＩＤフィールド８０１と、目的変数フィールド８０２と、因子フィールド８０３と、を有する。同一行における各フィールド８０１〜８０３の値が患者タイプ情報となるエントリを構成する。【００５３】
患者タイプＩＤフィールド８０１は、患者タイプＩＤを格納する記憶領域である。患者タイプＩＤ８０１は、因子クラスタリングで分類された患者タイプを一意に特定する識別情報である。【００５４】
目的変数フィールド８０２は、患者タイプＩＤ８０１ごとの目的変数を格納する記憶領域である。目的変数８０２は、疾病確率を示す。疾病確率は、０％〜１００％で表現される。【００５５】
因子フィールド８０３は、複数の因子を格納する記憶領域である。因子８０３は、患者タイプへの薬の投与量を示す説明変数である。本例では、因子８０３は、便宜的に薬１〜薬４の４つの説明変数であるが、実際には、たとえば、収束判定（ステップＳ５０４）後に残存する薬である。【００５６】
図８では、因子クラスタリングとしてｋ−ｍｅａｎｓクラスタリングが用いられ、クラスタ数は例として「３」とする。これにより、統合確率分布Ｄのエントリは、３種類の患者タイプα、β、γの因子クラスタに分類される。【００５７】
図５に戻り、分析装置２００は、各因子クラスタから各因子の統計値を算出する（ステップＳ５０７）。具体的には、たとえば、分析装置２００は、因子フィールド８０３に、当該エントリの患者タイプに所属する統合確率分布Ｄ内の仮想患者情報における統計値を設定する。当該統計値は、たとえば、中央値である。中央値のほか、平均値、最大値、最小値、ランダムに選択された値でもよい。また、分析装置２００は、因子８０３である統計値を学習モデルに与えることにより、目的変数８０２である疾病確率を算出する。このように、患者タイプの因子８０３および説明変数８０２は、統計値および統計値由来の疾病確率に集約される。【００５８】
また、分析装置２００は、統合確率分布Ｄの因子同士の共起量を算出する（ステップＳ５０８）。共起量とは、２つの因子間の相関値である。具体的には、たとえば、分析装置２００は、統合確率分布Ｄ内の全因子を総当たりで組み合わせ、因子間の相関値を算出する。相関値は、初期設定（ステップＳ５０１）において、共起量選択領域４０７で選択された計算方法により算出される。【００５９】
つぎに、分析装置２００は、図１の（５）に示したように、共起クラスタリングにより共起クラスタを生成する（ステップＳ５０９）。具体的には、たとえば、分析装置２００は、共起量に階層クラスタリング法を適用し、共起クラスタを生成する。階層クラスタリングとは、個々のデータを１つの共起クラスタとして設定しておき、共起クラスタ間の類似度を計算し、最も類似する共起クラスタを併合し、すべての共起クラスタが１つのクラスタになるまで処理を繰り返し、デンドログラムを生成するすクラスタリングである。ここで、共起クラスタ間の類似度とは、たとえば、共起クラスタ間の距離の短さである。具体的には、たとえば、最近隣法、最遠隣法、または重心法により、共起クラスタ間の距離が定義される。【００６０】
図９は、共起クラスタリング（Ｓ５０８、Ｓ５０９）の処理例を示す説明図である。（Ａ）は、ステップＳ５０８の処理を示す。共起量テーブル９００は、因子間の相関値を保持するテーブルである。（Ｂ）は、ステップＳ５０９の処理を示す。（Ｂ）において、分析装置２００は、同一因子の相関値を削除する。また、分析装置２００は、階層クラスタリングのために相関値を１から相関値を減じた相関値に変換する。（Ｂ）では、相関値が小さいほどその因子同士は類似することを意味する。したがって、分析装置２００は、相関値が最小となる因子の組み合わせを共起クラスタとして選択する。（Ｂ）の場合は、薬１と薬２の組み合わせ（共起クラスタ１）と、薬３と薬４の組み合わせ（共起クラスタ２）とが選択される。なお、ここでは、共起クラスタは、２つの因子の組み合わせであるが、３以上の因子の組み合わせでもよい。【００６１】
なお、（Ｂ）の処理は、共起クラスタの数が共起クラスタ数設定領域４０９で設定された共起クラスタ数になるまで、または、これ以上クラスタを併合できない状態になるまで、実行される。【００６２】
図５に戻り、分析装置２００は、図１の（６）に示したように、共起クラスタの予測値を算出する（ステップＳ５１０）。具体的には、たとえば、分析装置２００は、患者タイプα、β、γごとに、共起クラスタに属する因子を学習モデルに与えることにより、患者タイプα、β、γごとの疾病確率の予測値を算出する。【００６３】
図１０は、ステップＳ５１０による予測結果１０００を示す説明図である。このように、分析装置２００は、因子の組み合わせの有効性を分析することができる。【００６４】
図５に戻り、分析装置２００は、予測結果１０００のしきい値処理を実行する（ステップＳ５１１）。具体的には、たとえば、分析装置２００は、予測値がしきい値以上の患者タイプと因子クラスタの組み合わせを選択する。たとえば、しきい値設定領域４１０に設定されたしきい値が「０．８」である場合、分析装置２００は、患者タイプαの因子クラスタ１、患者タイプβの因子クラスタ１、患者タイプγの因子クラスタ１を計算マーカとして選択する。【００６５】
分析装置２００は、ステップＳ５１０またはＳ５１１の処理結果を出力する（ステップＳ５１２）。具体的には、たとえば、分析装置２００は、出力デバイス２０４の一例であるディスプレイの表示画面を制御して処理結果を表示画面に表示したり、通信ＩＦ２０５を介して外部装置に処理結果を送信したり、記憶デバイス２０２に処理結果を書き込んだりする。また、ステップＳ５０４の収束判定結果も出力してもよい。【００６６】
＜表示画面例＞
図１１は、表示画面例を示す説明図である。表示画面１１００は、出力デバイス２０４の一例であるディスプレイに表示される。表示画面１１００は、スコア表示領域１１０１と、予測結果表示領域１１０２と、デンドログラム表示領域１１０３と、を有する。スコア表示領域１１０１には、収束判定（ステップＳ５０４）での収束値Ｒｈａｔが表示される。予測結果表示領域１１０２には、図１０に示した予測結果１０００が表示される。図１１に示すように、棒グラフで表示してもよい。デンドログラム表示領域１１０３には、階層クラスタリングにおけるデンドログラムが表示される。このように、図５に示した処理の途中結果や最終結果が表示画面１１００に表示される。【００６７】
このように、実施例１によれば、分析装置２００は、複数の因子の値どうしが類似するように予測データ集合（たとえば、統合確率分布Ｄ）をクラスタリングして、複数の因子クラスタを生成する第１生成処理を実行する（ステップＳ５０６）。分析装置２００は、予測データ集合（たとえば、統合確率分布Ｄ）を用いて、複数の因子の相関により複数の因子が共起する共起量を算出する第１算出処理を実行する（ステップＳ５０８）。分析装置２００は、第１算出処理によって算出された共起量に基づいて複数の因子をクラスタリングして、２以上の因子を含む共起クラスタを１以上有する複数の共起クラスタを生成する第２生成処理を実行する（ステップＳ５０９）。分析装置２００は、第１生成処理によって生成された複数の因子クラスタの中の２以上の因子を含む特定の因子クラスタに含まれる特定の予測データ群における２以上の因子の予測値のうち、第２生成処理によって生成された複数の共起クラスタの中の特定の共起クラスタが示す２以上の特定の因子の予測値を、学習モデルに与える。そして、分析装置２００は、特定の因子クラスタにおける目的変数の予測値を算出する第２算出処理を実行する（ステップＳ５１０）。【００６８】
これにより、分析装置２００は、複数の因子が共起した特定の因子クラスタにおける目的変数の予測値により、因子の組み合わせの有効性を分析することができる。【００６９】
また、分析装置２００は、特定の予測データ群における２以上の因子の予測値に基づいて、特定の因子クラスタにおける２以上の因子の予測値を代表する統計値を算出する第３算出処理を実行する（ステップＳ５１０）。これにより、分析装置２００は、複数の因子が共起した特定の因子クラスタにおける目的変数の予測値の算出に際し、計算量の低減化を図ることができる。したがって、分析速度の向上を図ることができる。【００７０】
また、分析装置２００は、学習モデルの種類を設定する設定処理を実行する（ステップＳ５０１）。また、分析装置２００は、目的変数の実測値と複数の因子の実測値とを用いて、設定処理によって設定された種類の学習モデルを生成して、記憶デバイスに格納する第３生成処理を実行する（ステップＳ５０２）。これにより、ユーザは、目的に応じて学習モデルの種類を選択することができる。【００７１】
また、分析装置２００は、設定処理では、種類として、線形モデルまたは非線形モデルを設定する。これにより、分析装置２００は、線形モデルが設定された場合、分析速度の向上を図ることができ、非線形モデルが設定された場合、分析精度の向上を図ることができる。換言すれば、ユーザは、分析結果がより早く得たい場合は、線形モデルを選択し、分析精度を上げたい場合は、非線形モデルを選択することができる。【００７２】
また、予測データ集合（たとえば、統合確率分布Ｄ）は、学習モデルを用いた確率サンプリング法によって学習データ集合１０から生成されたデータ集合としてもよい。これにより、予測データ集合（たとえば、統合確率分布Ｄ）は、学習モデルに依存したデータ集合となる。したがって、たとえば、非線形モデルが設定された場合、予測データ集合（たとえば、統合確率分布Ｄ）は、線形モデルが設定された場合に比べて、精度のよいデータ集合となる。【００７３】
また、分析装置２００は、学習モデルを用いた確率サンプリング法（たとえば、マルコフ連鎖モンテカルロ法）によって予測データまたは予測データに類似するデータのいずれか一方を採択することにより、２つの予測データ群（たとえば、因子の確率分布ｄ１，ｄ２）を生成する第４生成処理を実行する（ステップＳ５０３）。予測データに類似するデータとは、上述したように、予測データである因子の各値にランダム値が加算されたデータである。分析装置２００は、第４生成処理によって生成された２つの予測データ群（たとえば、因子の確率分布ｄ１，ｄ２）が同一の確率分布に収束するか否かを判定する判定処理を実行する（ステップＳ５０４）。分析装置２００は、判定処理による判定結果に基づいて２つの予測データ群（たとえば、因子の確率分布ｄ１，ｄ２）を統合することにより、予測データ集合（たとえば、統合確率分布Ｄ）を生成する統合処理を実行する（ステップＳ５０５）。【００７４】
判定処理により、２つの予測データ群（たとえば、因子の確率分布ｄ１，ｄ２）が同一の確率分布、たとえば、学習データ集合１０の確率分布に収束するか否かが判定される。これにより、収束していれば、２つの予測データ群（たとえば、因子の確率分布ｄ１，ｄ２）が学習データ集合１０に類似すると判明するため、２つの予測データ群（たとえば、因子の確率分布ｄ１，ｄ２）から予測データ集合（たとえば、統合確率分布Ｄ）が生成される。これにより、予測データ集合（たとえば、統合確率分布Ｄ）の予測値としての確からしさ、すなわち、生成精度の向上を図ることができる。【００７５】
また、分析装置２００は、学習モデルを用いた確率サンプリング法（たとえば、マルコフ連鎖モンテカルロ法）によって予測データまたは予測データに類似するデータのいずれか一方を採択する採択率αを制御するパラメータの値（たとえば、σ値）を設定する設定処理を実行する（ステップＳ５０１）。これにより、（１−σ）以上の目的変数となる因子を採択率αで採択することができる。【００７６】
また、分析装置２００は、因子クラスタの生成数を設定する設定処理を実行する（ステップＳ５０１）。これにより、分析装置２００は、ユーザが指定した数分の因子クラスタを生成することができる。具体的には、たとえば、因子クラスタの生成数が増加するほど、予測データ集合（たとえば、統合確率分布Ｄ）が細分化される。これにより、ユーザは、分析結果がより早く得たい場合は、因子クラスタの生成数を低めに設定し、分析精度を上げたい場合は、因子クラスタの生成数を高めに設定することができる。【００７７】
また、分析装置２００は、共起クラスタの生成数を設定する設定処理を実行する（ステップＳ５０１）。これにより、これにより、分析装置２００は、ユーザが指定した数分の共起クラスタを生成することができる。具体的には、たとえば、共起クラスタの生成数が増加するほど、共起しあう因子の数や、共起しあう因子の組み合わせの数が増加する。したがって、ユーザは、分析結果がより早く得たい場合は、共起クラスタの生成数を低めに設定し、分析精度を上げたい場合は、共起クラスタの生成数を高めに設定することができる。【００７８】
また、実施例１では、複数の因子３０３，６０３を複数の薬の患者への投与量とし、目的変数３０２，６０２を患者に複数の薬を投与量投与した場合の薬効を示す値（たとえば、疾病確率）とした。これにより、複数の薬の各々をどのタイプ（因子クラスタ）の患者にどの程度投与したら、どの程度の薬効があるかを予測することができる。【００７９】
なお、上述した実施例１では、薬効分析を例に挙げて説明したが、商品レコメンデーションにも適用可能である。この場合、図３に示した学習データ集合１０において、患者ＩＤ３０１は、たとえば、患者ではなく顧客に替わる。因子３０３は、たとえば、商品またはサービス（商品またはサービスのジャンルでもよい）の購入数（商品の場合）や利用回数（サービスの場合）を示す。目的変数３０２は、たとえば、商品またはサービス（商品またはサービスのジャンルでもよい）の購入金額（商品の場合）や利用金額（サービスの場合）を示す。因子の確率分布ｄ１，ｄ２、統合確率分布Ｄも同様である。【００８０】
また、ニュース記事の分析の場合、図３に示した学習データ集合１０において、患者ＩＤ３０１は、たとえば、患者ではなく新聞や雑誌、ｗｅｂページに掲載されたニュース記事に替わる。因子３０３は、たとえば、単語の出現回数を示す。目的変数３０２は、たとえば、政治、社会、スポーツ、天気といったニュース記事のジャンルを示す。因子の確率分布ｄ１，ｄ２、統合確率分布Ｄも同様である。
【実施例２】
【００８１】
実施例２について説明する。実施例１では、１台の計算機により図５に示した分析処理を実行したが、実施例２では、複数台の計算機により図５に示した分析処理を分散処理する。これにより、計算機の負荷低減と分析速度の高速化を図る。各計算機は、具体的には、たとえば、図２に示したハードウェア構成を有する。【００８２】
図１２は、分析システムのシステム構成例を示す説明図である。分析システム１２００は、複数台の計算機（以下、単に、ノード）Ｎ０〜Ｎｎ（ｎは１以上の整数）と、１台以上のクライアント端末Ｃとを含む。複数台のノードＮ０〜Ｎｎ（ｎは２以上の整数）と、１台以上のクライアント端末Ｃとは、ネットワーク１２０１を介して通信可能に接続される。ノードＮ０は、マスターノードＮ０であり、ノードＮ１〜ＮｎはワーカーノードＮ１〜Ｎｎである。マスターノードＮ０は、ワーカーノードＮ１〜Ｎｎを管理する。ワーカーノードＮ１〜Ｎｎは、マスターノードＮ０の指示にしたがって処理を実行する。なお、マスターノードＮ０の機能をワーカーノードＮ１〜Ｎｎのいずれかが担当してもよい。【００８３】
＜分散処理手順例＞
図１３〜図１５は、分析システム１２００による分散処理手順例を示すフローチャートである。なお、ここでは、一例として、ｎ＝２、すなわち、分析システム１２００は、マスターノードＮ０、ワーカーノードＮ１、Ｎ２、クライアント端末Ｃとする。【００８４】
まず、クライアント端末Ｃが初期設定（ステップＳ５０１）を実行する（ステップＳ１３０１）。そして、クライアント端末Ｃは、初期設定（ステップＳ５０１）の設定内容である解析リクエストを、マスターノードＮ０に送信する（ステップＳ１３０２）。【００８５】
マスターノードＮ０は、学習モデル生成リクエストをワーカーノードＮ１に送信する（ステップＳ１３０３）。ワーカーノードＮ１は、学習モデル生成リクエストを受信した場合、ステップＳ５０２と同様、学習モデルを生成する（ステップＳ１３０４）。ワーカーノードＮ１は、学習モデルを生成すると、マスターノードＮ０に学習モデルを送信する（ステップＳ１３０５）。マスターノードＮ０は、ワーカーノードＮ１から学習モデルを受信すると、他のワーカーノードＮ２に学習モデルを送信する（ステップＳ１３０６）。【００８６】
つぎに、マスターノードＮ０は、因子の確率分布ｄ１の生成リクエストをワーカーノードＮ１に送信し（ステップＳ１３０７）、因子の確率分布ｄ２の生成リクエストをワーカーノードＮ２に送信する（ステップＳ１３０８）。これにより、因子の確率分布ｄ１，ｄ２を並列処理で生成することができる。【００８７】
つぎに、ワーカーノードＮ１は、ステップＳ５０３と同様、マルコフ連鎖モンテカルロ法に代表される確率サンプリング法を用いて、学習データ集合１０由来の因子の確率分布ｄ１を生成する（ステップＳ１３０９）。ワーカーノードＮ２も、ステップＳ５０３と同様、マルコフ連鎖モンテカルロ法に代表される確率サンプリング法を用いて、学習データ集合１０由来の因子の確率分布ｄ２を生成する（ステップＳ１３１０）。ワーカーノードＮ１は、生成した因子の確率分布ｄ１をマスターノードＮ０に送信する（ステップＳ１３１１）。ワーカーノードＮ２も、生成した因子の確率分布ｄ２をマスターノードＮ０に送信する（ステップＳ１３１２）。【００８８】
マスターノードＮ０は、ステップＳ５０４と同様、因子の確率分布ｄ１，ｄ２が同一の確率分布に収束しているかを判定する（ステップＳ１３１３）。マスターノードＮ０は、その判定結果をクライアント端末Ｃに送信する（ステップＳ１３１４）。クライアント端末Ｃは、図１１に示したように、判定結果（たとえば、Ｇｅｌｍａｎ−Ｒｕｂｉｎスコア）を受信して表示する（ステップＳ１３１５）。【００８９】
図１４において、マスターノードＮ０は、ステップＳ５０５と同様、因子の確率分布ｄ１，ｄ２を統合して統合確率分布Ｄを生成する（ステップＳ１４０１）。そして、マスターノードＮ０は、因子クラスタリングリクエストをワーカーノードＮ１に送信する（ステップＳ１４０２）。ワーカーノードＮ１は、因子クラスタリングリクエストを受信した場合、ステップＳ５０６と同様、統合確率分布Ｄを用いて、因子クラスタリングにより因子クラスタを生成する（ステップＳ１４０３）。また、ワーカーノードＮ１は、ステップＳ５０７と同様、各因子クラスタから各因子の統計値を算出する（ステップＳ１４０４）。ワーカーノードＮ１は、算出した統計値をマスターノードＮ０に送信する（ステップＳ１４０５）。マスターノードＮ０は、他のワーカーノードＮ２に、受信した統計値を送信する（ステップＳ１４０６）。【００９０】
マスターノードＮ０は、共起量計算リクエストをワーカーノードＮ２に送信する（ステップＳ１４０７）。ワーカーノードＮ２は、ステップＳ５０８と同様、統合確率分布Ｄの因子同士の共起量を算出する（ステップＳ１４０８）。そして、ワーカーノードＮ２は、算出した共起量（図９の（Ａ）を参照）をマスターノードＮ０に送信する（ステップＳ１４０９）。【００９１】
図１５において、マスターノードＮ０は、ステップＳ５０９と同様、共起クラスタリングにより共起クラスタを生成し、共起クラスタのＩＤリストＡ，Ｂを生成する（ステップＳ１５０１）。共起クラスタのＩＤリストＡとは、統合確率分布Ｄのエントリを分割した一方のエントリ群を一意に特定するＩＤリストである。共起クラスタのＩＤリストＢとは、統合確率分布Ｄのエントリを分割した他方のエントリ群を一意に特定するＩＤリストである。【００９２】
マスターノードＮ０は、共起クラスタのＩＤリストＡをワーカーノードＮ１に送信し（ステップＳ１５０２）、共起クラスタのＩＤリストＢをワーカーノードＮ２に送信する（ステップＳ１５０３）。ワーカーノードＮ１は、ステップＳ５０９と同様、ＩＤリストＡについて、共起クラスタリングにより共起クラスタを生成する（ステップＳ１５０４）。ワーカーノードＮ２も、ステップＳ５０９と同様、ＩＤリストＢについて、共起クラスタリングにより共起クラスタを生成する（ステップＳ１５０５）。【００９３】
ワーカーノードＮ１は、ステップＳ５１０と同様、ステップＳ１５０４で得られた共起クラスタの予測値を算出する（ステップＳ１５０６）。ワーカーノードＮ２も、ステップＳ５１０と同様、ステップＳ１５０５で得られた共起クラスタの予測値を算出する（ステップＳ１５０７）。ワーカーノードＮ１は、ステップＳ１５０６で得られた予測値を記憶デバイス２０２に保存する（ステップＳ１５０８）。ワーカーノードＮ２も、ステップＳ１５０７で得られた予測値を記憶デバイス２０２に保存する（ステップＳ１５０９）。ワーカーノードＮ１は、ステップＳ１５０６で得られた予測値をマスターノードＮ０に送信する（ステップＳ１５１０）。ワーカーノードＮ２も、ステップＳ１５０７で得られた予測値をマスターノードＮ０に送信する（ステップＳ１５１１）。【００９４】
マスターノードＮ０は、ステップＳ５１１と同様、予測値のしきい値処理を実行する（ステップＳ１５１２）。そして、マスターノードＮ０は、その実行結果である計算マーカをクライアント端末Ｃに送信する（ステップＳ１５１３）。クライアント端末Ｃは、計算マーカを表示画面に表示する（ステップＳ１５１４）。【００９５】
図１６は、図１５に示した分析システム１２００による分散処理手順例を示すフローチャート３の変形例を示すフローチャートである。図１５では、ＩＤリストＡ，ＢごとにワーカーノードＮ１、Ｎ２が並列で共起クラスタリングを実行することで、処理の高速化を実現した。一方、図１６では、ＩＤリストＡ，Ｂの共起クラスタ計算は、ワーカーノードＮ１，Ｎ２ではなく、マスターノードＮ０が実行する。なお、図１５と同一処理については同一ステップ番号を付し、その説明を省略する。【００９６】
図１６において、マスターノードＮ０は、ステップＳ５０９と同様、ＩＤリストＡについて、共起クラスタリングにより共起クラスタを生成する（ステップＳ１６０２）。マスターノードＮ０は、ＩＤリストＡの共起クラスタをワーカーノードＮ１に送信する（ステップＳ１６０３）。【００９７】
ワーカーノードＮ１は、ステップＳ５１０と同様、ステップＳ１６０２で得られた共起クラスタの予測値を算出する（ステップＳ１６０４）。ワーカーノードＮ１は、ステップＳ１６０４で得られた予測値を記憶デバイス２０２に保存する（ステップＳ１６０４）。ワーカーノードＮ１は、ステップＳ１６０４で得られた予測値をマスターノードＮ０に送信する（ステップＳ１６０６）。【００９８】
マスターノードＮ０は、ステップＳ５０９と同様、ＩＤリストＢについて、共起クラスタリングにより共起クラスタを生成する（ステップＳ１６０７）。マスターノードＮ０は、ＩＤリストＢの共起クラスタをワーカーノードＮ２に送信する（ステップＳ１６０８）。【００９９】
ワーカーノードＮ２は、ステップＳ５１０と同様、ステップＳ１６０７で得られた共起クラスタの予測値を算出する（ステップＳ１６０９）。ワーカーノードＮ１は、ステップＳ１６０９で得られた予測値を記憶デバイス２０２に保存する（ステップＳ１６１０）。ワーカーノードＮ２は、ステップＳ１６０９で得られた予測値をマスターノードＮ０に送信する（ステップＳ１６１１）。【０１００】
このように、実施例２によれば、実施例１と同様の効果を奏する。また、実施例２によれば、複数台の計算機により図５に示した分析処理を分散処理する。これにより、計算機の負荷低減と分析速度の高速化を図ることができる。なお、図１３〜図１６に示した分散処理は一例である。したがって、このほかにも、たとえば、図１３〜図１６に示したステップのうち少なくとも２以上のステップを異なる計算機で実行してもよい。【０１０１】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。【０１０２】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。【０１０３】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。【０１０４】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【図１】
0006695431.tif 000003
【図２】
0006695431.tif 000004
【図３】
0006695431.tif 000005
【図４】
0006695431.tif 000006
【図５】
0006695431.tif 000007
【図６】
0006695431.tif 000008
【図７】
0006695431.tif 000009
【図８】
0006695431.tif 000010
【図９】
0006695431.tif 000011
【図１０】
0006695431.tif 000012
【図１１】
0006695431.tif 000013
【図１２】
0006695431.tif 000014
【図１３】
0006695431.tif 000015
【図１４】
0006695431.tif 000016
【図１５】
0006695431.tif 000017
【図１６】
0006695431.tif 000018