図2は、そのままTTM等を適用する(従来技術の枠組みでTTM等を適用する)ことが不可能(あるいは不適切)な欠損の多い現実の医療データを用いて、本発明により長期モデルを構築する際の考え方を模式的に示す図である。図2は、図1の[2]に示した現実の医療データの例に対し、本発明を適用する際の考え方を示している。
すなわち、本発明においては、各受診者それぞれのデータは短期間しか存在しない状況において、健康因子が似通った受診者の医療データを連結することで、長期に渡る健康モデルを疑似的に生成する。
図2では、健康因子として互いに共通する「メタボタイプ」に該当する受診者A,H,G,I,D(なお、受診者A,Dは図1と共通であり、その他の受診者は図1には不図示である)の医療データを連結することで、各受診者については4年又は5年の短期間しかデータが存在しなくとも、全体として40歳〜53歳という長期間に渡る健康モデルを疑似生成する例が模式的に示されている。
以下、当該図2の考え方に基づいて長期の健康モデルを生成することで、予測対象の受診者の健康状態の未来予測を可能とする、本発明の予測モデル構築装置の各実施形態を説明する。
なお、以上の説明を含む本発明の説明では、受診者A,B等のように参照符号で区別して受診者に言及するが、特段の断りがない限り、当該参照符号は、それぞれの処理内容を説明する範囲においてのみ有効なものとする。すなわち、ある処理を説明する際に言及する受診者Aと、これとは別の処理を説明する際に言及する受診者Aとは、両者の関係について特段の言及がない限り、全く独立の対象であるものとする。また、クラスタについての参照符号もこれと同様であるものとする。
図3は、第一実施形態に係る予測モデル構築装置の機能ブロック図である。予測モデル構築装置10は、文書化部11、年代別分類部12、クラスタリング部13、モデル構築部14、予測部15及び予測対象文書化部19を備える。当該各部のうち、モデル構築部14までが予測モデル構築のための構成であり、予測部15及び予測対象文書化部19は、当該構築された予測モデルを利用して、実際に予測を行うための構成である。当該各部の処理は以下の通りである。
文書化部11には、予測モデル構築装置10によって予測モデルを構築するための入力としての全データとして、医療データが入力され、当該医療データにおける各受診者の各年代における健康評価内容を文書化して、年代別分類部12に渡す。本発明では、当該入力される全データは、図1の[2]で説明したように現実に入手しうるデータであって、欠損があることが想定されている。
医療データは受診者の健康状態を評価したものであり、例えば健康診断結果や医師による問診の結果等で構成され、文書化部11では各受診者の各年代における当該医療データを、当該受診者の当該年代における健康状態を表す特徴ベクトルとして文書化する。具体的には、周知の形式であるBag of Wordsの形式で文書化する。すなわち、健康状態を表す複数m個の単語i1, i2, ,…, imを用意しておき、それらをそれぞれ何回用いるかという単語頻度のm次元ベクトルの形で、文書化する。当該文書化の処理は、後述のクラスタリング部13におけるクラスタリングを可能とするためのものである。
例えば、受診者Xのn歳における健康状態を表す特徴ベクトルをV(X, n)と表記することにすると、図1の[2]に示されている受診者Aの40歳〜43歳の医療データに対しては文書化部11により、V(A, 40), V(A, 41), V(A, 42)及びV(A, 43)が出力されることとなる。従って、文書化部11によりこのようにして、医療データ内に含まれる全ての(X, n)の組について、V(X, n)が得られ、年代別分類部12に渡されることとなる。
なお、本発明においては、年代は上記のように1年ごとに区切られているものとして説明するが、当該区切りの長さは実際に利用する医療データに応じて任意の長さとすることができる。例えば、2年ごととしてもよいし、半年ごととしてもよい。
文書化部11における当該文書化には、本出願人による特願2013-159323号(数値データ解析装置及びプログラム)、特願2013-163207号(数値データ解析装置及びプログラム)、特願2013-217817号(数値データ文書化装置及びプログラム)などを利用することができる。
年代別分類部12は、文書化部11より得た全受診者Xの全n歳における医療データの特徴ベクトルV(X, n)を、年代nごとに分類して、当該年代nごとに分類された医療データD(n)をクラスタリング部13に渡す。
図4は、仮に入力された全医療データが図1の[2]に示すもの(全受診者はA〜F)であったとした場合の、年代別分類部12による出力を模式的に示す図である。図4では、当該年代nに分類された各D(n)を構成している受診者がD(n)の領域内部に表記されている。例えば42歳の全データD(42)を構成しているのは、受診者A, B, Cの当該42歳時点における各データV(A, 42), V(B, 42), V(C, 42)となる。
なお、以上の文書化部11及び年代別分類部12は、図3に示す順とは逆に適用されてもよい。すなわち、予測モデル構築装置10への入力としての文書化される前の医療データを年代別分類部12で年代ごとの各患者の医療データに分類してから、文書化部11で文書化してもよい。いずれの順であっても、次のクラスタリング部13には同様のデータD(n)が渡される。
クラスタリング部13は、年代n毎に分類されたデータD(n)のそれぞれを対象として、LDA等の潜在トピック分析によるクラスタリングを行い、その結果をモデル構築部14に渡す。なお、年代nのデータD(n)のクラスタリング結果において、クラスタ総数をN(n)と書き、i番目のクラスタをC(n, i)(i=1, 2, …, N(n))と書くこととする。
なお、LDA等の結果は、各受診者につき、複数のトピックの各々のトピック比率という形式で与えられる。従って、上記のような離散的なクラスタC(n, i)の所属を決定するには、当該トピック比率に基づく所定手法で決定すればよい。例えば、各クラスタが各トピックに対応するものとして、各受診者の所属クラスタは、最大トピック比率となるクラスタに所属するものとして決定してよい。あるいは、トピックがk個の場合、トピック比率をk次元空間における座標値とみなして、k-means等で互いに近い位置にあるもの同士を同一クラスタに属するものとして決定してもよい。
モデル構築部14は、上記得られた一連のクラスタリング結果C(n, i)により、健康予測のモデルを構築して、予測部15に渡す。当該予測モデルは、各n歳における一連のクラスタC(n, i)(i=1, 2, …, N(n))がそれぞれ、特定の健康状態を表しているとの前提のもとで、「C(n, i)→C(n+1, j)→C(n+2, k)→…」と、年代nが経過するにつれ健康状態がどのように遷移するかを遷移確率として与えたモデルである。
データGの元の数すなわちデータGを構成している受診者の数をnum(G)と書くと、モデル構築部14は、健康状態C(n, i)から健康状態C(n+1,j)への遷移確率P[C(n, i)→C(n+1, j)]を以下の式(1)により求める。なお、式(1)中では積集合の演算子「∩」は、両集合(両データ)に共通して含まれる受診者を抽出する演算子とする。
すなわち、あるiで特定されるn歳の時点のある健康状態C(n, i)から、あるjで特定されるn+1歳の時点のある健康状態C(n+1, j)へと遷移する確率は、式(1)の分子に示されるように、クラスタC(n, i)とクラスタC(n+1, j)とに共通して含まれる受診者の数に比例するように計算される。
また、式(1)の分母は、以下の式(2)に示すように、当該クラスタC(n, i)から遷移可能な全てのj=1, 2, …, N(n+1)についての遷移先C(n+1, j)への遷移確率を足して1となるようにするための規格化項である。
なお、式(1)の分母にてn+1歳の医療データが存在する全受診者D(n+1)との積集合を取っているのは、本発明においては欠損データを前提とするので、C(n,i)には含まれているが、いずれの遷移先C(n+1, j)にも含まれていないような受診者(n歳時点までしか医療データが存在しない受診者)を除外して規格化を行うためである。
図5は、モデル構築部14による以上の遷移確率の計算例を示す図である。ここでは、「n=40,41」すなわち40歳及び41歳の間での遷移確率について、クラスタリング部13によるクラスタリングの結果、「D(40)=C(40, 1)∪C(40, 2)」であり、すなわち、40歳のデータは2個のクラスタに分けられており、また、「D(41)= C(41, 1)∪C(41, 2)∪C(41, 3)」である、すなわち、41歳のデータは3個のクラスタに分けられている場合を例としている。各クラスタには図4と同様の表記で属する受診者が示されている。40歳のデータには受診者A〜Gが存在するが、41歳のデータではこのうち受診者Cが存在せず、逆に40歳のデータには存在しなかった受診者X,Y,Zが存在している。
クラスタC(40,1)には受診者A,B,Cが存在するが、このうち受診者AがクラスタC(41, 1)にも共通して存在し、受診者BがクラスタC(41,2)にも共通して存在し、クラスタC(41, 3)には共通の受診者が存在せず、受診者Cは41歳のデータが存在しない。従って、図中の遷移関係を表す矢印上にも引き出し線を付与して表記しているように、クラスタC(40, 1)からクラスタC(41, 1), C(41, 2), C(41, 3)への遷移確率をそれぞれ1/2, 1/2, 0と計算できる。同様に、クラスタC(40, 2)からクラスタC(41, 1), C(41, 2), C(41, 3)への遷移確率をそれぞれ1/2, 1/4, 1/4と計算できる。
図6は、以上のモデル構築部14により構築されるモデルの例(図5の例とは独立の例)を示す図である。図6の例では、t=40〜43すなわち40歳から43歳までの各々のクラスタリング結果が表す健康状態と、それらの間で年齢が増える方向での遷移確率(その値は不図示だが、クラスタ間の遷移を表す矢印部分に遷移確率が紐付いている)と、を与える形で、予測モデルが与えられている。図6はt=40〜43の範囲のみを例示しているが、該当年代についての医療データが存在していれば同様にして、40歳以下や43歳以上の範囲をさらに含めてより長期の予測モデルを構築することができる。
予測対象文書化部19は、文書化部11と全く同様の処理によって、将来の健康状態を予測する対象となる受診者Yの医療データを文書化して、予測部15に渡す。当該医療データは、ある年代m(通常、現在の年代)について用意しておけばよく、文書化されて特徴ベクトルV(Y, m)となり、これより後の各年代m+1, m+2, …, m+kが予測対象となる。
なお、モデル構築部14でモデルを構築する際の入力としての、文書化部11へ入力された全医療データの中から、予測対象文書化部19に入力されるデータを選ぶようにしてもよいし、当該全医療データとは別個のデータが入力されるようにしてもよい。
予測部15は、予測対象文書化部19から得た予測対象となる年代mの受診者YのデータV(Y, m)を、モデル構築部14で構築された予測モデルにあてはめることで、当該受診者Yの未来の各年代m+1, m+2, …, m+kの健康状態を予測する。
具体的にはまず、V(Y, m)が予測モデルの同年代mにおける各健康状態C(m, i)(i=1, 2, …, N(m))のいずれに該当するかを特定する。当該特定でi=i[Y]の健康状態C(m, i[Y])に該当すると特定されたものとする。なお、データV(Y, m)が文書化部11に入力されモデル構築に利用されたデータ内から選択されている場合は、クラスタリング部13にて既にV(Y, m)がどのクラスタに属するか決定されているので、再度特定する必要はない。
次に、当該健康状態を初期状態として、遷移確率が与えられた予測モデル上において最大確率を与える経路として、「C(m, i[Y]) → C(m+1, i(m+1)) → C(m+2, i(m+2)) → … → C(m+k, i(m+k))」を決定する。当該経路の決定には、以下のURL等に開示され周知のビタビアルゴリズムを利用することができる。
http://www.yobology.info/text/viterbi/viterbi.htm
なお、ビタビアルゴリズムの利用に際しては、状態間の遷移確率から最大確率に対応する経路を計算する他にも、遷移確率を尤度に変換して、最大尤度に対応する経路を計算してもよいし、遷移確率を距離に変換して、最短距離に対応する経路を計算してもよいし、その他の評価指標によって最適経路を計算するようにしてもよい。
当該決定された経路が、健康状態の予測結果を表している。すなわち、各年代m+1, m+2, …, m+kの健康状態は、当該特定された経路上の健康状態C(m+1, i(m+1)), C(m+2, i(m+2)), … , C(m+k, i(m+k))であるものとして予想される。
具体的には、各健康状態に対応するクラスタリング部13でのクラスタリング結果のクラスタに属する受診者と同様の健康状態であるものとして予想される。なお、クラスタリングは潜在トピック分析等にて行われるので、結果のクラスタに明示的な意味合いを与えたい場合は、人手による解釈により与える必要がある。
図6では、当該予測された健康状態の一例が太線の矢印として示されている。すなわち、ある予測対象の受診者は現在年齢が40歳であり、その医療データよりクラスタC(40, 1)に該当するものとして特定され、その後の健康状態の推移が、経路「C(40, 1) → C(41, 2) → C(42, 4) → C(43, 2)」と予測される。
次に、第一実施形態において、以上説明したモデル構築部14による式(1)のような、クラスタ間で共通の受診者数に基づく手法とは別の手法により、遷移確率を計算する実施形態を説明する。
ここで、当該別の実施形態にて遷移確率を計算する際、クラスタリング部13は、LDA等によるクラスタリングの結果、図6のような各年代nの全データD(n)を分類した各クラスタC(n, i)を得るほか、明示的にLDA等で分類した際の情報も保持しておく。(なお、正確には、クラスタリング結果は、当該LDA等で分類した際の情報を元にして得られるという関係がある。)当該保持しておく情報を説明するため、まず一般の文書に対して適用される際のLDAを説明する。
LDAでは、文書をbag of words、つまり単語とその出現頻度として取り扱い、文書においてそのトピックを推定する。例えば、「経済」トピックからは、「株価」、「増収増益」・・・といった単語が出現するだろうし、「スポーツ」トピックからは「野球」、「サッカー」といった単語が出現することになる。
これは、観測された bag of words 表現、つまり単語i(列成分)と文書u(行成分)との関係行列D(n)を、単語i(列成分)とトピックk(行成分)の関係行列Φと、文書u(行成分)とトピックk(列成分)の関係行列θとの積に分解することを意味している。図7に当該行列分解「D(n)=θ×Φ」のイメージ図を示す。
このトピックkを推定するのがLDAである。このようにLDAに代表されるトピックモデルでは、各文書が固有のトピック比率を持ち、単語はこのトピック比率に従いトピックを選択したあと、そのトピックに固有の比率で生成されるという仮定をおいている。
なお、本願発明でクラスタリング部13で扱う際の単語iと文書uとの関係行列は年代n別に分類されたデータD(n)を行列で表示したものであるので、当該D(n)の表記を関係行列にもそのまま用いた。以降の説明においても当該表記を適宜用いる。また、本願発明では文書uとは、当該年代nにおける各受診者の医療データを文書化部11にて文書化したものである。
当該別の実施形態によりモデル構築部14が遷移確率を計算するに際して、クラスタリング部13は、以上のような図7にイメージとして示した、各年代nのデータD(n)を対象としたクラスタリングの計算の際に得られる関係行列を分解した情報「D(n)=θ×Φ」も保持しておく。なお、関係行列θ、Φも各年代n毎に存在する。n依存性を含めると「D(n)=θ(n)×Φ(n)」と書くことができ、当該情報を保持しておくこととなる。
図8は、モデル構築部14が遷移確率を計算する当該別実施形態を説明するための例を示す図である。図8では、[1]に示すように、クラスタリング13によるクラスタリング結果の一部分(年代上の一部分)として、2つの年代n,n+1において、C(n, 1), C(n, 2), C(n ,3)及びC(n+1, 1), C(n+1, 2), C(n+1, 3)と分類されている。また、[2-1], [2-2]に示すように、全受診者はA〜Eの5人であり、それぞれ示すようなθ行列の行ベクトルとしてのトピック比率が得られている。年代nについてはトピックの各要素は(k1, k2, k3)であり、年代n+1についてはトピックの各要素は(k'1, k'2, k'3)である。そして、[3-1], [3-2], [3-3]に、以下に説明する遷移確率の計算例が示されている。
当該別実施形態においても、図8の[1]に示すように、クラスタリング部13の結果の利用の仕方として、クラスタC(n, 1), C(n, 2), C(n ,3)はそれぞれトピックk1, k2, k3に対応するクラスタであり、C(n+1, 1), C(n+1, 2), C(n+1, 3)はそれぞれトピックk'1, k'2, k'3に対応するクラスタである、とみなす点は、式(1)の実施形態におけるクラスタリングの一例として紹介したものと共通である。
そして、異なる点は次の通りである。すなわち、式(1)の実施形態の一例のクラスタリングにおいては、各受診者は、その最大トピック比率を与えるいずれか1つのクラスタに所属しているという解釈のもと、クラスタ間の共通受診者に比例する形で遷移確率を計算した。これに対して、当該別実施形態においては、各受診者は、そのトピック比率に比例する寄与率で、それぞれのクラスタに分かれて所属しているという解釈のもとで、式(1)の考え方と同じく、クラスタ間の共通受診者に比例する形で遷移確率を計算する。
例えば、図5の例でn=40すなわち40歳時点の受診者Aについては、式(1)の実施形態では当該図5に示すように、クラスタC(40, 1)に所属し、クラスタC(40, 2)には所属していないという解釈を与えていた。これに対して、当該別実施形態においては、40歳時点の受診者Aが、そのトピック比率が(0.8, 0.2)であったとき、クラスタC(40, 1)に「0.8」の割合で所属し、同時にクラスタC(40, 2)に「0.2」の割合で所属している、という解釈を与える。例えば、図8の[2-1]の例では、受診者AはクラスタC(n, 1)に「0.8」の割合で所属し、クラスタC(n ,2)に「0.1」の割合で所属し、クラスタC(n ,3)に「0.1」の割合で所属することとなる。
そして、遷移確率の計算は次のようにして行われる。まず、遷移元となる各クラスタに属する受診者の総数は、当該クラスタに対応するトピックのトピック比率の、全ての受診者についての和とする。その計算例は、図8の[3-1]に示す通りであり、例えばトピックk1に対応するクラスタC(n, 1)の所属人数num(C(n, 1))を、示される通り各受診者A〜Eのそれぞれの寄与(当該トピックk1の比率の値として与えられる寄与)の和として、3.7人と計算することができる。
次に、遷移元クラスタから遷移先クラスタへのクラスタ間の遷移人数は、遷移元クラスタに対応するトピックのトピック比率と遷移先クラスタに対応するトピックのトピック比率との積の、全ての受診者についての和とする。その計算例は、図8の[3-2]に示す通りである。例えば、トピックk1のクラスタC(n, 1)からトピックk'1のクラスタC(n+1, 1)への遷移人数num(C(n, 1)→C(n+1, 1))を、[3-2]に示すように1.98人と計算することができる。その他のクラスタ間遷移人数も全く同様に計算することができる。
最後に、式(1)の実施形態と同様の方針、すなわち、クラスタ間の共通受診者数に比例する形で、遷移確率を計算する。ただし、クラスタ所属人数及びクラスタ間遷移人数は、以上述べたトピック比率を用いた手法により計算したものを用いる。その計算例は、図8の[3-3]に示す通りである。当該例では、クラスタC(n, 1)からの全遷移先として3つのクラスタC(n+1, j)(j=1, 2, 3)への遷移確率P[C(n, 1)→C(n+1, j)]がそれぞれ図中に記す通りに計算されている。
なお、確率としての規格化も、特に年代間で欠損があるような場合は式(1)の実施形態における式(2)と同様にすることで、ある一つの遷移元クラスタから可能な全ての遷移先クラスタへの遷移確率の和が1となるように、適宜実施すればよい。規格化に関しては、図8の[3-1]〜[3-3]の計算例に示すように、異なる年代間にてデータ欠損(受診者の過不足)がなく、各受診者のトピック比率をその総和が1となるよう予め規格化しておけば、計算される遷移確率も自ずと規格化されることとなる。
第一実施形態における補足事項として、以下(1)及び(2)を挙げることができる。
(1)生成されるΦ行列の類似性を利用して、クラスタをソートしても良い。ここで図7を参照して前述したように、Φはクラスタkと単語iの関係性を表す。年代nでのΦ(n)と年代n+1でのΦ(n+1)を比べて、それぞれの二乗距離から似通ったクラスタ同士を特定し、ソートする。このようにソートすることで、同一の医学的意味合いを持つクラスタ同士を特定できるので、予測モデル構築装置20の利用者あるいは管理者において、健康状態の遷移を解釈する際の補助的な情報として利用することができる。
(2)以上の説明においては、過去のクラスタの影響を全く受けないモデルであったが、これを過去のクラスタに影響させるようにしてもよい。すなわち、過去数時点前までのクラスタに全て属したと仮定したときの遷移のみを計算するようにしてもよい。
具体的には、予測対象の受診者Yの現在の年代がnであり、受診者Yについて過去の所定年代n-kまでの一連の所属クラスタが既知である場合、健康状態の履歴として、年代n-k, n-k+1, …, n-1, nにおいて所属したクラスタが当該受診者Yと同一であるような受診者を選別し、当該選別された受診者を、以上説明した際の遷移確率を計算する際に参照する全受診者であるものとみなして、以上説明したのと同様の手法で遷移確率を計算するようにすればよい。なお、クラスタリング自体は、当該受診者Yと共通の健康履歴とは限らない医療データ全体を対象として行う。遷移確率の計算の際のみ、全受診者を当該受診者Yと共通の健康履歴であるものに限定する。
図10は、第二実施形態に係る予測モデル構築装置の機能ブロック図である。予測モデル構築装置30は、文書化部31、年代別分類部32、クラスタリング部33、モデル構築部34、予測部35及び予測対象文書化部39を備える。第二実施形態に係る予測モデル構築装置30は、その各部に下一桁が共通する参照番号を付与し、共通の機能ブロック名を与えているように、その動作の枠組みは図3に示した第一実施形態に係る予測モデル構築装置10と共通である。
ここで、文書化部31、年代別分類部32及び予測対象文書化部39については、第一実施形態の文書化部11、年代別分類部12及び予測対象文書化部19と全く同様に機能するので、重複する説明は省略する。
第二実施形態においても、図6に示したようなクラスタリング結果による健康状態C(n, i)間の遷移確率として健康モデルを構築するという枠組みは、第一実施形態と同様である。
差異点としては、第一実施形態のクラスタリング部13が一般的なLDAのみを固定された年代nのデータD(n)を対象として使用しており、クラスタリング自体はnを固定して行うので、クラスタリングそのものにおいて年代n, n+1, n+2, …と時系列的に変化する特性を考慮していなかったのに対して、第二実施形態のクラスタリング部33は当該特性を考慮したクラスタリングを行う点が挙げられる。そして、モデル構築部34及び予測部35においても、対応した処理がなされる。
クラスタリング部33は具体的には、各年代にて全受診者のデータを使うのではなく、隣接する2つ(あるいは3つ以上でもよい)の年代で共通して存在する受診者のみのデータを使って、TTM等の時系列的影響を伝搬させるクラスタリングを行う。ここで、当該クラスタリング結果は、用いたデータにおける受診者が共通でない境目の箇所においては、用いられているトピックが互いに異なるものとなってしまい、そのまま予測モデルを構築することはできない。そこで、モデル構築部34において、境目のトピック同士を連結させる「トピック連結行列」を利用することで、この問題を解決したうえで、予測モデルを構築する。なお、以降にて説明するように、「トピック連結行列」は、形式上は第一実施形態における異なる年代間の遷移行列と同様のものとなる。予測部35は当該構築された予測モデルにより、対象受診者Yの将来の健康状態を予測する。
図11は、クラスタリング部33の処理及びその結果並びに第二実施形態を説明する際に用いるクラスタリング結果の記号表記を説明するための図である。(1)では、年代n, n+1で共通の受診者「D(n)∩D(n+1)」の当該年代n, n+1のデータを対象としてTTM等のクラスタリングを行った結果の例として、年代n, n+1の時系列トレンドを考慮が考慮された各年代の2つのクラスタが示されている。第一実施形態と同様に、年代nのi番目のクラスタをC(n, i)と表記し、第二実施形態ではさらに、共通の受診者「D(n)∩D(n+1)」のデータでクラスタリングされた旨を表すために下付きの[n, n+1]を付与し、「C(n, i) [n, n+1]」等と表記するものとする。
図11にて(2)では同様にして、年代n, n+1, n+2で共通の受診者「D(n)∩D(n+1)∩D(n+2)」の当該年代n, n+1,n+2のデータを対象としてTTM等のクラスタリングを行った結果が示されている。この場合、共通の受診者「D(n)∩D(n+1)∩D(n+2)」のデータでクラスタリングされた旨を表すためにその両端n, n+2を下付きの[n, n+2]で表記して、クラスタリング結果を「C(n, i) [n, n+2]」等と表記するものとする。年代n, n+1, …, n+kを用いた場合、同様に、「C(n, i) [n, n+k]」等と表記するものとする。
本発明においては利用できる医療データが図1の[2]で示したように欠損を有するので、クラスタリング部33では、断片的な範囲としての所定年代区間ごとの共通受診者データにより、TTM等のクラスタリングを実施する。例えば、図11の(1)のような2年代区間を使うのであれば、「D(n)∩D(n+1)」、「D(n+1)∩D(n+2)」、「D(n+2)∩D(n+3)」、…、「「D(n+k)∩D(n+k+1)」、…といったデータのそれぞれを対象として、TTM等のクラスタリングを実施し、各結果をモデル構築部34に渡す。
図12は、第二実施形態に係るモデル構築部34の処理を説明するための図である。ここでは、上記例示した2年代区間のデータ「D(n)∩D(n+1)」、「D(n+1)∩D(n+2)」のクラスタリング結果を図中(1), (2)とそれぞれ示すように受け取った場合を例として、(3)として示される、これに対するモデル構築部34の処理を説明する。
すなわち、(1),(2)それぞれのクラスタリング結果は、それぞれの断片的な範囲においては、時系列トレンドが考慮された結果となっており、予測モデルとして機能する。ここで、長期予測を行うには、(1),(2)を連結する必要がある。しかしながら、(1)の年代n+1の各クラスタC(n+1,i)[n,n+1]と(2)の年代n+1の各クラスタC(n+1,j)[n+1,n+2]とは、年代は同じn+1であるものの、クラスタリングの際に用いられたデータ(文書集合)が「D(n)∩D(n+1)」及び「D(n+1)∩D(n+2)」であり、互いに異なる。
従って、元となる文書集合が異なる(ただし、要素となる単語iは共通)(1)の年代n+1の各クラスタC(n+1,i)[n,n+1]と(2)の年代n+1の各クラスタC(n+1,j)[n+1,n+2]とは、いわば座標系が異なる関係にあるので、モデル構築部34では(3)に示すように、それらを変換する関係を作り、当該関係を遷移確率の形で算出する。
遷移確率の算出には、以下のような各実施形態が可能である。
一実施形態では、第一実施形態における式(1)を形式上全く同様に適用して、以下の式(3)のようにして遷移確率を求めてもよい。この場合、図12に示す(1)の年代n+1の各クラスタから(2)の年代n+1の各クラスタへの遷移確率を、共通する受診者の数に比例するように、且つ規格化されるように定めることとなる。
また、第一実施形態で式(1)に代わる別実施形態として、図8で説明したようにクラスタ所属人数を各受診者につき複数のクラスタにそれぞれ寄与する割合で考慮して遷移確率を計算したのと同様に、第二実施形態においても上記式(3)に代わる遷移確率の計算手法として、図8の手法を用いてもよい。すなわち、各クラスタの所属人数及びクラスタ間の遷移人数を、θ行列の各行を参照して得られるトピック比率によって与えられる寄与する割合によってカウントして、各遷移確率の計算を行うようにしてもよい。
一実施形態では、「θ×Φ」として上記のθ行列と同時にTTMクラスタリングの結果得られる、図12の(1)に示す年代n+1のクラスタリング結果における流行分布Φと、(2)に示す年代n+1のクラスタリング結果における流行分布Φ'との両者から、トピック(各トピックが各クラスタに対応している)間の遷移確率を求めるようしてもよい。
図13に流行分布Φ及びΦ'の模式的な例を示すように、各行が単語iに対応し、各列がそれぞれトピックk及びk'(すなわち各クラスタ)に対応している。(TTMはLDAの一種であるので、流行分布Φ及びΦ'は図8で説明したトピックkと単語iとの関係行列Φと同種類の行列となる。)従って、クラスタ間の遷移確率は、対応するトピックk及びk'で定まる列ベクトル間のユークリッド距離(2乗距離)を求めた後、当該距離が近いほど遷移確率が上がるように距離の逆数等に変換したうえで、規格化することで定めることができる。
上記の一実施形態では、ユークリッド距離を計算するので、流行分布Φ及びΦ'におけるトピックk及びk'のトピック数が共通であることを前提としていた。共通ではない場合にも対応可能な一実施形態として、次のようにしてもよい。
図9は、当該実施形態における計算を説明するための図であり、[1],[2]はそれぞれ、図12の(1),(2)の年代n+1におけるデータD(n)∩D(n+1)及びD(n+1)∩D(n+2)について、TTMによる行列分解の結果を、図7と共通の表記により示している。図9では、[1],[2]にそれぞれ示すように、データD(n)∩D(n+1)に属する文書(すなわち受診者)を文書u、分解結果のトピックをトピックkとし、当該データD(n)∩D(n+1)が「θu,k×Φk,i」に分解された結果と、データD(n+1)∩D(n+2)に属する文書(すなわち受診者)を文書u'、分解結果のトピックをトピックk'とし、当該データD(n+1)∩D(n+2)が「θu,k'×Φk',i」に分解された結果とを示している。単語は共通であり、単語iとしている。
図9においても、図12の例における(3)の年代n+1における異なるトピック間の遷移確率を計算する場合を例として説明する。求めるのは当該遷移確率を求めるためのトピックkからトピックk'への変換行列(トピックkからトピックk'への遷移行列)であり、その計算が[3],[4]に示されている。
図9にて、[3]は、[1],[2]でそれぞれ求めたトピックk,k'と単語iとの関係行列Φk,i, Φk',iを利用して、データD(n)∩D(n+1)∩D(n+2)に属する文書(すなわち受診者)を文書u''とし、当該データD(n)∩D(n+1)∩D(n+2)をそれぞれトピックk,k'に分解した式が1,2行目に「θu'',k×Φk,i」及び「θu'',k'×Φk',i」として示されている。なお、[1]の文書uの一部分が文書u''であり、[2]の文書u'の一部分が文書u''であり、[1]の文書uと[2]の文書u'との共通部分が文書u''であるので、当該[3]のような分解が可能となる。
さらに、図9にて、[4]の式が、[3]の式を変形することによって、トピックkとトピックk'との変換行列を求めた式となっている。具体的には、[3]の一行目にある文書u''とトピックkとの関係行列「θu'',k」に対して、その逆行列「θu'',k -1」を、周知のムーアペンローズ擬似逆行列として求め、[3]で等式となっている1行目及び2行目のそれぞれに当該逆行列「θu'',k -1」を左から掛けたものが、[4]の式である。
こうして、[4]の1,2行目に示すように、トピックkと単語iとの関係行列「Φk,i」と、トピックk'と単語iとの関係行列「Φk',i」と、を等式で結ぶために掛け合わせる行列として、トピックkとトピックk'との変換行列(すなわち遷移行列)を「θu'',k -1×θu'',k'」として求めることができる。当該遷移行列「θu'',k -1×θu'',k'」のi行j列成分が、トピックkのうちのi番目のトピック(すなわち、図12における遷移元クラスタC(n+1, i)[n ,n+1])から、トピックk'のうちのj番目のトピック(すなわち、図12における遷移先クラスタC(n+1, j)[n+1 ,n+2])への遷移確率に対応する値を与えることとなる。なお、確率としての規格化が必要であれば、各行について実施すればよい。
以上、異なるトピックk,k'をつなぐ遷移確率の各算出手法を説明した。なお、図12における(1)や(2)のそれぞれの内部(TTMが適用されトピックが共通である範囲)における遷移確率については、モデル構築部34では、第一実施形態におけるモデル構築部14と全く同様にして遷移確率を算出することができる。
なお、図13及び図9を用いて説明した、トピックkと単語iとの関係行列「Φk,i」とトピックk'と単語iとの関係行列「Φk',i」とに基づいたトピックk,k'間の遷移確率の計算は、第一実施形態において異なる年代間の遷移行列を計算する別の実施形態として、そのまま利用可能である。
すなわち、第一実施形態においては、図3のクラスタリング部13が単一の年代nのデータD(n)を用いて各年代をそれぞれ個別にLDA等でクラスタリングするため、年代n,mが異なればデータD(n),D(m)も異なり、一般に、LDA分解結果におけるトピックも異なることとなる。従って、第一実施形態において、隣接する年代n,n+1間のクラスタ間の遷移行列を求めるのに、年代nのデータD(n)におけるLDA分解結果で得られるトピックkと単語iとの関係行列「Φk,i(n)」と、年代n+1のデータD(n+1)におけるLDA分解結果で得られるトピックk'と単語iとの関係行列「Φk',i(n+1)」とに基づいたトピックk,k'間の遷移確率の計算(図13及び図9のそれぞれの計算手法)が利用可能である。
予測部35では、第一実施形態における予測部15と同様に、ビタビアルゴリズムによって予測対象の受診者Yの将来の健康状態を予測する。ただし、図12で説明したような(1),(2)間に存在する(3)の同年代n+1におけるクラスタ間の遷移も、以上説明したような手法により計算される遷移確率が与えられたパスを形成し、探索対象の経路を構成しているものとして、ビタビアルゴリズムを適用する。すなわち、図12に示された予測モデルの例で年代n〜n+2の予測を行う場合、当該図12に示す経路の全体が探索対象となる。
以上、第二実施形態を説明したが、第二実施形態では種々の追加的な実施形態が可能である。以下、それぞれ説明する。
図12等で例示したように「D(n)∩D(n+1)」、「D(n+1)∩D(n+2)」、…といった断片的な範囲としての所定年代区間ごとの共通受診者データを対象としてクラスタリング部33がTTM等のクラスタリングを行う際は、当該断片範囲ごとにそれぞれ、最適なクラスタリング条件を設定することが好ましい。
クラスタリング条件としては、分類に最適なトピック数を利用することができる。通常、最大頻度のトピックに対応するクラスタに分類するので、当該最適なトピック数は最適なクラスタ数に一致する。
例えば、図11、図12等では、説明例として分類クラスタ数を全て2としている。実際は、図11の(1)であれば、年代nのクラスタ数(=トピック数)を最適数F(n)、年代n+1のクラスタ数を最適数F(n+1)のように設定することができる。なお、最適なクラスタ数の設定には、本出願人による特願2014-029495号(クラスタリング装置、方法及びプログラム)の技術を利用することで、最適クラスタ数を自動算出してよい。当該技術では、AIC(赤池情報量基準)等の情報量基準を用いて、最適クラスタ数を算出する。
図12の(3)で説明したような変換関係としての遷移確率を計算する別の実施形態として、次のようにしてもよい。図14は、当該別の実施形態を説明するための図であり、図14に示す(1),(2)は、図12に示す(1),(2)と同一である。図12にて(3)として示した変換関係による遷移確率を用いる代わりに、図14では(3a), (3b)として示す変換関係による遷移確率を用いる。
すなわち、図14にて(3a),(3b)の中間部分に示しているように、変換が必要な年代n+1の全データD(n+1)を対象として、クラスタリング部33で追加処理として、クラスタリングを実施することで、分類結果としてのクラスタC(n+1, i)を得る。当該クラスタリングには、1つの年代n+1のみを対象としているので、TTMではなくLDA等を用いることができる。
そして、当該得た分類結果C(n+1, i)を、C(n+1, i) [n, n+1]をC(n+1, j) [n+1, n+2]へと変換する際の中間部分として利用することで、モデル構築部34では(3a),(3b)に示す2つの変換の積として、C(n+1, i) [n, n+1]からC(n+1, j) [n+1, n+2]への変換関係を遷移確率として求める。
具体的には図示されているように、(3a)のC(n+1, i) [n, n+1]からC(n+1, j)への変換における各遷移確率P[C(n+1, i) [n, n+1]→C(n+1, j)]と、(3b)のC(n+1, j)からC(n+1, k) [n+1, n+2]への変換における各遷移確率P[C(n+1, j)→C(n+1, k) [n+1, n+2]]と、をそれぞれ計算する。当該計算には、以上説明したモデル構築部34による各実施形態を利用できる。
当該実施形態では特に、(3a)の部分ではデータ「D(n)∩D(n+1)」に含まれる全受診者を遷移確率の計算に利用することができ、同じく(3b)の部分ではデータ「D(n+1)∩D(n+2)」に含まれる全受診者を遷移確率の計算に利用することができる。これに対し、図12の実施形態では、(3)の部分ではより少ないデータ「D(n)∩D(n+1)∩D(n+2)」に含まれる全受診者しか遷移確率の計算に利用することができない。従って、図14の実施形態では、より多数の受診者を遷移確率の計算に利用可能とすることで、当該計算の精度を向上させることができる。
そして、予測部35で予測を行う際は、図14に示すような経路全体をビタビアルゴリズムによる最適経路の探索対象とする。
以上の説明では、図12あるいは図14の例のように、ある1つの年代n+1のみをTTMクラスタリング結果を互いに変換する対象(「接続点」と呼ぶ)としていたが、接続点を2つ以上の年代に設ける実施形態も可能である。
図15は、接続点を2つの年代n+1, n+2に設ける例を示す図である。この場合、(1)及び(2)に示すように、クラスタリング部33ではTTM等によるクラスタリングを2より多い年代数、例えば3年代に渡って実施しておく必要がある。(1)では年代n, n+1, n+2におけるTTM等のクラスタリング結果C(m, i)[n, n+2](m=n, n+1, n+2)が与えられ、(2)では年代n+1, n+2, n+3におけるTTM等のクラスタリング結果C(m, j)[n+1, n+3](m=n+1, n+2, n+3)が与えられている。
従って、(3a),(3b)として図示するように、2つの接続点を設けることが可能である。そして、モデル構築部34では、(3a)では各遷移確率P[C(n+1, i) [n, n+2]→C(n+1, j) [n+1, n+3]]を計算し、(3b)では各遷移確率P[C(n+2, i) [n, n+2]→C(n+2, j) [n+1, n+3]]を計算する。当該計算は以上説明してきたのと同様の手法で可能である。
そして、予測部35で予測を行う際は、図15に示すような経路全体をビタビアルゴリズムによる最適経路の探索対象とする。なお、図15の(3a), (3b)の部分は、図が複雑化することを避けるために個々の状態遷移を表す矢印を描くのを省略しているが、実際には図12の(3)に示すのと同様の個々の状態遷移が存在している。従って、探索対象の経路の各々は、(3a)又は(3b)のいずれか片方の部分を通過することとなる。
以上、図15では2つの年代に接続点を設ける例を説明したが、3つ以上の年代に接続点を設けることも可能である。また、2つ以上の接続点を設ける際は、必ずしも連続しない年代で接続点を設けてもよい。例えば、3つの年代n+1, n+2, n+5で接続点を設けるようにしてもよい。なお、具体的にどのように接続点を設けるかは、データ解析等を実施するユーザ側において所定の設定を与えるようにすればよい。
以下、本発明における補足的事項を説明する。
本発明の説明においては、モデル構築部14,34におけるモデル構築、特にそのクラスタ間の遷移確率の計算に関して、クラスタ間の共通人数に基づく手法や、潜在トピック分析における分解結果「θ×Φ」のθ行列やΦ行列を利用する手法等、種々の例を説明した。これら種々の手法は、遷移確率を計算しようとしているクラスタ間の類似性を求め、類似性が高いほど遷移確率も高いものとして計算を行う手法として総括することができる。
図3の予測モデル構築装置10及び図10の予測モデル構築装置30においてはそれぞれ、予測部15, 35及び予測対象文書化部19, 39を含む構成としていたが、これらは省略して、予測モデル構築のみを行うようにしてもよい。
全く同様に、当該省略された予測部15, 35及び予測対象文書化部19, 39は別途、予測装置として構成してもよい。図16は、当該構成される予測装置の機能ブロック図である。予測装置40は、予測部45及び予測対象文書化部49を備える。予測部45は、予測モデル構築装置10, 30によりそれぞれ構築された予測モデルを受け取り、それぞれ、対応する予測部15, 35と同様に機能する。この際、予測対象文書化部49も、全く同様に、それぞれ対応する予測対象文書化部19, 39と同様に機能する。
本発明において、医療データは文書化部11, 31や予測対象文書化部19, 39, 49にて文書化するものとして説明した。文書化処理(すなわち、単語頻度形式としてのデータへの変換)を予め行っておくものとすれば、当該各部は省略されてもよい。
本発明においては、医療データの取得対象を「受診者」として説明してきたが、一般には、医療データが取得されさえすれば、任意の「対象者」でよい。すなわち、必ずしも医師などが介在して「受診」が行われる必要はない。
本発明は、コンピュータを予測モデル構築装置10, 30あるいは予測装置40として機能させるプログラムとしても提供可能である。当該コンピュータは、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェアで構成することができ、当該プログラムを読み込んで実行するCPUが予測モデル構築装置10, 30あるいは予測装置40の各部として機能することとなる。