異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システム
【構成】 異常頻度推定装置12は、CPU12aを含み、CPU12aは、すべてのクライアントについての過去の検査値に基づいて、検査対象の各検査項目の検査値の所定回数分の平均値を算出するとともに、推定対象の各検査項目の所定回数における異常頻度を算出する。そして、CPUは、ベイズ推定に基づく手法により、算出した平均値と異常頻度の関係に基づく尤度関数を用いて、検査対象の各検査項目の今回の検査値を含む所定回数分の平均値から、今回を含む所定回数における各推定対象の検査項目の検査結果についての異常頻度を推定する。
【効果】 過去の検査値から得た平均値と異常頻度の関係を用いて異常頻度を推定するので、1対多の関係に基づいて異常頻度を比較的正確に推定することができる。
【効果】 過去の検査値から得た平均値と異常頻度の関係を用いて異常頻度を推定するので、1対多の関係に基づいて異常頻度を比較的正確に推定することができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムに関し、特にたとえば、臨床検査における検査項目の検査結果が異常を示す頻度(異常頻度)を推定する、異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムに関する。
【背景技術】
【0002】
この種の従来の異常頻度推定装置の一例が特許文献1に開示されている。この特許文献1に開示される臨床検査データ解析表示装置では、予め格納していた検査データと正常と判断させる範囲の上限・下限よりなる基準値とを基に、クライアントの検査データから健康度を判断して表示するインタラクティブインタフェースを用いて、臨床検査データの検査項目間の隠れた関係を抽出する。この関係抽出では、各検査項目における異常回数に注目する。そのため、インタラクティブインタフェースの特徴抽出部に関係行列算出部を付加するとともに、表示制御装置と表示装置の間の表示インタフェースに関係行列表示インタフェースを追加する。これにより、或る検査項目値から他の検査項目値を推定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−22857号[G06Q 50/00, G06F 17/30, A61B 5/00]
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の臨床検査データ解析表示装置では、たとえば、検査項目{A1,A2,A3,…}の検査値の平均値と検査項目Bの検査結果の異常回数との関係が線形であると仮定して、A群の検査項目の検査値の平均値から検査項目Bの検査結果の異常回数を線形近似(推定)するため、そのような関係を有していない場合には、異常回数(異常頻度)を正しく推定することができない。
【0005】
それゆえに、この発明の主たる目的は、新規な、異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムを提供することである。
【0006】
また、この発明の他の目的は、推定精度を向上させることができる、異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムを提供することである。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0008】
第1の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する異常頻度算出手段、第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、異常頻度算出手段によって算出された第2検査項目の異常頻度との関係を抽出する抽出手段、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および抽出手段によって抽出された関係を用いて、第2平均値算出手段によって算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定装置である。
【0009】
第1の発明では、異常頻度推定装置(12)は、データベース(14)を備える。データベースは、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録している。第1平均値算出手段(12a、S15)は、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する。異常頻度算出手段(12a、S15)は、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する。抽出手段(12a、S21)は、第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、異常頻度算出手段によって算出された第2検査項目の異常頻度との関係を抽出する。第2平均値算出手段(12a、S19)は、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する。異常頻度推定手段(12a、S27)は、抽出手段によって抽出された関係を用いて、第2平均値算出手段によって算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する。
【0010】
第1の発明によれば、過去の全検査値のうち、一部の複数の第1検査項目の検査値の各々についての所定検査回数分の平均値と、第1検査項目以外の第2検査項目の所定回数における異常頻度との関係を抽出し、この関係を用いて、今回の検査値を含む複数の第1検査項目の検査値の各々についての所定回数分の平均値から今回を含む所定回数における第2検査項目の異常頻度を推定するので、推定する第2検査項目と第1検査項目との関係を仮定する必要がなく、推定精度を向上させることができる。
【0011】
第2の発明は、第1の発明に従属し、異常頻度は、所定検査回数の臨床検査において異常であることが判断された回数である。
【0012】
第2の発明では、異常頻度は、各検査項目について、たとえば連続する所定検査回数の臨床検査において異常であることが判断された回数である。
【0013】
第2の発明によれば、複数回の臨床検査の検査値に基づいて、異常頻度を推定するので、季節変動、睡眠時間、食事からの時間などの様々な要因による影響をなるべく受けずに、異常頻度を比較的正確に推定することができる。
【0014】
第3の発明は、第1または第2の発明に従属し、異常頻度推定手段によって推定された第2検査項目の異常頻度と前回以前の当該第2検査項目の検査値とに基づいて、今回の当該第2検査項目の検査結果の正常または異常を推定する検査結果推定手段をさらに備える。
【0015】
第3の発明では、異常頻度推定装置は、検査結果推定手段(12a、S29)をさらに備える。この検査結果推定手段は、異常頻度推定手段によって推定された第2検査項目の異常頻度と前回以前の当該第2検査項目の検査値とに基づいて、今回の当該第2検査項目の検査結果の正常または異常を推定(判断)する。
【0016】
第3の発明によれば、第2検査項目についての検査結果が異常であると推定された場合には、当該第2検査項目について臨床検査を行わせることができるので、病気や未病の状態を見逃すリスクを可及的少なくすることができる。
【0017】
第4の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定プログラムであって、異常頻度推定装置のプロセッサに、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出ステップ、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する異常頻度算出ステップ、第1平均値算出ステップにおいて算出された各平均値を要素とする平均値ベクトルと、異常頻度算出ステップにおいて算出された第2検査項目の異常頻度との関係を抽出する抽出ステップ、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する第2平均値算出ステップ、および抽出ステップにおいて抽出された関係を用いて、第2平均値算出ステップにおいて算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する異常頻度推定ステップを実行させる、異常頻度推定プログラムである。
【0018】
第5の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定方法であって、異常頻度推定装置のプロセッサは、(a)データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出し、(b)前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出し、(c)ステップ(a)において算出された各平均値を要素とする平均値ベクトルと、ステップ(b)において算出された第2検査項目の異常頻度との関係を抽出し、(d)選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出し、そして(e)ステップ(c)において抽出された関係を用いて、ステップ(d)において算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する、異常頻度推定方法である。
【0019】
第6の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する異常頻度算出手段、第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、異常頻度算出手段によって算出された第2検査項目の異常頻度との関係を抽出する抽出手段、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および抽出手段によって抽出された関係を用いて、第2平均値算出手段によって算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定システムである。
【0020】
第4ないし第6の発明においても、第1の発明と同様に、推定精度を向上させることができる。
【発明の効果】
【0021】
この発明によれば、過去の全検査値のうち、一部の複数の第1検査項目の検査値の各々についての所定検査回数分の平均値と、第1検査項目以外の第2検査項目の所定回数における異常頻度との関係を抽出し、この関係を用いて、今回の検査値を含む複数の第1検査項目の検査値の各々についての所定回数分の平均値から今回を含む所定回数における第2検査項目の異常頻度を推定するので、推定する第2検査項目と第1検査項目との関係を仮定する必要がなく、推定精度を向上させることができる。
【0022】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0023】
【図1】図1はこの発明の異常頻度推定システムの一例を示す図解図である。
【図2】図2は図1に示す検査データベースの内容の一例を示す図解図である。
【図3】図3は図1および図2に示す検査データベースの具体的な内容を示す図解図である。
【図4】図4は検査値の正規分布と基準値とを示す図解図である。
【図5】図5は基準値の一例を示す図解図である。
【図6】図6は検査値の変化の一例およびその異常頻度を示す図解図である。
【図7】図7は実数値でない検査結果を実数値に変換するための変換表の一例を示す図解図である。
【図8】図8は尤度関数の求め方を説明するための図解図である。
【図9】図9は前2回の検査結果と異常頻度の推定結果とから、推定した検査項目の検査結果の正常、異常を推定するための対応表を示す図解図である。
【図10】図10は図1の異常頻度推定装置内のRAMのメモリマップの一例を示す図解図である。
【図11】図11は図1の異常頻度推定装置内のCPUの異常頻度の推定および検査結果の推定処理を示すフロー図である。
【図12】図12は実際の臨床検査および異常頻度の推定の流れを説明するための図解図である。
【図13】図13は主要な項目区分の費用を示す図解図である。
【図14】図14は、検査項目を常に一定とした場合において、検査をした項目数、正解項目数、および不正解項目数を男女別に示した結果のグラフである。
【図15】図15は、図14に示した男性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図16】図16は、図14に示した女性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図17】図17は、検査項目を変化させた場合において、検査をした項目数、正解項目数、および不正解項目数を男女別に示した結果のグラフである。
【図18】図18は、図17に示した男性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図19】図19は、図17に示した女性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図20】図20は検査項目の選定の有無による平均不正解項目数を比較するためのグラフである。
【図21】図21は、男性の場合において、検査項目を選定した場合の検査費用の推移を示すグラフである。
【図22】図22は、女性の場合において、検査項目を選定した場合の検査費用の推移を示すグラフである。
【図23】図23は、フィルタリングを行う前後における異常頻度の推定の精度を比較するためのグラフである。
【発明を実施するための形態】
【0024】
図1を参照して、この実施例の異常頻度推定システム10は、異常頻度推定装置12および検査データベース14を含む。異常頻度推定装置12と検査データベース14とは、コマンドやデータを送受信可能に接続される。異常頻度推定装置12は、汎用のコンピュータであり、CPU12aやRAM12bなどのコンポーネントを含む。
【0025】
なお、この実施例では、検査データベース14は、異常頻度推定装置12と直接接続されるようにしてあるが、インターネットやLANのようなネットワークを介して接続されてもよい。または、検査データベース14は、異常頻度推定装置12に内蔵されるハードディスクドライブ(図示せず)で構成してもよい。
【0026】
図2に示すように、検査データベース14には、クライアント情報16、検査項目情報18および検査結果情報20が記憶される。詳細な説明は省略するが、この実施例では、検査データベース14には、579名のクライアント(男性:260名、女性:319名)についての各情報が記憶される。
【0027】
図3(A)に示すように、クライアント情報16は、各クライアント(健康診断を受けるユーザ)についての情報(データ)を含む。クライアントについてのデータ(クライアントデータ)は、氏名、ユーザID、性別および生年月日についてのデータである。ただし、ユーザIDは、クライアント(ユーザ)の識別情報であり、たとえば、当該クライアントに割り当てられた個別の番号ないし記号(数字またはローマ字或いはそれらの両方)である。
【0028】
図3(B)に示すように、検査項目情報18は、各検査項目についての情報(データ)を含む。検査項目のデータは、項目分類名、項目名(検査ID)、基準値上限(男性)、基準値下限(男性)、基準値上限(女性)および基準値下限(女性)についてのデータである。
【0029】
項目分類名は、各検査項目を分類したまとまり(グループ)毎の名称である。この実施例では、「血清蛋白」、「蛋白分画」、「肝胆道系」、「自己免疫」、「鉄代謝」、「無機イオン代謝」、「脂質代謝」、「リポ蛋白」、「糖代謝」、「筋代謝」、「腎機能」、「炎症」、「酵素」、「感染」、「血液一般」、「細胞性免疫」、「腫瘍マーカ(血清)」、「腫瘍マーカ(尿)」および「尿一般」に分類される。
【0030】
項目名(検査ID)は、検査項目の名称である。たとえば、検査項目は、全部で134項目であり、項目名として、総蛋白(g/dl)、アルブミニ(g/dl)、アルブミン分画(%)、…などが記載される。ただし、項目名に代えて、ユーザIDのような番号ないし記号で割り当てられた識別情報を記載するようにしてもよい。
【0031】
なお、項目分類および項目名の詳細については、東京女子医科大学IREIIMSの研究によって開発された統合医科学情報基盤(CIMI(Cyber Integrated Medical Infrastructure))データベースの仕様書(http://www.twmu.ac.jp/TIIMS
/CIMI_Database_v1_0.pdf)に開示されているため、ここではその説明は省略することにする。
【0032】
基準値上限(男性)は、当該検査項目に設定された男性についての基準値の上限値である。基準値下限(男性)は、当該検査項目に設定された男性についての基準値の下限値である。基準値上限(女性)は、当該検査項目に設定された女性についての基準値の上限値である。基準値下限(女性)は、当該検査項目に設定された女性についての基準値の下限値である。
【0033】
このように、各検査項目には、健康診断の結果が正常であるか異常であるかを判断するために、基準値が設定されている。この基準値は、図4に示すように、検査値の正規分布のうち、その中の95%に含まれている範囲を規定する値を意味する。ただし、正規分布は、健康な成人についての検査値の正規分布である。その95%に含まれている範囲のうちの最大値(上限)が基準値上限であり、最小値(下限)が基準値下限である。ただし、男性と女性とでは、一部の検査項目について、基準値上限および基準値下限が異なるため、それぞれの場合について記憶(設定)してある。
【0034】
図5には、基準値(基準値上限および基準値下限)の一例が示される。具体的には、白血球数(x×103)、赤血球数(x×106)およびクレアチニン(血清)(mg/dl)の各検査項目に対応して、男性および女性の場合についての基準値上限および基準値下限がそれぞれ記述される。図示は省略するが、他の検査項目についても同様である。
【0035】
図3(C)に戻って、検査結果情報20は、各検査結果についての情報(データ)を含む。検査結果のデータは、ユーザID、項目名(検査ID)、検査日、検査値、基準値上限、基準値下限および判断結果についてのデータである。ユーザIDおよび項目名は上述したとおりである。
【0036】
検査日は、項目名が示す検査項目についての臨床検査を行った年月日である。検査値は、項目名が示す検査項目についての検査結果(測定結果)の値(実数値、離散値)である。基準値上限は、項目名が示す検査項目についての臨床検査を行ったときの基準値上限であり、上述したように、クライアントの性別に応じて異なる場合がある。同様に、基準値下限は、項目名が示す検査項目についての臨床検査を行ったときの基準値下限であり、クライアントの性別に応じて異なる場合がある。判断結果は、項目名が示す検査項目についての臨床検査の検査結果(検査値)の正常または異常の推定(判断)結果である。
【0037】
このように、検査日(検査時)の基準値上限および基準値下限を記憶するのは、基準値が検査時期によって変化する場合があるからである。基準値が変化する理由としては、技術的変動要因と生理的変動要因とがある。技術的変動要因としては、測定に用いる機器や試薬の変更による基準値の変動や測定誤差が該当する。また、生理的変動要因としては、分析対象のデータの年齢による基準値の変動や季節変動が該当する。
【0038】
この実施例の異常頻度推定装置12では、検査データベース14を参照して、臨床検査を行わない検査項目の検査結果について異常が発生する頻度(異常頻度)を推定する。この実施例では、異常頻度とは、連続する複数回(たとえば、3回)の健康診断(臨床検査)の検査結果のうち、検査結果(検査値)が異常を示す回数を意味する。ただし、異常頻度の推定は、検査項目毎に行われる。
【0039】
上述したように、臨床検査の検査項目は全部で134項目あり、これらすべてを毎回検査するには多大な費用を要する。一方、一般的な健康診断では、検査項目は10〜13項目程度であり、様々な病気の兆候をその異常状態のみから見つけるためには検査項目が少な過ぎる。
【0040】
したがって、この実施例では、費用を出来る限り抑えつつ、多対1の関係性に着目して、臨床検査を行わない検査項目についての異常頻度を推定し、さらに、その推定結果に基づいて、当該臨床検査を行わない検査項目についての検査結果が正常であるか異常であるかを判断(推定)するようにしてある。
【0041】
簡単に説明すると、或る検査項目についての異常頻度を推定する場合には、実際に今回臨床検査を行った複数の検査項目の今回を含む所定回数分の検査値が用いられる。ただし、検査値は直接用いられるのではなく、次のような値に変換される。整数値や記号で示されている検査値については、実数値に変換される。また、各期間(各検査時期)で異なる基準値に即した検査値が線形変換される。さらに、異常頻度の推定の元となる、実際に今回臨床検査を行った複数の検査項目についての過去所定回数分の検査結果についての検査値(上記の変換後の検査値である。)についての平均値および今回臨床検査を行わない複数の検査項目についての同じく過去所定回数分の検査結果(検査値)が異常を示す頻度(異常頻度)が算出される。このように算出された平均値と異常頻度から尤度関数が求められる。そして、上述した今回を含む所定回数分の検査値の平均値の尤度が求められ、臨床検査を行わない複数の検査項目の各々について異常頻度が推定される。この実施例では、異常頻度の推定には、ベイズ推定に基づいた手法が用いられ、これにより、異常頻度が識別される。
【0042】
つまり、この実施例では、検査データベース14に記憶されている全クライアントについての全検査項目の全検査値のうち、前回以前の所定回数分(この実施例では、前回以前の過去3回分)を用いて、今回臨床検査を行った検査項目(説明の都合上、「第1検査項目」という。)のそれぞれについての平均値を算出する。また、同じく前回以前の所定回数分(この実施例では、前回以前の過去3回分)を用いて、今回臨床検査を行わない(異常頻度を推定する)検査項目(説明の都合上、「第2検査項目」という。)のそれぞれについて、その所定回数における検査結果の異常頻度を算出する。このようにして算出された第1検査項目の各々の平均値と第2検査項目の各々の異常頻度との関係が抽出される。この実施例では、所定の統計モデルが作成される。そして、今回臨床検査が行われたとき、今回臨床検査を行った検査項目(第1検査項目)のそれぞれについて、今回の臨床検査を含む連続する3回の臨床検査の検査値の平均値が算出され、この平均値が作成された統計モデルに当て嵌められる。これによって、今回臨床検査を行わない検査項目(第2検査項目)のそれぞれについての異常頻度が推定される。
【0043】
ここで、異常頻度の算出方法と、異常頻度の推定方法について説明することにする。異常頻度は、検査データベース14に収録されている検査値および基準値に基づいて算出(推定)される。
【0044】
図4に示したように、各検査項目に対応して基準値が設定されており、その上限(基準値上限)を上回ったり、その下限(基準下限)を下回ったりする場合には、当該検査項目の検査結果として異常であることが判断される。ただし、この実施例では、基準値上限を上回った検査値を「異常高値」と呼び、基準値下限を下回った検査値を「異常低値」と呼ぶことがある。また、上述したように、基準値は、男性と女性とで異なる場合があるため、この実施例では、男性、女性、異常高値および異常低値に分けて、正常であるか異常であるかが判断される。
【0045】
この実施例では、1回の臨床検査における検査値が異常頻度の推定に用いられるのではなく、連続した複数回(3回)の臨床検査における検査値が異常頻度の推定に用いられる。これは、一般に、検査値は、疾患に関わる変動だけでなく、季節変動、睡眠時間、食事からの時間など、様々な要因に影響を受けることが知られているからである。このため、1つの検査値から他の検査値を推定することは困難である。これは、医師であっても同様であり、複数回の臨床検査の検査値に基づいて判断されることが多い。
【0046】
そこで、上述したように、この実施例では、実際に臨床検査を行った各検査項目についての過去所定回数分の検査値の平均値および臨床検査を行わない各検査項目についての当該過去所定回数分の検査結果(検査値)における異常頻度に基づいて、今回の臨床検査を含む複数回の検査値の平均値から、今回臨床検査を行わない各検査項目についての異常頻度を推定するようにしてある。
【0047】
図6(A)は、或る検査項目についての検査値を時系列に従って示したグラフであり、基準値に基づいて検査値が異常であるかどうかを判断した結果が示される。この図6(A)では、検査値が基準値を超えている場合に、検査結果(検査値)が異常であることが判断され、検査値が基準値以内である場合に、検査値が正常であることが判断される。また、図6(A)では、正常と判断された検査値を白丸で示し、異常と判断された検査値を黒丸で示してある。ただし、図6(A)(図6(B)も同様)では、異常高値または異常低値を区別していない。
【0048】
図6(B)は、図6(A)に示すように検査値が変化した場合における、検査値の異常頻度を示す表である。具体的には、図6(B)は、図6(A)に対応しており、臨床検査の各回数τに対応して、検査値の正常または異常の判断結果が記述されるとともに、前々回、前回、今回の連続する3回((τ−2)回〜τ回)についての異常頻度の数値(0、1、2、3)が記述される。
【0049】
図6(A)および図6(B)に示すように、初回(τ=1)から3回(τ=3)目までの各検査値は、基準値を超えているため、すべて異常と判断される。つまり、3回の臨床検査において3回の異常が発生しているため、3回目に対応する異常頻度は「3」となる。同様に、2回(τ=2)目から4回(τ=4)目では、3回の臨床検査のうち、2回の検査値が異常と判断されているため、4回目に対応する異常頻度は「2」となる。5回目以降も同様に、異常頻度が算出される。この実施例では、異常頻度が「0」である場合を「正常」と定義し、異常頻度が「3」である場合を「高頻度異常」と定義する。
【0050】
なお、初回および2回目では、臨床検査が3回に満たないため、異常頻度は算出されない。
【0051】
次に、異常頻度の推定方法について説明する。上述したように、臨床検査を行わない検査項目の異常頻度を推定するために、臨床検査を行った各検査項目についての過去3回の臨床検査における検査値の平均値および臨床検査を行わない各検査項目の過去3回の検査結果(検査値)の異常頻度が用いられる。以下では、異常頻度の推定方法について、式を用いて説明することにする。ただし、各式で用いる変数は次のように定義される。
【0052】
変数iは、臨床検査の検査項目の別を示し、検査項目の総数はNで示される。また、変数jは、クライアントの別を示し、クライアントの総人数はHで示される。さらに、変数tは、何回目の臨床検査であるかを示し、クライアントjの累積検査回数はTjで示される。
【0053】
クライアントjおよび検査項目iの検査値xj,i(t)を、検査項目iに従ってベクトル化したXj(t)は数1のように定義される。ただし、Xj(t)は、1回(t回目)の臨床検査によって得られる検査値のすべてを表している。
【0054】
[数1]
Xj(t)={xj,i(t)|i=1,2,…,N;t=1,2,…,Tj;j=1,2,…,H}
正常と判断された検査項目iの検査値(正常値)と、異常と判断された検査項目iの検査値(異常値)との境界の値すなわち基準値を、Fi,low(基準値下限)およびFi,high(基準値上限)とするとき、検査値のベクトルXj(t)の各要素が異常(異常値)であるか正常(正常値)であるかを示す異常ベクトルBj(t)は数2のように定義される。
【0055】
[数2]
Bj(t)={bj,i(t)|i=1,2,…,N;t=1,2,…,Tj;j=1,2,…,H}
ここで、bj,i(t)は、数3で示すように、検査値が異常(異常値)である場合には「1」となり、検査値が正常(正常値)である場合には「0」となる。ただし、検査値がFi,high(基準値上限)を上回る異常高値である場合、および検査値がFi,low(基準値下限)を下回る異常低値である場合に、bj,i(t)は「1」となる。
【0056】
[数3]
【0057】
[数4]
【0058】
ここで、異常頻度の推定を行う前に必要となる検査値の処理(前処理)について説明する。上述したように、臨床検査の検査項目には、その検査値が実数の値(実数値)と実数でない値(離散値)とが存在する。たとえば、尿検査においては、(+)や(−)を用いて、陰性および陽性の強さの度合いを表す。具体的には、(+)は陽性を表し、これに付加される数値が大きくなる程、陽性の傾向が強くなる。また、(−)は陰性を表し、陽性と同様に、これに付加される数値が大きくなる程、陰性の傾向が強くなる。さらに、(+−)は偽陽性を表し、陽性の疑いがあることを示す。
【0059】
このように、実数でない値については、図7に示すように、実数値に変換するための表(変換表)を定義しておき、この変換表に従って変換することにより、数値化する。たとえば、検査項目が尿一般(一部)である場合には、検査結果が(3−)であれば、実数値「0」に変換され、検査結果が(+)であれば、実数値「4」に変換される。詳細な説明は省略するが、他の検査結果についても同様である。
【0060】
また、検査項目が尿沈渣である場合には、検査結果は沈渣数の範囲で表される。したがって、図7の変換表に示すように、沈渣数の範囲に対応して実数値が定義され、この変換表に従って変換することにより、沈渣数の範囲を数値化する。たとえば、沈渣数が1〜4/HPFである場合には、実数値「1」に変換され、沈渣数が30〜39/HPFである場合には、実数値「5」に変換される。詳細な説明は省略するが、他の検査結果(沈渣数)についても同様である。
【0061】
このようにして、実数でない値が実数値に変換され、さらに、検査値は、期間(検査時期)毎の基準値に即した値に変換される。つまり、最新の基準値に過去の基準値が合わせられる。これは、各検査項目には、基準値上限および基準値下限が設けられているが、上述したように、それらは検査時期によって変化する場合があるからである。
【0062】
この実施例では、過去の臨床検査の検査値に遡ることにより、平均値と異常頻度との関係性に着目するため、基準値の変動を考慮する必要がある。このため、異常頻度を推定する前に、検査値を線形変換するようにしてある。
【0063】
具体的には、検査項目iの検査値xiを線形変換する場合には、検査値xiを計測したときの基準値をFi,lowおよびFi,highとし、最新の基準値をF´i,lowおよびF´i,highとすると、線形変換後の検査値x´iは数5に従って算出される。
【0064】
[数5]
【0065】
この数5では、以前の基準値と現在の基準値との比率を算出するとともに、基準値下限からの移動量(差分)を算出している。
【0066】
異常頻度の推定では、ベイズ推定に基づく手法が用いられる。上述したように、過去の検査値(検査結果)から算出された平均値および異常頻度が入力値として用いられる。また、推定結果の出力は、クライアントjの検査項目iの異常頻度(「0回異常/3回中」〜「3回異常/3回中」)となる。
【0067】
具体的には、異常頻度に基づいて多次元の尤度関数を用いた、ベイズ推定に基づいた手法が導入される。ベイズ推定を導入した理由としては、事前分布を医師や専門家の先見的知見に基づいて定めることが可能であることと、異常頻度を識別する際に、他の識別手法と比較して、より正しく推定することができる(推定精度が高い)ことである。
【0068】
なお、他の識別手法は、カーネルSVM、k−MM法およびJ48(決定木)であり、図示および詳細な説明は省略するが、予め行った実験によって、ベイズ推定による推定が最も正答率が高かった。
【0069】
事前分布は、後述するように、証拠が無い条件で、或る変数について知られていることを確率分布として表現したものである。この実施例では、事前分布は異常頻度の各クラス(0〜3)が推定される確率分布である。この実施例では、検査値から事前分布(確率分布)を算出してあるが、医師の知見に基づいて確率分布を調整することも可能である。たとえば、医者の知見により、「検索項目iはリスクを避けるために高頻度に推定させたい」場合などの個別の事情があるからである。
【0070】
ここで、一般的な健康診断において実際に臨床検査を行った検査項目から、臨床検査を行わない検査項目(推定対象の検査項目)の異常頻度を推定する場合において、実際に臨床検査を行った検査項目(検査対象の検査項目)の集合Sを定義する。たとえば、検査項目「βマイクログロブリン(尿)」の異常頻度を、「血糖」、「βマイクログロブリン(血清)」、「ALP」の3つの検査項目の検査値から推定する場合には、i=βマイクログロブリン(尿)、S={血糖,βマイクログロブリン(血清),ALP}と定義される。
【0071】
[数6]
【0072】
[数7]
【0073】
なお、詳細な説明は省略するが、検査対象でない各検査項目iについての異常頻度を求める際に、その各検査項目iの検査結果(検査値)について、基準値に基づいて正常または異常が判断され、このとき、検査結果のデータの判断結果に「正常」または「異常」が記憶(記述)される。または、検査値が検査データベース14に登録されるときに、基準値に基づいて正常または異常を判断するようにしてもよい。
【0074】
次に、ベイズ推定について説明する。ベイズ推定とは、観測された事実に基づいて、その事実の原因となる事象が起こる確率を推定する方法を意味する。このベイズ推定の基本式は、数8で示される。
【0075】
[数8]
【0076】
つまり、事象Xが発生する確率P(X)と尤度(尤度関数)P(Y|X)の積に基づいて、事象Yが発生した下で、事象Xが発生する条件付き確率(事後確率)P(X|Y)を推定する。
【0077】
ベイズ推定の特徴の1つとして、従来の推計統計学では、事前確率P(X)が定数として決定されていたが、ベイズ推定では、関数と考えることが挙げられる。この特徴によって、母集団を特定することが困難なスパムメールを識別したり、臨床検査における「陰性」および「陽性」の結果を出したりする際に、ベイズ推定が用いられる。
【0078】
つまり、この実施例では、事前確率P(X)は、「或る異常頻度k」になる確率である。上述したように、異常頻度kは離散値(0≦k≦M)であるため、事前確率分布は離散分布となる。ただし、この実施例では、M=3である。以下、同じ。データベース(検査データベース14とは異なる。)に記憶されている全クライアントについての検査項目iの検査値のデータのうち、異常頻度がkである検査値のデータの総数をni(k)とすると、事前確率P(X=k)は数9のように表される。ただし、uは、0≦u≦Mの整数である。
【0079】
ここで、事前確率P(X)を算出する際に参照されるデータベースは、多数のクライアントの臨床検査の検査結果が蓄積されているデータベースであって、図示は省略するが、インターネットのようなネットワークを介して異常頻度推定装置12と通信可能に接続される。このデータベースでは、クライアントが増えると、検査結果も増える。また、データベースでは、年月とともに、検査結果が増減し、クライアントの数も増減する。ただし、事前確率P(X)の算出に用いられる検査値についても、上記と同じ前処理が施される。
【0080】
[数9]
【0081】
また、推定したい検査項目iの或る異常頻度kにおいて、臨床検査を行った検査項目iの平均値の尤もらしさを表す尤度関数P(Y|X)は、平均値ベクトルの密度を用いて計算される。ただし、平均値ベクトルは多次元であるため、検査値を元に多次元分布の密度が推定される。
【0082】
分布密度は、推定したい検査項目iの異常頻度k毎に求められる。検査項目iと異常頻度kを対応づけるために、クライアントjと検査項目iの組み合わせGi,kは数10に示すように定義される。
【0083】
[数10]
【0084】
この実施例では、分布の密度を推定する方法としては、多次元版のカーネル密度推定が採用される。検査項目i´のクライアントj´のτ´回目の推定を行うための尤度関数P(Y|X=k)は数11に示すように定義される。ただし、「´」は、クライアントjとは異なるクライアントを意味するために付してある。また、尤度関数P(Y|X=k)を算出する(求める)方法の概念図が図8に示される。ただし、図8ではカーネルは一次元であるのに対し、上述したように、実際のカーネルは多次元である。
【0085】
[数11]
【0086】
[数12]
【0087】
ただし、Nはj,τの組み合わせの数であり、Dは実際に臨床検査を行った検査項目iの数であり、そして、hは数13に示すバンド幅である。ただし、バンド幅とは、上記のカーネルの幅を設定する変数を意味する。この実施例では、バンド幅は、数13に示すように、Silvermanの経験則を採用した。
【0088】
[数13]
【0089】
ベイズ推定の式を用いて異常頻度k=X=0,1,2,3毎に事後確率P(X|Y)が算出される。そして、クライアントjの検査値に基づいて期待値E(X|Y)が算出される。数14に示す期待値E(X|Y)は実数であるのに対し、異常頻度kは0,1,2,3の4段階であるため、期待値E(X|Y)の算出結果が四捨五入され、0〜3の実数に変換される。これが異常頻度kの推定結果にされる。
【0090】
[数14]
【0091】
このように、異常頻度kの算出および推定が行われる。次に、システム10における全体の処理について説明することにする。まず、システム10では、クライアントjの過去の検査値などを総合的に判断することにより、検査項目iが選択される。ここでは、全検査項目iが、臨床検査を行う必要がある(検査対象の)検査項目i(教師データとなる検査項目i)と、異常頻度kを推定する(推定対象の)検査項目iとに分類される。
【0092】
ここで、推定に用いる検査項目iを選択する方法(アルゴリズム)について説明する。検査項目iは、健康診断が行われる毎に必ず臨床検査を行うものと、検査項目iを選択(選定)するアルゴリズム(選定アルゴリズム)によって、臨床検査を行うかどうかを判断するものとに分別される。
【0093】
健康診断が行われる毎に必ず臨床検査を行うものとしては、一般の健康診断で行われる検査項目i、検査費用の単価が安価な検査項目i、および診断を行う上で重要性が高い検査項目iである。また、選定アルゴリズムの対象となるものとしては、毎回検査を行うことが困難である検査費用の高い検査項目i、および診断を行う上で重要性が低い検査項目iである。
【0094】
選定アルゴリズムは、取り決めに基づくため、医師や専門家によって定義される。ただし、この実施例では、「過去に連続して2回以上異常となった場合」において臨床検査を行う検査項目i(検査対象の検査項目i)を選定するようにしてある。他の例としては、選定アルゴリムを「特定の検査項目iが異常だった場合に他の検査項目iを臨床検査の対象とする」と定義し、検査対象の検査項目iを選定するようにすることも可能である。この選定アルゴリズムによって、検査項目iは、臨床検査を行う必要がある検査項目iと、臨床検査を行わずに推定する検査項目iとに選定(選択)される。
【0095】
検査対象の検査項目iとして選定された検査項目iについては、実際に臨床検査が行われる。この臨床検査の結果(検査結果)は、異常頻度を推定する際に利用される。
【0096】
次に、検査データベース14から、検査対象の検査項目iと、推定対象の検査項目iとのそれぞれの検査値を取得する。上述したように、検査データベース14から取得した検査値を元に異常頻度kを推定するため、検査値を実数値に変換したり、基準値を線形変換したりする前処理を行い、この前処理が行われた検査値を用いて、検査対象の各検査項目iについての検出値の平均値および推定対象の各検査項目iの検査結果(検査値)の異常頻度が算出される。
【0097】
そして、ベイズ推定によって、推定対象の各検査項目iの異常頻度kが推定される。このとき、予め算出された平均値および異常頻度が用いられる。ただし、平均値は、推定対象の検査項目iの異常頻度(「0回/3回中」〜「3回/3回中」)に対応する形で与えられる。そして、推定された異常頻度は、たとえばモニタ(図示せず)に表示(出力)される。
【0098】
さらに、推定対象の検査項目iについては、今回の検査結果(検査値)が正常であるか異常であるかが判断(推定)される。ただし、この場合には、当該検査項目iについて推定された異常頻度に基づいて行わなければならない。
【0099】
図9には、異常頻度の推定結果と、最後に行った臨床検査の検査結果の正常または異常を推定するための対応表が示される。ただし、括弧内の数字は異常頻度を示す。また、対応させた結果、推定される異常頻度と異なる異常頻度が現れている場合について米印(※)を付してある。
【0100】
図9に示す対応表では、検査結果として、たとえば、「(正常)(正常)」とあるのは、前回および前々回の検査結果が正常であったことを意味する。厳密に言うと、左側の括弧内が前々回の検査結果であり、右側の括弧内が前回の検査結果である。図9においては、「(異常)(正常)」を省略してあるが、これは、「(正常)(異常)」の場合と同じだからである。したがって、括弧内の検査結果は、どちらが前々回の結果(または前回の結果)であっても構わない。
【0101】
上述したように、前回と前々回の検査結果が「(正常)(正常)」である場合に、異常頻度の推定において「0回/3回中」となった場合には、今回、前回および前々回の3回の臨床検査において異常が無かったと推定されている。このため、最新(今回)の検査結果は「正常」であると判断(推定)される。また、前回と前々回の検査結果が「(正常)(正常)」である場合に、異常頻度の推定において「1回/3回中」となった場合には、今回、前回および前々回の3回の臨床検査において1回異常が有ったと推定されている。このため、今回の検査結果は「異常」であると推定される。
【0102】
さらに、前回と前々回の検査結果が「(正常)(正常)」である場合に、異常頻度の推定において「2回/3回中」または「3回/3回中」となった場合には、今回、前回および前々回の3回の臨床検査において、2回以上異常が有ったと推定されている。しかし、実際には、過去3回中2回は正常であったため、推定結果は矛盾することになる。したがって、「1回/3回中」となった場合と同様に、今回の検査結果のみを「異常」と推定することで矛盾を回避してある。
【0103】
なお、詳細な説明は省略するが、他の場合についても同様である。また、詳細な説明は省略するが、異常頻度の推定結果に基づいて検査結果が「異常」と判断された検査項目iについては、その後、臨床検査が行われ、検査データベース14に、検査値およびその「正常」または「異常」の別が記憶される。一方、異常頻度の推定結果に基づいて検査結果が「正常」であると判断(推定)された検査項目iについては、検査データベース14に、検査値は記憶されず、検査結果として「正常」であることが記憶される。
【0104】
図10は、図1に示したRAM12bのメモリマップ30の一例を示す図解図である。図10に示すように、RAM12bは、プログラム記憶領域32およびデータ記憶領域34を含む。プログラム記憶領域32には、異常頻度推定装置12の全体処理についてのプログラム(制御プログラム)が記憶される。制御プログラムは、メイン処理プログラム32a、検査項目選択プログラム32b、前処理プログラム32c、異常頻度推定プログラム32d、異常頻度出力プログラム32e、検査結果推定プログラム32fおよび推定結果出力プログラム32gなどによって構成される。
【0105】
メイン処理プログラム32aは、異常頻度推定装置12のメインルーチンを処理するためのプログラムである。検査項目選択プログラム32bは、上述した選定アルゴリズムに従うプログラムであり、臨床検査を行う必要がある検査項目i(検査対象の検査項目i)と、異常頻度kを推定する検査項目i(推定対象の検査項目i)とを選定(選択)する。具体的には、選択された(対象の)クライアントjについての検査値のデータを取得し、各検査項目iについて前回と前々回の検査値のデータを参照して、その両方が異常である場合に、当該検査項目iを検査対象の検査項目iとして選定する。
【0106】
なお、後述するように、毎回必ず臨床検査を行う検査項目i(基礎検査項目)については、選定する必要はない。
【0107】
前処理プログラム32cは、検査データベース14から取得した検査値のうち、実数でない検査値を実数値に変換するとともに、取得した検査値について線形変換を行うためのプログラムである。異常頻度推定プログラム32dは、検査対象の検査項目iの検査値に基づいて予め算出した平均値および推定対象の検査項目iの検査値(検査結果)に基づいて予め算出した異常頻度を用いて、ベイズ推定に基づく手法により、推定対象の各検査項目iの異常頻度を推定するためのプログラムである。ただし、各検査値には、前処理プログラム32cに従って前処理が施されてある。
【0108】
異常頻度出力プログラム32eは、推定した異常頻度を、異常頻度推定装置12に接続されたモニタ(図示せず)やプリンタ(図示せず)に出力するためのプログラムである。ただし、推定した異常頻度を検査項目i毎に記述したテーブルについてのデータを外部のコンピュータや記憶媒体に出力(送信)するようにしてもよい。後述する推定結果出力プログラム32gも同様である。
【0109】
検査結果推定プログラム32fは、異常頻度を推定した検査項目iの検査値が正常であるか異常であるかを推定(判断)するためのプログラムである。推定結果出力プログラム32gは、検査結果推定プログラム32fに従って推定された結果、すなわち、異常頻度を推定した検査項目iの検査結果(検査値)について推定された結果(正常または異常)を異常頻度推定装置12に接続されたモニタ(図示せず)やプリンタ(図示せず)に出力するためのプログラムである。
【0110】
図示は省略するが、プログラム記憶領域32には、検査データベース14との間でコマンドやデータを送受信するためのプログラムなども記憶される。
【0111】
データ記憶領域34には、制御プログラムの実行に必要なデータが記憶(一時記憶)されたり、制御プログラムの実行に必要なカウンタ(タイマ)やフラグが設けられたりする。たとえば、検査項目選定プログラム32bに従って選定された、検査対象の検査項目iについての検査IDと、推定対象の検査項目iの検査IDとが識別可能に記憶される。
【0112】
図11は、図1に示したCPU12aの異常頻度の推定および異常の判定処理についてのフロー図である。図示は省略するが、検査項目iの選定(選択)処理は予め実行され、検査対象の検査項目iについては、実際に臨床検査が行われ、その検査値および判断結果(正常または異常)は検査データベース14に記憶(収録)されているものとする。
【0113】
図11に示すように、CPU12aは、異常頻度の推定および検査結果の推定処理を開始すると、ステップS1で、選択された(対象の)クライアントj(ユーザID)を入力する。次のステップS3では、推定対象の検査項目i(検査ID)を入力する。ただし、ステップS1およびS3では、異常頻度推定システム10の管理者等が、ユーザIDや各検査項目iを入力する。
【0114】
続いて、ステップS5では、すべてのユーザ(クライアント)についての過去3回(たとえば、前回、前々回、3回前)の全検査項目iの検査値のデータおよびステップS1で入力されたユーザIDが示すクライアントjについて今回臨床検査した検査項目iの検査値のデータを読み込む。ここでは、CPU12aは、検査データベース14から上記の検査値のデータを読み出して、RAM12bのバッファ領域(図示せず)に記憶する。次のステップS7では、読み込んだ検査値のデータについて前処理を実行する。
【0115】
なお、この実施例では、異常頻度の推定および検査結果の推定処理において前処理を実行するようにしてあるが、この処理とは別に予め前処理を実行しておいてもよい。または、前処理が施された検査データベース14を設けるようにしてもよい。
【0116】
また、この実施例では、直近の過去3回の検査値のデータを読み込むようにしてあるが、連続する過去3回の検査値のデータであれば、それ以前のものであっても構わない。
【0117】
続くステップS9では、ステップS1で入力されたユーザIDについての推定対象の検査項目の検査値を取得する。ここでは、CPU12aは、バッファ領域に記憶された検査値のデータから、推定対象の検査項目iについての連続する過去3回(3回前、前々回および前回)の検査値のデータを読み込む。
【0118】
次のステップS11では、ステップS1で入力されたユーザIDについての検査対象の検査項目の検査値を取得する。ここでは、CPU12aは、バッファ領域に記憶された検査値のデータから、検査対象の検査項目iについての連続する過去3回(3回前、前々回および前回)の検査値のデータを読み込む。
【0119】
さらに、ステップS13では、すべての検査項目の基準値を取得する。つまり、CPU12aは、検査データベース14に検査項目情報18(検査項目のデータ)の読み出し指示を与え、これに応じて、検査データベース14から与えられた検査項目のデータをRAM12bのバッファ領域に記憶する。ただし、ユーザIDに対応するクライアントjが男性である場合には、基準値上限(女性)および基準値下限(女性)のデータは読み込まなくてもよい。同様に、ユーザIDに対応するクライアントjが女性である場合には、基準値上限(男性)および基準値下限(男性)のデータは読み込まなくてもよい。
【0120】
続いて、ステップS15では、ステップS11で読み出した検査値のデータを用いて、数6に従って検査対象の各検査項目iの過去の検査値の平均値を算出するとともに、ステップS9で読み出した検査値のデータを用いて、数7に従って推定対象の各検査項目iの過去の検査値(検査結果)の異常頻度を算出する。このとき、ステップS13で取得した基準値(検査項目情報のデータ)が参照され、検査値(検査結果)の正常または異常が判定される。ただし、予め検査値(検査結果)の正常または異常を判定し、検査データベース14に登録しておいてもよい。かかる場合には、ステップS13の処理は削除することができる。
【0121】
続く、ステップS17では、数9に従って事前確率分布すなわち事前確率P(X)を算出する。ただし、上述したように、ここでは、検査データベース14とは異なるデータベースから検査値が読み出されるとともに、前処理が施される。さらに、ステップS19では、数6に従って今回を含む連続3回(今回、前回および前々回)の臨床検査における検査対象の各検査項目iの検査値の平均値を算出する。次のステップS21では、ステップS15で算出した平均値および異常頻度から尤度関数(数11)を求め(定義し)、ステップS23では、数11に従って、ステップS19で算出した平均値の尤度を算出する。そして、ステップS25で、数8に従って事後確率分布を算出する。続いて、ステップS27で、数14に従って異常頻度を推定する。
【0122】
異常頻度を推定すると、ステップS29で、その異常頻度を出力する。図示は省略したが、推定された異常頻度を示す表やグラフのデータは、たとえば、異常頻度推定装置12に接続されるモニタ、プリンタ、または異常頻度推定装置12と通信可能に接続される他のコンピュータに出力される。このことは、後述するステップS33において、判断結果を出力する場合についても同様である。
【0123】
さらに、ステップS31で、今回を含む連続する3回の検査値(検査結果)についての異常頻度の推定結果と、前回および前々回の検査結果(判断結果)とから、図9に示した対応表に従って、異常頻度を推定した検査項目iの検査結果について正常または異常を推定(判断)する。そして、ステップS33で、ステップS31の推定(判断)結果を出力して、異常頻度の推定および検査結果の推定処理を終了する。
【0124】
なお、詳細な説明は省略したが、ステップS17−S29では、推定対象の各検査項目iについて処理が実行される。
【0125】
さらに、この実施例の異常頻度推定システム10が有効であることを示すために、実際の健康診断に異常頻度の推定方法を組み合わせたと仮定し、シミュレーションを行った。実際に行われている健康診断(臨床検査)および異常頻度の推定の流れが図12の表に示される。
【0126】
ただし、シミュレーションでは、第1回目の臨床検査の前に、全検査項目について少なくとも1回の臨床検査が行われており、第1回目および第2回目の臨床検査の検査結果(検査値)を用いることにより、第3回目においては、検査対象項目についての検査値の過去3回の平均値および推定対象項目についての検査値(検査結果)の過去3回における異常頻度が算出され、これらに基づいて統計モデルが作成されているものとする。
【0127】
図12に示すように、健康診断の初診日(2006年11月29日)すなわち1回目の臨床検査では、検知したい病気に関連するすべての検査項目iが検査される。2回目(2007年3月6日)の健康診断では、1回目の臨床検査に基づいて、医師が健康診断の受診者にアドバイスを行った後に、1回目と同様に、すべての検査項目iが検査される。
【0128】
3回目(2007年6月18日)の健康診断では、2回目の臨床検査に基づいて、医師が健康診断の受診者にアドバイスを行う。また、選定アルゴリズムに従って、過去の検査値に基づいて、臨床検査を行う必要がある検査項目iと、異常頻度を推定する検査項目iとが選定(選別)される。ここでは、毎回必ず臨床検査を行う検査項目iに加えて、過去2回とも異常であった検査項目iが選定される。そして、臨床検査を行う必要がある検査項目iについて検査が行われ、検査を行わない検査項目iについては異常頻度が推定される。
【0129】
さらに、4回目(2007年10月1日)の健康診断では、3回目の臨床検査に基づいて、医師が健康診断の受診者にアドバイスを行う。また、選定アルゴリズムに従って、過去の検査値に基づいて、臨床検査を行う必要がある検査項目iと、異常頻度を推定する検査項目iとが選定(選別)される。そして、臨床検査を行う必要がある検査項目iについて検査が行われ、検査を行わない検査項目iについては異常頻度が推定される。
【0130】
このような流れに従って、実際の臨床検査および異常頻度の推定が行われる。ただし、2回目以降では、受診者は、健康診断を行う日に前回の検査結果を受け取り、その検査結果に基づいて医師から生活習慣などのアドバイスを受けた後に、健康診断を受診する。
【0131】
次に、シミュレーションに基づく分析を行う際の検査項目iの選定(選択)の条件について説明する。具体的には、基礎の検査項目i(基礎検査項目)として選定した検査項目iおよび選定アルゴリズムの条件を説明する。
【0132】
まず、基礎検査項目として、一般的な健康診断で用いられる9項目を定義した。具体的には、「AST」、「ALT」、「γ−GTP」、「中性脂肪」、「HDLコレステロール」、「白血球数」、「赤血球数」、「血糖」および「尿蛋白」が基礎検査項目として選定される。これらの基礎検査項目については、必ず臨床検査を行うこととし、かつ異常頻度を推定するために用いる検査項目i(教師データ)とする。また、この実施例では、推定の精度を向上させるために、検査費用が増大しない範囲で検査項目iを追加した。
【0133】
実際に健康診断を行う際には、血液検査や尿検査では、複数の検査項目iが一組になっており、複数の検査項目iに対してまとめて費用が請求される。たとえば、上記の基礎検査項目(9項目)においても、図13に示すように、「末梢血液一般検査」、「尿一般検査」および「生化学検査」の3つのカテゴリに属する。
【0134】
末梢血液一般検査の7項目は、「白血球数(WBC)」、「赤血球数(RBC)」、「MCV」、「MCH」、「MCHC」、「ヘモグロビン」、「ヘマトクリット」である。また、尿一般検査の8項目は、「尿蛋白」、「尿糖」、「尿比重」、「尿pH」、「尿ウロビリノーゲン定性」、「尿ウロビリン定性」、「尿ケトン体」および「尿潜血反応」である。
【0135】
さらに、生化学検査の32項目は、「総蛋白(TP)」、「アルブミン」、「TTT」、「ZTT」、「CK」、「ALT(GPT)」、「AST(GOT)」、「LDH」、「ALP」、「γ−GTP」、「コリンエステラーゼ」、「LAP」、「血清アミラーゼ」、「酸性フォスファターゼ(ACP)」、「クレアチニン<血清>」、「尿酸<血清>」、「尿素窒素<血清>」、「血糖」、「中性脂肪(TG)」、「リン脂質」、「遊離脂肪酸(NEFA)],「総コレステロール」、「HDLコレステロール」、「ナトリウム(Na)」、「カリウム(K)」、「クロール(Cl)」、「マグネシウム(Mg)」、「カルシウム(Ca)」、「無機リン(P)」、「血清鉄(Fe)」、「TIBC<血清>」および「総ビリルビン」である。
【0136】
シミュレーションでは、上記の47項目のうち、検査データベース14に記憶された検査値において、異常が全く見つからなかった尿一般検査の「尿ケトン体」を除いた46項目を、推定を行うために用いる検査項目iとした。上述したように、推定を行った結果は異常頻度(0〜3の4段階)として出力される。ただし、最後の健康診断において異常であるかどうかは、つまり今回異常頻度を推定した検査項目iの検査結果(検査値)の正常または異常は、異常頻度の推定結果と、前回および前々回の検査結果とから、図9に示した表に基づいて推定される。
【0137】
次に、この実施例で行った、推定率、コスト(検査費用)およびリスク(病気を見逃す可能性)の3つの評価について説明する。
【0138】
(1)推定率の評価
この実施例では、正しく異常頻度を推定できたかどうかを示す推定率による評価を行った。ただし、推定率とは、推定の対象となったすべての検査項目iのうち、異常頻度を正しく推定できた検査項目iの割合を意味する。
【0139】
(2)コスト(検査費用)の評価
臨床検査を行う際には、検査項目i毎に検査費用が発生する。ただし、一定の検査項目iで合わせて(まとめて)発生する費用と、1つ1つの検査項目i毎に発生する費用とがある。検査費用は、医療機関によって異なるが、この実施例では、1つの指針として、検査データベース14を収録する際に、仮にクライアントが負担した費用を用いて検証(評価)を行った。
【0140】
一般的な臨床検査のみを行う場合には、図13を用いて説明した検査項目iのみを検査すればよく、検査費用の合計は4,030円である。これは一般的な健康診断に係る費用とほぼ同額である。
【0141】
しかし、癌の進行を詳細に検査する場合には、腫瘍マーカの検査を受けなければならない。腫瘍マーカの検査費用は、1検査項目あたり約1,000円〜8,000円程度(定価)である。選定アルゴリム(選択処理)に従って、臨床検査を行う必要があると判断された検査項目iによっては高額な費用がかかる可能性がある。そこで、この実施例の異常頻度の推定処理が行われることにより、検査項目iを抑える(低減する)ことで、検査費用がどの程度縮減されるかを評価するとともに、どの検査項目iが検査費用を押し上げる可能性があるかを評価する。
【0142】
(3)リスク(病気を見逃す可能性)の評価
この実施例の異常頻度の推定処理が行われることにより、異常である検査項目iを正常と判断し、病気を見逃すことを防ぐことを目的として行った評価について説明する。
【0143】
上述したように、推定結果は、0(「0回異常/3回中」)〜3(「3回異常/3回中」)の4段階で出力される。たとえば、実際には、連続3回とも異常であるにも関わらず、推定結果が0(「0回異常/3回中」)である場合には、検査を行うべき検査項目iから除外され、この検査項目iに関連する病気を患うリスクを負うこととなる。そこで、各検査項目iにおいて、実際の異常頻度よりも低い異常頻度が推定された割合について評価を行う。
【0144】
次にシミュレーションを行った結果について説明する。システム10における検査項目iの選定処理が有効であるかどうかを検証するため、以下の2つの条件の各々についてシミュレーションを行った。第1の条件は、常に一定の検査項目i(上記の46項目)を選定したことである。第2の条件は、この実施例の選定アルゴリズムに従って検査項目iを選定し、検査項目iを毎回変化させたことである(上記の46項目+α)。
【0145】
検査項目iが常に一定である場合のシミュレーション(以下、「第1シミュレーション」という)の結果が図14に示される。図14に示すように、検査した検査項目i(検査をした項目)の項目数、正解した検査項目i(正解項目)の項目数、不正解(実際より高く判断)した検査項目iの項目数および不正解(実際より低く判断)した検査項目iの項目数が、男女別に集計される。
【0146】
また、それぞれの結果を累積検査回数毎に集計した結果が、図15および図16に示される。ただし、図15は男性について集計した結果であり、図16は女性について集計した結果である。また、図15および図16では、横軸が累積検査回数であり、縦軸が推定対象となった検査項目iの中での割合である。後述する図18および図19についても同じである。
【0147】
一方、選定アルゴリズムに従って、検査項目iを毎回変化させた場合のシミュレーション(以下、「第2シミュレーション」という)の結果が図17に示される。図17に示すように、検出した項目の項目数、正解項目の項目数、不正解(実際より高く判断)した検査項目iの項目数および不正解(実際より低く判断)した検査項目iの項目数が、男女別に集計される。
【0148】
また、それぞれの結果を累積検査回数毎に集計した結果が、図18および図19に示される。ただし、図18は男性について集計した結果であり、図19は女性について集計した結果である。
【0149】
第1シミュレーションの場合には、推定率は、男性では平均79.4%であり、女性では平均80.3%である。一方、第2シミュレーションの場合には、推定率は、男性では平均83.8%であり、女性では平均84.2%である。したがって、選定アルゴリムに従って検査項目iを毎回変化させた方が、推定率が高いという結果が得られた。
【0150】
また、不正解の(誤った)項目数の平均を、第1シミュレーション(選定無し)の場合と、第2シミュレーション(選定アルゴリズムによる毎回の選定有り)の場合とで比較した結果が図20に示される。図20では、累積検査回数に従って平均の不正解項目数の変化が示される。
【0151】
第2シミュレーションの場合には、不正解項目数は平均11.2項目であり、第1シミュレーションの場合と比較して28.4%減少した。また、第2シミュレーションの場合には、不正解項目のうち、異常頻度を低く推定した検査項目が平均4.52項目であり、第1シミュレーションの場合と比較して41.8%減少した。さらに、第2シミュレーションの場合において、新たに検査をした検査項目と正解した検査項目の平均を加算した結果は64.7項目となり、選定を行う前と比較して正解した検査項目が平均4.3項目増加した。
【0152】
また、第1シミュレーションの場合には、選定された検査項目iは一定であるため、上述したように、検査費用は一定額(4,030円)である。一方、第2シミュレーションの場合には、検査項目iは毎回変化されるため、同じクライアントjであっても、選定される検査項目iに応じて検査費用が変動する。図21には、図18に示した場合における検査費用の推移を示し、図22には、図19に示した場合における検査費用の推移を示す。図21および図22に示すように、男性、女性ともに、検査費用は23,000円〜27,000円で推移する結果となった。
【0153】
選定アルゴリズムに従って検査項目を選定した場合の費用は、図21および図22に示したとおりであり、選定アルゴリズムに従って選定を行わない場合に比べて高額である。すべての検査を行った場合の費用は、約12万円であるのに対し約80%の費用が削減されていることが分かる。
【0154】
また、上述の実施例では、ベイズ推定に基づく手法による異常頻度の推定を行う際には、検査データベース14に収録された異常頻度の分布を確率分布(事前分布)として扱っているため、推定後の事後分布に関しても異常頻度が0である確率が高い。その結果、異常であるはずの検査項目iを正常であると判断してしまう可能性が高くなる。そこで、事前分布の偏りを減らすために、数式を用いて平滑化(フィルタリング)を行う。
【0155】
或る検査項目iにおいて、異常頻度が0〜3のデータ数の割合を、それぞれ、P(X=0),P(X=1),P(X=2),P(X=3)とする。これらの割合の合計は、数15に示すように、1とする。
【0156】
[数15]
【0157】
フィルタリングは、数16に示すように、ガウシアンフィルタリングを用いた。ただし、「´」はフィルタリング後を意味する。
【0158】
[数16]
【0159】
フィルタリングを行った結果が図23に示される。図23に示すように、フィルタリングを行った場合には、フィルタリングを行わなかった場合と比較して異常頻度を高く推定する傾向があり、不正解の(誤った)項目数の平均が上昇する結果となった。
【0160】
この実施例によれば、ベイズ推定に基づく手法により、推定対象の各検査項目の或る異常頻度となる確率の分布を事前確率とし、検査対象の各検査項目の過去複数回の検査値の平均値と推定対象の各検査項目の過去複数回の検査値の異常頻度との関係を用いて、検査対象の各検査項目の今回を含む複数回の検査値の平均値から、推定対象の検査項目の異常頻度を推定するので、推定対象の検査項目と検査対象の検査項目との関係を仮定する必要がなく、異常頻度や検査結果の推定についての推定精度を向上させることができる。
【0161】
また、この実施例によれば、異常頻度の推定結果から推定対象の検査結果が正常であるか異常であるかを判断することにより、臨床検査が必要である検査項目を知ることができるので、病気や未病の状態を見逃すリスクを可及的少なくすることができる。
【0162】
なお、この実施例では、検査データベースに収録された全てのクライアントについての検査値を用いて尤度関数を求めるようにしたが、これに限定される必要はない。特定の一部のクライアントについての検査値を用いるようにしてもよい。ユーザ(クライアント)の検査値が尤度関数を求めるのに(統計モデルを作成するのに)十分な数だけ収録されている場合には、異常頻度を推定するユーザについての検査値のみを用いるようにしてもよい。
【0163】
また、この実施例では、1台のコンピュータで、検査項目の選択処理、前処理、異常頻度の推定処理、および検査結果の推定処理を含む複数の処理を実行するようにしたが、これらの処理が複数のコンピュータ等によって分散処理されるようなシステムにも適用可能である。
【符号の説明】
【0164】
10 …異常頻度推定システム
12 …異常頻度推定装置
14 …検査データベース
【技術分野】
【0001】
この発明は異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムに関し、特にたとえば、臨床検査における検査項目の検査結果が異常を示す頻度(異常頻度)を推定する、異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムに関する。
【背景技術】
【0002】
この種の従来の異常頻度推定装置の一例が特許文献1に開示されている。この特許文献1に開示される臨床検査データ解析表示装置では、予め格納していた検査データと正常と判断させる範囲の上限・下限よりなる基準値とを基に、クライアントの検査データから健康度を判断して表示するインタラクティブインタフェースを用いて、臨床検査データの検査項目間の隠れた関係を抽出する。この関係抽出では、各検査項目における異常回数に注目する。そのため、インタラクティブインタフェースの特徴抽出部に関係行列算出部を付加するとともに、表示制御装置と表示装置の間の表示インタフェースに関係行列表示インタフェースを追加する。これにより、或る検査項目値から他の検査項目値を推定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−22857号[G06Q 50/00, G06F 17/30, A61B 5/00]
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1の臨床検査データ解析表示装置では、たとえば、検査項目{A1,A2,A3,…}の検査値の平均値と検査項目Bの検査結果の異常回数との関係が線形であると仮定して、A群の検査項目の検査値の平均値から検査項目Bの検査結果の異常回数を線形近似(推定)するため、そのような関係を有していない場合には、異常回数(異常頻度)を正しく推定することができない。
【0005】
それゆえに、この発明の主たる目的は、新規な、異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムを提供することである。
【0006】
また、この発明の他の目的は、推定精度を向上させることができる、異常頻度推定装置、異常頻度推定プログラム、異常頻度推定方法および異常頻度推定システムを提供することである。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0008】
第1の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する異常頻度算出手段、第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、異常頻度算出手段によって算出された第2検査項目の異常頻度との関係を抽出する抽出手段、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および抽出手段によって抽出された関係を用いて、第2平均値算出手段によって算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定装置である。
【0009】
第1の発明では、異常頻度推定装置(12)は、データベース(14)を備える。データベースは、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録している。第1平均値算出手段(12a、S15)は、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する。異常頻度算出手段(12a、S15)は、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する。抽出手段(12a、S21)は、第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、異常頻度算出手段によって算出された第2検査項目の異常頻度との関係を抽出する。第2平均値算出手段(12a、S19)は、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する。異常頻度推定手段(12a、S27)は、抽出手段によって抽出された関係を用いて、第2平均値算出手段によって算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する。
【0010】
第1の発明によれば、過去の全検査値のうち、一部の複数の第1検査項目の検査値の各々についての所定検査回数分の平均値と、第1検査項目以外の第2検査項目の所定回数における異常頻度との関係を抽出し、この関係を用いて、今回の検査値を含む複数の第1検査項目の検査値の各々についての所定回数分の平均値から今回を含む所定回数における第2検査項目の異常頻度を推定するので、推定する第2検査項目と第1検査項目との関係を仮定する必要がなく、推定精度を向上させることができる。
【0011】
第2の発明は、第1の発明に従属し、異常頻度は、所定検査回数の臨床検査において異常であることが判断された回数である。
【0012】
第2の発明では、異常頻度は、各検査項目について、たとえば連続する所定検査回数の臨床検査において異常であることが判断された回数である。
【0013】
第2の発明によれば、複数回の臨床検査の検査値に基づいて、異常頻度を推定するので、季節変動、睡眠時間、食事からの時間などの様々な要因による影響をなるべく受けずに、異常頻度を比較的正確に推定することができる。
【0014】
第3の発明は、第1または第2の発明に従属し、異常頻度推定手段によって推定された第2検査項目の異常頻度と前回以前の当該第2検査項目の検査値とに基づいて、今回の当該第2検査項目の検査結果の正常または異常を推定する検査結果推定手段をさらに備える。
【0015】
第3の発明では、異常頻度推定装置は、検査結果推定手段(12a、S29)をさらに備える。この検査結果推定手段は、異常頻度推定手段によって推定された第2検査項目の異常頻度と前回以前の当該第2検査項目の検査値とに基づいて、今回の当該第2検査項目の検査結果の正常または異常を推定(判断)する。
【0016】
第3の発明によれば、第2検査項目についての検査結果が異常であると推定された場合には、当該第2検査項目について臨床検査を行わせることができるので、病気や未病の状態を見逃すリスクを可及的少なくすることができる。
【0017】
第4の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定プログラムであって、異常頻度推定装置のプロセッサに、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出ステップ、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する異常頻度算出ステップ、第1平均値算出ステップにおいて算出された各平均値を要素とする平均値ベクトルと、異常頻度算出ステップにおいて算出された第2検査項目の異常頻度との関係を抽出する抽出ステップ、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する第2平均値算出ステップ、および抽出ステップにおいて抽出された関係を用いて、第2平均値算出ステップにおいて算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する異常頻度推定ステップを実行させる、異常頻度推定プログラムである。
【0018】
第5の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定方法であって、異常頻度推定装置のプロセッサは、(a)データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出し、(b)前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出し、(c)ステップ(a)において算出された各平均値を要素とする平均値ベクトルと、ステップ(b)において算出された第2検査項目の異常頻度との関係を抽出し、(d)選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出し、そして(e)ステップ(c)において抽出された関係を用いて、ステップ(d)において算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する、異常頻度推定方法である。
【0019】
第6の発明は、複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、前回以前の臨床検査の検査値を用いて、第1検査項目以外の第2検査項目についての所定検査回数における異常頻度を算出する異常頻度算出手段、第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、異常頻度算出手段によって算出された第2検査項目の異常頻度との関係を抽出する抽出手段、選択した1のクライアントについて、データベースに収録された複数の第1検査項目の各々についての今回の臨床検査の検査値を含む所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および抽出手段によって抽出された関係を用いて、第2平均値算出手段によって算出された複数の第1検査項目の各々についての平均値から、第2検査項目についての今回の臨床検査を含む所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定システムである。
【0020】
第4ないし第6の発明においても、第1の発明と同様に、推定精度を向上させることができる。
【発明の効果】
【0021】
この発明によれば、過去の全検査値のうち、一部の複数の第1検査項目の検査値の各々についての所定検査回数分の平均値と、第1検査項目以外の第2検査項目の所定回数における異常頻度との関係を抽出し、この関係を用いて、今回の検査値を含む複数の第1検査項目の検査値の各々についての所定回数分の平均値から今回を含む所定回数における第2検査項目の異常頻度を推定するので、推定する第2検査項目と第1検査項目との関係を仮定する必要がなく、推定精度を向上させることができる。
【0022】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0023】
【図1】図1はこの発明の異常頻度推定システムの一例を示す図解図である。
【図2】図2は図1に示す検査データベースの内容の一例を示す図解図である。
【図3】図3は図1および図2に示す検査データベースの具体的な内容を示す図解図である。
【図4】図4は検査値の正規分布と基準値とを示す図解図である。
【図5】図5は基準値の一例を示す図解図である。
【図6】図6は検査値の変化の一例およびその異常頻度を示す図解図である。
【図7】図7は実数値でない検査結果を実数値に変換するための変換表の一例を示す図解図である。
【図8】図8は尤度関数の求め方を説明するための図解図である。
【図9】図9は前2回の検査結果と異常頻度の推定結果とから、推定した検査項目の検査結果の正常、異常を推定するための対応表を示す図解図である。
【図10】図10は図1の異常頻度推定装置内のRAMのメモリマップの一例を示す図解図である。
【図11】図11は図1の異常頻度推定装置内のCPUの異常頻度の推定および検査結果の推定処理を示すフロー図である。
【図12】図12は実際の臨床検査および異常頻度の推定の流れを説明するための図解図である。
【図13】図13は主要な項目区分の費用を示す図解図である。
【図14】図14は、検査項目を常に一定とした場合において、検査をした項目数、正解項目数、および不正解項目数を男女別に示した結果のグラフである。
【図15】図15は、図14に示した男性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図16】図16は、図14に示した女性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図17】図17は、検査項目を変化させた場合において、検査をした項目数、正解項目数、および不正解項目数を男女別に示した結果のグラフである。
【図18】図18は、図17に示した男性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図19】図19は、図17に示した女性についての結果を、累積検査回数毎に集計した結果を示すグラフである。
【図20】図20は検査項目の選定の有無による平均不正解項目数を比較するためのグラフである。
【図21】図21は、男性の場合において、検査項目を選定した場合の検査費用の推移を示すグラフである。
【図22】図22は、女性の場合において、検査項目を選定した場合の検査費用の推移を示すグラフである。
【図23】図23は、フィルタリングを行う前後における異常頻度の推定の精度を比較するためのグラフである。
【発明を実施するための形態】
【0024】
図1を参照して、この実施例の異常頻度推定システム10は、異常頻度推定装置12および検査データベース14を含む。異常頻度推定装置12と検査データベース14とは、コマンドやデータを送受信可能に接続される。異常頻度推定装置12は、汎用のコンピュータであり、CPU12aやRAM12bなどのコンポーネントを含む。
【0025】
なお、この実施例では、検査データベース14は、異常頻度推定装置12と直接接続されるようにしてあるが、インターネットやLANのようなネットワークを介して接続されてもよい。または、検査データベース14は、異常頻度推定装置12に内蔵されるハードディスクドライブ(図示せず)で構成してもよい。
【0026】
図2に示すように、検査データベース14には、クライアント情報16、検査項目情報18および検査結果情報20が記憶される。詳細な説明は省略するが、この実施例では、検査データベース14には、579名のクライアント(男性:260名、女性:319名)についての各情報が記憶される。
【0027】
図3(A)に示すように、クライアント情報16は、各クライアント(健康診断を受けるユーザ)についての情報(データ)を含む。クライアントについてのデータ(クライアントデータ)は、氏名、ユーザID、性別および生年月日についてのデータである。ただし、ユーザIDは、クライアント(ユーザ)の識別情報であり、たとえば、当該クライアントに割り当てられた個別の番号ないし記号(数字またはローマ字或いはそれらの両方)である。
【0028】
図3(B)に示すように、検査項目情報18は、各検査項目についての情報(データ)を含む。検査項目のデータは、項目分類名、項目名(検査ID)、基準値上限(男性)、基準値下限(男性)、基準値上限(女性)および基準値下限(女性)についてのデータである。
【0029】
項目分類名は、各検査項目を分類したまとまり(グループ)毎の名称である。この実施例では、「血清蛋白」、「蛋白分画」、「肝胆道系」、「自己免疫」、「鉄代謝」、「無機イオン代謝」、「脂質代謝」、「リポ蛋白」、「糖代謝」、「筋代謝」、「腎機能」、「炎症」、「酵素」、「感染」、「血液一般」、「細胞性免疫」、「腫瘍マーカ(血清)」、「腫瘍マーカ(尿)」および「尿一般」に分類される。
【0030】
項目名(検査ID)は、検査項目の名称である。たとえば、検査項目は、全部で134項目であり、項目名として、総蛋白(g/dl)、アルブミニ(g/dl)、アルブミン分画(%)、…などが記載される。ただし、項目名に代えて、ユーザIDのような番号ないし記号で割り当てられた識別情報を記載するようにしてもよい。
【0031】
なお、項目分類および項目名の詳細については、東京女子医科大学IREIIMSの研究によって開発された統合医科学情報基盤(CIMI(Cyber Integrated Medical Infrastructure))データベースの仕様書(http://www.twmu.ac.jp/TIIMS
/CIMI_Database_v1_0.pdf)に開示されているため、ここではその説明は省略することにする。
【0032】
基準値上限(男性)は、当該検査項目に設定された男性についての基準値の上限値である。基準値下限(男性)は、当該検査項目に設定された男性についての基準値の下限値である。基準値上限(女性)は、当該検査項目に設定された女性についての基準値の上限値である。基準値下限(女性)は、当該検査項目に設定された女性についての基準値の下限値である。
【0033】
このように、各検査項目には、健康診断の結果が正常であるか異常であるかを判断するために、基準値が設定されている。この基準値は、図4に示すように、検査値の正規分布のうち、その中の95%に含まれている範囲を規定する値を意味する。ただし、正規分布は、健康な成人についての検査値の正規分布である。その95%に含まれている範囲のうちの最大値(上限)が基準値上限であり、最小値(下限)が基準値下限である。ただし、男性と女性とでは、一部の検査項目について、基準値上限および基準値下限が異なるため、それぞれの場合について記憶(設定)してある。
【0034】
図5には、基準値(基準値上限および基準値下限)の一例が示される。具体的には、白血球数(x×103)、赤血球数(x×106)およびクレアチニン(血清)(mg/dl)の各検査項目に対応して、男性および女性の場合についての基準値上限および基準値下限がそれぞれ記述される。図示は省略するが、他の検査項目についても同様である。
【0035】
図3(C)に戻って、検査結果情報20は、各検査結果についての情報(データ)を含む。検査結果のデータは、ユーザID、項目名(検査ID)、検査日、検査値、基準値上限、基準値下限および判断結果についてのデータである。ユーザIDおよび項目名は上述したとおりである。
【0036】
検査日は、項目名が示す検査項目についての臨床検査を行った年月日である。検査値は、項目名が示す検査項目についての検査結果(測定結果)の値(実数値、離散値)である。基準値上限は、項目名が示す検査項目についての臨床検査を行ったときの基準値上限であり、上述したように、クライアントの性別に応じて異なる場合がある。同様に、基準値下限は、項目名が示す検査項目についての臨床検査を行ったときの基準値下限であり、クライアントの性別に応じて異なる場合がある。判断結果は、項目名が示す検査項目についての臨床検査の検査結果(検査値)の正常または異常の推定(判断)結果である。
【0037】
このように、検査日(検査時)の基準値上限および基準値下限を記憶するのは、基準値が検査時期によって変化する場合があるからである。基準値が変化する理由としては、技術的変動要因と生理的変動要因とがある。技術的変動要因としては、測定に用いる機器や試薬の変更による基準値の変動や測定誤差が該当する。また、生理的変動要因としては、分析対象のデータの年齢による基準値の変動や季節変動が該当する。
【0038】
この実施例の異常頻度推定装置12では、検査データベース14を参照して、臨床検査を行わない検査項目の検査結果について異常が発生する頻度(異常頻度)を推定する。この実施例では、異常頻度とは、連続する複数回(たとえば、3回)の健康診断(臨床検査)の検査結果のうち、検査結果(検査値)が異常を示す回数を意味する。ただし、異常頻度の推定は、検査項目毎に行われる。
【0039】
上述したように、臨床検査の検査項目は全部で134項目あり、これらすべてを毎回検査するには多大な費用を要する。一方、一般的な健康診断では、検査項目は10〜13項目程度であり、様々な病気の兆候をその異常状態のみから見つけるためには検査項目が少な過ぎる。
【0040】
したがって、この実施例では、費用を出来る限り抑えつつ、多対1の関係性に着目して、臨床検査を行わない検査項目についての異常頻度を推定し、さらに、その推定結果に基づいて、当該臨床検査を行わない検査項目についての検査結果が正常であるか異常であるかを判断(推定)するようにしてある。
【0041】
簡単に説明すると、或る検査項目についての異常頻度を推定する場合には、実際に今回臨床検査を行った複数の検査項目の今回を含む所定回数分の検査値が用いられる。ただし、検査値は直接用いられるのではなく、次のような値に変換される。整数値や記号で示されている検査値については、実数値に変換される。また、各期間(各検査時期)で異なる基準値に即した検査値が線形変換される。さらに、異常頻度の推定の元となる、実際に今回臨床検査を行った複数の検査項目についての過去所定回数分の検査結果についての検査値(上記の変換後の検査値である。)についての平均値および今回臨床検査を行わない複数の検査項目についての同じく過去所定回数分の検査結果(検査値)が異常を示す頻度(異常頻度)が算出される。このように算出された平均値と異常頻度から尤度関数が求められる。そして、上述した今回を含む所定回数分の検査値の平均値の尤度が求められ、臨床検査を行わない複数の検査項目の各々について異常頻度が推定される。この実施例では、異常頻度の推定には、ベイズ推定に基づいた手法が用いられ、これにより、異常頻度が識別される。
【0042】
つまり、この実施例では、検査データベース14に記憶されている全クライアントについての全検査項目の全検査値のうち、前回以前の所定回数分(この実施例では、前回以前の過去3回分)を用いて、今回臨床検査を行った検査項目(説明の都合上、「第1検査項目」という。)のそれぞれについての平均値を算出する。また、同じく前回以前の所定回数分(この実施例では、前回以前の過去3回分)を用いて、今回臨床検査を行わない(異常頻度を推定する)検査項目(説明の都合上、「第2検査項目」という。)のそれぞれについて、その所定回数における検査結果の異常頻度を算出する。このようにして算出された第1検査項目の各々の平均値と第2検査項目の各々の異常頻度との関係が抽出される。この実施例では、所定の統計モデルが作成される。そして、今回臨床検査が行われたとき、今回臨床検査を行った検査項目(第1検査項目)のそれぞれについて、今回の臨床検査を含む連続する3回の臨床検査の検査値の平均値が算出され、この平均値が作成された統計モデルに当て嵌められる。これによって、今回臨床検査を行わない検査項目(第2検査項目)のそれぞれについての異常頻度が推定される。
【0043】
ここで、異常頻度の算出方法と、異常頻度の推定方法について説明することにする。異常頻度は、検査データベース14に収録されている検査値および基準値に基づいて算出(推定)される。
【0044】
図4に示したように、各検査項目に対応して基準値が設定されており、その上限(基準値上限)を上回ったり、その下限(基準下限)を下回ったりする場合には、当該検査項目の検査結果として異常であることが判断される。ただし、この実施例では、基準値上限を上回った検査値を「異常高値」と呼び、基準値下限を下回った検査値を「異常低値」と呼ぶことがある。また、上述したように、基準値は、男性と女性とで異なる場合があるため、この実施例では、男性、女性、異常高値および異常低値に分けて、正常であるか異常であるかが判断される。
【0045】
この実施例では、1回の臨床検査における検査値が異常頻度の推定に用いられるのではなく、連続した複数回(3回)の臨床検査における検査値が異常頻度の推定に用いられる。これは、一般に、検査値は、疾患に関わる変動だけでなく、季節変動、睡眠時間、食事からの時間など、様々な要因に影響を受けることが知られているからである。このため、1つの検査値から他の検査値を推定することは困難である。これは、医師であっても同様であり、複数回の臨床検査の検査値に基づいて判断されることが多い。
【0046】
そこで、上述したように、この実施例では、実際に臨床検査を行った各検査項目についての過去所定回数分の検査値の平均値および臨床検査を行わない各検査項目についての当該過去所定回数分の検査結果(検査値)における異常頻度に基づいて、今回の臨床検査を含む複数回の検査値の平均値から、今回臨床検査を行わない各検査項目についての異常頻度を推定するようにしてある。
【0047】
図6(A)は、或る検査項目についての検査値を時系列に従って示したグラフであり、基準値に基づいて検査値が異常であるかどうかを判断した結果が示される。この図6(A)では、検査値が基準値を超えている場合に、検査結果(検査値)が異常であることが判断され、検査値が基準値以内である場合に、検査値が正常であることが判断される。また、図6(A)では、正常と判断された検査値を白丸で示し、異常と判断された検査値を黒丸で示してある。ただし、図6(A)(図6(B)も同様)では、異常高値または異常低値を区別していない。
【0048】
図6(B)は、図6(A)に示すように検査値が変化した場合における、検査値の異常頻度を示す表である。具体的には、図6(B)は、図6(A)に対応しており、臨床検査の各回数τに対応して、検査値の正常または異常の判断結果が記述されるとともに、前々回、前回、今回の連続する3回((τ−2)回〜τ回)についての異常頻度の数値(0、1、2、3)が記述される。
【0049】
図6(A)および図6(B)に示すように、初回(τ=1)から3回(τ=3)目までの各検査値は、基準値を超えているため、すべて異常と判断される。つまり、3回の臨床検査において3回の異常が発生しているため、3回目に対応する異常頻度は「3」となる。同様に、2回(τ=2)目から4回(τ=4)目では、3回の臨床検査のうち、2回の検査値が異常と判断されているため、4回目に対応する異常頻度は「2」となる。5回目以降も同様に、異常頻度が算出される。この実施例では、異常頻度が「0」である場合を「正常」と定義し、異常頻度が「3」である場合を「高頻度異常」と定義する。
【0050】
なお、初回および2回目では、臨床検査が3回に満たないため、異常頻度は算出されない。
【0051】
次に、異常頻度の推定方法について説明する。上述したように、臨床検査を行わない検査項目の異常頻度を推定するために、臨床検査を行った各検査項目についての過去3回の臨床検査における検査値の平均値および臨床検査を行わない各検査項目の過去3回の検査結果(検査値)の異常頻度が用いられる。以下では、異常頻度の推定方法について、式を用いて説明することにする。ただし、各式で用いる変数は次のように定義される。
【0052】
変数iは、臨床検査の検査項目の別を示し、検査項目の総数はNで示される。また、変数jは、クライアントの別を示し、クライアントの総人数はHで示される。さらに、変数tは、何回目の臨床検査であるかを示し、クライアントjの累積検査回数はTjで示される。
【0053】
クライアントjおよび検査項目iの検査値xj,i(t)を、検査項目iに従ってベクトル化したXj(t)は数1のように定義される。ただし、Xj(t)は、1回(t回目)の臨床検査によって得られる検査値のすべてを表している。
【0054】
[数1]
Xj(t)={xj,i(t)|i=1,2,…,N;t=1,2,…,Tj;j=1,2,…,H}
正常と判断された検査項目iの検査値(正常値)と、異常と判断された検査項目iの検査値(異常値)との境界の値すなわち基準値を、Fi,low(基準値下限)およびFi,high(基準値上限)とするとき、検査値のベクトルXj(t)の各要素が異常(異常値)であるか正常(正常値)であるかを示す異常ベクトルBj(t)は数2のように定義される。
【0055】
[数2]
Bj(t)={bj,i(t)|i=1,2,…,N;t=1,2,…,Tj;j=1,2,…,H}
ここで、bj,i(t)は、数3で示すように、検査値が異常(異常値)である場合には「1」となり、検査値が正常(正常値)である場合には「0」となる。ただし、検査値がFi,high(基準値上限)を上回る異常高値である場合、および検査値がFi,low(基準値下限)を下回る異常低値である場合に、bj,i(t)は「1」となる。
【0056】
[数3]
【0057】
[数4]
【0058】
ここで、異常頻度の推定を行う前に必要となる検査値の処理(前処理)について説明する。上述したように、臨床検査の検査項目には、その検査値が実数の値(実数値)と実数でない値(離散値)とが存在する。たとえば、尿検査においては、(+)や(−)を用いて、陰性および陽性の強さの度合いを表す。具体的には、(+)は陽性を表し、これに付加される数値が大きくなる程、陽性の傾向が強くなる。また、(−)は陰性を表し、陽性と同様に、これに付加される数値が大きくなる程、陰性の傾向が強くなる。さらに、(+−)は偽陽性を表し、陽性の疑いがあることを示す。
【0059】
このように、実数でない値については、図7に示すように、実数値に変換するための表(変換表)を定義しておき、この変換表に従って変換することにより、数値化する。たとえば、検査項目が尿一般(一部)である場合には、検査結果が(3−)であれば、実数値「0」に変換され、検査結果が(+)であれば、実数値「4」に変換される。詳細な説明は省略するが、他の検査結果についても同様である。
【0060】
また、検査項目が尿沈渣である場合には、検査結果は沈渣数の範囲で表される。したがって、図7の変換表に示すように、沈渣数の範囲に対応して実数値が定義され、この変換表に従って変換することにより、沈渣数の範囲を数値化する。たとえば、沈渣数が1〜4/HPFである場合には、実数値「1」に変換され、沈渣数が30〜39/HPFである場合には、実数値「5」に変換される。詳細な説明は省略するが、他の検査結果(沈渣数)についても同様である。
【0061】
このようにして、実数でない値が実数値に変換され、さらに、検査値は、期間(検査時期)毎の基準値に即した値に変換される。つまり、最新の基準値に過去の基準値が合わせられる。これは、各検査項目には、基準値上限および基準値下限が設けられているが、上述したように、それらは検査時期によって変化する場合があるからである。
【0062】
この実施例では、過去の臨床検査の検査値に遡ることにより、平均値と異常頻度との関係性に着目するため、基準値の変動を考慮する必要がある。このため、異常頻度を推定する前に、検査値を線形変換するようにしてある。
【0063】
具体的には、検査項目iの検査値xiを線形変換する場合には、検査値xiを計測したときの基準値をFi,lowおよびFi,highとし、最新の基準値をF´i,lowおよびF´i,highとすると、線形変換後の検査値x´iは数5に従って算出される。
【0064】
[数5]
【0065】
この数5では、以前の基準値と現在の基準値との比率を算出するとともに、基準値下限からの移動量(差分)を算出している。
【0066】
異常頻度の推定では、ベイズ推定に基づく手法が用いられる。上述したように、過去の検査値(検査結果)から算出された平均値および異常頻度が入力値として用いられる。また、推定結果の出力は、クライアントjの検査項目iの異常頻度(「0回異常/3回中」〜「3回異常/3回中」)となる。
【0067】
具体的には、異常頻度に基づいて多次元の尤度関数を用いた、ベイズ推定に基づいた手法が導入される。ベイズ推定を導入した理由としては、事前分布を医師や専門家の先見的知見に基づいて定めることが可能であることと、異常頻度を識別する際に、他の識別手法と比較して、より正しく推定することができる(推定精度が高い)ことである。
【0068】
なお、他の識別手法は、カーネルSVM、k−MM法およびJ48(決定木)であり、図示および詳細な説明は省略するが、予め行った実験によって、ベイズ推定による推定が最も正答率が高かった。
【0069】
事前分布は、後述するように、証拠が無い条件で、或る変数について知られていることを確率分布として表現したものである。この実施例では、事前分布は異常頻度の各クラス(0〜3)が推定される確率分布である。この実施例では、検査値から事前分布(確率分布)を算出してあるが、医師の知見に基づいて確率分布を調整することも可能である。たとえば、医者の知見により、「検索項目iはリスクを避けるために高頻度に推定させたい」場合などの個別の事情があるからである。
【0070】
ここで、一般的な健康診断において実際に臨床検査を行った検査項目から、臨床検査を行わない検査項目(推定対象の検査項目)の異常頻度を推定する場合において、実際に臨床検査を行った検査項目(検査対象の検査項目)の集合Sを定義する。たとえば、検査項目「βマイクログロブリン(尿)」の異常頻度を、「血糖」、「βマイクログロブリン(血清)」、「ALP」の3つの検査項目の検査値から推定する場合には、i=βマイクログロブリン(尿)、S={血糖,βマイクログロブリン(血清),ALP}と定義される。
【0071】
[数6]
【0072】
[数7]
【0073】
なお、詳細な説明は省略するが、検査対象でない各検査項目iについての異常頻度を求める際に、その各検査項目iの検査結果(検査値)について、基準値に基づいて正常または異常が判断され、このとき、検査結果のデータの判断結果に「正常」または「異常」が記憶(記述)される。または、検査値が検査データベース14に登録されるときに、基準値に基づいて正常または異常を判断するようにしてもよい。
【0074】
次に、ベイズ推定について説明する。ベイズ推定とは、観測された事実に基づいて、その事実の原因となる事象が起こる確率を推定する方法を意味する。このベイズ推定の基本式は、数8で示される。
【0075】
[数8]
【0076】
つまり、事象Xが発生する確率P(X)と尤度(尤度関数)P(Y|X)の積に基づいて、事象Yが発生した下で、事象Xが発生する条件付き確率(事後確率)P(X|Y)を推定する。
【0077】
ベイズ推定の特徴の1つとして、従来の推計統計学では、事前確率P(X)が定数として決定されていたが、ベイズ推定では、関数と考えることが挙げられる。この特徴によって、母集団を特定することが困難なスパムメールを識別したり、臨床検査における「陰性」および「陽性」の結果を出したりする際に、ベイズ推定が用いられる。
【0078】
つまり、この実施例では、事前確率P(X)は、「或る異常頻度k」になる確率である。上述したように、異常頻度kは離散値(0≦k≦M)であるため、事前確率分布は離散分布となる。ただし、この実施例では、M=3である。以下、同じ。データベース(検査データベース14とは異なる。)に記憶されている全クライアントについての検査項目iの検査値のデータのうち、異常頻度がkである検査値のデータの総数をni(k)とすると、事前確率P(X=k)は数9のように表される。ただし、uは、0≦u≦Mの整数である。
【0079】
ここで、事前確率P(X)を算出する際に参照されるデータベースは、多数のクライアントの臨床検査の検査結果が蓄積されているデータベースであって、図示は省略するが、インターネットのようなネットワークを介して異常頻度推定装置12と通信可能に接続される。このデータベースでは、クライアントが増えると、検査結果も増える。また、データベースでは、年月とともに、検査結果が増減し、クライアントの数も増減する。ただし、事前確率P(X)の算出に用いられる検査値についても、上記と同じ前処理が施される。
【0080】
[数9]
【0081】
また、推定したい検査項目iの或る異常頻度kにおいて、臨床検査を行った検査項目iの平均値の尤もらしさを表す尤度関数P(Y|X)は、平均値ベクトルの密度を用いて計算される。ただし、平均値ベクトルは多次元であるため、検査値を元に多次元分布の密度が推定される。
【0082】
分布密度は、推定したい検査項目iの異常頻度k毎に求められる。検査項目iと異常頻度kを対応づけるために、クライアントjと検査項目iの組み合わせGi,kは数10に示すように定義される。
【0083】
[数10]
【0084】
この実施例では、分布の密度を推定する方法としては、多次元版のカーネル密度推定が採用される。検査項目i´のクライアントj´のτ´回目の推定を行うための尤度関数P(Y|X=k)は数11に示すように定義される。ただし、「´」は、クライアントjとは異なるクライアントを意味するために付してある。また、尤度関数P(Y|X=k)を算出する(求める)方法の概念図が図8に示される。ただし、図8ではカーネルは一次元であるのに対し、上述したように、実際のカーネルは多次元である。
【0085】
[数11]
【0086】
[数12]
【0087】
ただし、Nはj,τの組み合わせの数であり、Dは実際に臨床検査を行った検査項目iの数であり、そして、hは数13に示すバンド幅である。ただし、バンド幅とは、上記のカーネルの幅を設定する変数を意味する。この実施例では、バンド幅は、数13に示すように、Silvermanの経験則を採用した。
【0088】
[数13]
【0089】
ベイズ推定の式を用いて異常頻度k=X=0,1,2,3毎に事後確率P(X|Y)が算出される。そして、クライアントjの検査値に基づいて期待値E(X|Y)が算出される。数14に示す期待値E(X|Y)は実数であるのに対し、異常頻度kは0,1,2,3の4段階であるため、期待値E(X|Y)の算出結果が四捨五入され、0〜3の実数に変換される。これが異常頻度kの推定結果にされる。
【0090】
[数14]
【0091】
このように、異常頻度kの算出および推定が行われる。次に、システム10における全体の処理について説明することにする。まず、システム10では、クライアントjの過去の検査値などを総合的に判断することにより、検査項目iが選択される。ここでは、全検査項目iが、臨床検査を行う必要がある(検査対象の)検査項目i(教師データとなる検査項目i)と、異常頻度kを推定する(推定対象の)検査項目iとに分類される。
【0092】
ここで、推定に用いる検査項目iを選択する方法(アルゴリズム)について説明する。検査項目iは、健康診断が行われる毎に必ず臨床検査を行うものと、検査項目iを選択(選定)するアルゴリズム(選定アルゴリズム)によって、臨床検査を行うかどうかを判断するものとに分別される。
【0093】
健康診断が行われる毎に必ず臨床検査を行うものとしては、一般の健康診断で行われる検査項目i、検査費用の単価が安価な検査項目i、および診断を行う上で重要性が高い検査項目iである。また、選定アルゴリズムの対象となるものとしては、毎回検査を行うことが困難である検査費用の高い検査項目i、および診断を行う上で重要性が低い検査項目iである。
【0094】
選定アルゴリズムは、取り決めに基づくため、医師や専門家によって定義される。ただし、この実施例では、「過去に連続して2回以上異常となった場合」において臨床検査を行う検査項目i(検査対象の検査項目i)を選定するようにしてある。他の例としては、選定アルゴリムを「特定の検査項目iが異常だった場合に他の検査項目iを臨床検査の対象とする」と定義し、検査対象の検査項目iを選定するようにすることも可能である。この選定アルゴリズムによって、検査項目iは、臨床検査を行う必要がある検査項目iと、臨床検査を行わずに推定する検査項目iとに選定(選択)される。
【0095】
検査対象の検査項目iとして選定された検査項目iについては、実際に臨床検査が行われる。この臨床検査の結果(検査結果)は、異常頻度を推定する際に利用される。
【0096】
次に、検査データベース14から、検査対象の検査項目iと、推定対象の検査項目iとのそれぞれの検査値を取得する。上述したように、検査データベース14から取得した検査値を元に異常頻度kを推定するため、検査値を実数値に変換したり、基準値を線形変換したりする前処理を行い、この前処理が行われた検査値を用いて、検査対象の各検査項目iについての検出値の平均値および推定対象の各検査項目iの検査結果(検査値)の異常頻度が算出される。
【0097】
そして、ベイズ推定によって、推定対象の各検査項目iの異常頻度kが推定される。このとき、予め算出された平均値および異常頻度が用いられる。ただし、平均値は、推定対象の検査項目iの異常頻度(「0回/3回中」〜「3回/3回中」)に対応する形で与えられる。そして、推定された異常頻度は、たとえばモニタ(図示せず)に表示(出力)される。
【0098】
さらに、推定対象の検査項目iについては、今回の検査結果(検査値)が正常であるか異常であるかが判断(推定)される。ただし、この場合には、当該検査項目iについて推定された異常頻度に基づいて行わなければならない。
【0099】
図9には、異常頻度の推定結果と、最後に行った臨床検査の検査結果の正常または異常を推定するための対応表が示される。ただし、括弧内の数字は異常頻度を示す。また、対応させた結果、推定される異常頻度と異なる異常頻度が現れている場合について米印(※)を付してある。
【0100】
図9に示す対応表では、検査結果として、たとえば、「(正常)(正常)」とあるのは、前回および前々回の検査結果が正常であったことを意味する。厳密に言うと、左側の括弧内が前々回の検査結果であり、右側の括弧内が前回の検査結果である。図9においては、「(異常)(正常)」を省略してあるが、これは、「(正常)(異常)」の場合と同じだからである。したがって、括弧内の検査結果は、どちらが前々回の結果(または前回の結果)であっても構わない。
【0101】
上述したように、前回と前々回の検査結果が「(正常)(正常)」である場合に、異常頻度の推定において「0回/3回中」となった場合には、今回、前回および前々回の3回の臨床検査において異常が無かったと推定されている。このため、最新(今回)の検査結果は「正常」であると判断(推定)される。また、前回と前々回の検査結果が「(正常)(正常)」である場合に、異常頻度の推定において「1回/3回中」となった場合には、今回、前回および前々回の3回の臨床検査において1回異常が有ったと推定されている。このため、今回の検査結果は「異常」であると推定される。
【0102】
さらに、前回と前々回の検査結果が「(正常)(正常)」である場合に、異常頻度の推定において「2回/3回中」または「3回/3回中」となった場合には、今回、前回および前々回の3回の臨床検査において、2回以上異常が有ったと推定されている。しかし、実際には、過去3回中2回は正常であったため、推定結果は矛盾することになる。したがって、「1回/3回中」となった場合と同様に、今回の検査結果のみを「異常」と推定することで矛盾を回避してある。
【0103】
なお、詳細な説明は省略するが、他の場合についても同様である。また、詳細な説明は省略するが、異常頻度の推定結果に基づいて検査結果が「異常」と判断された検査項目iについては、その後、臨床検査が行われ、検査データベース14に、検査値およびその「正常」または「異常」の別が記憶される。一方、異常頻度の推定結果に基づいて検査結果が「正常」であると判断(推定)された検査項目iについては、検査データベース14に、検査値は記憶されず、検査結果として「正常」であることが記憶される。
【0104】
図10は、図1に示したRAM12bのメモリマップ30の一例を示す図解図である。図10に示すように、RAM12bは、プログラム記憶領域32およびデータ記憶領域34を含む。プログラム記憶領域32には、異常頻度推定装置12の全体処理についてのプログラム(制御プログラム)が記憶される。制御プログラムは、メイン処理プログラム32a、検査項目選択プログラム32b、前処理プログラム32c、異常頻度推定プログラム32d、異常頻度出力プログラム32e、検査結果推定プログラム32fおよび推定結果出力プログラム32gなどによって構成される。
【0105】
メイン処理プログラム32aは、異常頻度推定装置12のメインルーチンを処理するためのプログラムである。検査項目選択プログラム32bは、上述した選定アルゴリズムに従うプログラムであり、臨床検査を行う必要がある検査項目i(検査対象の検査項目i)と、異常頻度kを推定する検査項目i(推定対象の検査項目i)とを選定(選択)する。具体的には、選択された(対象の)クライアントjについての検査値のデータを取得し、各検査項目iについて前回と前々回の検査値のデータを参照して、その両方が異常である場合に、当該検査項目iを検査対象の検査項目iとして選定する。
【0106】
なお、後述するように、毎回必ず臨床検査を行う検査項目i(基礎検査項目)については、選定する必要はない。
【0107】
前処理プログラム32cは、検査データベース14から取得した検査値のうち、実数でない検査値を実数値に変換するとともに、取得した検査値について線形変換を行うためのプログラムである。異常頻度推定プログラム32dは、検査対象の検査項目iの検査値に基づいて予め算出した平均値および推定対象の検査項目iの検査値(検査結果)に基づいて予め算出した異常頻度を用いて、ベイズ推定に基づく手法により、推定対象の各検査項目iの異常頻度を推定するためのプログラムである。ただし、各検査値には、前処理プログラム32cに従って前処理が施されてある。
【0108】
異常頻度出力プログラム32eは、推定した異常頻度を、異常頻度推定装置12に接続されたモニタ(図示せず)やプリンタ(図示せず)に出力するためのプログラムである。ただし、推定した異常頻度を検査項目i毎に記述したテーブルについてのデータを外部のコンピュータや記憶媒体に出力(送信)するようにしてもよい。後述する推定結果出力プログラム32gも同様である。
【0109】
検査結果推定プログラム32fは、異常頻度を推定した検査項目iの検査値が正常であるか異常であるかを推定(判断)するためのプログラムである。推定結果出力プログラム32gは、検査結果推定プログラム32fに従って推定された結果、すなわち、異常頻度を推定した検査項目iの検査結果(検査値)について推定された結果(正常または異常)を異常頻度推定装置12に接続されたモニタ(図示せず)やプリンタ(図示せず)に出力するためのプログラムである。
【0110】
図示は省略するが、プログラム記憶領域32には、検査データベース14との間でコマンドやデータを送受信するためのプログラムなども記憶される。
【0111】
データ記憶領域34には、制御プログラムの実行に必要なデータが記憶(一時記憶)されたり、制御プログラムの実行に必要なカウンタ(タイマ)やフラグが設けられたりする。たとえば、検査項目選定プログラム32bに従って選定された、検査対象の検査項目iについての検査IDと、推定対象の検査項目iの検査IDとが識別可能に記憶される。
【0112】
図11は、図1に示したCPU12aの異常頻度の推定および異常の判定処理についてのフロー図である。図示は省略するが、検査項目iの選定(選択)処理は予め実行され、検査対象の検査項目iについては、実際に臨床検査が行われ、その検査値および判断結果(正常または異常)は検査データベース14に記憶(収録)されているものとする。
【0113】
図11に示すように、CPU12aは、異常頻度の推定および検査結果の推定処理を開始すると、ステップS1で、選択された(対象の)クライアントj(ユーザID)を入力する。次のステップS3では、推定対象の検査項目i(検査ID)を入力する。ただし、ステップS1およびS3では、異常頻度推定システム10の管理者等が、ユーザIDや各検査項目iを入力する。
【0114】
続いて、ステップS5では、すべてのユーザ(クライアント)についての過去3回(たとえば、前回、前々回、3回前)の全検査項目iの検査値のデータおよびステップS1で入力されたユーザIDが示すクライアントjについて今回臨床検査した検査項目iの検査値のデータを読み込む。ここでは、CPU12aは、検査データベース14から上記の検査値のデータを読み出して、RAM12bのバッファ領域(図示せず)に記憶する。次のステップS7では、読み込んだ検査値のデータについて前処理を実行する。
【0115】
なお、この実施例では、異常頻度の推定および検査結果の推定処理において前処理を実行するようにしてあるが、この処理とは別に予め前処理を実行しておいてもよい。または、前処理が施された検査データベース14を設けるようにしてもよい。
【0116】
また、この実施例では、直近の過去3回の検査値のデータを読み込むようにしてあるが、連続する過去3回の検査値のデータであれば、それ以前のものであっても構わない。
【0117】
続くステップS9では、ステップS1で入力されたユーザIDについての推定対象の検査項目の検査値を取得する。ここでは、CPU12aは、バッファ領域に記憶された検査値のデータから、推定対象の検査項目iについての連続する過去3回(3回前、前々回および前回)の検査値のデータを読み込む。
【0118】
次のステップS11では、ステップS1で入力されたユーザIDについての検査対象の検査項目の検査値を取得する。ここでは、CPU12aは、バッファ領域に記憶された検査値のデータから、検査対象の検査項目iについての連続する過去3回(3回前、前々回および前回)の検査値のデータを読み込む。
【0119】
さらに、ステップS13では、すべての検査項目の基準値を取得する。つまり、CPU12aは、検査データベース14に検査項目情報18(検査項目のデータ)の読み出し指示を与え、これに応じて、検査データベース14から与えられた検査項目のデータをRAM12bのバッファ領域に記憶する。ただし、ユーザIDに対応するクライアントjが男性である場合には、基準値上限(女性)および基準値下限(女性)のデータは読み込まなくてもよい。同様に、ユーザIDに対応するクライアントjが女性である場合には、基準値上限(男性)および基準値下限(男性)のデータは読み込まなくてもよい。
【0120】
続いて、ステップS15では、ステップS11で読み出した検査値のデータを用いて、数6に従って検査対象の各検査項目iの過去の検査値の平均値を算出するとともに、ステップS9で読み出した検査値のデータを用いて、数7に従って推定対象の各検査項目iの過去の検査値(検査結果)の異常頻度を算出する。このとき、ステップS13で取得した基準値(検査項目情報のデータ)が参照され、検査値(検査結果)の正常または異常が判定される。ただし、予め検査値(検査結果)の正常または異常を判定し、検査データベース14に登録しておいてもよい。かかる場合には、ステップS13の処理は削除することができる。
【0121】
続く、ステップS17では、数9に従って事前確率分布すなわち事前確率P(X)を算出する。ただし、上述したように、ここでは、検査データベース14とは異なるデータベースから検査値が読み出されるとともに、前処理が施される。さらに、ステップS19では、数6に従って今回を含む連続3回(今回、前回および前々回)の臨床検査における検査対象の各検査項目iの検査値の平均値を算出する。次のステップS21では、ステップS15で算出した平均値および異常頻度から尤度関数(数11)を求め(定義し)、ステップS23では、数11に従って、ステップS19で算出した平均値の尤度を算出する。そして、ステップS25で、数8に従って事後確率分布を算出する。続いて、ステップS27で、数14に従って異常頻度を推定する。
【0122】
異常頻度を推定すると、ステップS29で、その異常頻度を出力する。図示は省略したが、推定された異常頻度を示す表やグラフのデータは、たとえば、異常頻度推定装置12に接続されるモニタ、プリンタ、または異常頻度推定装置12と通信可能に接続される他のコンピュータに出力される。このことは、後述するステップS33において、判断結果を出力する場合についても同様である。
【0123】
さらに、ステップS31で、今回を含む連続する3回の検査値(検査結果)についての異常頻度の推定結果と、前回および前々回の検査結果(判断結果)とから、図9に示した対応表に従って、異常頻度を推定した検査項目iの検査結果について正常または異常を推定(判断)する。そして、ステップS33で、ステップS31の推定(判断)結果を出力して、異常頻度の推定および検査結果の推定処理を終了する。
【0124】
なお、詳細な説明は省略したが、ステップS17−S29では、推定対象の各検査項目iについて処理が実行される。
【0125】
さらに、この実施例の異常頻度推定システム10が有効であることを示すために、実際の健康診断に異常頻度の推定方法を組み合わせたと仮定し、シミュレーションを行った。実際に行われている健康診断(臨床検査)および異常頻度の推定の流れが図12の表に示される。
【0126】
ただし、シミュレーションでは、第1回目の臨床検査の前に、全検査項目について少なくとも1回の臨床検査が行われており、第1回目および第2回目の臨床検査の検査結果(検査値)を用いることにより、第3回目においては、検査対象項目についての検査値の過去3回の平均値および推定対象項目についての検査値(検査結果)の過去3回における異常頻度が算出され、これらに基づいて統計モデルが作成されているものとする。
【0127】
図12に示すように、健康診断の初診日(2006年11月29日)すなわち1回目の臨床検査では、検知したい病気に関連するすべての検査項目iが検査される。2回目(2007年3月6日)の健康診断では、1回目の臨床検査に基づいて、医師が健康診断の受診者にアドバイスを行った後に、1回目と同様に、すべての検査項目iが検査される。
【0128】
3回目(2007年6月18日)の健康診断では、2回目の臨床検査に基づいて、医師が健康診断の受診者にアドバイスを行う。また、選定アルゴリズムに従って、過去の検査値に基づいて、臨床検査を行う必要がある検査項目iと、異常頻度を推定する検査項目iとが選定(選別)される。ここでは、毎回必ず臨床検査を行う検査項目iに加えて、過去2回とも異常であった検査項目iが選定される。そして、臨床検査を行う必要がある検査項目iについて検査が行われ、検査を行わない検査項目iについては異常頻度が推定される。
【0129】
さらに、4回目(2007年10月1日)の健康診断では、3回目の臨床検査に基づいて、医師が健康診断の受診者にアドバイスを行う。また、選定アルゴリズムに従って、過去の検査値に基づいて、臨床検査を行う必要がある検査項目iと、異常頻度を推定する検査項目iとが選定(選別)される。そして、臨床検査を行う必要がある検査項目iについて検査が行われ、検査を行わない検査項目iについては異常頻度が推定される。
【0130】
このような流れに従って、実際の臨床検査および異常頻度の推定が行われる。ただし、2回目以降では、受診者は、健康診断を行う日に前回の検査結果を受け取り、その検査結果に基づいて医師から生活習慣などのアドバイスを受けた後に、健康診断を受診する。
【0131】
次に、シミュレーションに基づく分析を行う際の検査項目iの選定(選択)の条件について説明する。具体的には、基礎の検査項目i(基礎検査項目)として選定した検査項目iおよび選定アルゴリズムの条件を説明する。
【0132】
まず、基礎検査項目として、一般的な健康診断で用いられる9項目を定義した。具体的には、「AST」、「ALT」、「γ−GTP」、「中性脂肪」、「HDLコレステロール」、「白血球数」、「赤血球数」、「血糖」および「尿蛋白」が基礎検査項目として選定される。これらの基礎検査項目については、必ず臨床検査を行うこととし、かつ異常頻度を推定するために用いる検査項目i(教師データ)とする。また、この実施例では、推定の精度を向上させるために、検査費用が増大しない範囲で検査項目iを追加した。
【0133】
実際に健康診断を行う際には、血液検査や尿検査では、複数の検査項目iが一組になっており、複数の検査項目iに対してまとめて費用が請求される。たとえば、上記の基礎検査項目(9項目)においても、図13に示すように、「末梢血液一般検査」、「尿一般検査」および「生化学検査」の3つのカテゴリに属する。
【0134】
末梢血液一般検査の7項目は、「白血球数(WBC)」、「赤血球数(RBC)」、「MCV」、「MCH」、「MCHC」、「ヘモグロビン」、「ヘマトクリット」である。また、尿一般検査の8項目は、「尿蛋白」、「尿糖」、「尿比重」、「尿pH」、「尿ウロビリノーゲン定性」、「尿ウロビリン定性」、「尿ケトン体」および「尿潜血反応」である。
【0135】
さらに、生化学検査の32項目は、「総蛋白(TP)」、「アルブミン」、「TTT」、「ZTT」、「CK」、「ALT(GPT)」、「AST(GOT)」、「LDH」、「ALP」、「γ−GTP」、「コリンエステラーゼ」、「LAP」、「血清アミラーゼ」、「酸性フォスファターゼ(ACP)」、「クレアチニン<血清>」、「尿酸<血清>」、「尿素窒素<血清>」、「血糖」、「中性脂肪(TG)」、「リン脂質」、「遊離脂肪酸(NEFA)],「総コレステロール」、「HDLコレステロール」、「ナトリウム(Na)」、「カリウム(K)」、「クロール(Cl)」、「マグネシウム(Mg)」、「カルシウム(Ca)」、「無機リン(P)」、「血清鉄(Fe)」、「TIBC<血清>」および「総ビリルビン」である。
【0136】
シミュレーションでは、上記の47項目のうち、検査データベース14に記憶された検査値において、異常が全く見つからなかった尿一般検査の「尿ケトン体」を除いた46項目を、推定を行うために用いる検査項目iとした。上述したように、推定を行った結果は異常頻度(0〜3の4段階)として出力される。ただし、最後の健康診断において異常であるかどうかは、つまり今回異常頻度を推定した検査項目iの検査結果(検査値)の正常または異常は、異常頻度の推定結果と、前回および前々回の検査結果とから、図9に示した表に基づいて推定される。
【0137】
次に、この実施例で行った、推定率、コスト(検査費用)およびリスク(病気を見逃す可能性)の3つの評価について説明する。
【0138】
(1)推定率の評価
この実施例では、正しく異常頻度を推定できたかどうかを示す推定率による評価を行った。ただし、推定率とは、推定の対象となったすべての検査項目iのうち、異常頻度を正しく推定できた検査項目iの割合を意味する。
【0139】
(2)コスト(検査費用)の評価
臨床検査を行う際には、検査項目i毎に検査費用が発生する。ただし、一定の検査項目iで合わせて(まとめて)発生する費用と、1つ1つの検査項目i毎に発生する費用とがある。検査費用は、医療機関によって異なるが、この実施例では、1つの指針として、検査データベース14を収録する際に、仮にクライアントが負担した費用を用いて検証(評価)を行った。
【0140】
一般的な臨床検査のみを行う場合には、図13を用いて説明した検査項目iのみを検査すればよく、検査費用の合計は4,030円である。これは一般的な健康診断に係る費用とほぼ同額である。
【0141】
しかし、癌の進行を詳細に検査する場合には、腫瘍マーカの検査を受けなければならない。腫瘍マーカの検査費用は、1検査項目あたり約1,000円〜8,000円程度(定価)である。選定アルゴリム(選択処理)に従って、臨床検査を行う必要があると判断された検査項目iによっては高額な費用がかかる可能性がある。そこで、この実施例の異常頻度の推定処理が行われることにより、検査項目iを抑える(低減する)ことで、検査費用がどの程度縮減されるかを評価するとともに、どの検査項目iが検査費用を押し上げる可能性があるかを評価する。
【0142】
(3)リスク(病気を見逃す可能性)の評価
この実施例の異常頻度の推定処理が行われることにより、異常である検査項目iを正常と判断し、病気を見逃すことを防ぐことを目的として行った評価について説明する。
【0143】
上述したように、推定結果は、0(「0回異常/3回中」)〜3(「3回異常/3回中」)の4段階で出力される。たとえば、実際には、連続3回とも異常であるにも関わらず、推定結果が0(「0回異常/3回中」)である場合には、検査を行うべき検査項目iから除外され、この検査項目iに関連する病気を患うリスクを負うこととなる。そこで、各検査項目iにおいて、実際の異常頻度よりも低い異常頻度が推定された割合について評価を行う。
【0144】
次にシミュレーションを行った結果について説明する。システム10における検査項目iの選定処理が有効であるかどうかを検証するため、以下の2つの条件の各々についてシミュレーションを行った。第1の条件は、常に一定の検査項目i(上記の46項目)を選定したことである。第2の条件は、この実施例の選定アルゴリズムに従って検査項目iを選定し、検査項目iを毎回変化させたことである(上記の46項目+α)。
【0145】
検査項目iが常に一定である場合のシミュレーション(以下、「第1シミュレーション」という)の結果が図14に示される。図14に示すように、検査した検査項目i(検査をした項目)の項目数、正解した検査項目i(正解項目)の項目数、不正解(実際より高く判断)した検査項目iの項目数および不正解(実際より低く判断)した検査項目iの項目数が、男女別に集計される。
【0146】
また、それぞれの結果を累積検査回数毎に集計した結果が、図15および図16に示される。ただし、図15は男性について集計した結果であり、図16は女性について集計した結果である。また、図15および図16では、横軸が累積検査回数であり、縦軸が推定対象となった検査項目iの中での割合である。後述する図18および図19についても同じである。
【0147】
一方、選定アルゴリズムに従って、検査項目iを毎回変化させた場合のシミュレーション(以下、「第2シミュレーション」という)の結果が図17に示される。図17に示すように、検出した項目の項目数、正解項目の項目数、不正解(実際より高く判断)した検査項目iの項目数および不正解(実際より低く判断)した検査項目iの項目数が、男女別に集計される。
【0148】
また、それぞれの結果を累積検査回数毎に集計した結果が、図18および図19に示される。ただし、図18は男性について集計した結果であり、図19は女性について集計した結果である。
【0149】
第1シミュレーションの場合には、推定率は、男性では平均79.4%であり、女性では平均80.3%である。一方、第2シミュレーションの場合には、推定率は、男性では平均83.8%であり、女性では平均84.2%である。したがって、選定アルゴリムに従って検査項目iを毎回変化させた方が、推定率が高いという結果が得られた。
【0150】
また、不正解の(誤った)項目数の平均を、第1シミュレーション(選定無し)の場合と、第2シミュレーション(選定アルゴリズムによる毎回の選定有り)の場合とで比較した結果が図20に示される。図20では、累積検査回数に従って平均の不正解項目数の変化が示される。
【0151】
第2シミュレーションの場合には、不正解項目数は平均11.2項目であり、第1シミュレーションの場合と比較して28.4%減少した。また、第2シミュレーションの場合には、不正解項目のうち、異常頻度を低く推定した検査項目が平均4.52項目であり、第1シミュレーションの場合と比較して41.8%減少した。さらに、第2シミュレーションの場合において、新たに検査をした検査項目と正解した検査項目の平均を加算した結果は64.7項目となり、選定を行う前と比較して正解した検査項目が平均4.3項目増加した。
【0152】
また、第1シミュレーションの場合には、選定された検査項目iは一定であるため、上述したように、検査費用は一定額(4,030円)である。一方、第2シミュレーションの場合には、検査項目iは毎回変化されるため、同じクライアントjであっても、選定される検査項目iに応じて検査費用が変動する。図21には、図18に示した場合における検査費用の推移を示し、図22には、図19に示した場合における検査費用の推移を示す。図21および図22に示すように、男性、女性ともに、検査費用は23,000円〜27,000円で推移する結果となった。
【0153】
選定アルゴリズムに従って検査項目を選定した場合の費用は、図21および図22に示したとおりであり、選定アルゴリズムに従って選定を行わない場合に比べて高額である。すべての検査を行った場合の費用は、約12万円であるのに対し約80%の費用が削減されていることが分かる。
【0154】
また、上述の実施例では、ベイズ推定に基づく手法による異常頻度の推定を行う際には、検査データベース14に収録された異常頻度の分布を確率分布(事前分布)として扱っているため、推定後の事後分布に関しても異常頻度が0である確率が高い。その結果、異常であるはずの検査項目iを正常であると判断してしまう可能性が高くなる。そこで、事前分布の偏りを減らすために、数式を用いて平滑化(フィルタリング)を行う。
【0155】
或る検査項目iにおいて、異常頻度が0〜3のデータ数の割合を、それぞれ、P(X=0),P(X=1),P(X=2),P(X=3)とする。これらの割合の合計は、数15に示すように、1とする。
【0156】
[数15]
【0157】
フィルタリングは、数16に示すように、ガウシアンフィルタリングを用いた。ただし、「´」はフィルタリング後を意味する。
【0158】
[数16]
【0159】
フィルタリングを行った結果が図23に示される。図23に示すように、フィルタリングを行った場合には、フィルタリングを行わなかった場合と比較して異常頻度を高く推定する傾向があり、不正解の(誤った)項目数の平均が上昇する結果となった。
【0160】
この実施例によれば、ベイズ推定に基づく手法により、推定対象の各検査項目の或る異常頻度となる確率の分布を事前確率とし、検査対象の各検査項目の過去複数回の検査値の平均値と推定対象の各検査項目の過去複数回の検査値の異常頻度との関係を用いて、検査対象の各検査項目の今回を含む複数回の検査値の平均値から、推定対象の検査項目の異常頻度を推定するので、推定対象の検査項目と検査対象の検査項目との関係を仮定する必要がなく、異常頻度や検査結果の推定についての推定精度を向上させることができる。
【0161】
また、この実施例によれば、異常頻度の推定結果から推定対象の検査結果が正常であるか異常であるかを判断することにより、臨床検査が必要である検査項目を知ることができるので、病気や未病の状態を見逃すリスクを可及的少なくすることができる。
【0162】
なお、この実施例では、検査データベースに収録された全てのクライアントについての検査値を用いて尤度関数を求めるようにしたが、これに限定される必要はない。特定の一部のクライアントについての検査値を用いるようにしてもよい。ユーザ(クライアント)の検査値が尤度関数を求めるのに(統計モデルを作成するのに)十分な数だけ収録されている場合には、異常頻度を推定するユーザについての検査値のみを用いるようにしてもよい。
【0163】
また、この実施例では、1台のコンピュータで、検査項目の選択処理、前処理、異常頻度の推定処理、および検査結果の推定処理を含む複数の処理を実行するようにしたが、これらの処理が複数のコンピュータ等によって分散処理されるようなシステムにも適用可能である。
【符号の説明】
【0164】
10 …異常頻度推定システム
12 …異常頻度推定装置
14 …検査データベース
【特許請求の範囲】
【請求項1】
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、
前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、
前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出する異常頻度算出手段、
前記第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、前記異常頻度算出手段によって算出された前記第2検査項目の異常頻度との関係を抽出する抽出手段、
選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および
前記抽出手段によって抽出された関係を用いて、前記第2平均値算出手段によって算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定装置。
【請求項2】
前記異常頻度は、前記所定検査回数の臨床検査において異常であることが判断された回数である、請求項1記載の異常頻度推定装置。
【請求項3】
前記異常頻度推定手段によって推定された前記第2検査項目の異常頻度と前回以前の当該第2検査項目の検査値とに基づいて、今回の当該第2検査項目の検査結果の正常または異常を推定する検査結果推定手段をさらに備える、請求項1または2記載の異常頻度推定装置。
【請求項4】
(請求項1と同様。)
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定プログラムであって、
異常頻度推定装置のプロセッサに、
前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出ステップ、
前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出する異常頻度算出ステップ、
前記第1平均値算出ステップにおいて算出された各平均値を要素とする平均値ベクトルと、前記異常頻度算出ステップにおいて算出された前記第2検査項目の異常頻度との関係を抽出する抽出ステップ、
選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出する第2平均値算出ステップ、および
前記抽出ステップにおいて抽出された関係を用いて、前記第2平均値算出ステップにおいて算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する異常頻度推定ステップを実行させる、異常頻度推定プログラム。
【請求項5】
(請求項1と同様。)
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定方法であって、
異常頻度推定装置のプロセッサは、
(a)前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出し、
(b)前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出し、
(c)前記ステップ(a)において算出された各平均値を要素とする平均値ベクトルと、前記ステップ(b)において算出された前記第2検査項目の異常頻度との関係を抽出し、
(d)選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出し、そして
(e)前記ステップ(c)において抽出された関係を用いて、前記ステップ(d)において算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する、異常頻度推定方法。
【請求項6】
(請求項1と同様。)
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、
前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、
前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出する異常頻度算出手段、
前記第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、前記異常頻度算出手段によって算出された前記第2検査項目の異常頻度との関係を抽出する抽出手段、
選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および
前記抽出手段によって抽出された関係を用いて、前記第2平均値算出手段によって算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定システム。
【請求項1】
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、
前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、
前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出する異常頻度算出手段、
前記第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、前記異常頻度算出手段によって算出された前記第2検査項目の異常頻度との関係を抽出する抽出手段、
選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および
前記抽出手段によって抽出された関係を用いて、前記第2平均値算出手段によって算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定装置。
【請求項2】
前記異常頻度は、前記所定検査回数の臨床検査において異常であることが判断された回数である、請求項1記載の異常頻度推定装置。
【請求項3】
前記異常頻度推定手段によって推定された前記第2検査項目の異常頻度と前回以前の当該第2検査項目の検査値とに基づいて、今回の当該第2検査項目の検査結果の正常または異常を推定する検査結果推定手段をさらに備える、請求項1または2記載の異常頻度推定装置。
【請求項4】
(請求項1と同様。)
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定プログラムであって、
異常頻度推定装置のプロセッサに、
前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出ステップ、
前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出する異常頻度算出ステップ、
前記第1平均値算出ステップにおいて算出された各平均値を要素とする平均値ベクトルと、前記異常頻度算出ステップにおいて算出された前記第2検査項目の異常頻度との関係を抽出する抽出ステップ、
選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出する第2平均値算出ステップ、および
前記抽出ステップにおいて抽出された関係を用いて、前記第2平均値算出ステップにおいて算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する異常頻度推定ステップを実行させる、異常頻度推定プログラム。
【請求項5】
(請求項1と同様。)
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベースを備える、異常頻度推定装置の異常頻度推定方法であって、
異常頻度推定装置のプロセッサは、
(a)前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出し、
(b)前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出し、
(c)前記ステップ(a)において算出された各平均値を要素とする平均値ベクトルと、前記ステップ(b)において算出された前記第2検査項目の異常頻度との関係を抽出し、
(d)選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出し、そして
(e)前記ステップ(c)において抽出された関係を用いて、前記ステップ(d)において算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する、異常頻度推定方法。
【請求項6】
(請求項1と同様。)
複数のクライアントの各々について臨床検査についての所定数の検査項目の検査値を収録したデータベース、
前記データベースに収録された全検査項目の全検査値のうち、前回以前の臨床検査の検査値を用いて、一部の複数の第1検査項目の各々についての所定検査回数分の平均値を算出する第1平均値算出手段、
前記前回以前の臨床検査の検査値を用いて、前記第1検査項目以外の第2検査項目についての前記所定検査回数における異常頻度を算出する異常頻度算出手段、
前記第1平均値算出手段によって算出された各平均値を要素とする平均値ベクトルと、前記異常頻度算出手段によって算出された前記第2検査項目の異常頻度との関係を抽出する抽出手段、
選択した1のクライアントについて、前記データベースに収録された前記複数の第1検査項目の各々についての今回の臨床検査の検査値を含む前記所定検査回数分の検査値の平均値を算出する第2平均値算出手段、および
前記抽出手段によって抽出された関係を用いて、前記第2平均値算出手段によって算出された前記複数の第1検査項目の各々についての平均値から、前記第2検査項目についての今回の臨床検査を含む前記所定検査回数における異常頻度を推定する異常頻度推定手段を備える、異常頻度推定システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2013−97617(P2013−97617A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−240555(P2011−240555)
【出願日】平成23年11月1日(2011.11.1)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年4月1日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「ライフサポート型ロボット技術に関する研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願日】平成23年11月1日(2011.11.1)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年4月1日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「ライフサポート型ロボット技術に関する研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
[ Back to top ]