(57)【特許請求の範囲】
【請求項１】
バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとしてクラスタリングを行うと共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第一クラスタリング部と、
前記第一クラスタリング部で求めた遷移確率の対応付いたクラスタに対して、ネットワーククラスタリングを行うことで、コミュニティとしての各クラスタを求めると共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第二クラスタリング部と、を備え、
前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、をそれぞれ、健康状態推移のモデルとして出力し、
前記第一クラスタリング部は、前記個別データの集まりを対象として１回目のクラスタリングを行った後、さらに、前記第二クラスタリング部の出力したコミュニティとしての各クラスタに属する個別データを対象として、当該クラスタ毎に２回目のクラスタリングを行い、
前記第二クラスタリング部はさらに、前記２回目のクラスタリングの結果に対して、ネットワーククラスタリングを行うことを特徴とする予測モデル構築装置。
【請求項２】
前記第一クラスタリング部は、前記第二クラスタリング部の出力したコミュニティとしての各クラスタにおいて、バグオブワードにおける各単語が当該クラスタに関連性のあるものか否かを判定したうえで、関連性のあると判定された単語のみで構成されたバグオブワードの形での個別データを対象として、前記２回目のクラスタリングを行うことを特徴とする請求項１に記載の予測モデル構築装置。
【請求項３】
前記第一クラスタリング部は、各単語が個別データの各々において所定頻度を超えているか否かを、各クラスタの内外でカウントしたクロス集計表を作成し、当該クロス集計表に基づいて赤池情報量基準を算出することにより、前記関連性のあるものか否かを判定することを特徴とする請求項２に記載の予測モデル構築装置。
【請求項４】
バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとしてクラスタリングを行うと共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第一クラスタリング部と、
前記第一クラスタリング部で求めた遷移確率の対応付いたクラスタに対して、ネットワーククラスタリングを行うことで、コミュニティとしての各クラスタを求めると共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第二クラスタリング部と、を備え、
前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、をそれぞれ、健康状態推移のモデルとして出力し、
前記第一クラスタリング部は、クラスタ分割数の所定候補のそれぞれにおいて前記クラスタリングを行い、当該行った結果の各クラスタにおいて個別データが隣接年代において自己遷移しているか否かをカウントしたクロス集計表を作成し、当該クロス集計表に基づいて赤池情報量基準を算出することにより、前記クラスタ分割数の所定候補の中から最適分割数を決定することを特徴とする予測モデル構築装置。
【請求項５】
バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとしてクラスタリングを行うと共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第一クラスタリング部と、
前記第一クラスタリング部で求めた遷移確率の対応付いたクラスタに対して、ネットワーククラスタリングを行うことで、コミュニティとしての各クラスタを求めると共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第二クラスタリング部と、を備え、
前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、をそれぞれ、健康状態推移のモデルとして出力し、
前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、のいずれを健康状態推移のモデルとして利用するかと、バグオブワードの形での予測対象者の健康状態データと、当該予測対象者の現在年代と、当該予測対象者の予測対象未来年代と、の指定をユーザより受け付け、
当該指定された健康状態推移のモデル上で、当該指定された予測対象者の健康状態の、当該指定された現在年代から当該指定された予測対象未来年代に至るまでの推移を予測する予測部をさらに備えることを特徴とする予測モデル構築装置。
【請求項６】
前記予測部は、前記指定された健康状態推移のモデルにおいて与えられているクラスタ及び当該クラスタ間の遷移確率に対して、ビタビアルゴリズムを適用することにより、最大確率を与える経路として前記推移を予測することを特徴とする請求項５に記載の予測モデル構築装置。
【請求項７】
バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとしてクラスタリングを行うと共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第一クラスタリング部と、
前記第一クラスタリング部で求めた遷移確率の対応付いたクラスタに対して、ネットワーククラスタリングを行うことで、コミュニティとしての各クラスタを求めると共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第二クラスタリング部と、を備え、
前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、をそれぞれ、健康状態推移のモデルとして出力し、
前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、のいずれを健康状態推移のモデルとして利用するかと、バグオブワードの形での予測対象者の健康状態データと、当該予測対象者の現在年代と、当該予測対象者の予測対象未来年代と、の指定をユーザより受け付け、
前記指定された予測対象者の健康状態データを、前記指定された健康状態推移のモデルにおける各クラスタの所属確率へと変換し、当該所属確率に対して予め機械学習された関係式を適用することで、当該指定された予測対象者の当該指定された予測対象未来年代における医療費を予測する予測部をさらに備えることを特徴とする予測モデル構築装置。
【請求項８】
前記第二クラスタリング部が、前記コミュニティとして求めた各クラスタ及び遷移確率を第一出力とし、当該第一出力に対してさらに、ネットワーククラスタリングを行うことで、第二出力として、コミュニティとしての各クラスタ及び遷移確率を求め、
さらに、当該第二出力を健康状態のモデルとして出力することを特徴とする請求項１ないし７のいずれかに記載の予測モデル構築装置。
【請求項９】
前記第一クラスタリング部では、潜在トピック分析によりクラスタリングを行うことを特徴とする請求項１ないし８のいずれかに記載の予測モデル構築装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、医療データを入力として、予測期間に応じた複数の健康状態の推移モデルを出力することのできる、予測モデル構築装置に関する。
【背景技術】
【０００２】
特許文献１や特許文献２に代表されるように、健康管理システム等が大きな広がりを見せている。このような健康管理システムでは、利用者に対して健康上のアドバイス等を行う場合が多いが、特許文献３に示すように、利用者を実際の健康データを元に分類した上でアドバイスを行った方が、より行動変容につながりやすい。
【０００３】
上記のように、健康データ・医療データに基づいて、対象者をクラスタリングしたい場合があり、その目的に応じた適切なクラスタリングが行われることが望まれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2013-085626号公報
【特許文献２】特開2010-264088号公報
【特許文献３】特開2010-170534号公報
【非特許文献】
【０００５】
【非特許文献１】D. Blei, A. Ng, and M. Jordan. Latent Dirichlet allocation. Journal of Machine Learning Research,3:993-1022, January 2003.
【非特許文献２】Topic Tracking Model: http://ijcai.org/papers09/Papers/IJCAI09-239.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、近年、Latent dirichlet allocation（潜在的ディリクレ配分法：以下、LDAとする）に代表される高精度な分類手法として潜在トピック分析が注目を浴びている。LDAは非特許文献１に開示されている。また、このLDAを時系列的な影響を加味するように拡張したTopic Tracking Model（トピックトラッキングモデル：以下、TTMとする）なども提案されている。TTMは非特許文献２に開示されている。このTTMを用いれば、長期の時系列的な影響を加味して対象者のクラスタリングが可能であり、長期にわたる変化のモデル等を作成することができる。
【０００７】
しかし一般的に、長期のデータを用意することは難しく、TTMで長期予測モデルを構築しようとしても、欠損が多くなってしまうという問題がある。特に医療データは長期のデータを用意することが難しい。
【０００８】
また、比較的短期的な将来を予測したい場合には、教師あり学習等を用いる場合も多い。しかし、教師あり学習を用いる場合についても、大量のデータ欠損がある場合にはモデルが上手く機能しないことが多い。さらに、教師無し学習では不要である教師データを用意する必要も生じてしまう。
【０００９】
そこで、クラスタリング等の教師無し学習を用いて、比較的短期的な健康状態の推移モデルを生成し、短期的な予測を繰り返すことによって長期的な予測を可能とすることが望まれる。しかし、データに不要な特徴量が含まれていると、クラスタ数が必要以上に多くなり、モデルが不正確になる。これは特に長期間の遷移予測をするにあたり、大きな問題となる。
【００１０】
本発明は、上記従来技術の課題に鑑み、予測期間に応じた健康状態推移の予測モデルを構築することのできる予測モデル構築装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、予測モデル構築装置であって、バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとしてクラスタリングを行うと共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第一クラスタリング部と、前記第一クラスタリング部で求めた遷移確率の対応付いたクラスタに対して、ネットワーククラスタリングを行うことで、コミュニティとしての各クラスタを求めると共に、当該クラスタリング結果の各クラスタ間の遷移確率を計算する第二クラスタリング部と、を備え、前記第一クラスタリング部の出力したクラスタ及び遷移確率と、前記第二クラスタリング部の出力したクラスタ及び遷移確率と、をそれぞれ、健康状態推移のモデルとして出力することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、第一クラスタリング部の出力を短期予測に適したものとして、第二クラスタリング部の出力を長期予測に適したものとして、それぞれ得ることができるので、予測期間に応じた予測モデルを構築することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る予測モデル構築装置の機能ブロック図である。
【図２】入力される全医療データの模式的な例を示す図である。
【図３】第一クラスタリング部におけるクラスタリング結果及び対応する遷移確率の算出の例を[1]〜[5]と分けて示す図である。
【図４】第一クラスタリング部が出力するクラスタ及び遷移確率の例を[1]に、当該出力を入力として第二クラスタリング部が出力するコミュニティの例を[2]に、それぞれ示す図である。
【図５】第二クラスタリング部が出力したコミュニティ別のクラスタにおける特徴的な単語の例を示す図である。
【図６】予測モデル及びその適用結果の例を示す図である。
【図７】潜在トピック分析のクラスタリングにおいて得られる行列分解結果を示す図である。
【図８】周知のデンドログラムの例を示す図である。
【図９】クラスタとの関連性の高い単語を判断する際に用いるクロス集計表の例を示す図である。
【図１０】指定したクラスタ数がmの場合のクロス集計表の例を示す図である。
【図１１】医療費予想に適したクラスタ分割数を自動決定するためのクロス集計表の例を示す図である。
【図１２】図９〜図１１等のクロス集計表を一般化した表である。
【図１３】図１２のクロス集計表に対応する従属モデルにおける確率の表である。
【図１４】図１２のクロス集計表に対応する独立モデルにおける確率の表である。
【図１５】クラスタリング対象の各データの年代に重複があってもよい旨を説明するための例を示す図である。
【発明を実施するための形態】
【００１４】
図１は、一実施形態に係る予測モデル構築装置の機能ブロック図である。予測モデル構築装置10は、文書化部1、第一クラスタリング部2、第二クラスタリング部3、モデル保持部4及び予測部5を備える。ここで、詳細は後述するが、第一クラスタリング部2及び第二クラスタリング部3は図示するように逐次処理部20として機能することができ、分岐している矢印線L1,L2で示すように互いの処理結果を参照しながら各自の処理を交互に繰り返すことができる。図１の各部の処理は以下の通りである。
【００１５】
文書化部1では、予測モデル構築装置10によるモデル構築のための入力データとしての全医療データを読み込み、当該全データを構成する各対象者Xの各年代n（年齢n）における文書化された医療データD(X, n)を生成して第一クラスタリング部2へと出力する。
【００１６】
当該医療データD(X, n)への文書化とは、周知のバグオブワード(bag of words)の形式、すなわち所定の各単語の頻度（出現回数）を要素とする文書ベクトルの形式へ変換することであり、データD(X, n)は対象者Xのn歳時点での健康状態を反映したベクトルとなっている。後段側の第一クラスタリング部2でのクラスタリングを可能とするための前処理として、当該文書化がなされる。具体的には以下の通りである。
【００１７】
まず、入力される全医療データは、一連の対象者の一連の時期における健康状態を評価したものであり、具体的には例えば健康組合等のもとで実施される健康診断結果や、医師による問診の結果、あるいはレセプト（診療報酬明細書）等やこれらの組み合わせを用いることができる。
【００１８】
あらかじめ、当該医療データに記載されている、あるいは、記載されうることが既知の健康状態を表す所定の複数m個の単語i1, i2, …, imを用意しておき、文書化部1において対象者Xのn歳における医療データのテキストを解析することで、単語i1, i2, …, imの頻度ベクトルとして健康状態を表すベクトルD(X, n)を生成することができる。
【００１９】
例えば、問診データ等における特定の疾病の名称に相当する単語ibが対象者Xのn歳の医療データに存在すれば、ベクトルD(X, n)の当該ibの要素の値を「1」とし、存在しなければ同要素の値を「0」とすることができる。
【００２０】
また、健康診断データにおける体重や血液検査の結果等、数値で評価される項目については当該項目に応じた所定の単語を用意しておき、評価数値に応じた所定規則（所定関数等）により当該単語の頻度を算出してベクトルD(X,n)の要素の値とすることができる。このような評価数値から単語頻度への変換に関しては、本出願人による特開２０１５−３２０１３号公報（発明の名称：数値データ解析装置及びプログラム）、特願２０１３−１６３２０７号（数値データ解析装置及びプログラム）、特願２０１３−２１７８１７号（数値データ解析装置及びプログラム）を利用してもよい。
【００２１】
なお、上記のような数値（量的データ）の場合の他、質的データ（例えば、問診票等に記載された喫煙習慣の有無など）の場合も、同様に所定規則により対応する単語の頻度へと変換し、ベクトルD(X,n)の要素の値とすることができる。
【００２２】
以上のように、単語i1, i2, …, imの各々は、入力される医療データにおける健康状態の評価項目の各々に対応する単語であり、対象者Xのn歳における当該評価結果に対して所定規則（単語i1, i2, …, imの各々に個別規則を用意しておくことができる）を適用することで、文書化部1では文書ベクトルD(X, n)を生成する。
【００２３】
図２に、文書化部1に入力される全医療データの模式的な例を示す。当該例に示すように、入力としての全医療データには欠損があることが想定されており、従来技術の課題において説明したように、当該全医療データにTTM等をそのまま適用しても満足な結果が得られないことが想定されている。すなわち、健康予想モデル構築を精度よく実施するには、各対象者につき数十年等の長期間に渡るデータが存在していることが望まれるが、実際には図２の例のように、数年の短期間に渡るデータしか利用できないということが多い。
【００２４】
なお、図２の例では、例えばAさんに関しては40歳〜43歳のデータが存在しているので、文書化部1においてAさんの医療データよりD(A,40),D(A,41),D(A,42),D(A,43)という4個のデータが出力されることとなる。Gさん、Dさんといったその他の対象者についても同様に医療データが存在する年代分のデータが出力されることとなる。
【００２５】
第一クラスタリング部2では、まず、上記の文書化部1より出力された一連の対象者Xにおける一連の年代nのデータD(X,n)の全てを対象としてクラスタリングを行う。当該クラスタリングには、潜在トピックモデルに基づくLDAを利用してもよい。
【００２６】
ここで特に、共通の対象者Xであっても年代がn歳、m歳(m≠n)と異なるデータD(X,n),D(X,m)は、別データとしてクラスタリングが行われる。例えば、図２の例におけるAさんの4つの異なる年代におけるデータD(A,40),D(A,41),D(A,42),D(A,43)は、4つの異なるデータとしてクラスタリング対象となる。なお、対象者がX及びYと異なるデータD(X, n),D(Y, m)（ここで年齢nと年齢mは同じでも異なっていてもよい）は当然、別データとしてクラスタリング対象となる。
【００２７】
第一クラスタリング部2はさらに、上記のクラスタリング結果における一連のクラスタ間の遷移確率を計算し、図１に分岐したデータ線L1として示すように、当該クラスタリング結果及びそのクラスタ間の遷移確率を第二クラスタリング部3及びモデル保持部4へと出力する。
【００２８】
ここで説明のため、クラスタリング結果の各クラスタをCi(i=1, 2, …)と書くことにすると、クラスタCi,Cj間の遷移確率P(Ci→Cj)は、以下の第一方針及び第二方針で定まる一連のカウントを集計し、クラスタ毎に確率として規格化することにより、第一クラスタリング部2において算出すればよい。
【００２９】
すなわち、第一方針として、隣接する年代n歳及びn+1歳についての同じ対象者XのデータD(X,n),D(X,n+1)が異なるクラスタCi,Cj(i≠j)に分類されている場合、すなわち、D(X,n)∈CiかつD(X,n+1)∈Cjである場合、クラスタCiよりクラスタCjへと至る遷移が1回あったものとしてカウントすることにする。（ここで、遷移の方向Ci→Cjは、対象者Xのn歳時点での所属クラスタCiからn+1歳時点での所属クラスタCjへと向かう方向、すなわち年代の進む方向である。）
【００３０】
また、第二方針として、隣接する年代n歳及びn+1歳についての同じ対象者XのデータD(X,n),D(X,n+1)が同じクラスタCiに分類されている場合、すなわち、D(X,n)∈CiかつD(X,n+1)∈Ciである場合、クラスタCiよりクラスタCi自身へと至る遷移（クラスタCiの自己遷移）が1回あったものとしてカウントすることにする。（なお、第一方針でi=jとした場合が第二方針である。）
【００３１】
以上、第一、第二方針より、以下の式(1)のようにクラスタCi,Cj間の遷移確率P(Ci→Cj)をクラスタCiからCjへの遷移数N(Ci→Cj)に比例するように計算することができる。第一方針(i≠jの場合)、第二方針(i=jの場合)にてカウントする遷移数N(Ci→Cj)は式(2)に示されている。また、式(1)における遷移確率P(Ci→Cj)の具体的な値は、全ての遷移先クラスタCjを表すインデクスj(j=iの場合も含む)につき総和した式(3)の規格化条件を満たすように計算すればよい。式(2)にて右辺の全体を覆っている"||"は数学記号として周知のように集合の元の数を表す記号であって、例えば、|A|で集合Aに属する元の数を表す記号である。また式(2)にて、数学表記として周知のように、{x|xが満たす条件}で当該条件を満たすxの集合を表す。
【００３２】
【数１】
0006436535.tif 000002
【００３３】
図３に、第一クラスタリング部2におけるクラスタリング結果及び対応する遷移確率の算出の例を[1]〜[5]と分けて示す。[1]は、当該例におけるクラスタリング対象となった全データの例であり、Aさんに関して40歳〜43歳の4個のデータD(A,40)〜D(A,43)と、Hさんに関して43歳〜46歳の4個のデータD(H,43)〜D(H,46)と、の全8個のデータがクラスタリング対象であるものとする。（なお、予測モデルを構築するために一般にはもっと多数のデータを用いるが、ここでは算出例の説明のため、全データを8個としている。）
【００３４】
[2]は、[1]の全データのクラスタリング結果であり、2つのクラスタC1,C2に分けられ、所属データがC1={D(A,40), D(A,41), D(A,42), D(H,45), D(H,46)}及びC2={D(A,43), D(H,43), D(H,44)}となっている。なお、[2]でデータ間に描いている矢印は、同一対象者データであって隣接年代n,n+1となっているデータ間に、年齢の進む方向に描いたものであり、次の[3]における遷移数のカウントの対象となる箇所に該当する。
【００３５】
[3]では、[2]のクラスタリング結果のクラスタC1,C2において一連の遷移数N(Ci→Cj)をカウントした結果が示されている。[4]は当該[3]のカウント結果を、遷移元クラスタを行要素とし、遷移先クラスタを列要素として行列形式に並べたものである。[5]には、当該[4]の結果を上記の式(3)を満たすように規格化した結果として、[2]のクラスタリング結果に対応する遷移行列（クラスタ間遷移確率を要素とする行列）が示されている。
【００３６】
[5]ではすなわち、遷移元がクラスタC1である一連の遷移のカウントN(C1→C1)=3及びN(C1→C2)=1を規格化することで遷移確率P(C1→C1)=0.75及びP(C1→C2)=0.25を求め、同様に、遷移元がクラスタC2である一連の遷移のカウントN(C2→C1)=1及びN(C2→C2)=1を規格化することで遷移確率P(C2→C1)=0.5及びP(C2→C2)=0.5を求めている。
【００３７】
第二クラスタリング部3は、以上の第一クラスタリング部2の出力したクラスタリング結果及び当該結果のクラスタ間における遷移確率を入力データとしてネットワーククラスタリングを行い、そのクラスタリング結果をモデル保持部4へと出力する。また、図１に分岐しているデータ線L2として示すように、第一クラスタリング部2及び第二クラスタリング部3にて相互に逐次的な処理を行う実施形態においては、第二クラスタリング部3は自身の得たクラスタリング結果を第一クラスタリング部2へも出力する。
【００３８】
なお、逐次処理を行う実施形態の詳細については後述する。以下ではまず、逐次処理を行わない実施形態、すなわち、第一クラスタリング部2が1回だけクラスタリングを行い、この結果を利用して第二クラスタリング部3が1回だけクラスタリングを行う実施形態について説明する。
【００３９】
第二クラスタリング部3におけるネットワーククラスタリングには、スピングラスアルゴリズム(spinglass algorithm)、マルコフクラスタリング(Markov clustering)、混合メンバシップブロックモデル(Mixed membership stochastic blockmodel; MMSB)等の周知の手法を利用することができる。当該ネットワーククラスタリングにより、クラスタ間の遷移を考慮することで、閉ループ構造に代表される、クラスタ間のコミュニティを検出できる。
【００４０】
第一クラスタリング部2の出力したクラスタリング結果Ci(i=1, 2, …)及びそのクラスタ間の遷移確率P(Ci→Cj)に対し、第二クラスタリング部3のネットワーククラスタリングにより、一連のクラスタCi(i=1, 2, …)の形成しているコミュニティCMk(k=1, 2, …)を得ることができる。なお、各「コミュニティ」CMkは一連のクラスタCiに対するクラスタリング結果の「クラスタ」（クラスタを要素とするクラスタ）であるが、第一クラスタリング部2の出力するクラスタと区別してコミュニティと呼ぶこととする。
【００４１】
図４は、第一クラスタリング部2の出力した一連のクラスタCi及び遷移確率P(Ci→Cj)の例を[1]に、これを入力として第二クラスタリング部3で得られた一連のコミュニティCMkの例を[2]に、それぞれ示す図である。
【００４２】
図４にて[1]では、第一クラスタリング部2のクラスタリング結果のクラスタC1〜C15が示されると共に、遷移確率P(Ci→Cj)が所定閾値を超えるようなクラスタ間に、クラスタCiよりクラスタCjへと至るような矢印を描くことで、クラスタ間の遷移関係を模式的に表現している。すなわち、実際には遷移確率P(Ci→Cj)は全てのクラスタ間に（値が0となる場合も含め）その値が存在するが、[1]ではその値が大きいものだけを描くことで、遷移関係を模式的に表現している。
【００４３】
一方、図４にて[2]は、上記[1]のクラスタリング結果に対してネットワーククラスタリングを適用して得られた、クラスタ間のネットワーク構造（すなわちクラスタ間の遷移の関係）が反映されたコミュニティの例としてコミュニティCM1〜CM5を示している。
【００４４】
当該[2]に示すように、コミュニティCM1は互いに頻繁に遷移する関係にあるクラスタC1,C2,C3からなり、コミュニティCM2は互いに頻繁に遷移する関係にあるクラスタC4,C5,C6,C7からなり、コミュニティCM3は互いに頻繁に遷移する関係にあるクラスタC8,C9,C10,C11,C12,C13からなる。また、コミュニティCM4はクラスタC14のみからなり、コミュニティCM5はクラスタC15のみからなる。さらに、異なるコミュニティに属するクラスタ間には頻繁な遷移がないことが見て取れる。
【００４５】
以上の[2]の模式的な例にも示すように、第二クラスタリング部3で得られたコミュニティは、同一コミュニティに属するクラスタ同士の間では頻繁に遷移があり、異なるコミュニティに属するクラスタ同士の間では遷移は少ない、という性質を有するものである。従って、本発明のように医療データを対象として第一クラスタリング部2にて実施したクラスタリングの結果に対して第二クラスタリング部3により得られたコミュニティは、次のような性質を有するものと考えられる。
【００４６】
すなわち、コミュニティが異なれば属する対象者データの健康状態の性質が大きく異なり、その違いは健康状態に関する重大な違いであることが想定される一方、同一コミュニティ内の対象者データは所属クラスタが異なり健康状態が異なっているとしても、その違いは日常変動等に起因する軽微な違い（例えば、日常的な病気の有無として、風邪をひいた／風邪をひいていない、の違いなど）であることが想定される。
【００４７】
図４の[2]の例であれば、具体的には例えば、コミュニティCM1は優良健常者のデータの集まりであり、コミュニティCM2は平均的健常者のデータの集まりであり、コミュニティCM3は重大疾病予備軍のデータの集まりであり、コミュニティCM4,CM5はそれぞれ何らかの重大疾病者のデータの集まりである、となっている場合が例として挙げられる。（なお、各コミュニティや各クラスタに属するデータが実際にどのような健康状態に対応しているか解釈するには、人がデータを見て判断することができる。もしくは、生活習慣病の実際の発症率等の客観的指標を用いて健康状態の判断基準としてもよい。）
【００４８】
図５は、第二クラスタリング部3が出力したコミュニティ別のクラスタにおける特徴的な単語の例を示す図である。[1],[2]は共通のコミュニティCM100における別クラスタC101,C102に属するデータにおける特徴的な単語の例であり、日常的な疾病に関連する単語であることが見て取れ、コミュニティCM100が日常的な疾病の対象者のデータで構成されていることが読み取れる。一方、[3],[4]はCM100とは別のコミュニティCM200における別クラスタC201,C202に属するデータにおける特徴的な単語の例であり、重大疾病に関連する単語であることが見て取れ、コミュニティCM200が重大疾病の対象者のデータで構成されていることが読み取れる。
【００４９】
モデル保持部4では、第一クラスタリング部2及び第二クラスタリング部3で得られたそれぞれの結果（予測モデル）を保持し、当該予測モデルをユーザ（データ分析担当者等のユーザ）の参照に供すると共に、予測を実施する予測部5の参照に供する。
【００５０】
ユーザの参照に供する際は、予測モデルを図４に示したようなグラフ形式で提示するようにしてもよいし、その他の周知のグラフ構造可視化手法で提示するようにしてもよい。また、ユーザからの要求に応じて図５に示したようなクラスタにおける実際の対象者データを提示するようにしてもよい。ユーザは当該参照することで、予測モデルが適切に構築されているか等を検討することができる。
【００５１】
予測部5では、ユーザ指示に従い、モデル保持部4で保持されている予測モデルを用いて健康状態の経年推移に関する予測を行う。
【００５２】
ユーザ指示としては、次の第一指示〜第三指示を与える。まず、第一指示として、予測したい対象者（実際の対象者でも架空のものでもよい）の特定年代における健康データを入力として与える。当該入力は、文書化部1の出力と同様の単語頻度ベクトルの形式で与える。また、第二指示として、第一クラスタリング部2で得られたクラスタリング結果又は第二クラスタリング部3で得られたクラスタリング結果（コミュニティへの分類結果）のいずれを予測モデルとして用いるかを指示する。さらに、第三指示として、当該予測対象者に当該予測モデルを適用することで、その何年先の健康状態を予測するか、という指示を与える。以上の指示を与えることで、予測部5では当該予測対象者に当該予測モデルを適用することで推定される、当該指定した年数だけ将来における健康状態を出力することができる。
【００５３】
図６は、当該予測モデル及びその適用結果の例を示す図である。図６にて[1]が第一クラスタリング部2が出力したクラスタリング結果（C1,C2,C3の3クラスタに分類された場合を例とする）によって3年後の予測を実施する場合の例を示す。図６にて[2]が第二クラスタリング部3が出力したコミュニティ（CM1,CM2の2コミュニティに分類された場合を例とする）によって3年後の予測の実施をする場合の例を示す。
【００５４】
図６の[1]では予測対象者のデータがn歳の場合に、3年後のn+3歳を予測する例が示されており、当該示すように、予測はクラスタリング結果C1,C2,C3のいずれかに各年齢の健康状態があるものとして、年齢を経るごとに所属クラスタがどのように変化するか、という形によってなされる。例えば[1]に太線で示すように、n歳の時点ではクラスタC1の健康状態であり、n+1歳の時点ではクラスタC2の健康状態であり、n+2歳の時点ではクラスタC2の健康状態であり、n+3歳の時点ではクラスタC3の健康状態である、という形で対象者の健康状態の推移が予測される。
【００５５】
従って、上記の第一指示〜第三指示を入力として受け取った予測部5では、対象者データ（n歳時点でのデータとする）が当該n歳時点でいずれのクラスタに属するかと、n歳以降どのように所属クラスタを遷移するか、ということを計算する。当該計算は、前者（n歳での所属クラスタの決定）及び後者（n歳以降の所属クラスタの遷移）に関してそれぞれ以下のように実施することができる。
【００５６】
前者（n歳での所属クラスタの決定）に関しては、第一クラスタリング部2がLDA等の潜在トピック分析でクラスタリング結果を得ている場合であれば、図７に示すような行列分解結果が得られているので、当該分解結果に従って対象者のデータがいずれのクラスタに属するかを決定すればよい。
【００５７】
ここで、図７に示すように、潜在トピック分析では分類対象の全データDは単語iの頻度ベクトルとして与えられている各文書u（本発明では文書化部1の出力する各データD(X,n)に相当）からなり、クラスタリング結果（第一クラスタリング部2での出力）が文書uとトピックkとの関係を表すθ行列とトピックkと単語iとの関係を表すΦ行列との行列としての積「D=θ×Φ」として与えられる。ここで、各トピックkが各クラスタに対応するものとすると、文書uのトピック比率を表すθ行列の各行は、各文書uのクラスタ所属確率と解釈できる。従って例えば、各文書u(=各データD(X,n))は、その最大のトピック比率の値のトピックに対応するクラスタに所属しているものとして、クラスタリング結果を解釈することができる。
【００５８】
従って、予測部5においても同様に、n歳時点での予測対象データ（バグオブワード形式）を当該分解結果「θ×Φ」におけるθ行列の各行と同様のトピック比率の形式へと変換し、最大トピック比率を与えているクラスタに所属しているものとして、所属クラスタを決定することができる。当該変換結果は、n歳時点での予測対象データを文書化部1（又はバグオブワード形式へ変換済みであれば第一クラスタリング部2）へ入力される全データ内に含めておくことで、分解結果「θ×Φ」のθ行列該当箇所を参照することにより取得可能である。あるいは、バグオブワード形式の予測対象データ（分解結果「D=θ×Φ」の行列「D」の行ベクトルに相当）に、分解結果「θ×Φ」における「Φ」行列の逆行列（ムーアペンローズの一般逆行列）を乗ずることにより、対応するトピック比率を求めてもよい。
【００５９】
また、後者（n歳以降の所属クラスタの遷移）に関しては、前者で得られたn歳時点での所属クラスタを経路の始点に設定したうえで、図６の[1]に示すような状態遷移系列に対して、周知のビタビアルゴリズムを適用し、最大確率を与える経路として、クラスタ間遷移を計算することができる。ここで、状態間の遷移確率には、第一クラスタリング部2で求めたクラスタ間の遷移確率をそのまま利用すればよい。
【００６０】
以上、図６の[1]に示す第一クラスタリング部2の結果を予測モデルとして、予測部5が健康状態遷移の予測を行う場合を説明した。図６の[2]に示す第二クラスタリング部3の結果を予測モデルとする場合も、（前述のように「コミュニティ」は「クラスタ」であるため、）全く同様に所属コミュニティの遷移を計算することができる。[2]では太線で示すようにn歳〜n+3歳で所属コミュニティが「CM1→CM2→CM2→CM1」と変化する場合が予測結果の例として示されている。
【００６１】
なおこの場合、前述の図６の[1]に示す第一クラスタリング部2の結果を予測モデルとした際の前者（n歳での所属クラスタの決定）及び後者（n歳以降の所属クラスタの遷移）の計算に対応するものを、当該図６の[2]に示す第二クラスタリング部3の結果を予測モデルとする場合において実施する必要がある。
【００６２】
後者（n歳以降の所属クラスタの遷移）に対応するものに関して、所属コミュニティ間の遷移自体はクラスタ間遷移で説明したのと同様に、ビタビアルゴリズム等で計算すればよい。この際、コミュニティCMi,CMj間の遷移確率P(CMi→CMj)を計算する必要があるが、クラスタ間の遷移確率P(Ci→Cj)を計算した式(1)〜(3)と全く同様にして計算することができる。すなわち、式(1)〜(3)におけるCi,CjをそれぞれCMi,CMjに置き換えて、全く同様に計算することができる。
【００６３】
また、前者（n歳での所属クラスタの決定）に対応するものに関しては、n歳時点での予測対象データを前述の分解結果「θ×Φ」におけるθ行列の各行と同様のトピック比率の形式へと変換し、最大トピック比率を与えているコミュニティに所属しているものとして、所属コミュニティを決定することができる。あるいは、最大トピック比率を与えているクラスタが所属するコミュニティに所属しているものとして、所属コミュニティを決定してもよい。
【００６４】
なお、コミュニティのトピック比率への変換は、当該コミュニティを形成しているクラスタのトピック比率の和として求めることで変換すればよい。次に計算例を示す。図６の例に従い、クラスタ{C1, C2, C3}よりコミュニティ{CM1, CM2}が生成されたものとし、CM1={C1,C2}, CM2={C3}となっているものとする。この場合、クラスタC1, C2, C3がトピックk1,k2,k3に対応し、ある対象者に関してそのトピック比率が(r1,r2,r3)であるとする。ここで、コミュニティCM1,CM2がトピックK1,K2に対応しているものとすると、「K1=k1又はk2」、「K2=k3」の関係がある。従って、クラスタC1,C2,C3におけるk1,k2,k3のトピック比率が(r1,r2,r3)である対象者に関して、コミュニティCM1,CM2におけるK1,K2のトピック比率を(r1+r2, r3)として計算することができる。当該計算後、規格化してもよい。
【００６５】
なお、実際に予測を実施する場合、長期に渡る予測を行う場合は第二クラスタリング部3の出力するコミュニティを状態遷移系列として予測を行い、短期の予測の場合は第一クラスタリング部2の出力するクラスタを状態遷移系列として予測を行うよう、ユーザが指定するのが好ましい。図４、図５で説明したように、コミュニティの方が健康状態に関する本質的な差異を反映した分類結果となっており、且つ、（クラスタ集合の各々がコミュニティであるため）クラスタよりも数が少なく、状態遷移系列の計算対象が少なくなるため、長期予測を実施しても予測精度が保たれることが期待されるためである。
【００６６】
予測部5ではまた、上記の第一〜第三指示をユーザより入力として受け取って、健康状態の遷移ではなく、医療費の予測を実施してもよい。この場合、上記と同様に健康状態の遷移を計算したうえで、各健康状態（各クラスタ又は各コミュニティ）に所属している際の1年間の医療費を予めモデル値として与えておいた上で、計算された健康状態遷移系列（n歳の所属クラスタ（又はコミュニティ、以下本段落において同様）、n+1歳の所属クラスタ、…、n+k歳の所属クラスタ）において当該モデル値の総和を取ることで、医療費（n歳からn+k歳の時点までの総医療費）を予測することができる。なお、医療費はn歳〜n+k歳の時点までの総医療費としてでなく、第三指示で指定した予測対象未来のn+k歳の時点のみでの医療費を予測させるようにしてもよい。n歳〜n+k歳の総医療費か、n+k歳の時点のみでの医療費か、いずれを予測させるかに関しては、ユーザが第四指示として指定すればよい。
【００６７】
医療費予測の別実施形態として、上記の第一〜第三指示及び第四指示をユーザより入力として受け取って、第一指示で指定された予測対象者のn歳時点でのデータを図７でθ行列として説明したようなトピック比率（各クラスタ又はコミュニティへの所属確率）の形式へと変換し、当該トピック比率を入力として、第四指示で定義された医療費を出力するようにしてもよい。
【００６８】
この場合、学習データにより予めサポートベクトル回帰その他といった機械学習等で学習されておいた関係を適用することで、予測値としての医療費が出力されるようにすればよい。
【００６９】
すなわち、学習データとして、サンプル対象者のn歳時点でのデータ（トピック比率）と当該サンプル対象者の将来のn+k歳時点での医療費とを与えたものを多数用意しておく。つまり、「サンプル対象者のトピック比率」、「サンプル対象者の現在年齢n歳」及び「予測対象未来を設定するk年」の３つの条件に関しての多数の組み合わせのもとでの医療費（n+k歳の未来における当該サンプル対象者の医療費）を学習データとして用意しておく。
【００７０】
当該学習データに対して機械学習を適用することによって「予測対象者のトピック比率」、「予測対象者の現時点での年齢n」及び「予測対象未来のk年後」の３つの情報を入力として、医療費（第四指示に従い、n歳〜n+k歳の総医療費又はn+k歳における医療費）を出力する関係式を求めることができる。当該機械学習された関係式により、医療費予想を実施することができる。
【００７１】
予測部5において健康状態の予測を実施する際に説明したように、長期予測を行うには各年代における健康状態の候補数が少ないほうが好ましく、短期予測を行うには当該候補数が多くても構わない、あるいは当該候補数が多いほうが細かい予測が可能となるという傾向がある。そして、長期予測向けの健康状態の候補数が少ないモデルと、短期予測向けの健康状態の候補数の多いモデルと、のペアを１個生成する手法として、第一クラスタリング部2のクラスタリング結果を短期予測向けとして生成し、これに対してさらに第二クラスタリング部3がコミュニティ分類した結果を長期予測向けとして生成する手法を利用することができる。
【００７２】
従って、当該１個のペアのみに限らず、予測期間に応じた精度の高い予測が可能なモデルをユーザが選択できるようになっていることが望まれる。このため、ユーザに対して利用するモデルの候補が多種類用意されているようにすることが好ましい。（なお、実際にユーザが指定する予測期間に応じた優れたモデルがいずれであるかは、各モデルで予測してユーザが判断する必要がある。）
【００７３】
このような観点から、分類されるクラスタ数及びコミュニティ数（すなわち、図６で説明したような予測の際の健康状態候補数）を様々に変化させたクラスタリング結果（第一クラスタリング部2の出力）及びコミュニティ分類結果（第二クラスタリング部3の出力）をユーザに提供しておくことが好ましい。
【００７４】
従って、以下ではクラスタ数やコミュニティ数を種々に変動させて種々の結果を得ることで、ユーザにモデル選択の余地を増やすための各実施形態を説明する。なお、前述の逐次的処理は第６実施形態として説明する。
【００７５】
（第１実施形態）
第二クラスタリング部3において、クラスタリング手法として閉ループ構造に限らず適用可能なウォード法等の階層型クラスタリングを採用する場合であれば、図８に例を示すような周知のデンドログラム（樹形図）の形で、高さ方向の融合距離が大きくなる順に逐次的に個体間が統合され、クラスタリング結果が得られる。従って、当該融合距離に応じた種々のクラスタ数のクラスタリング結果を得ることが可能であるため、融合距離をユーザ指定等により種々与え、複数のクラスタリング結果を得るようにすればよい。
【００７６】
（第２実施形態）
第二クラスタリング部3において、非階層型クラスタリングを採用する場合であって、MMSB法のようにクラスタ数が指定可能な手法を利用するのであれば、ユーザ指定等によって種々のクラスタ数を設定し、複数のクラスタリング結果を得るようにすればよい。
【００７７】
（第３実施形態）
第二クラスタリング部3において、非階層型クラスタリングを採用する場合であって、スピングラス法のように初期乱数によって結果として得られるクラスタ数が変化する場合であれば、ユーザ指定等によって初期乱数を複数候補分だけ設定してそれぞれクラスタリングを実行して、複数のクラスタリング結果を得るようにすればよい。
【００７８】
（第４実施形態）
第一クラスタリング部2においてLDA等の潜在トピック分析によるクラスタリング手法を利用する場合、クラスタ数を指定しておく必要がある。このことはすなわち、ユーザがクラスタ数を指定可能である、ということを意味している。
【００７９】
従って、第一クラスタリング部2にてLDA等を利用する際に、当該指定可能であるクラスタ数をn1,n2,…,nKとユーザ指定等により複数(K個)用意しておき、当該K個それぞれのクラスタリング結果CR(n1),CR(n2),…,CR(nK)（及びそのクラスタ間の遷移確率）を入力として、第二クラスタリング部3の処理を行うことにより、複数のクラスタリング結果（コミュニティ分割結果）を得るようにすればよい。
【００８０】
（第５実施形態）
第二クラスタリング部3が出力したコミュニティ分割結果（1回目）の各コミュニティ間の遷移確率を計算したうえで、当該コミュニティ分割結果（1回目）に対して再度、第二クラスタリング部3の処理を適用するようにして、2回目のコミュニティ分割結果を得るようにしてもよい。
【００８１】
以降同様に、n回目のコミュニティ分割結果の各コミュニティ間の遷移確率を計算したうえで、当該n回目のコミュニティ分割結果に再度、第二クラスタリング部3の処理を適用して、n+1回目のコミュニティ分割結果を得るということを繰り返すことで、複数結果をユーザに提供するようにしてよい。
【００８２】
ここで、コミュニティCMi,CMj間の遷移確率P(CMi→CMj)の計算に関しては、図６の[2]の説明の際に説明したのと全く同様に、式(1)〜(3)におけるCi,CjをそれぞれCMi,CMjに置き換えて計算すればよい。
【００８３】
（第６実施形態）
「詳細を後述する」として前述したように、第一クラスタリング部2及び第二クラスタリング部3を逐次処理部20として相互に繰り返し機能させて、当該逐次処理の各段階で得られるクラスタリング結果及びコミュニティ分類結果をユーザに提供するようにしてもよい。
【００８４】
当該相互に繰り返す際の、初回(ループ処理回数i=1)については前述した通りであり、その際の出力を図４で説明したように、文書化部1の出力した全データD(X,n)を第一クラスタリング部2がクラスタリングし、且つ当該クラスタリング結果のクラスタ間の遷移確率を求め、これら（結果CR1[1]とする）を入力として第二クラスタリング部3がクラスタリングを行い、コミュニティとしてのクラスタリング結果（結果CR2[1]とする）を出力する。なお以下、ループ処理i回目（i=1,2,…）における第一クラスタリング部2の出力をCR1[i]、第二クラスタリング部3の出力をCR2[i]と表記する。
【００８５】
そして、2回目（ループ処理回数i=2）は、ループ処理1回目の第二クラスタリング部3の結果CR2[1]における各クラスタ（各コミュニティ）CMi毎に、属するデータ{D(X,n)|D(X,n)∈CMi}を対象として第一クラスタリング部2がクラスタリング（手法は前述と同様にLDA等を利用できる）を実施し、一連のクラスタリング結果及びその際のクラスタ間の遷移確率として結果CR1[2]を出力する。
【００８６】
例えば、ループ処理1回目の第二クラスタリング部3の出力した結果CR2[1]が具体的には図４の[2]であったとした場合、ループ処理2回目における第一クラスタリング部2によるクラスタリングの結果CR1[2]は、次のようになる。
【００８７】
すなわち、各コミュニティCMi(i=1,2,…,5)単位で、第一クラスタリング部2がクラスタリングを実施した後、一連のコミュニティCMi(i=1,2,…,5)においてそれぞれ得られたクラスタの全体が、結果CR1[2]を構成する。
【００８８】
例えば、CM１内の全データ{D(X,n)| D(X,n)∈CM1}をクラスタリングして、クラスタC11,C12が得られたとし、CM2内の全データ{D(X,n)| D(X,n)∈CM2}をクラスタリングして、クラスタC21,C22が得られたとし、CM3内の全データ{D(X,n)| D(X,n)∈CM3}をクラスタリングして、クラスタC31,C32が得られたとし、CM4内の全データ{D(X,n)| D(X,n)∈CM4}をクラスタリングして、クラスタC41,C42が得られたとし、CM5内の全データ{D(X,n)| D(X,n)∈CM5}をクラスタリングして、クラスタC51,C52が得られたとする。この場合、第一クラスタリング部2が最終的に出力する結果CR1[2]は、以上の一連のクラスタC11,C12, C21,C22, C31,C32, C41,C42, C51,C52と、当該各クラスタ間における遷移確率と、として構成される。
【００８９】
以上の2回目のループ処理における第一クラスタリング部2の出力CR1[2]を入力として、第二クラスタリング部3がクラスタリング（手法は前述のようにスピングラス法等を利用できる）を実施することで、結果CR2[2]を得る。
【００９０】
以降、当該ループ処理2回目におけるのと形式的には全く同様に、ループ処理の各回の処理を逐次的に継続することができる。すなわち、ループ処理i回目では、第一クラスタリング部2がループ処理i-1回目の第二クラスタリング部3の出力CR2[i-1]を入力として結果CR1[i]を出力し、第二クラスタリング部3が当該結果CR1[i]を入力として結果CR2[i]を出力する。
【００９１】
（第７実施形態）
上記の第６実施形態において、ループ処理2回目以降の各i回（i≧2）に、次のような追加処理（第１追加処理及び第２追加処理）を行うことで、クラスタ分類やコミュニティ分類の精度を向上させるようにしてもよい。
【００９２】
第１追加処理として、第一クラスタリング部2が結果CR2[i-1]を入力としてクラスタリングを実施して結果CR1[i]を得る際に、入力データである結果CR2[i-1]に次のような前処理を施したうえでクラスタリングを行うようにしてもよい。
【００９３】
当該前処理は、結果CR2[i-1]を構成する各クラスタ（＝コミュニティ）CMkにおいて、クラスタCMkとの関連性の高い単語、すなわち、クラスタCMkをその他のクラスタCMj(j≠k)と異なるものとして特徴づけるような単語のみを選別する処理である。そして、第一クラスタリング部2では当該選別された単語のみを前述のバグオブワードの要素として構成することにより、クラスタCMkの全データ{D(X,n)| D(X,n)∈CMk}をクラスタリングする。つまり、クラスタリングの際の各データD(X,n)として、前処理で選別された単語に対応する要素のみで構成されたバグオブワードを用いる。
【００９４】
ここで、関連性の高い単語のみに基づいて第一クラスタリング部2がクラスタリングを実施するので、関連性の低いノイズ的な単語の影響を排除することによって、当該クラスタCMkの本質的な特徴を捉えたクラスタリングが可能となる。なお、当該関連性の高い単語のみの選別は、当該クラスタCMkに対して第一クラスタリング部2が分類を行う際の前処理としてのみ適用されるものである。（すなわち、データD(X,n)において単語選別された結果、選別されなかった単語及びその頻度の情報が削除され、以降の処理において参照できなくなるわけではない。）
【００９５】
具体的に、各単語i（図７で説明した各単語iに相当）が各クラスタCMkと関連性が高いか否かは、次のように判断することができる。まず、図９に示すような2×2のクロス集計表を作成し、当該クロス集計表に記載の数値より後述する手法でAIC（赤池情報量基準）の値を算出し、当該AIC値が所定閾値（例えば「-2」）以下であれば関連性が高いと判断し、当該閾値より大きければ関連性が低いと判断することができる。
【００９６】
図９では関連性が高いか調べる単語iが「糖尿病」である場合のクロス集計表の模式的な例が示されている。図示するように、当該クラスタCMk内に所属し、「糖尿病」がある人数をn11、「糖尿病」がない人数をn12とカウントし、また、当該クラスタCMk外に所属（すなわち別のクラスタCMj(j≠k)に所属）し、「糖尿病」がある人数をn21、「糖尿病」がない人数をn22とカウントすることで、集計表を作成できる。
【００９７】
なお、「糖尿病」があるか否かは、バグオブワード形式の対象データD(X,n)において単語「糖尿病」に対応する要素の値が閾値を超えていれば「糖尿病」があるものとし、超えていなければ「糖尿病」はないものとすればよい。図９では単語iが「糖尿病」の場合を説明したが、その他の単語iについても全く同様の形式で集計表を作成すればよい。すなわち、単語iの要素の値が閾値を超えていれば「該当」（「糖尿病」がある、に相当）と判断し、超えていなければ「未該当」（「糖尿病」がない、に相当）と判断すればよい。
【００９８】
第２追加処理として、上記第１追加処理で選別された単語によって各クラスタCMkの各データ{D(X,n)|D(X,n)∈CMk}を第一クラスタリング部2がクラスタリングする際の最適なクラスタ数を、次のようにして決定するようにしてもよい。
【００９９】
すなわち、ユーザ指定等により当該CMkをクラスタリングするクラスタ数につき、一連の候補を与え、各候補のクラスタ数において実際に第一クラスタリング部2がクラスタリングを実施し、当該結果より図１０のようなクロス集計表を作成し、クロス集計表の数値に基づいて当該結果のAIC値を算出する。（当該AIC値の算出法は後述する。）そして、各候補のクラスタ数のそれぞれのAIC値のうち、最小値となっているようなクラスタ数が最適な分類結果を与えているものとして、これを第一クラスタリング部2からの出力CR1[i]として採用する。
【０１００】
図１０には、指定したクラスタ数がmの場合のクロス集計表の例が示されている。各クラスタCk(k=1,2,…,m)につきクラスタ内への遷移数n1kは、当該クラスタに同一人物Xであって隣接年代n,n+1の両データが存在する個数、すなわち前述の式(2)と同様の形式の自己遷移の個数として、以下の式(4)のようにカウントすることができる。
n1k=|{(X,n)|D(X,n)∈CkかつD(X,n+1)∈Ck }|      …(4)
【０１０１】
同様に、クラスタ外への遷移数n2kは、当該クラスタCkに人物Xのn歳時点のデータが存在したが、次のn+1歳の時点で当該人物Xのデータは別のクラスタCj(j≠k)に存在しているというケースのカウント数として求めることができる。すなわち、形式上はやはり前述の式(2)と同様で、以下の式(5)のようにカウントすることができる。
n2k=|{(X,n)|D(X,n)∈CkかつD(X,n+1)∈Cj (j≠k) }|      …(5)
【０１０２】
なお、当該第２追加処理は、第６実施形態に対する追加処理としてではなく、任意の実施形態における第一クラスタリング部2の処理において、最適な分類がなされていると判断されるクラスタ数を自動決定するのに利用することができる。
【０１０３】
なお、予測部5において前述の医療費の予測を実施する場合、当該医療費の予測に適したクラスタ分割数を自動決定するために、第２追加処理におけるクロス集計表を図１０のように作成するのに代えて、図１１のように作成するようにしてもよい。すなわち、各クラスタCk(k=1,2,…,m)において、属するデータD(X,n)に対応する医療費が高いと判定される数をn1kとしてカウントし、対応する医療費が低いと判定される数をn2kとしてカウントすればよい。なおここで、各データD(X,n)に対しては、実際に費やした医療費を予め与えておく必要がある。また、医療費の高低は閾値以上か閾値を超えないかで判断すればよい。
【０１０４】
なお、第６、第７実施形態では、ループ処理の回数はユーザで指定してもよいし、収束判定が得られた時点でループ処理を終了するようにしてもよい。
【０１０５】
収束判定の一例として、第２追加処理において一連のクラスタ数のクラスタリング結果のAIC値が全て閾値判定により小さいとは判定できない（例えば、全て「-2」以下とならない）場合に、当該時点の第一クラスタリング部2の処理は実施せず（すなわち、結果CR1[i]の出力は実施せず）、ループ処理を終了するようにしてもよい。
【０１０６】
以下、図９〜図１１等のクロス集計表の説明の際に後述するとした、AIC値の算出を説明する。図１２は、図９〜図１１等のクロス集計表を一般化した表である。すなわち、図１２の集計数nijは図９〜図１１等と共通のものを一般の場合として示しており、何らかの基準に該当するか否かを縦軸（行要素）として、クラスタ等の分類結果を横軸（列要素）として、構成されている。（なお、図９では列要素が「糖尿病」の有無だが、形式上、図１２のクラスタ1,2に対応させてよい。）
【０１０７】
図１２に示すように、当該クロス集計表における集計数nijにより、ただちに周辺度数ki(i=1,2,…,m)、h,N-h等を計算することができ、これらの値を用いて以下のようにAIC値を計算することがきる。
【０１０８】
当該AIC値は、次のいずれかの手法の値として求める。第一手法では、当該クロス集計表に対して従属モデルを適用することにより、以下の[式1]のような従属モデルのAIC値AIC(DM)[ここでDMはDependent Modelの略である]として求める。第二手法では、さらに、当該クロス集計表に対して独立モデルを適用して、以下の[式2]のような独立モデルのAIC値AIC(IM)[ここでIMはIndependent Modelの略である]を求めたうえで、[式3]のように、従属モデルのAIC値から独立モデルのAIC値を引いた差の値として、求める。
【０１０９】
【数２】
0006436535.tif 000003
【０１１０】
なお、[式1]等においてMLL(DM)は、従属モデルにおける最大対数尤度であって、[式1-2]のような値として求めることができる。また、[式2]等において、MLL(IM)は、独立モデルにおける最大対数尤度であって、[式2-2]のような値として求めることができる。なお、上記の各式における文字は、図１２のクロス集計表において説明した通りであり、以降説明する各式においても同様である。
【０１１１】
以下、従属モデルにおける最大対数尤度MLL(DM)と、独立モデルにおける最大対数尤度MLL(IM)と、がそれぞれ、上記の[式1-2]及び[式2-2]のように算出されることと、当該算出されたそれぞれの最大対数尤度を用いて、従属モデルにおけるAIC値が[式1]のように算出され、また、独立モデルにおけるAIC値が[式2]のように算出されることを説明する。
【０１１２】
図１３は、[式1]及び[式1-2]として示した従属モデルにおける算出を説明するための、図１２のクロス集計表に対応する従属モデルにおける確率の表である。当該表に示されている確率により、以下のように算出がなされる。
【０１１３】
まず、従属モデルの確率変数は以下の通りである。
【０１１４】
【数３】
0006436535.tif 000004
【０１１５】
一方、図１３に示された2m個の全てが自由に動かせるわけではなく、以下の制約がある。
【０１１６】
【数４】
0006436535.tif 000005
【０１１７】
従って、従属モデルの自由度は2m-1であり、AICの定義（AIC＝-2×MLL+2×自由度）より、[式1]の2*(2m-1)の項が得られる。さらに、上記確率変数より対数尤度LLを計算すると、以下のようになる。
【０１１８】
【数５】
0006436535.tif 000006
【０１１９】
上記対数尤度LLを最大にするときの条件は以下である。
【０１２０】
【数６】
0006436535.tif 000007
【０１２１】
上記最大とする条件より、以下が得られる。
【０１２２】
【数７】
0006436535.tif 000008
【０１２３】
上記と同様にして、さらに
【０１２４】
【数８】
0006436535.tif 000009
【０１２５】
等が得られる。そこで、
【０１２６】
【数９】
0006436535.tif 000010
【０１２７】
とすると、
【０１２８】
【数１０】
0006436535.tif 000011
【０１２９】
等となるので、それぞれを足すと、
【０１３０】
【数１１】
0006436535.tif 000012
【０１３１】
となるから、以下の場合が最尤推定となる。
【０１３２】
【数１２】
0006436535.tif 000013
【０１３３】
従って、上記の値をLLに代入することで、その最大値として前述の[式1-2]が得られる。
【０１３４】
図１４は、[式2]及び[式2-2]として示した独立モデルにおける算出を説明するための、図１２のクロス集計表に対応する従属モデルにおける確率の表である。当該表に示されている確率により、以下のように算出がなされる。
【０１３５】
まず、図１２の周辺度数kmと、対応する図１４の周辺確率qmと、において、以下のような制約がある。
【０１３６】
【数１３】
0006436535.tif 000014
【０１３７】
従って、自由に動かせるのはq1〜qm-1とpとであるから、パラメータの自由度は(m-1)+1=mであって、AIC算出の定義より、[式2]の2×mの項が得られる。また、独立モデルの確率変数は以下の通りとなる。
【０１３８】
【数１４】
0006436535.tif 000015
【０１３９】
従って、その対数尤度LLは以下の通りとなる。
【０１４０】
【数１５】
0006436535.tif 000016
【０１４１】
対数尤度の最大値を与える条件を求めるべく、これをp、q1・・・で偏微分してゼロに等しいとすることにより、以下等の一連の計算ができる。
【０１４２】
【数１６】
0006436535.tif 000017
【０１４３】
従って、
【０１４４】
【数１７】
0006436535.tif 000018
【０１４５】
となり、また、
【０１４６】
【数１８】
0006436535.tif 000019
【０１４７】
とすると、
【０１４８】
【数１９】
0006436535.tif 000020
【０１４９】
等となるので、それぞれ足して、
【０１５０】
【数２０】
0006436535.tif 000021
【０１５１】
となり、
【０１５２】
【数２１】
0006436535.tif 000022
【０１５３】
となるから、最大尤度は
【０１５４】
【数２２】
0006436535.tif 000023
【０１５５】
等において得られることとなる。従って、上記の値をLLに代入することで、最大値としての[式2-2]が得られる。
【０１５６】
以上、本発明によれば、予測期間に合わせて、クラスタ数を変えた健康予測モデルを複数作ることができる。以下、本発明における補足的事項（説明の流れの観点からの補足的事項）を説明する。
【０１５７】
（１）文書化部1では、各対象者Xの各年代n（年齢n）における文書化された医療データD(X, n)を生成するものとし、当該年代nは1年毎に与えられているものとして以降の説明を行ったが、1年に限らず、任意の長さの所定期間ごとの年代nで区切ってデータD(X,n)を生成してもよい。この場合、図６で説明したような健康推移モデルの推移のステップ幅も、当該任意の長さの所定期間となる。例えば、2年毎のデータD(X,n)を利用する場合、健康推移モデルは2年毎の状態を与えるものとなる。
【０１５８】
（２）文書化部1では、入力される健診データその他の医療データを、各対象者Xの各年代nにおける健康状態に対応するバグオブワードとしてのデータD(X,n)に変換するものとして説明したが、入力されるデータが予め当該バグオブワードの形式に変換されている場合、文書化部1は省略されてもよい。
【０１５９】
（３）第一クラスタリング部2では、クラスタリング対象データを各D(X,n)としたが、別の実施形態として次のようにしてもよい。すなわち、図１５に模式的に示すように、対象者Xで隣接年代n,n+1のデータD(X,n),D(X,n+1)がある場合に、以上の実施形態では[1]のように、これらを年代が重複しないように2個に区切ったデータとして扱っていたが、[2]に示すように、いわゆるスライディングウィンドウのような方式で、年代の重複を許容することで2個よりも多いデータとして扱うようにしてもよい。
【０１６０】
図１５の[2]では、1年ごとの年代n,n+1を、さらに4等分して3か月ごとにスライドさせ、データ間の期間の重複を許容することにより、2年間に渡るデータを年度ごとの2個ではなく、1/4年単位で移動し幅が1年となる5個のデータとして扱う例が示されている。すなわち、[1]でのデータD(X,n)を、その始点n歳（ちょうど）の時点と終点n+1歳（ちょうど）の時点とで定義される期間を明示して、D(X,n〜n+1)と表記することにする。当該表記に従い、[2]では当該スライドさせることで5個のデータD(X,n+a〜n+1+a) (a=0,1/4,1/2,3/4,1)が取得されている。
【０１６１】
当該図１５の例のように、各データのデータ幅（期間：図１５では1年）及びスライド幅（図１５では1/4年）を独立に設定することで、データ同士の重複も許容して第一クラスタリング部2においてクラスタリングを行うようにしてもよい。
【０１６２】
当該データを区切る年代ごとの重複（部分的な重複）を許容するクラスタリングの利点としては、次を挙げることができる。すなわち、クラスタリング結果において、分析担当者が特定疾病を発生する直前の状況を分析しようとする場合など、1年毎に区切って重複を許容しないようにした場合よりも、精密に分析を行うことができる。図１５の例であれば、対象者Xがn+1歳になって直後（1/4年内）に特定疾病を発症したとする場合、[1]のようなデータでクラスタリングするとその兆候を必ずしも精密には分析できないが、[2]のようなデータでクラスタリングすると、例えば発症直前のみのデータからなるD(X,n〜n+1)と発症直後のデータを含むD(X,n+1/4,n+1+1/4)とが比較可能であり、精密な分析が可能となる。
【０１６３】
ただし、当該精密に分析する場合も、第一クラスタリング部2のクラスタリング結果においてクラスタ間遷移確率を求める際は、遷移の幅が短いと当該クラスタによる予測が発散する（ビタビアルゴリズム等で最大確率経路を計算しようとしても、どの経路であっても等確率となってしまう）傾向が強まるため、各データのスライド幅ではなくデータ幅を基準に、遷移をカウントすることが好ましい。図１５の[2]であれば、「D(X,n〜n+1)→D(X,n+1/4〜n+1+1/4)」等、1年に満たない短い幅での遷移はカウントせず、[1]と同様に、「D(X,n〜n+1)→D(X,n+1〜n+2)」等の長い幅のみにおいて遷移をカウントすることが好ましい。
【０１６４】
（４）本発明は、コンピュータを予測モデル構築装置10の各部1〜5の全て又はその任意の一部分として機能させるプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが予測モデル構築装置10の各部の機能に対応する命令を実行することとなる。
【符号の説明】
【０１６５】
10…予測モデル構築装置、1…文書化部、2…第一クラスタリング部、3…第二クラスタリング部、4…モデル保持部、5…予測部
【図１】
0006436535.tif 000024
【図２】
0006436535.tif 000025
【図３】
0006436535.tif 000026
【図４】
0006436535.tif 000027
【図５】
0006436535.tif 000028
【図６】
0006436535.tif 000029
【図７】
0006436535.tif 000030
【図８】
0006436535.tif 000031
【図９】
0006436535.tif 000032
【図１０】
0006436535.tif 000033
【図１１】
0006436535.tif 000034
【図１２】
0006436535.tif 000035
【図１３】
0006436535.tif 000036
【図１４】
0006436535.tif 000037
【図１５】
0006436535.tif 000038