(57)【特許請求の範囲】
【請求項１】
バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとして潜在トピック分析によりクラスタリングを行ってクラスタリング結果を得るクラスタリング部と、
前記クラスタリング結果における各個別データのトピック比率より、各個別データの特徴量ベクトルを生成する特徴量ベクトル生成部と、
前記特徴量ベクトルの各要素につき、健康状態に関連する所定の予測対象との相関が得られると判定されるような値として、閾値を決定する閾値決定部と、
各個別データに対して、その特徴量ベクトルの要素の値のうち前記閾値以上であるものが存在するものを予測可能群に属すると判定し、当該存在しないものを予測不可能群に属すると判定するデータ区別部と、を備え、
前記データ区別部により予測可能群に属すると判定された個別データを出力することを特徴とする選別装置。
【請求項２】
さらに、前記データ区別部により区別して判定された予測可能群と予測不可能群との間において、個別データにおけるバグオブワードの単語の存在分布に有意差があると判定されるような単語のみをバグオブワードの要素として残したうえで、予測不可能群の個別データを前記クラスタリング部へと出力する特徴量削減部を備え、
前記クラスタリング部、前記特徴量ベクトル生成部、前記閾値決定部、前記データ区別部及び前記特徴量削減部は各I回の繰り返し処理を行い、I回目に前記特徴量削減部が出力した予測不可能群の個別データが、次のI+1回目におけるクラスタリング部におけるクラスタリングの対象とされることを特徴とする請求項１に記載の選別装置。
【請求項３】
さらに、前記繰り返し処理の各I回において前記データ区別部が予測可能群に属すると区別した個別データの特徴量ベクトルを受け取り、健康状態に関連する所定の予測対象についての予測モデルを構築するモデル生成部を備えることを特徴とする請求項２に記載の選別装置。
【請求項４】
さらに、前記繰り返し処理の各I回において前記モデル生成部が構築した予測モデルのうち、いずれの回のものを予測に利用するかの指示と、予測対象データの指示と、をユーザより受け取り、当該指示された予測対象データを当該指示された予測モデルに適用することで、前記健康状態に関連する所定の予測対象の予測結果を出力する予測部をさらに備えることを特徴とする請求項３に記載の選別装置。
【請求項５】
前記特徴量削減部は、個別データにおけるバグオブワードの各単語につき、前記データ区別部により区別して判定された予測可能群と予測不可能群のそれぞれにおいて、当該単語に対応するバグオブワードの要素値が、閾値判定により有ると判定される個別データ数と、当該閾値判定により無いと判定される個別データ数と、をカウントすることにより作成されるクロス集計表に基づき、前記有意差があるかの判定を行うことを特徴とする請求項２ないし４のいずれかに記載の選別装置。
【請求項６】
前記閾値決定部は、前記特徴量ベクトルの各要素につき、仮の閾値を変数としてスイープしながら、
要素の値が当該仮の閾値以上となるような一連の特徴量ベクトルにおける要素の値を説明変数とし、当該特徴量ベクトルに対応する個別データにおける前記健康状態に関連する所定の予測対象の値を目的変数とした回帰予測を実施し、予測の的中と不的中の数を第一カウントとしてカウントし、
要素の値が当該仮の閾値未満となるような一連の特徴量ベクトルにおける要素の値を説明変数とし、当該特徴量ベクトルに対応する個別データにおける前記健康状態に関連する所定の予測対象の値を目的変数とした回帰予測を実施し、予測の的中と不的中の数を第二カウントとしてカウントし、
前記第一カウント及び前記第二カウントによって作成されるクロス集計表により算出する赤池情報量基準の値に基づき、前記スイープする仮の閾値の値の中から、前記健康状態に関連する所定の予測対象との相関が得られると判定されるような値としての閾値を決定することを特徴とする請求項１ないし５のいずれかに記載の選別装置。
【請求項７】
前記健康状態に関連する所定の予測対象が、各個別データに対する、所定年代先の未来における医療費であることを特徴とする請求項１ないし６のいずれかに記載の選別装置。
【請求項８】
前記特徴量ベクトル生成部は、前記クラスタリング結果における各個別データのトピック比率を要素として構成されるベクトルに対して、当該個別データが前記バグオブワードの形で与えられている際の総単語数を乗ずることにより、前記各個別データの特徴量ベクトルを生成することを特徴とする請求項１ないし７のいずれかに記載の選別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、選別装置に関し、特に、欠損やノイズ等を含みうる医療データを入力として、人手による予測因子抽出の作業を必要とせずに、医療費予測その他の健康状態に関連する予測を高精度に行うためのモデルとして利用することが可能なデータを選別することのできる選別装置に関する。
【背景技術】
【０００２】
特許文献１，２等に示されるように、医療費削減を目的として保健指導や本人への注意喚起を行うために医療費を予測したい場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2014-225176号公報
【特許文献２】特開2014-225175号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように医療費を予測しようとする際に、予測のための入力データとしてはレセプト（診療明細）情報を用いることが多いが、診療明細に記載される特徴量次元は極めて大きく、一般的な回帰等の予測方式をそのまま適用することが難しいという課題がある。
【０００５】
このため一般的には、人為的に疾病名等を抽出して特徴量とすることが多いが、人為的に削られたデータに潜在的な医療費予測因子が存在している可能性が否めない。すなわち、人為的な抽出では医療費予測因子の見落としが発生し、予測精度を下げてしまうという課題がある。またそもそも、仮に見落としが発生しなかったとしても、膨大なレセプト等を人手で解析したうえで、膨大な疾病名等のそれぞれにつき抽出すべきか否かの判断をするという手間が、人為的な抽出においては発生してしまう。
【０００６】
また、レセプトは医療機関にかかったときに発生するレシート情報であり、特定の状態になったときに医療機関に行くかどうかは個人の自由意思にかかっている。そのため、現状のレセプトからは将来の医療費が予測できないような群が必ず発生することになる。すなわち、予測を行うためのレセプト情報自体も多くの欠損やノイズ等を含んでいるのと等しい状態にあるといえるため、医療費予測因子の見落としの有無によらず、予測精度を下げてしまうという課題がある。
【０００７】
本発明は、上記のような従来技術の課題に鑑み、欠損やノイズ等を含みうる医療データを入力として、人手による予測因子抽出の作業を必要とせずに、医療費予測その他の健康状態に関連する予測を高精度に行うためのモデルとして利用することが可能なデータを選別することのできる、選別装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、選別装置であって、バグオブワードの形で与えられた一連の対象者の一連の年代における健康状態データを、対象者及び年代ごとの個別データの集まりとして潜在トピック分析によりクラスタリングを行ってクラスタリング結果を得るクラスタリング部と、前記クラスタリング結果における各個別データのトピック比率より、各個別データの特徴量ベクトルを生成する特徴量ベクトル生成部と、前記特徴量ベクトルの各要素につき、健康状態に関連する所定の予測対象との相関が得られると判定されるような値として、閾値を決定する閾値決定部と、各個別データに対して、その特徴量ベクトルの要素の値のうち前記閾値以上であるものが存在するものを予測可能群に属すると判定し、当該存在しないものを予測不可能群に属すると判定するデータ区別部と、を備え、前記データ区別部により予測可能群に属すると判定された個別データを出力することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、入力される健康状態データが欠損やノイズ等を含むものであっても、一度潜在トピック分析によりクラスタリングを行ったうえで、トピック比率の各要素につき、予測能力があると判定されるような閾値以上となっているような個別データのみを自動で抽出して、予測可能群に属するものとして出力することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る選別装置の機能ブロック図である。
【図２】入力される全医療データの模式的な例を示す図である。
【図３】潜在トピック分析のクラスタリングにおいて得られる行列分解結果を示す図である。
【図４】閾値決定部が作成して参照するクロス集計表を示す図である。
【図５】閾値決定部にて閾値をスイープする際の各値につき、第一データ群のデータにおいて説明変数と目的変数との分布を示す図である。
【図６】図５の[1]に示されるデータを全データとした際の、閾値の設定により第一データ群と第二データ群を切り分ける模式的な例を示す図である。
【図７】図５の[2]のデータに対して実施した単回帰の模式的な例と、これにより予測の的中／不的中をカウントする対象データの存在領域の模式的な例と、を示す図である。
【図８】特徴量削減部にて作成して参照するクロス集計表を示す図である。
【図９】繰り返し処理の内容を模式的に説明するための図である。
【図１０】図４，８等のクロス集計表を一般化した表である。
【図１１】図１０のクロス集計表に対応する従属モデルにおける確率の表である。
【図１２】図１０のクロス集計表に対応する独立モデルにおける確率の表である。
【発明を実施するための形態】
【００１１】
図１は、一実施形態に係る選別装置の機能ブロック図である。選別装置10は、文書化部1、クラスタリング部2、特徴量ベクトル生成部3、閾値決定部4、データ区別部5、モデル生成部6、特徴量削減部7及び予測部8を備える。
【００１２】
図１にて、繰り返し部20として示されている各部2〜7は、図示するようなループ構造の処理の流れで各データの入出力を行うことにより、繰り返し処理を行う。当該繰り返し処理にて生成されるデータの詳細は図９を参照して後述するが、繰り返し処理の各回における各部2〜7の処理内容は共通であり、各部2〜7においてはループ処理の各I回目(I=1,2, …, N：ここでNはループ処理回数)の入力を各部の前段側より受け取り、I回目の出力を各部の後段部へと出力する。
【００１３】
以下、図１の各部の処理の詳細を説明するが、上記のようにカウンタ変数Iを用いることでループ処理の各回を各I回(I=1,2, …, N)として説明することとする。
【００１４】
文書化部1では、選別装置10（のクラスタリング部2）によるクラスタリング（及び当該クラスタリングの結果に基づく予測）のための入力データとしての全医療データを読み込み、当該全データを構成する各対象者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」とすることができる。レセプトデータ等における処方された薬剤名などの単語ibについても同様に当該単語が存在するか否かで「1」または「0」とすることができる。また、同単語ibが問診データ等に複数回現れている場合は現れた回数分の要素の値としてもよいし、以下に説明する数値評価項目等の場合と同様に当該現れた回数に所定関数を適用した値を要素の値としてもよい。
【００１９】
また、健康診断データにおける体重や血液検査の結果等、数値で評価される項目については当該項目に応じた所定の単語を用意しておき、評価数値に応じた所定規則（所定関数等）により当該単語の頻度を算出してベクトルD(X,n)の要素の値とすることができる。このような評価数値から単語頻度への変換に関しては、本出願人による特開２０１５−３２０１３号公報（発明の名称：数値データ解析装置及びプログラム）、特願２０１３−１６３２０７号（数値データ解析装置及びプログラム）、特願２０１３−２１７８１７号（数値データ解析装置及びプログラム）を利用してもよい。
【００２０】
なお、上記のような数値（量的データ）の場合の他、質的データ（例えば、問診票等に記載された喫煙習慣の有無など）の場合も、同様に所定規則により対応する単語の頻度へと変換し、ベクトルD(X,n)の要素の値とすることができる。
【００２１】
以上のように、単語i1, i2, …, imの各々は、入力される医療データにおける健康状態の評価項目（直接的に評価するもののみではなく、レセプトデータにおける薬剤名のように健康状態を間接的に反映する項目も含む）の各々に対応する単語であり、対象者Xのn歳における当該評価結果に対して所定規則（単語i1, i2, …, imの各々に個別規則を用意しておくことができる）を適用することで、文書化部1では文書ベクトルD(X, n)を生成する。
【００２２】
図２に、文書化部1に入力される全医療データの模式的な例を示す。当該例に示すように、入力としての全医療データには欠損があることが想定されている。ここで、医療費等の予想モデル構築を精度よく実施するには、各対象者につき数十年等の長期間に渡るデータが存在していることが望まれるが、実際には図２の例のように、数年の短期間に渡るデータしか利用できないということが多い。
【００２３】
さらに、このように各対象者につき数年しか存在しないデータの内部においても、前述のように各対象者の健康状態が必ずしも十分には評価されていない状態として、欠損やノイズ等を含んで構成されていること等が想定される。以下説明するように、本発明によれば当該欠損やノイズ等を含む入力データより、医療費予測その他を高精度に実現可能なモデルとしてのクラスタリング結果を得るようにすることができる。
【００２４】
なお、図２の例では、例えばAさんに関しては40歳〜43歳のデータが存在しているので、文書化部1においてAさんの医療データよりD(A,40),D(A,41),D(A,42),D(D43)という4個のデータが出力されることとなる。Gさん、Dさんといったその他の対象者についても同様に医療データが存在する年代分のデータが出力されることとなる。
【００２５】
クラスタリング部2では、上記の文書化部1が出力する一連の対象者Xにおける一連の年代nのデータD(X,n)を対象としてクラスタリングを行い、クラスタリング結果を特徴量ベクトル生成部3へと出力する。当該クラスタリングする手法には、以下の非特許文献１等に開示の、潜在トピックモデルに基づくLDA(Latent Dirichlet allocation：潜在的ディリクレ配分法)等の、潜在トピック分析によるクラスタリングを用いることができる。
[非特許文献１] D. Blei, A. Ng, and M. Jordan. Latent Dirichlet allocation. Journal of Machine Learning Research,3:993-1022, January 2003.
【００２６】
ここで特に、共通の対象者Xであっても年代がn歳、m歳(m≠n)と異なるデータD(X,n),D(X,m)は、別データとしてクラスタリングが行われる。例えば、図２の例におけるAさんの4つの異なる年代におけるデータD(A,40),D(A,41),D(A,42),D(D43)は、4つの異なるデータとしてクラスタリング対象となる。なお、対象者がX及びYと異なるデータD(X, n),D(Y, m)（ここで年齢nと年齢mは同じでも異なっていてもよい）は当然、別データとしてクラスタリング対象となる。
【００２７】
また、図１に線L1として示しているように、クラスタリング部2では繰り返し処理の初回(I=1回目)においては、文書化部1が出力した一連の対象者Xにおける一連の年代nのデータD(X,n)の全てを入力としてクラスタリングを行う。
【００２８】
一方、図１中に線L2として示しているように、クラスタリング部2では繰り返し処理の2回目以降の各回(I≧2の各回)においては、後述する特徴量削減部7が出力したデータD(X,n)の全てを入力としてクラスタリングを行う。
【００２９】
詳細は図９等を参照して後述するように、特徴量削減部7の出力するデータD(X,n)は文書化部1が出力したのと同様に単語頻度ベクトルの形で構成されているが、その要素のうち削減対象となったものが要素から除外された形（すなわち、ベクトルの次元数が減った形）で構成されていると共に、当初に文書化部1が出力した全データの中からモデル生成部6でモデル生成に利用されたものが削除されて（すなわち、構成データ数が減少して）構成されている。
【００３０】
従って、クラスタリング部2では繰り返し処理の各I回目において同様の手法でクラスタリングを行い、その結果を特徴量ベクトル生成部3へと出力することとなるが、その際の入力データ（及びこれより得られる出力データ）が各I回で変化することとなる。繰り返し処理部20を構成する後段側の各部3〜7についても同様に、各I回の処理内容は共通であるが扱う入力データ（及びこれより得られる出力データ）が変化していくこととなる。
【００３１】
特徴量ベクトル生成部3は、繰り返し処理の各I回目においてそれぞれ、クラスタリング部2の出力したクラスタリング結果における各データD(X,n)のトピック比率に当該データD(X,n)に対応する文書の単語数を乗じたものを、各データD(X,n)の特徴量ベクトルとして生成し、閾値決定部4へと出力する。
【００３２】
ここで、特徴量ベクトル生成部3の上記処理の意味を説明するために、前提事項としてのクラスタリング部2の出力するクラスタリング結果の内容を説明する。すなわち、クラスタリング部2によるクラスタリング結果は、図３に示すような行列分解結果として得られている。
【００３３】
図３に示すように、LDA等の潜在トピック分析では分類対象の全データD（クラスタリング部2の各I回目の入力データD）は単語iの頻度ベクトルとして与えられている各文書u（本発明では文書化部1あるいは特徴量削減部7の出力する各データD(X,n)に相当）からなる。そして、当該全データDにクラスタリングを行った結果が、文書uとトピックkとの関係を表すθ行列とトピックkと単語iとの関係を表すΦ行列との行列としての積「D=θ×Φ」として得られ、クラスタリング部2では当該行列分解結果を出力する。
【００３４】
当該行列分解結果において、各トピックkが各クラスタに対応するものとすると、文書uのトピック比率を表すθ行列の各行は、各文書uのクラスタ所属確率と解釈できる。当該クラスタ所属確率は、各文書uにおける各トピックkのトピック比率であり、対応する元のデータD(X,n)の健康要因を表現したベクトルとなっている。従って例えば、各文書u(=各データD(X,n))は、その最大のトピック比率の値のトピックに対応するクラスタに所属しているものとして、クラスタリング結果を解釈することができる。
【００３５】
そして、特徴量ベクトル生成部3では、各データD(X,n)に対応している各文書uにおける各トピックkのトピック比率（図３のθ行列の各行のベクトル）に対して、元のデータD(X,n)の単語総数を乗ずることで、各データD(X,n)の特徴量ベクトルとする。以下、当該得られるD(X,n)に対応する特徴量ベクトルをθ(X,n)と表記する。（なお、図３のθ行列の各行ベクトルそのものではなく、各行ベクトルに対応する単語総数を乗じたものをθ(X,n)と表記することに注意されたい。）
【００３６】
ここで、特徴量ベクトルθ(X,n)を得るために乗ずる単語総数は、文書化部1が出力した直後の時点における各データD(X,n)の単語総数（繰り返し処理の回数Iには依存せず、各D(X,n)につき一定値となる単語総数）を用いればよい。すなわち、各データD(X,n)は前述のように健康状態を表す所定の複数m種類の単語i1, i2, …, imの頻度ベクトルとして構成されているので、当該頻度ベクトルの要素としての各単語i1, i2, …, imの出現回数の総和が単語総数であり、当該単語総数を乗ずることで特徴量ベクトルθ(X,n)を得ることができる。
【００３７】
なお、単語総数を乗ずることにより、次のような場合を適切に区別した特徴量ベクトルを生成することができる。例えば、Aさんのある年代nにおけるレセプトには「風邪」と「糖尿病」が2回ずつ発生しており、Bさんのある年代mにおけるレセプトには「風邪」と「糖尿病」が50回ずつ発生している際に、Bさんの方が重症と考えられるが、トピック比率（≠単語）としては「風邪に関連するトピック比率」及び「糖尿病に関連するトピック比率」でAさん（年代n）とBさん（年代m）との間に大差がないといった場合がありうる。ここで、単語総数を乗ずることで、Bさんの方が重症であることが適切に表現された特徴量ベクトルを生成することができる。
【００３８】
閾値決定部4は、繰り返し処理の各I回目においてそれぞれ、特徴量ベクトル生成部3の出力した各データD(X,n)に対応する特徴量ベクトルθ(X,n)の各要素に対して、特徴量として「意味をなす」閾値を求め、当該求めた閾値をデータ区別部5へと出力する。
【００３９】
ここで、特徴量として当該「意味をなす」閾値とは、特徴量ベクトルθ(X,n)の各要素（ベクトル成分としての各要素であり、図３で説明したように各トピックに対応する）について、その値が各要素ごとに求められた閾値以上である場合に、後述するモデル生成部6で予測を行う際の精度達成に寄与すると考えられるような閾値である。逆に、各要素につきその値が当該閾値未満であるような場合には、当該要素の値はモデル生成部6で予測を行う際の精度達成には寄与しないと考えられる。
【００４０】
ここで、次のように各種の量の表記を定める。特徴量ベクトルθ(X,n)の各要素に対応するトピックをk1, k2, …, kMとする。すなわち、Mはトピック数であり、ベクトルθ(X,n)の要素数（すなわち、サイズあるいは次元）であって、繰り返し処理のI回目ごとに後述の特徴量削減部7の処理により減っていく値となるが、表記が煩雑となるためMのI依存性は明示しない。また、特徴量ベクトルθ(X,n)におけるj番目(j=1,2, …, M)のトピックkjに対応する要素の値（すなわち、特徴量ベクトルθ(X,n)のj番目の要素の値）をθ(X,n)[j]と表記する。また、トピックkjに対応する要素に対して閾値決定部4が求める閾値をTH[kj]と表記する。
【００４１】
閾値決定部4では、具体的には次のようにして、各トピックkjの要素に対する閾値TH[kj]を計算することができる。すなわち、各トピックkjの要素において、実際に閾値THを0から1まで（変数として）少しずつ増やしながら（変数の各値としての）閾値THの「良さ」を計算し、最適と判断された際のTHを求めた結果としての閾値TH[kj]とする。ここで、THを0から1まで少しずつ増やす（スイープする）際は、所定ステップの値で実施すればよい。例えば、TH=0, 0.2, 0.4, 0.6, 0.8のように、増分0.2で5ステップのスイープを行うようにすればよい。
【００４２】
なお、ここで、上記のようにスイープ変数THを「0から1まで」スイープするとは、トピックkjにおける一連の要素の値θ(X,n)[j]がとりうる範囲の長さを「1」として規格化したうえでの「0（最小）から1（最大）まで」を意味しているものとし、以下の説明（図５，６等の説明を含む）においても同様とする。すなわち、実際にスイープする範囲は要素の最小値min{θ(X,n)[j]}から最大値max{θ(X,n)[j]}までの間の範囲（あるいはこれを包含する所定範囲）であるが、説明の簡素化のために当該範囲を0から1までの範囲に規格化したものとして、0から1までの間でスイープを行うものとして説明する。従って、求まった最適値としての閾値TH[kj]は、規格化をいわば「解除」した実際の値としてデータ区別部5に出力されるものとする。例えば最適値としての閾値TH[kj]がx（0≦x≦1の範囲にある規格化値）として求まった場合であって、当該規格化された区間が上記の最小値から最大値の範囲に対応している場合、実際の値としては以下の値がデータ区別部5に出力される。
(1-x)*min{θ(X,n)[j]}+x*max{θ(X,n)[j]}
【００４３】
また、ここで、上記のTHの「良さ」については、後述の予測部8で予測する対象の予測を実際に行う際の「良さ」、すなわち予測精度を推定するものとして、THによって選別されたデータの予測のしやすさを定量化することによって計算すればよい。具体的には、閾値THの「良さ」を、変数としてスイープさせる閾値THの各値につき、以下の[手順1]〜[手順3]のように計算すればよい。ここで、予測部8において特徴量ベクトルθ(X,n)を入力として予測する（すなわち予測結果として出力する）対象の値をP(X,n)と表記する。
【００４４】
なお、以下の[手順1]〜[手順3]によれば、閾値THの「良さ」は、THで選別されたデータは予測しやすいが、当該データ以外の同THで選別されなかったデータは予測しにくい、という傾向の強さという形で計算されることとなる。
【００４５】
[手順1] 当該トピックの要素kjに対する閾値THにより、実際に全データθ(X,n)（繰り返し処理の当該I回目の時点において特徴量ベクトル生成部3から出力されてきた全データθ(X,n)）を分類し、要素kjについての値θ(X,n)[j]が当該閾値TH以上となっているような第一データ群と、当該閾値TH未満となっている第二データ群とに分ける。
【００４６】
[手順2] 上記の[手順1]にて閾値TH以上／未満として分類された第一データθ(X,n)群及び第二データθ(X,n)群のそれぞれにおいて、予測部8で予測する対象の値P(X,n)を目的変数として、単回帰を行う。
【００４７】
ここで、当該単回帰は対象としているトピックの要素kjについての値θ(X,n)[j]を説明変数とする。すなわち、以下の式(1)の１次式で与えられる、単回帰における傾きをaと切片をbとを、分類された第一データ群及び第二データ群のそれぞれにおいて決定する。当該決定は単回帰において周知のように最小二乗法などで決定することができる。
P(X,n)=aθ(X,n)[j]+b    …(1)
【００４８】
なお、予測する対象の値P(X,n)については、各データθ(X,n)に対して事前に既知のものとして（いわゆる教師データとして）、文書化部1が出力するデータD(X,n)に紐付ける形で与えておくものとする。
【００４９】
[手順3]、上記[手順2]にて求めた単回帰モデル「Y=aX+b」（Xは説明変数、Yは目的変数）による予測が的中しているデータと的中していないデータとを第一データ群及び第二データ群のそれぞれにおいてカウントすることにより、図４に示すような2×2のクロス集計表を作成し、当該クロス集計表におけるAIC値（赤池情報量基準の値）を、トピックの要素kjに対する閾値THの「良さ」を定量化したものAIC(kj,TH)として算出する。
【００５０】
ここで、求めた単回帰モデル「Y=aX+b」が的中しているか否かは、各データθ(X,n)[j]に式(1)を適用して求めた予測値「aθ(X,n)[j]+b」と実際の値「P(X,n)」とを比較し、その差の絶対値「| P(X,n)-( aθ(X,n)[j]+b)|」が判定用の所定の閾値以内であれば予測が的中していると判断し、当該差の絶対値が当該閾値を超えていれば予測が的中していないと判断することができる。
【００５１】
なお、AIC値として算出されるTHの「良さ」AIC(kj,TH)は、その値が小さいほど閾値THが「良い」という意味合いを有する。従って、以下の式(2)のように、スイープ変数THにつきそれぞれ算出される値AIC(kj,TH)を最小とするようなTHを、最適な閾値TH[kj]として決定することができる。
【００５２】
【数１】
0006474132.tif 000002
【００５３】
なお、図４のクロス集計表からAIC値としてのAIC(kj,TH)を算出する具体的な手法については、後述する。当該後述する手法により、AIC(kj,TH)を「従属モデルのAIC値」から「独立モデルのAIC値」を引いたものとして求め、当該求めた値が最小となるようなもの（あるいは、当該求めた値が「-2」以下となるうちの任意のもの）におけるTHを最適値として決定することができる。
【００５４】
図５は、以上の[手順1]〜[手順3]によりスイープ変数としての閾値THのそれぞれの値につき、単回帰を行う対象のデータを閾値THによって選別し、説明変数θ(X,n)[j]を横軸に、目的変数P(X,n)を縦軸にプロットした例を、第一データ群に関して示す図である。ここで、目的変数P(X,n)は翌年の医療費である場合を例とする。すなわち、データθ(X,n)は対象者Xのn歳時点のデータである際に、同対象者Xのn+1歳時点で要する医療費をP(X,n)として設定した場合を例とする。
【００５５】
図５では、TH=0, 0.2, 0.4, 0.6, 0.8のように、増分0.2で5ステップのスイープを行った場合に選別されたデータのプロットが[1]〜[5]としてそれぞれ示されており、閾値を上げるにつれて単回帰のあてはまりが良くなってくる様子を見て取ることができる。
【００５６】
ただし、算出されるAIC値に関しては、THの増分に伴って単調減少から単調増加に転じるという振る舞いを見せ、当該単回帰のあてはまりが良くなってくる途中において最小値を取ることとなり、例えば図５では[3]に示す閾値TH=0.4で最小値を取ることとなる。（なお、閾値THのステップ幅や具体的なデータ分布によっては、閾値THを上げるとAIC値が単調増加する場合や、単調減少する場合もありうる。また、当該単調増加・減少といった振る舞いはノイズ的な変動を除外した際の振る舞いである。）
【００５７】
なお、図５では第一データ群しか示していないが、閾値THにより分けられた残りのデータである第二データ群に関しても、スイープ変数THの各値につき同様にそれぞれ、単回帰の対象となる。例えば、図５の[1]の場合では、第二データ群は空集合となり、この場合、単回帰はできないが、図４のクロス集計表の2つの要素値をそれぞれ0としてAIC値を求めればよい。
【００５８】
図６に、図５の[1]に示されるデータを全データとした際の、閾値THの設定により第一データ群と第二データ群を切り分ける模式的な例（それぞれについて単回帰を行う旨の説明が付与されている）を示す。
【００５９】
図７に、図５の[2]のデータ（第一データ群）に対して実施した単回帰の模式的な例と、これにより前述の[手順3]で予測の的中／不的中をカウントする対象データの存在領域の模式的な例と、を示す。図７にて直線L0が当該データで求めた回帰直線であり、グラフ上で縦方向に所定値だけ下がった下限の直線L0[下]と、同所定値だけ上がった上限の直線L0[上]と、の間の領域にあるデータは、予測が的中したデータと判定され、当該領域の外部にあるデータは、予測が的中しなかったデータと判定される。
【００６０】
以上、閾値決定部4では、特徴量ベクトルの各トピックkjに対応する各要素につき、その値以上であれば予測性能を確保できると判定される閾値TH[kj]を求め、結果をデータ区別部5に出力する。
【００６１】
なお、閾値決定部4では上記のような手順で求めた閾値TH[kj]に対してさらに、当該閾値TH[kj]が妥当なものであるかの確認を行ったうで、結果をデータ区別部5へと出力するようにしてもよい。具体的には、上記手順で求まった閾値TH[kj]において定まる、上記手順の[手順1]における第一データ群（閾値以上であり、予測性能が確保されていると判定されるデータ群）に対して統計分野において周知である無相関検定を実施し、検定をパスすることを確認したうえで、当該パスした結果をデータ区別部5へと出力するようにしてもよい。
【００６２】
なお、上記の無相関検定を実施した結果、検定をパスしなかった場合には、当該パスしなかった閾値TH[kj]より小さな値の閾値のもとでのおける第一データ群につき順次、無相関検定を実施し、検定をパスした中で値が最大となる閾値THを、データ区別部5へ結果として出力すればよい。小さな値の閾値は、上記手順でスイープする変数として所定ステップ幅で変動させた際のと同様のものから選択するようにすればよい。
【００６３】
データ区別部5では、繰り返し処理の各I回においてそれぞれ、閾値決定部4より得られた閾値TH[kj]により、当該I回目の処理対象となっているデータ（特徴量ベクトル生成部3が出力した特徴量ベクトルθ(X,n)の全部）を、予測可能群と予測不可能群とに分類して区別し、当該区別した結果をモデル生成部6及び特徴量削減部7へと出力する。
【００６４】
具体的には、各データθ(X,n)に関して、トピックkjごとに対応する要素の値θ(X,n)[j]を閾値TH[kj]と比較し、要素の値が当該閾値以上となる、すなわち、「θ(X,n)[j]≧TH[kj]」となるような要素が少なくとも１個は存在しているようなデータθ(X,n)は、予測可能群に属するものと判断する。一方、当該判断不能な場合、すなわち、全てのトピックkjに対応する要素の値θ(X,n)[j]が閾値TH[kj]未満である、すなわち全ての要素につき「θ(X,n)[j]<TH[kj]」であるようなデータθ(X,n)は、予測不可能群に属するものとして判断する。
【００６５】
例えば、トピックが3種類(k1,k2,k3)であり（すなわちデータθ(X,n)が３次元であり）、対応する閾値が(10,20,30)である場合に、データ(11,9,5)は３要素のうち少なくとも第一要素における値11が閾値10以上となっているので、予測可能群に属するものと判断され、データ(1, 2, 3)は全要素の値が対応する閾値未満であるので、予測不可能群に属するものと判断される。
【００６６】
モデル生成部6では、繰り返し処理の各I回においてそれぞれ、データ区別部5が出力した予測可能群のデータを入力として、健康状態その他の予測をするためのモデルを生成して予測部8へと出力する。
【００６７】
ここで、最も簡素な実施形態としては、データ区別部5が出力した予測可能群のデータθ(X,n)全体をそのまま、予測部8（あるいはデータ分析を実施するユーザ）へと出力するようことができる。ここで、予測可能群のデータθ(X,n)は、後述する特徴量削減部7によって、繰り返し処理の各I回ごとにその構成要素が削減されたデータとして構成されている。（なお、繰り返し処理の初回においては、特徴量削減部7の処理を経ないため文書化部1が出力した際の全要素で構成されたデータとなる。）
【００６８】
当該予測可能群のデータは、前述の課題で述べたような欠損やノイズ等が自動的に除外されたものとして構成されることとなるので、種々の予測を実施する際の元データとして利用することができる。
【００６９】
一方、一実施形態では、モデル生成部6では予測部8で行う具体的な予測方式に整合させた形で、予測可能群から具体的な予測モデルを生成したうえで、予測部8へと出力することもできる。すなわち、データθ(X,n)を入力として、当該n歳の対象者Xの翌年（n+1歳の時点）の医療費といったような所定種類の予測値P(X,n)を出力するためのモデル式を求めて、予測部8へと出力するようにしてもよい。
【００７０】
ここで、モデル式の構築については、入力データθ(X,n)（すなわち、文書化部1に入力された各データのうち繰り返し処理の当該I回目において予測可能群と判定されたデータ）に対して予め、出力データP(X,n)を教師データとして与えておき、SVR（サポートベクトル回帰）などの回帰計算の式として構築することができる。
【００７１】
特徴量削減部7では、繰り返し処理の各I回においてそれぞれ、データ区別部5が出力した予測不可能群に属するデータθ(X,n)（に対応する元の単語頻度ベクトルD(X,n)）を、繰り返し処理の次の回であるI+1回目の入力としてクラスタリング部2へと出力する。この際、特徴量削減部7では単語頻度ベクトルD(X,n)のうち、ノイズとなり、予測性能に寄与しないと考えられるような単語iを特定し、当該特定された単語iは削除することでベクトル次元数を減らした形で、I回目の予測不可能群の各ベクトルD(X,n)をI+1回目の処理対象としてクラスタリング部2へと出力する。
【００７２】
ここで、予測性能に寄与しないような単語iについては、図８に示すようなクロス集計表を作成し、（閾値決定部4において図４のクロス集計表を用いて計算したのと同様に、）そのAIC値を計算することにより、後述するような従属モデルが良いと判定されるような単語iを予測性能に寄与するものと判定して残すようにし、当該判定されなかったような単語iを削除対象とする。
【００７３】
すなわち、従属モデルが良いと判定されるような単語iについては、予測可能群における当該単語iの分布と予測不可能群における当該単語iの分布とに有意差がある（相違がある）と判定されるような単語であるため、継続するI+1回目以降の繰り返し処理において、さらに解析対象とされる予測不可能群(現I回目で区別された予測不可能群)を予測する能力を持っている可能性があるものとして、残す対象とする。逆に、当該判定されないような単語iについては、予測可能群における分布と予測不可能群における分布とに相違がないと判定される単語であるため、上記のようにさらに解析を行うに際しても予測能力がない（従って、クラスタリング等で解析する際のノイズとなってしまう可能性がある）ものとして、削除対象とする。（なお、単語を残す／削除する例として図９を後述する。）なお、図８のクロス集計表のカウントを行うに際して、各単語iが存在するかしないかは、元の単語頻度ベクトルD(X,n)において当該単語iの頻度が閾値以上であれば存在し、閾値未満であれば存在しないものとして判断すればよい。閾値は単語iごとに事前に定義しておいたものを用いればよい。
【００７４】
予測部8では、モデル生成部6が繰り返し処理の各I回目において出力した予測モデル式をそれぞれ保持しておき、ユーザ指示を受け取って当該予測モデルを適用した予測結果をユーザへと出力する。ユーザ指示としては、各I回の予測モデルのうちどれを利用するかの指示と、予測対象データと、を与えることで、予測部8は当該予測対象データに対する予測結果を出力することができる。
【００７５】
なお、予測対象データは当該I回目の予測モデルをモデル生成部6で構築した際の特徴量ベクトルθ(X,n)と同様の要素で構成されるものとして、ユーザ側で用意しておいたうえで与える。これにより、予測部8ではモデル生成部6が出力した予測式（関数fとする）を適用して、f(θ(X,n))として予測値P(X,n)を出力することができる。
【００７６】
以上、図１の各部1〜8をそれぞれ説明した。ここで、図９を参照して、図１の繰り返し処理部20による繰り返し処理で得られるデータについて説明する。
【００７７】
図９では、[0]に、文書化部1の出力する全データDが示されると共に、ベン図の形式により、当該全データDのうち繰り返し処理の1回目で予測可能群と判定されるデータD1（白色領域として表記）と、繰り返し処理の2回目で予測可能群と判定されるデータD2（縦縞領域として表記）と、繰り返し処理の3回目で予測可能群と判定されるデータD3（横縞領域として表記）と、が示されている。図示するように、当該例においては繰り返し処理を3回行うことにより、全データDが各回に分けて予想可能群として判定され、D=D1∪D2∪D3の関係がある。
【００７８】
そして、繰り返し処理の1〜3回目の各回で得られる結果が、欄[1]〜[3]にそれぞれ示されている。[1]に示すように、当初の全データDは6単語要素の単語頻度ベクトルとして構成されているものとし、繰り返し処理の1回目では、当該全6単語(i1, i2, i3, i4, i5, i6)で単語頻度ベクトルを構成し、全データDを入力としてクラスタリング部2以降の処理が行われ、結果としてデータD1が予測可能群と判定され、D1に基づいた予測モデルが生成される。また、特徴量削減部7にて2単語(i1, i2)を要素から削除する。
【００７９】
[2]に示すように、繰り返し処理の2回目では、削除されずに残った4単語(i3, i4, i5, i6)で単語頻度ベクトルを構成し、1回目の処理で予測不可能群と判定されたデータD＼D1を入力としてクラスタリング部2以降の処理が行われ、結果としてデータD2が予測可能群と判定され、D2に基づいた予測モデルが生成される。また、特徴量削減部7にて2単語(i3, i4)を要素から削除する。
【００８０】
なお、数学記号として周知のように「＼」は集合演算において「除く」を意味し、上記ではデータD＼D1とは、データDからデータD1を除いた残りのデータを意味する。
【００８１】
最後に、[3]に示すように3回目の処理では、削除されずに残った2単語(i5, i6)で単語頻度ベクトルを構成し、2回目の処理で予測不可能群と判定されたデータD＼(D1∪D2)＝D3を入力としてクラスタリング部2以降の処理が行われ、結果としてデータD3の全体が予測可能群と判定され、D3に基づいた予測モデルが生成される。
【００８２】
なお、図３では繰り返し処理を３回行うことによって全データがそれぞれ予測可能群と判定されそれぞれの予測モデルが生成された例が示されているが、繰り返し処理の回数はユーザ指定により与えておいて、当該回数に到達した時点で繰り返し処理を打ち切るようにしてもよい。また、打ち切るための回数を事前に与えず、所定の打ち切り条件が満たされた時点で繰り返し処理を終了するようにしてもよい。例えば、データ区別部5において当該I回目の時点で区別したデータの全てが予測可能群となった、あるいは予測不可能群となった際に打ち切るようにしてもよいし、I回目の時点で予測不可能群と判定されたデータの個数あるいは次元数が閾値以下となった際に打ち切るようにしてもよい。
【００８３】
以上、本発明によれば、図９に例示したように、最終的に特徴量とその特徴量から予測可能な集団とが複数特定されることになるため、当該特徴量を使用してSVR等を利用すれば予測精度が向上する。この際、これらの特徴量以外の特徴量を補助情報として用いても良い。
【００８４】
すなわち、本発明では、トピックモデル特に、潜在トピック分析（Latent dirichlet allocation:LDA）を用いてデータの潜在トピックを明らかにし、当該トピックを特徴量として医療費を予測する。その際に、一般的な診療明細等の医療データから生成したトピックは、必ずノイズを含む。例えば特定の薬剤は複数の疾病に用いられることもあるし、糖尿病患者でも健康な人でも風邪にかかることがありうる。そこで、得られたトピック値に特定のカットオフ基準を設け、スムージングをすることで一定以上の予測力を持つ特徴量のみを持つ対象者を特定する。次に予測に使えない特徴量しか持ち得ない対象者を分離し、特徴量を選択して再度トピック分類を行う。この手順を繰り返すことで、予測が難しい群の医療費予測を、重要な特徴量のみで予測することが可能になり、予測精度の向上が可能である。
【００８５】
以下、本発明における補足的事項を説明する。
【００８６】
（１）図４や図８のクロス集計表からAIC値を算出することについて
【００８７】
図１０は、図４や図８のクロス集計表を一般化した表である。すなわち、図１０の集計数nijは図８、図９等と共通のものを一般の場合として示しており、何らかの基準に該当するか否かを縦軸（行要素）として、クラスタ等の分類結果を横軸（列要素）として、構成されている。なお、図１０ではサイズが2×mと一般化されているが、m=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値を引いた差の値として、求める。
【００９１】
【数２】
0006474132.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]として示した従属モデルにおける算出を説明するための、図１０のクロス集計表に対応する従属モデルにおける確率の表である。当該表に示されている確率により、以下のように算出がなされる。
【００９５】
まず、従属モデルの確率変数は以下の通りである。
【００９６】
【数３】
0006474132.tif 000004
【００９７】
一方、図１３に示された2m個の全てが自由に動かせるわけではなく、以下の制約がある。
【００９８】
【数４】
0006474132.tif 000005
【００９９】
従って、従属モデルの自由度は2m-1であり、AICの定義（AIC＝-2×MLL+2×自由度）より、[式1]の2*(2m-1)の項が得られる。さらに、上記確率変数より対数尤度LLを計算すると、以下のようになる。
【０１００】
【数５】
0006474132.tif 000006
【０１０１】
上記対数尤度LLを最大にするときの条件は以下である。
【０１０２】
【数６】
0006474132.tif 000007
【０１０３】
上記最大とする条件より、以下が得られる。
【０１０４】
【数７】
0006474132.tif 000008
【０１０５】
上記と同様にして、さらに
【０１０６】
【数８】
0006474132.tif 000009
【０１０７】
等が得られる。そこで、
【０１０８】
【数９】
0006474132.tif 000010
【０１０９】
とすると、
【０１１０】
【数１０】
0006474132.tif 000011
【０１１１】
等となるので、それぞれを足すと、
【０１１２】
【数１１】
0006474132.tif 000012
【０１１３】
となるから、以下の場合が最尤推定となる。
【０１１４】
【数１２】
0006474132.tif 000013
【０１１５】
従って、上記の値をLLに代入することで、その最大値として前述の[式1-2]が得られる。
【０１１６】
図１２は、[式2]及び[式2-2]として示した独立モデルにおける算出を説明するための、図１０のクロス集計表に対応する従属モデルにおける確率の表である。当該表に示されている確率により、以下のように算出がなされる。
【０１１７】
まず、図１０の周辺度数kmと、対応する図１２の周辺確率qmと、において、以下のような制約がある。
【０１１８】
【数１３】
0006474132.tif 000014
【０１１９】
従って、自由に動かせるのはq1〜qm-1とpとであるから、パラメータの自由度は(m-1)+1=mであって、AIC算出の定義より、[式2]の2×mの項が得られる。また、独立モデルの確率変数は以下の通りとなる。
【０１２０】
【数１４】
0006474132.tif 000015
【０１２１】
従って、その対数尤度LLは以下の通りとなる。
【０１２２】
【数１５】
0006474132.tif 000016
【０１２３】
対数尤度の最大値を与える条件を求めるべく、これをp、q1・・・で偏微分してゼロに等しいとすることにより、以下等の一連の計算ができる。
【０１２４】
【数１６】
0006474132.tif 000017
【０１２５】
従って、
【０１２６】
【数１７】
0006474132.tif 000018
【０１２７】
となり、また、
【０１２８】
【数１８】
0006474132.tif 000019
【０１２９】
とすると、
【０１３０】
【数１９】
0006474132.tif 000020
【０１３１】
等となるので、それぞれ足して、
【０１３２】
【数２０】
0006474132.tif 000021
【０１３３】
となり、
【０１３４】
【数２１】
0006474132.tif 000022
【０１３５】
となるから、最大尤度は
【０１３６】
【数２２】
0006474132.tif 000023
【０１３７】
等において得られることとなる。従って、上記の値をLLに代入することで、最大値としての[式2-2]が得られる。
【０１３８】
（２）文書化部1では、入力される健診データその他の医療データを、各対象者Xの各年代nにおける健康状態に対応するバグオブワードとしてのデータD(X,n)に変換するものとして説明したが、入力されるデータが予め当該バグオブワードの形式に変換されている場合、文書化部1は省略されてもよい。
【０１３９】
（３）文書化部1では、各対象者Xの各年代n（年齢n）における文書化された医療データD(X, n)を生成するものとし、当該年代nは1年毎に与えられているものとして以降の説明を行ったが、1年に限らず、任意の長さの所定期間（２年あるいは半年など）ごとの年代nで区切ってデータD(X,n)を生成してもよい。
【０１４０】
（４）本発明は、コンピュータを選別装置10の各部1〜8の全て又はその任意の一部分として機能させるプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが選別装置10の各部の機能に対応する命令を実行することとなる。
【符号の説明】
【０１４１】
10…選別装置、1…文書化部、2…クラスタリング部、3…特徴量ベクトル生成部、4…閾値決定部、5…データ区別部、6…モデル生成部、7…特徴量削減部、8…予測部
【図１】
0006474132.tif 000024
【図２】
0006474132.tif 000025
【図３】
0006474132.tif 000026
【図４】
0006474132.tif 000027
【図５】
0006474132.tif 000028
【図６】
0006474132.tif 000029
【図７】
0006474132.tif 000030
【図８】
0006474132.tif 000031
【図９】
0006474132.tif 000032
【図１０】
0006474132.tif 000033
【図１１】
0006474132.tif 000034
【図１２】
0006474132.tif 000035