(57)【特許請求の範囲】
【請求項１】
対象者ごとに定まる１つ以上の年代において、複数の対象者のそれぞれの健康状態を評価して得られる、単語頻度の形式の医療データを、年代別に分類する年代別分類部と、
前記年代別に分類された医療データを、近接する年代同士で比較して、欠損している対象者の医療データを、当該対象者に類似し、且つ近接する年代の医療データに存在している対象者の医療データに基づいて補完する補完部と、
前記補完された一連の年代における医療データに対して、各年代を並べた時系列トレンドを考慮したクラスタリングを行うことにより、当該一連の年代に渡る対象者の健康状態に関する予測モデルを構築する予測部と、を備えることを特徴とするデータ解析装置。
【請求項２】
前記補完部は、互いに近接している第一年代及び第二年代について、当該第一年代の医療データ及び第二年代の医療データを双方向に補完し、
当該第一年代の医療データには存在し当該第二年代の医療データには存在しない第一対象者に類似する対象者を当該第一年代の医療データ内から選出し、当該類似する対象者の医療データを用いて、当該第二年代において欠損している第一対象者の医療データを補完する第一補完を行うと共に、
当該第二年代の医療データには存在し当該第一年代の医療データには存在しない第二対象者に類似する対象者を当該第二年代の医療データ内から選出し、当該類似する対象者の医療データを用いて、当該第一年代において欠損している第二対象者の医療データを補完する第二補完を行うことを特徴とする請求項１に記載のデータ解析装置。
【請求項３】
前記補完部は、
前記第一補完を行うに際して、前記第一年代の医療データを潜在トピック分析によってクラスタリングし、各対象者について当該クラスタリング結果により得られるトピック比率に基づいて、前記第一対象者に類似する対象者の選出を行い、
前記第二補完を行うに際して、前記第二年代の医療データを潜在トピック分析によってクラスタリングし、各対象者について当該クラスタリング結果により得られるトピック比率に基づいて、前記第二対象者に類似する対象者の選出を行うことを特徴とする請求項２に記載のデータ解析装置。
【請求項４】
前記補完部は、
前記第一補完を行うに際して、前記トピック比率同士の距離が近いと判定される対象者を、前記第一対象者に類似する対象者として選出し、当該距離に対する減少関数で定まる重みを付与した線形和を、前記第二年代において前記第一対象者に類似する対象者のクラスタリング結果におけるトピック比率に対して求めることで、前記第二年代において欠損している前記第一対象者のトピック比率を推定し、
前記第二補完を行うに際して、前記トピック比率同士の距離が近いと判定される対象者を、前記第二対象者に類似する対象者として選出し、当該距離に対する減少関数で定まる重みを付与した線形和を、前記第一年代において前記第二対象者に類似する対象者のクラスタリング結果におけるトピック比率に対して求めることで、前記第一年代において欠損している前記第二対象者のトピック比率を推定することを特徴とする請求項３に記載のデータ解析装置。
【請求項５】
前記補完部は、前記第一及び第二補完を行うに際してそれぞれ、前記第一及び第二対象者に類似する対象者のクラスタリング結果におけるトピック比率より単語頻度を要素とする特徴ベクトルを算出することにより、前記第二及び第一年代の医療データにおける欠損を補完することを特徴とする請求項４に記載のデータ解析装置。
【請求項６】
前記補完部は、前記特徴ベクトルを算出するに際して、前記第一年代の医療データ及び前記第二年代の医療データを比較して、年代間における変化が少ないと判定できる単語の頻度を、当該特徴ベクトルにおける頻度の値の基準として用いることを特徴とする請求項５に記載のデータ解析装置。
【請求項７】
前記補完部にて前記第一補完及び第二補完を行う対象の第一年代及び第二年代は、各回に所定年代として設定される当該第一年代及び第二年代によって、前記年度別分類部で得られる年代全体が各回を経ながら逐次的にカバーされるように設定されており、
前記補完部は、当該逐次的な各回において設定された第一年代及び第二年代を対象として、前記第一補完及び第二補完を行い、
前記予測部は、当該逐次的な各回において前記補完部により補完された医療データをそれぞれクラスタリングすることを特徴とする請求項２ないし６のいずれかに記載のデータ解析装置。
【請求項８】
前記予測部は、前記逐次的な各回において前記補完部により補完された医療データをそれぞれクラスタリングすることで、当該逐次的な各回における最終回において、前記年度別分類部で得られる年代全体に渡る対象者の健康状態に関する予測モデルを構築することを特徴とする請求項７に記載のデータ解析装置。
【請求項９】
コンピュータを請求項１ないし８のいずれかに記載のデータ解析装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、そのままでは長期に渡る健康の予測モデルを構築することが困難な、欠損を有する医療データを用いて、長期に渡る健康の予測モデルの構築を可能とする、データ解析装置及びプログラムに関する。
【背景技術】
【０００２】
医療データに基づいて、対象者をクラスタリングしたい場合がある。特許文献１や特許文献２に代表されるように、健康管理システム等が大きな広がりを見せている。このような健康管理システムでは、利用者に対して健康上のアドバイス等を行う場合が多いが、特許文献３に示すように、利用者を実際の健康データを元に分類した上でアドバイスを行った方が、より行動変容につながりやすい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2013-085626号公報
【特許文献２】特開2010-264088号公報
【特許文献３】特開2010-170534号公報
【非特許文献】
【０００４】
【非特許文献１】Latent Dirichlet Allocation:http://machinelearning.wustl.edu/mlpapers/paper_files/BleiNJ03.pdf
【非特許文献２】Topic Tracking Model: http://ijcai.org/papers09/Papers/IJCAI09-239.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、潜在トピック分析、特に、潜在ディリクレ配分法（Latent dirichlet allocation :LDA）に代表される、高精度な分類手法が注目を浴びている。LDAは例えば非特許文献１に開示されている。またこのLDAを時系列的な影響を加味するように拡張したトピック・トラッキング・モデル（Topic Tracking Model；TTM）なども提案されている。TTMは例えば非特許文献２に開示されている。このTTMを用いれば、長期の時系列的な影響を加味して利用者のクラスタリングが可能であり、長期にわたる変化のモデル等を作成することができる。
【０００６】
しかし一般的に、長期のデータを用意することは難しく、欠損が多くなってしまうという課題がある。例えば健診データやレセプトデータは一般的には５年程度しか保存されておらず、以降の長期のモデル生成ができない。また用意できたとしても、欠損値が多くあれば実質的に利用できるデータは大きく減ってしまう。特に健診データやレセプトデータでは、欠損が非常に多い。
【０００７】
図１は、当該健診データやレセプトデータといったような医療データにおける当該課題を模式的に説明するための図であり、上段側の[1]が長期モデル構築に際しての理想的な医療データが入手できる状況を、下段側の[2]が現実に入手可能な医療データを、それぞれ模式的に示す図である。
【０００８】
すなわち、理想的には図１の[1]に示すように、健康診断等の多数の受信者A,B,C,…につき、その40歳〜60歳といったような数十年に渡る一定の長期間の医療データが定期的（各年ごとなど）に入手されていることが望まれる。このようなデータを用いれば、TTM等をそのまま適用することで、健康状態に関する長期モデルを構築し、患者等の健康状態の予測を行うことが可能となる。
【０００９】
しかしながら、現実的にはそのような理想的なデータを用意することは困難であり、実際に入手できるデータは図１の[2]に示すように、ある受診者Aについては40歳〜43歳のデータのみ、ある受診者Bについては42歳〜45歳のデータのみ、…（受信者C〜Eについては図示する通りであるので説明を省略）、ある受診者Fについては52歳〜55歳のデータのみ、といったような状況となる。
【００１０】
すなわち、各受診者につき、数十年に渡るような長期間の医療データは入手できず、数年の短期間に渡るものしか入手できない。さらに、当該短期間の各患者の医療データは、その年齢のどの期間に渡るものであるか、という点についても、例えば[2]の受信者A〜Fのように、受診者ごとにバラバラとなっている。
【００１１】
このように、各受信者の医療データにつき、その大多数が短期間に渡ってしか存在せず、その年齢のどの期間に渡るものかについてもバラバラな現実の医療データに対しては、従来技術の枠組みでTTM等を適用することができない。従って、従来技術の枠組みでは、このような現実の医療データから、健康モデルに関する長期モデルを構築することができない。
【００１２】
本発明は、上記従来技術の課題に鑑み、医療データに欠損があっても長期に渡る健康の予測モデルの構築を可能とする、データ解析装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は、データ解析装置であって、対象者ごとに定まる１つ以上の年代において、複数の対象者のそれぞれの健康状態を評価して得られる、単語頻度の形式の医療データを、年代別に分類する年代別分類部と、前記年代別に分類された医療データを、近接する年代同士で比較して、欠損している対象者の医療データを、当該対象者に類似し、且つ近接する年代の医療データに存在している対象者の医療データに基づいて補完する補完部と、前記補完された一連の年代における医療データに対して、各年代を並べた時系列トレンドを考慮したクラスタリングを行うことにより、当該一連の年代に渡る対象者の健康状態に関する予測モデルを構築する予測部と、を備えることを特徴とする。
【００１４】
また、本発明は、コンピュータを前記データ解析装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、医療データに欠損があり、ある対象者のある年代について医療データが存在しない場合であっても、欠損している対象者の医療データを、当該対象者に類似し、且つ近接する年代の医療データに存在している対象者の医療データに基づいて補完するので、当該補完を一連の年代に渡って繰り返すことで、当該補完された医療データにより、長期の場合を含む一連の年代に渡る対象者の健康状態に関する予測モデルを構築することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】現実に得られる医療データは欠損が多いという課題を模式的に示す図である。
【図２】本発明による長期モデル構築の際の考え方を模式的に示す図である。
【図３】一実施形態に係るデータ解析装置の機能ブロック図である。
【図４】図１の例に対応する例として年代別分類部による出力の例を模式的に示す図である。
【図５】LDAにおいて実行される関係行列の分解のイメージ図である。
【図６】逐次処理部の一実施形態に係る処理を示すフローチャートである。
【図７】逐次処理部が決定する処理対象のデータ範囲と処理する際の順番との例を示す図である。
【図８】図６のフローチャートにより逐次処理部が処理を行う具体例を説明するための図である。
【図９】図８の具体例におけるループの1巡目の処理の詳細を示す図である。
【図１０】図８の具体例におけるループの2巡目の処理の詳細を示す図である。
【発明を実施するための形態】
【００１７】
図２は、そのままTTM等を適用する（従来技術の枠組みでTTM等を適用する）ことが不可能（あるいは不適切）な欠損の多い現実の医療データを用いて、本発明により長期モデルを構築する際の考え方を模式的に示す図である。図２は、図１の[2]に示した現実の医療データの例に対し、本発明を適用する際の考え方を示している。
【００１８】
すなわち、本発明においては、各受診者それぞれのデータは短期間しか存在しない状況において、健康因子が似通った受診者の医療データを連結することで、欠損を補完することにより、長期に渡る健康モデルが生成可能な医療データを疑似的に生成する。
【００１９】
図２では、健康因子として互いに共通する「メタボタイプ」に該当する受診者A,H,G,I,D（なお、受診者A,Dは図１と共通であり、その他の受診者は図１には不図示である）の医療データを連結することで、各受診者については4年又は5年の短期間しかデータが存在しなくとも、全体として40歳〜53歳という長期間に渡る健康モデルが生成可能となるような医療データを疑似生成する例が模式的に示されている。
【００２０】
以下、当該図２の考え方に基づいて医療データにおける欠損を補完することで長期に渡る健康モデルを生成可能とする、本発明のデータ解析装置の各実施形態を説明する。
【００２１】
なお、既に説明済みの事項を含む本発明の説明では、受診者A,B等のように参照符号で区別して受診者に言及するが、特段の断りがない限り、当該参照符号は、それぞれの処理内容を説明する範囲においてのみ有効なものとする。すなわち、ある処理を説明する際に言及する受診者Aと、これとは別の処理を説明する際に言及する受診者Aとは、両者の関係について特段の言及がない限り、全く独立の対象であるものとする。また、クラスタについての参照符号もこれと同様であるものとする。
【００２２】
図３は、一実施形態に係るデータ解析装置の機能ブロック図である。データ解析装置10は、文書化部1、年代別分類部2及び逐次処理部3を備え、逐次処理部3はさらに補完部4及び予測部5を備える。
【００２３】
文書化部1には、データ解析装置10によって予測モデルを構築するための入力としての全データとして、医療データが入力され、当該医療データにおける各受診者の各年代における健康評価内容を文書化して、年代別分類部2に渡す。本発明では、当該入力される全データは、図１の[2]で説明したように現実に入手しうるデータであって、欠損があることが想定されている。
【００２４】
当該入力される医療データは、2種類の時系列情報が付与されている。すなわち、年齢（受診者の年代）と取得年月（データ取得時の年代）である。さらに、それぞれのデータには、複数の特徴次元がある。レセプトデータであれば、例えば以下のようなテーブル項目の各々に具体的な値として数値及び／又はテキスト等を与えることで特定されるデータである。
[名前、取得年月、取得時の年齢、疾病名、使用薬剤名] 
【００２５】
ここで、疾病名や使用薬剤名には同時に頻度が記録されている。健診データの場合も同様の形式を取る。すなわち、上記[名前、取得年月、取得時の年齢]のテーブル項目に加えさらに、各々の評価項目、例えば[身長、体重、心拍、血液検査]その他の健診評価結果のテーブル項目が存在し、その結果としての数値及び／又はテキスト等を与えることで特定されるデータとなっている。
【００２６】
文書化部1では、以上のような形式で与えられている各受診者の各年代（各受診者の各年齢）における当該医療データを、当該受診者の当該年代における健康状態を表す特徴ベクトルとして文書化する。具体的には、周知の形式であるBag of Wordsの形式で文書化する。すなわち、健康状態を表す複数m個の単語i1, i2, ,…, imを用意しておき、それらをそれぞれ何回用いるかという単語頻度のm次元ベクトルの形で、文書化する。当該文書化の処理は、後述の逐次処理部3におけるクラスタリングを可能とするためのものである。
【００２７】
当該健康状態を表す複数m個の単語i1, i2, ,…, imには、レセプトデータにおけるテーブル項目の質病名、使用薬剤名や、健診データのテーブル項目における各検査項目名をそのまま用いてもよいし、テーブル項目の単語に対する所定の対応表を設けておくことで対応する所定の単語を用いるようにしてもよい。
【００２８】
文書化部1における当該文書化には、本出願人による特願2013-159323号（数値データ解析装置及びプログラム）、特願2013-163207号（数値データ解析装置及びプログラム）、特願2013-217817号（数値データ文書化装置及びプログラム）などを利用することができる。
【００２９】
例えば、受診者Xのn歳における健康状態を表す特徴ベクトルをV(X, n)と表記することにすると、図１の[2]に示されている受診者Aの40歳〜43歳の医療データに対しては文書化部1により、V(A, 40), V(A, 41), V(A, 42)及びV(A, 43)が出力されることとなる。従って、文書化部1によりこのようにして、医療データ内に含まれる全ての(X, n)の組について、V(X, n)が得られ、年代別分類部2に渡されることとなる。
【００３０】
なお、本発明においては年代は上記のように1年ごとに区切られているものとして説明するが、当該区切りの長さは実際に利用する医療データに応じて任意の長さとすることができる。例えば、2年ごととしてもよいし、半年ごととしてもよい。
【００３１】
年代別分類部2は、文書化部1より得た全受診者Xの全n歳における医療データの特徴ベクトルV(X, n)を、年代nごとに分類して、当該年代nごとに分類された医療データD(n)を逐次処理部3に渡す。
【００３２】
図４は、仮に入力された全医療データが図１の[2]に示すもの（全受診者はA〜F）であったとした場合の、年代別分類部2による出力を模式的に示す図である。図４では、当該年代nに分類された各D(n)を構成している受診者がD(n)の領域内部に表記されている。例えば42歳の全データD(42)を構成しているのは、受診者A, B, Cの当該42歳時点における各データV(A, 42), V(B, 42), V(C, 42)となる。
【００３３】
なお、以上の文書化部1及び年代別分類部2は、図３に示す順とは逆に適用されてもよい。すなわち、データ解析装置10への入力としての文書化される前の医療データを年代別分類部2で年代ごとの各患者の医療データに分類してから、文書化部1で文書化してもよい。いずれの順であっても、次の逐次処理部3には同様のデータD(n)が渡される。
【００３４】
逐次処理部3は、年代別分類部2により年代n別に分類されたデータD(n)を対象として、近接する年代n,mのデータD(n),D(m)同士で互いに欠損を補完しながら、すなわち、一方の年代nには存在する受診者AのデータV(A,n)がもう一方の年代mには存在しない状態を双方向に解消しながら、補完完了したデータ全体を対象として時系列トレンドを考慮したクラスタリングを実施する、ということを当該近接する年代n,mの各々について逐次的に繰り返す。
【００３５】
当該逐次的に繰り返すに際して、補完部4が、近接する年代n,mのデータD(n),D(m)同士で互いに欠損を補完する処理を担い、予測部5が、当該補完結果を受けて、補完完了したデータ全体を対象として時系列トレンドを考慮したクラスタリングを実施するという処理を担う。そして、一連の近接する年代n,mのデータD(n), D(m)を対象として逐次的に処理を繰り返すに際して、新たな処理対象の年代のデータを扱う際、補完部4では、既に処理済みの年代のデータについて予測部5でクラスタリングされた結果を利用することで、補完処理を行う。
【００３６】
当該処理により逐次処理部3は、文書化部1に入力された欠損のある医療データ全体における一連の年代に渡るデータの欠損を解消し、且つ当該欠損が解消された一連の年代に渡るデータに基づいた時系列トレンドを考慮したクラスタリングの結果という形で、長期に渡る健康の予測モデルを構築する。ここで、図３に示すように、欠損が解消されたデータは補完部4が出力し、予測モデルは予測部5が出力する。
【００３７】
なお、予測部5が出力する当該クラスタリング結果の各クラスタは、各年代の健康傾向が分類されたものとなっており、年代上の時系列を辿った解析、例えば人手によって解釈することによる解析が可能であり、また、年代を経るにつれての健康状態の遷移の確率モデルなどを構築することも可能な対象であるので、健康の予測モデルとしての意味を有している。
【００３８】
以上の概要説明のように、逐次処理部3では予測部5がクラスタリングを行うと共に、詳細を後述するように補完部4も、データ補完のための途中処理としてクラスタリングを行う。当該各クラスタリングはLDA等の潜在トピック分析によるものである。そこでまず、逐次処理部3の詳細説明を行う前に、前提事項としてのLDAについて説明する。
【００３９】
LDAでは、文書をbag of words、つまり単語とその出現頻度として取り扱い、文書においてそのトピックを推定する。例えば、「経済」トピックからは、「株価」、「増収増益」・・・といった単語が出現するだろうし、「スポーツ」トピックからは「野球」、「サッカー」といった単語が出現することになる。
【００４０】
これは、観測されたbag of words表現、つまり単語i（列成分）と文書u（行成分）との関係行列D(n)を、単語i（列成分）とトピックk（行成分）の関係行列Φと、文書u（行成分）とトピックk（列成分）の関係行列θに分解することを意味している。図５に当該行列分解「D(n)=θ×Φ」のイメージ図を示す。
【００４１】
このトピックkを推定するのがLDAである。このようにLDAに代表されるトピックモデルでは、各文書が固有のトピック比率を持ち、単語はこのトピック比率に従いトピックを選択したあと、そのトピックに固有の比率で生成されるという仮定をおいている。
【００４２】
なお、本願発明で逐次処理部3におけるクラスタリングで扱う際の単語iと文書uとの関係行列は年代n別に分類されたデータD(n)を行列で表示したものであるので、当該D(n)の表記を関係行列にもそのまま用いた。また、本願発明では文書uとは、当該年代nにおける各受診者の医療データを文書化部1にて文書化したものである。
【００４３】
以上がLDAであるが、時系列トレンドを考慮したクラスタリングを行うTTMは当該LDAの一種である。TTMは特に、単年代nにおけるクラスタリングを前提としていたLDAを、時系列トレンドを考慮できるように拡張したものである。従って、TTMにおいてもクラスタリングの結果は、各年代のデータD(n)について図５のイメージ図に示したような行列分解「D(n)=θ×Φ」の形で与えられる。
【００４４】
ただし、TTMにおいては時系列トレンドを扱うために、処理対象データは一連の連続した年代n〜n+kに渡るデータD(n), D(n+1), …, D(n+k)となり、これらの全体を処理することで、各年代n〜n+kについてクラスタリング結果として行列分解の結果を得る。そして、当該一連の年代n〜n+kについて得られた結果は、LDAを単年度データにそれぞれ個別で適用することでは考慮できなかった、時系列トレンドが考慮されたものとなっている。当該クラスタリングが可能なTTMでは、用いる一連の年代のデータD(n), D(n+1), …, D(n+k)において、含まれる受診者（データを構成している受診者）が全て共通している必要がある。
【００４５】
以下、逐次処理部3の詳細を説明する。図６は、逐次処理部3の一実施形態に係る処理を示すフローチャートである。
【００４６】
ステップS1では、逐次処理部3が、当該フローにおいて自身が補完し予測モデルを構築する対象としてのデータ範囲と、処理する際の順番と、を決定してから、ステップS2に進む。
【００４７】
図７は、ステップS1にて当該決定する例を示す図である。ここでは、年代別分類部2より図示するように一連の年代n〜n+kのデータD(n), D(n+1), …, D(n+k)のデータが得られている場合に、当該全データを処理する範囲として設定し、処理対象T1〜Tkとして示すような各対象データにつき、この順番で処理を行うことに決定する例が示されている。
【００４８】
図７の例では、i番目の処理対象Ti(i=1, 2, …, k)は一連の年代n〜n+iのデータD(n), D(n+1), …, D(n+i)である。当該i番目の処理対象Tiは、後述する図６のステップS3〜S7及びS8で構成されたループ処理における、i巡目の際の処理対象となる。この場合、i-1番目の処理対象Ti-1については既に処理済みであり、データD(n), D(n+1), …, D(n+i-1)はこれらの間において互いに補完が完了している。すなわち、データD(n), D(n+1), …, D(n+i-1)は互いに補完されることで、各データに含まれる受診者が共通のものとなっている。
【００４９】
ここで、当該互いに補完されたデータの全体を記号「*(アスタリスク)」を用いて、「D(n)*D(n+1)* …*D(n+i-1)」と書くこととする。当該表記は以下でも継続して用いることとする。
【００５０】
i巡目では、新たにデータD(n+i)をさらに加えることで、既に補完されている「D(n)*D(n+1)* …*D(n+i-1)」と「D(n+i)」の全体でさらに補完を行い、新たなデータ「D(n)*D(n+1)* …*D(n+i-1)*D(n+i)」を得るような処理が行われる。
【００５１】
なお、処理順番は図７にT1〜Tkとして示す他にも、所定のものを利用することができる。図７では年代が下のD(n)の側から逐次処理を開始する例であるが、逆に年代が上のD(n+k)の側から逐次処理を開始するようにしてもよいし、真ん中の年代D(n/2), D(n/2+1)（当該例ではnは偶数とする）等から開始して処理対象を適宜、年代の下の側又は上の側に拡張することで、逐次処理を行うようにしてもよい。
【００５２】
以上のように、図６のフローのステップS1では、各i番目の処理対象が全て連続する年代で構成されていれば、処理対象の順番を任意に設定することができる。以下の図６の各ステップの説明においては、図７の順番（順番として年代nが下の側から順に逐次処理を行う）が設定された場合を例として説明を行うが、その他の順番が設定されても同様に各ステップを実行することができる。
【００５３】
ステップS2では、逐次処理部3は当該ループ処理における最初の処理対象を読み込み、処理に備えてから、当該ループの最初のステップであるステップS3へ進む。図７の例であれば、ステップS2ではi=1の処理対象T1=D(n)及びD(n+1)が読み込まれる。
【００５４】
ステップS3では、補完部4が、直近のステップS2又はステップS8で設定した対象データのうち、所定のものをLDA等の潜在トピック分析によりクラスタリングしてから、ステップS4へ進む。当該クラスタリングは、次のステップS4,S5を可能とするための前処理に相当する。
【００５５】
ステップS3にて当該クラスタリングの対象となる所定のデータは、当該ステップS3がループの何巡目において実行されたものであるかによって場合分けされ、次の通りである。まず、i=1すなわちループ1巡目の場合であれば、ステップS2で読み込んだ処理対象T1=D(n)及びD(n+1)の両者がそれぞれ、クラスタリングの対象となる。
【００５６】
一方、i≧2でループ2巡目以降の場合、後述するようにステップS8で処理対象データTiとして補完済みの「D(n)*D(n+1)*…*D(n+i-1)」及び新たな処理対象としての「D(n+i)」を読み込むが、このうち新たな処理対象である「D(n+i)」がクラスタリングの対象となる。なお、補完済みの「D(n)*D(n+1)*…*D(n+i-1)」に関しては、直近のステップS6（ループ処理i-1巡目のステップS6）においてクラスタリング済みである。
【００５７】
ステップS4では、補完部4が、当該i巡目において処理対象として定めているデータのうち、片方である第一年代データをもとに、もう一方である第二年代データ内にある欠損を補完し、当該補完された第二年代データにLDA等の潜在トピック分析によりクラスタリングを行ってから、ステップS5へと進む。
【００５８】
当該補完する元となる第一年代データ及び補完される対象となる第二年代データは、当該ステップS4がループの何巡目において実行されたものであるかによって場合分けされ、具体的には次の通りである。まず、i=1すなわちループ1巡目の場合であれば、ステップS2で読み込んだ処理対象T1=D(n)及びD(n+1)のうち任意の一方を第一年代データとし、残りのもう一方を第二年代データとすることができる。
【００５９】
説明のため、第一年代データをD(n)として、第二年代データをD(n+1)として設定したものとする。この場合、第一年代データD(n)内にはそのデータが存在するが、第二年代データD(n+1)内にはそのデータが存在しないような受診者「D(n)＼D(n+1)」が第二年代データD(n+1)において欠損している受診者であり、補完の対象となる。
【００６０】
なお、上記にて記号「＼」は集合の差を表す記号であり、「X＼Y={x|xはXに属し且つYに属さない}」である。欠損している受診者を特定するためにデータD(n),D(n+1)等を集合として扱う際はこのように、年代n,n+1等の区別を考えずに属する受診者のみを集合の元として考えるものとする。以降の説明において同様である。
【００６１】
一方、i≧2でループ2巡目以降の場合、ステップS8で読み込んだ処理対象Tiである補完済みの「D(n)*D(n+1)*…*D(n+i-1)」及び新たな処理対象としての「D(n+i)」のうち、任意の一方を第一年代データ、残りのもう一方を第二年代データとすることができる。説明のため、「D(n)*D(n+1)*…*D(n+i-1)」を第一年代データに、「D(n+i)」を第二年代データに設定したものとする。この場合、上記i=1の場合と同様に、第一年代データ「D(n)*D(n+1)*…*D(n+i-1)」内にはそのデータが存在するが、第二年代データD(n+i)内にはそのデータが存在しないような受診者「D(n)*D(n+1)*…*D(n+i-1)＼D(n+i)」が第二年代データD(n+i)において欠損している受診者であり、補完の対象となる。
【００６２】
ここで、欠損している受診者のデータの補完の具体的な処理は、上記ループの何巡目であるかのiの区別によらず共通であり、具体的には以下の第一処理〜第四処理にて実現することができる。
【００６３】
第一処理として、第二年代データにおいて欠損している受診者をAとすると、第一年代データには当該受診者Aが存在するが、第一年代データより当該受診者Aに似通った傾向を有する複数の受診者B, C, D, …を選出する。ここで、似通った受診者の選出のために、第一年代データにおけるクラスタリング結果を利用する。クラスタリング結果は図５で説明したように、文書uすなわち受診者uとトピックkとの関係行列θと、トピックkと単語iとの関係行列Φの積「θ×Φ」として得られているが、このうち、関係行列θの各行成分が各受診者u=A, B, C, D, …のトピック比率、すなわち各受診者の健康状態に関する特徴ベクトルを与えている。
【００６４】
従って、受診者uのトピック比率としての行ベクトルをv(u)と書くこととすると、受診者Aとのトピック比率のユークリッド距離（2乗距離）d(u)=|v(A)-v(u)|が所定閾値以下あるいは下位の所定数となるような受診者u=sとして、受診者Aに類似した傾向を有する受診者s=B, C, D, …を選出することができる。なお、距離d(u)については、2乗距離以外の定義を用いてもよい。
【００６５】
第二処理として、上記求めた各類似受診者sの重みw(s)を、上記求めた距離d(s)の逆数として求める。なお、重みw(s)は、距離d(s)の逆数として求める他にも、距離d(s)の単調減少関数で、正値となるような任意の関数で求めることができる。当該求めた重みは、例えばその2乗和が1となるようにする等して、正規化するようにしてもよい。
【００６６】
第三処理として、当該第二年代データにおいて欠損している受診者Aが、仮に第二年代データにおいて存在していた場合、そのトピック比率としての行ベクトルがどのような値になるかの推定値v[2](A)を、上記第二処理にて求めた重みを用いた線形和として以下の式(1)により算出する。
【００６７】
【数１】
0006278517.tif 000002
【００６８】
ここで、大文字Sは受診者Aの類似受診者s(小文字)の全体であり、第一処理にて選出されている。v[2](s)は、当該類似受診者sの第二年代データのクラスタリング結果における関係行列θを参照して得られる、トピック比率の行ベクトルである。
【００６９】
第四処理では、第二年代データにて欠損していた受診者Aについて、上記の式(1)により推定値として求まったトピック比率v[2](s)より、受診者Aの当該第二年代データの年代(年代n2とする)における特徴ベクトルV(A, n2)を生成する。当該生成は、第二年代データにおいて受診者Aのデータを、再度のクラスタリング対象として利用可能なようにするための処理である。
【００７０】
従って、当該第四処理の結果が、補完部4が出力する、欠損していた受診者Aについての補完された医療データである。なお、当該第四処理は、後述するように次のステップS5においても同様に実施され、同じく補完された医療データが出力される。
【００７１】
ここで、特徴ベクトルV(A, n2)の生成処理は具体的には、次の通りである。すなわち、図５にイメージとして示した「θ×Φ」の分解の式より明らかなように、第二年代データのクラスタリング結果における「Φ」を用いて「v[2](s)×Φ」を計算することにより、特徴ベクトルV(A, n2)に相当するものを求めることができる。
【００７２】
ただし、「θ×Φ」のθ及びΦは、確率として表現されているため、「v[2](s)×Φ」も特徴ベクトルV(A, n2)を確率の形で与えたものとなっている。従って、当該確率に何らかの乗数aを掛けて、「V(A, n2)=a・v[2](s)×Φ」と算出することで、各要素が単語数を表している特徴ベクトルV(A, n2)を求めるようにする必要がある。このため、例えば以下の２つの実施形態が可能である。
【００７３】
一実施形態では、上記第二処理で推定した類似受診者sの重みw(s)を用いて、第二年代データ内における各類似受診者sの単語総数N(s)の重みづけ和を式(1)と同様にして求め、当該求まった重みづけ和を、当該受診者Aの第二年代データにおける単語総数の推定値、すなわち特徴ベクトルV(A, n2)の各要素の和として利用することができる。
【００７４】
一実施形態では、単語の中に「身長」のような年代間の変化が少ないデータがある場合、当該データをアンカーとして推定することができる。例えば、受診者Aの第二年代データのトピック比率として（身長、体重、血糖値）=（0.1, 0.3, 0.5）という値が推定されており、第一年代データにおける当該受診者Aの身長（の単語頻度）=5であったとき、第二年代にて推定される特徴ベクトルは、(5, 15, 25)となる。なお、ここでは例示として単語種類を3としている。
【００７５】
なお、単語のうち、年代間の変化が少ないものは、当該第一年代及び第二年代の全データを解析して、実際に各受診者の各単語において現れる頻度の年代間変化を調べ、当該変化の少ない単語を選出するようにすればよい。
【００７６】
以上、第一〜第四処理を、第二データにおいて欠損している全ての受診者Aを対象として実施することで、第二データの欠損の補完が完了する。当該完了した時点で、ステップS4にて補完部4ではさらに、補完された第二データ全体を用いて、LDA等の潜在トピック分析によるクラスタリングを実施する。こうして、補完されたデータについても、再度、トピック比率の形で、クラスタリング結果が得られることとなる。
【００７７】
なお、当該再度クラスタリングして得られたトピック比率は、第二年代データ内の全ての受診者に関して、更新されたものとなる。すなわち、補完された受診者Aに関しては、上記第三処理で推定値として求まったものとは一般に異なる値となり、その他の当初から第二年代データ内に存在する受診者についても、直近のステップS3にてクラスタリングした結果とは一般に異なるものとなる。
【００７８】
なお、以上のステップS4にて、ループ巡数i≧2であり、第一年代データに補完済みの「D(n)*D(n+1)*…*D(n+i-1)」を、第二年代データにD(n+i)を設定している場合、補完対象となる第二年代データD(n+i)に対し、上記の第一〜第四処理を実施するための補完元のデータは一連の各年代n, n+1, …, n+i-1のそれぞれにつきクラスタリング結果の存在する第一年代データ「D(n)*D(n+1)* … *D(n+i-1)」のいずれか１つの年代から選択する必要がある。この際、予め設定された任意の年代を利用してもよいが、補完対象である第二年代データD(n+i)に最も近い、D(n+i-1)から選択することが好ましい。
【００７９】
以上、ステップS4を終えると、ステップS5では、ステップS4と全く同様の処理を逆方向に実施してから、ステップS6へ進む。ステップS5ではすなわち、補完部4が、当該i巡目において処理対象として定めているデータのうち、片方である第二年代データをもとに、もう一方の第一年代データ内にある欠損を補完する。
【００８０】
ただし、ステップS4では補完された第二年代データにLDA等の潜在トピック分析によるクラスタリングを実施したのと異なり、ステップS5では、当該補完された第一年代データにLDA等の潜在トピック分析によりクラスタリングを行う必要はない。補完後のクラスタリングは、次のステップS6にて、第一年代データ及び第二年代データの全体を対象として実施される。
【００８１】
ステップS5では特に、欠損を補完する元となる第二年代データが、直近のステップS4において第一年代データを元に欠損を補完された状態にある。従って、i=1のループ1巡目の場合であれば、ステップS4にて第二年代データD(n+1)内の欠損「D(n)＼D(n+1)」が補完され、当該補完された第二年代データD(n+1)によりステップS5にて第一年代データ内の欠損「D(n+1)＼D(n)」が補完される。この結果、ステップS4,S5において第一及び第二年代データD(n),D(n+1)は双方に補完を実施することとなり、第一年代データ及び第二年代データは属する受診者が共通するデータとなり、第一年代データ及び第二年代データの間における補完が完了する。
【００８２】
なお、ステップS5にてループ巡数i≧2であり、補完対象となる第一年代データに「D(n)*D(n+1)*…*D(n+i-1)」を、補完元となる第二年代データにD(n+i)を設定している場合、第一年代データ内に存在する欠損「D(n+i)＼D(n)*D(n+1)*…*D(n+i-1)」は、第一年代データを構成している一連の各年代n, n+1, …, n+i-1の全てについて実施される。
【００８３】
例えば、ある受診者Aが欠損しており、その医療データが第二年代データD(n+i)には含まれるが、第一年代データ「D(n)*D(n+1)* … *D(n+i-1)」には含まれていない場合、当該欠損した受診者Aのデータは、第一年代データを構成する全ての年代データD(n), D(n+1), …, D(n+i-1)において補完される。
【００８４】
当該全ての年代について補完することで、第一年代データ「D(n)*D(n+1)* … *D(n+i-1)」及び第二年代データD(n+i)の全体で受診者が共通となり、補完が完了するので、次のステップS6のクラスタリングが可能な状態となる。
【００８５】
ステップS6では、当該ステップS4,S5にて双方向に補完完了した第一年代データ及び第二年代データの全体を用いて、予測部5がTTM等の時系列トレンドを考慮したクラスタリングを実施し、その結果を当該ステップS6の時点における第一年代及び第二年代が占める期間における予測モデルとして出力した後、ステップS7へ進む。
【００８６】
図７のように処理順番を設定した場合であれば、図６のループのi巡目では処理対象Tiまで補完処理が完了しており、一連のデータD(n), D(n+1), …, D(n+i)が全て互いに受診者が共通するデータとなっているので、予測部5では当該一連の年代n, n+1, …, n+iについて、その時系列トレンドを考慮したクラスタリング結果を得る。そして、ループを巡る数i=kの最終値において、処理対象Tk（すなわち、全年代に渡り補完されたデータ）について当該ステップS6でクラスタリングした結果が、最終的に求まる長期の予測モデルとなる。
【００８７】
ステップS7では、ステップS1で設定した全範囲について補完・予測処理が完了したか否かが判定され、完了していれば図６の当該フローは終了し、未完了であれば、ステップS8へと進む。ステップS8では、当該ループ処理における次の処理対象を読み込んでから、ステップS3に戻り、当該読み込まれた新たな処理対象についてループ処理を継続する。当該読み込む新たな処理対象は、図７で例示した通りである。すなわち、直近に済んだ処理対象がTiであれば、次はTi+1を処理対象として設定する。
【００８８】
以上、一般的な手順として、逐次処理部3による処理のフローチャートである図６の各ステップを説明した。次に、その具体例を説明する。図８は、当該具体例にて利用する処理対象のデータ全体と、当該データが図６のフローチャートにおけるループの各i巡目を経た際の処理結果と、を示す図である。
【００８９】
図８にて[0]に示すのが、データ解析装置10に入力される処理対象のデータ全体である。当該データ全体は、n=40歳、41歳、42歳の3年代に渡るデータD(40), D(41)及びD(42)であり、各年代のデータを構成している受診者が、D(40)={A, B, C, D, E}であり、D(41)={A, B, D, E, F}であり、D(42)={A, B, D, E, F, G}である。従ってデータ全体で見ると、D(40)には{F, G}が欠損しており、D(41)には{C, G}が欠損しており、D(42)には{C}が欠損していることとなる。当該欠損は以下のように、補完される。
【００９０】
まず、ループ1巡目のステップS1では、図７で説明したように処理対象の順番を決定するものとする。すなわち、1巡目ではデータD(40)及びD(41)が処理対象であり、互いに補完されたデータD(40)*D(41)が得られる。さらに、2巡目では補完されたデータD(40)*D(41)及び新たに読み込んで処理されるデータD(42)が処理対象であり、この結果、全年代n=40, 41, 42に渡って互いに補完されたデータD(40)*D(41)*D(42)が得られることとなる。
【００９１】
図８では、[1]にループの1巡目の処理結果が示され、[2]にループの2巡目の処理結果が示されている。すなわち、1巡目では線L1で示すように、欠損「D(40)＼D(41)={C}」及び欠損「D(41)＼D(40)={F}」が補完されて、[1]に示すようにD(40)*D(41)（となったD(40)及びD(41)の各々）が得られている。2巡目では線L2で示すように、欠損「D(40)*D(41)＼D(42)={C}」及び欠損「D(42)＼D(40) *D(41)={G}」が補完されて、[2]に示すようにD(40)*D(41)*D(42)（となったD(40)、D(41)及びD(42)の各々）が得られている。なお、図８にて、当初より存在する受診者データは実線の丸で、補完して得られた受診者データは点線の丸で、互いに区別して描かれている。
【００９２】
図９及び図１０は、当該図８における線L1及び線L2に示すループの1巡目、2巡目の処理の詳細をそれぞれ示す図であり、付与している[0], [1], [2]は図８とそれぞれ共通の状態を表している。また、受診者データを実線と点線とで区別して示すことも図８と同様である。
【００９３】
図９にてステップS3-1は、1巡目のステップS3であり、ここではD(40)及びD(41)の両者がそれぞれ、LDA等の潜在トピック分析によりクラスタリングされる。次に、ステップS4-1は、1巡目のステップS4であり、第二年代データであるD(41)における欠損「D(40)＼D(41)={C}」の補完が行われると共に、補完されたD(41)が再度、LDA等の潜在トピック分析によりクラスタリングされる。この結果が[0-1]に示され、D(41)にて{C}が補完されると共に、当該補完された{C}を含めて再度、クラスタリングが実施されている。
【００９４】
図９にてさらに、ステップS5-1は、１巡目のステップS5であり、ここでは第一年代データであるD(40)における欠損「D(41)＼D(40)={F}」が補完される。次に、ステップS6-1は、1巡目のステップS6であり、当該双方向に補完されたデータD(40)*D(41)を対象としてTTM等の時系列トレンドを考慮したクラスタリングが実施され、その結果が[1]に示されている。
【００９５】
以上、1巡目のステップS6まで終えると、ステップS7からステップS8へ進み、2巡目で処理するデータとして、データD(40)*D(41)を第一年代データに、データD(42)を第二年代データとして設定し、ステップS3へ戻る。ここからの処理が、図１０に示されている。
【００９６】
図１０にてステップS3-2は、2巡目のステップS3であり、ここでは新たに読み込まれたデータD(42)が、LDA等の潜在トピック分析によりクラスタリングされる。次に、ステップS4-2は、2巡目のステップS4であり、ここでは、第二年代データであるD(42)における欠損「D(40)*D(41)＼D(42)={C}」が補完される。前述のように、当該補完する際は、D(40)*D(41)のうち、D(41)におけるクラスタリング結果（1巡目のステップS6でのクラスタリング結果）をもとにして補完を行うことが好ましい。
【００９７】
ステップS4-2ではまた、当該補完されたD(42)が再度、LDA等の潜在トピック分析によりクラスタリングされる。この結果が[1-1]に示され、D(42)にて{C}が補完されると共に、当該補完された{C}を含めて再度、クラスタリングが実施されている。
【００９８】
図１０にてさらに、ステップS5-21及びS5-22は、2巡目のステップS5であり、ここでは、第一年代データであるD(40)*D(41)における欠損「D(42)＼D(40) *D(41)={G}」が、前述のようにD(40),D(41)の両者を対象として補完される。次に、ステップS6-2は、2巡目のステップS6であり、当該双方向に補完されたデータD(40)*D(41)*D(42)を対象としてTTM等の時系列トレンドを考慮したクラスタリングが実施され、その結果が[2]に示されている。全ての範囲の処理が完了しているので、2巡目のステップS7にてフロー終了の判断が下され、当該示されている[2]が最終結果となる。
【００９９】
以上、本発明によれば、医療データにおいて欠損が存在する場合であっても、近傍年代における類似の受診者のデータより当該欠損を補完することができるので、逐次的に補完等を繰り返すことにより、長期に渡る健康の予測モデルを構築することができる。
【０１００】
以下、本発明における補足的事項（１）〜（４）を説明する。
【０１０１】
（１）逐次的に補完・予測を行う処理対象の設定は、図７の例や、その変形例として説明した手法以外も可能である。例えば、最初に2年代ごとに補完を実施して、その後は、当該2年代ごとに補完されたそれぞれのデータを以上説明した際の1年代分のデータであるものと読み替えることで、データ全体での補完及び予測モデルの構築を行うようにしてもよい。
【０１０２】
例えば、全データが6年代に渡るデータD(40), D(41), D(42), D(43), D(44), D(45)である場合、以下に順次説明する[1]〜[5]のような対象設定による手順でデータの補完及び対応するクラスタリングを実施することができる。[1]〜[3]が2年代ごとの補完であり、[4],[5]が当該2年代ごとに補完されたデータを以上説明した1年代分のデータとみなしての処理である。
【０１０３】
[1] D(40)及びD(41)を双方向に補完してD(40)*D(41)を得る
[2] D(42)及びD(43)を双方向に補完してD(42)*D(43)を得る
[3] D(44)及びD(45)を双方向に補完してD(44)*D(45)を得る
[4] D(40)*D(41)及びD(42)*D(43)を双方向に補完してD(40)*D(41)*D(42)*D(43)を得る
[5] D(40)*D(41)*D(42)*D(43)及びD(44)*D(45)を双方向に補完して、最終結果としてのD(40)*D(41)*D(42)*D(43)*D(44)*D(45)を得る
【０１０４】
全く同様に、3以上のm年代ごとに補完を実施してもよいし、その他の互いに異なる変則的な長さのデータ同士で補完を実施するようにしてもよい。ただし、どのような長さのデータをどのような順番で組み合わせるかということについては、図６のステップS1におけるのと同様に、予め設定しておく。
【０１０５】
（２）本発明において、医療データは文書化部1にて文書化するものとして説明した。文書化処理（すなわち、単語頻度形式としてのデータへの変換）を予め行っておくものとすれば、文書化部1は省略されてもよい。
【０１０６】
（３）本発明においては、医療データの取得対象を「受診者」として説明してきたが、一般には、医療データが取得されさえすれば、任意の「対象者」でよい。すなわち、必ずしも医師などが介在して「受診」が行われる必要はない。
【０１０７】
（４）本発明は、コンピュータをデータ解析装置10として機能させるプログラムとしても提供可能である。当該コンピュータは、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェアで構成することができ、当該プログラムを読み込んで実行するCPUがデータ解析装置10の各部として機能することとなる。
【符号の説明】
【０１０８】
10…データ解析装置、1…文書化部、2…年代別分類部、3…逐次処理部、4…補完部、5…予測部
【図１】
0006278517.tif 000003
【図２】
0006278517.tif 000004
【図３】
0006278517.tif 000005
【図４】
0006278517.tif 000006
【図５】
0006278517.tif 000007
【図６】
0006278517.tif 000008
【図７】
0006278517.tif 000009
【図８】
0006278517.tif 000010
【図９】
0006278517.tif 000011
【図１０】
0006278517.tif 000012