以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例であり、本発明が適用される実施の形態は、以下の実施の形態に限られない。
<システム構成>
図1は、一実施形態に係る外れ値検出システムのシステム構成の例を示す図である。外れ値検出システム100は、一例として、血圧を測定する血圧計102と、血圧計102が測定した血圧の測定値を順次に記憶した測定データから外れ値を検出する外れ値検出装置101とを含む。
別の一例として、外れ値検出装置101は、通信ネットワーク106等を介して通信可能なサーバ装置105等から、血圧の測定値を順次に記憶した測定データを取得し、取得した測定データから外れ値を検出するものであっても良い。
血圧計102等により測定する血圧の測定値には、何かしらの測定誤りや人的誤りが含まれる場合がある。この測定値の誤りには、例えば、カフ巻きが不十分で正しく測定できなかった場合、安静にせずに測定した場合、測定値を手動でシステムに入力するときに値を間違って入力した場合、別の人が誤って計測した場合等が含まれ得る。
これらの測定値を用いて何らかの判断を行う場合、異常な測定値を除外又は補正することが望ましい。異常な測定値は、統計的に通常は取り得ない外れ値となる場合が多く、外れ値検出装置101は、血圧の測定値からこのような外れ値を検出して、検出結果を、例えば、表示装置103、記憶装置104、又はサーバ装置105等に出力する。
一般的に、血圧の測定値のように繰り返し測定する測定値は一定ではなく、例えば、正規分布等のように所定の分布に従うことが多い。このように、測定値が所定の分布に従う場合、統計的に外れ値を検出する方法が用いられる。例えば、測定値が正規分布に従う場合、標準偏差をσとして、平均値等から3σ以上離れた測定値を外れ値として検出することが行われている。
しかし、例えば、妊娠期間中の妊婦の血圧測定においては、比較的短い妊娠期間中に血圧のトレンド(傾向)が大きく変化し、特に出産前後では大きく変化する。このような場合、従来の技術をそのまま適用してしまうと、正しく測定できている測定値を誤って外れ値として検出してしまう場合がある。
そこで、本実施形態に係る外れ値検出装置101は、妊婦の妊娠日数の情報及び/又は測定値の変動に基づいて、妊婦の血圧の測定値における外れ値を判定する閾値を経時的に変化させる機能を有している。例えば、外れ値検出装置101は、妊婦本人の経時的な血圧値もしくは他の妊婦群の統計的かつ経時的な血圧値から、当該妊婦の各妊娠日数時点での血圧変化の許容できる閾値を算出し、その閾値により外れ値を判定する基準を緩める(例えば、閾値を大きくする)。また、外れ値検出装置101は、出産日前後の所定の期間(例えば、前後20~25日間程度)において、段階的に閾値を変化させることで、外れ値を判定する基準を緩める(例えば、閾値を大きくする)。
また、外れ値検出装置101は、収縮期血圧値(SBP:Systolic Blood Pressure)の時間的変化と、拡張期血圧値(DBP:Diastolic Blood Pressure)の時間的変化と、前述した閾値と、に基づいて測定値の外れ値を検出する。
これにより、本実施形態に係る外れ値検出装置101は、例えば、出産日の前後等、血圧値のトレンドが大きく変化する場合でも、正しく測定できている測定値を誤って外れ値として検出してしまうことを低減することができる。また、血圧値のトレンドには個人差があるが、本実施形態に係る外れ値検出装置101は、妊婦の血圧値のトレンドに基づいて外れ値を検出するので、より正しく外れ値を検出することができるようになる。
好ましくは、外れ値検出装置101は、出産日前後の所定の期間において、収縮期血圧値(以下、SBPと呼ぶ)と、拡張期血圧値(以下、DBPと呼ぶ)との両方が、妊婦の血圧値のトレンドから乖離しているときに、測定値を外れ値と判断する。これは、例えば、カフ巻きが不十分で正しく測定できなかった場合、安静にせずに測定した場合等、測定自体が適切に行われていない場合には、SBP及びDBPの両方の測定値が、血圧値のトレンドから乖離すると考えられるためである。
以上、本実施形態によれば、妊婦の血圧の測定値において、正しく測定できている測定値を誤って外れ値として検出してしまうことを低減する外れ値検出装置101を提供することができる。
なお、図1に示す外れ値検出システム100のシステム構成は一例である。例えば、外れ値検出装置101の機能のうち、少なくとも一部は、血圧計102が有していても良いし、サーバ装置105が有していても良い。また、表示装置103、記憶装置104等は、外れ値検出装置101が有していても良い。
<ハードウェア構成>
(外れ値検出装置のハードウェア構成)
図2は、一実施形態に係る外れ値検出装置101のハードウェア構成の例を示す図である。外れ値検出装置101は、物理的には、プロセッサ201、メモリ202、ストレージ203、入力装置204、出力装置205、通信装置206、及びバス207等を含むコンピュータとして構成されても良い。なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニット等に読み替えることができる。
プロセッサ201は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ201は、周辺装置とのインタフェース、制御装置、演算装置、レジスタ等を含む中央処理装置(CPU:Central Processing Unit)で構成されても良い。
また、プロセッサ201は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ203及び/又は通信装置206からメモリ202に読み出し、これらに従って各種の処理を実行する。プログラムとしては、外れ値検出装置101の動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。外れ値検出装置101において実行される各種処理は、1つのプロセッサ201で実行されても良いし、2以上のプロセッサ201により同時又は逐次に実行されても良い。プロセッサ201は、1以上のチップで実装されても良い。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ202は、コンピュータ読み取り可能な記憶媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つで構成されても良い。メモリ202は、レジスタ、キャッシュ、メインメモリ(主記憶装置)等と呼ばれても良い。メモリ202は、本発明の一実施の形態に係る外れ値検出方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュール等を保存することができる。
ストレージ203は、コンピュータ読み取り可能な記憶媒体であり、例えば、CD-ROM(Compact Disc ROM)等の光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップ、SSD(Solid State Drive)、その他不揮発性メモリ等の少なくとも1つで構成されても良い。ストレージ203は、補助記憶装置と呼ばれても良い。上述の記憶媒体は、例えば、メモリ202及び/又はストレージ203を含むデータベース、サーバその他の適切な媒体であっても良い。
入力装置204は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサ等)である。出力装置205は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカ、LEDランプ等)である。なお、入力装置204及び出力装置205は、一体となった構成(例えば、タッチパネルディスプレイ)であっても良い。
通信装置206は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等ともいう。また、通信装置206は、近距離無線通信により、外部装置と直接通信を行う機能を有していても良い。
上記のプロセッサ201やメモリ202等の各装置は、情報を通信するためのバス207で接続される。バス207は、単一のバスで構成されても良いし、装置間で異なるバスで構成されても良い。また、バスは有線で接続されても良いし、無線で接続されても良い。
<機能構成>
(外れ値検出装置の機能構成)
図3は、一実施形態に係る外れ値検出装置の機能構成の例を示す図である。外れ値検出装置101は、例えば、図2のプロセッサ201で所定のプログラムを実行することにより、測定データ取得部301、記憶部302、情報取得部303、データ抽出部304、算出部305、閾値決定部306、外れ値検出部307、及び出力部308等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
測定データ取得部(取得部)301は、例えば、図2のプロセッサ201で実行されるプログラムによって実現され、所定の条件で順次に測定した妊婦のSBP(収縮期血圧)とDBP(拡張期血圧)とを含む測定値を取得する。例えば、測定データ取得部301は、図1の血圧計102で測定された妊婦の血圧の測定値を取得し、記憶部302に順次に記憶する。
或いは、測定データ取得部301は、図1のサーバ装置105、記憶装置104等から、妊婦の血圧の測定値を順次に記憶した測定データを取得し、記憶部302に記憶するものであっても良い。
記憶部302は、例えば、図2のプロセッサ201で実行されるプログラム、及びストレージ203、メモリ202等によって実現され、測定データ取得部301が取得した利用者の血圧の測定値等を記憶する。
図4は、一実施形態に係る記憶部が記憶する測定データの例を示す図である。図4(a)は、出産前に測定した妊婦の血圧の測定値を順次に記憶した、産前の測定データ401の例を示している。図4(a)の例では、産前の測定データ401には、項目として、「ID」、「妊娠日数t」、「日付」、「時刻」、「SBP」、「DBP」、「入力方法」、「測定エラー」等の情報が記憶されている。
「ID」の情報は、妊婦を識別する識別情報である。なお、IDは、妊婦の氏名等の情報であっても良い。好ましくは、記憶部302には、図4(a)に示すように、妊婦毎に各情報が記憶されている。
「妊娠日数t」の情報は、基本的には、妊娠前の最終月経開始日からの経過日数を示す情報であり、280日目を出産予定日とする。「日付」の情報は、測定値を測定した日付を示す情報である。「時刻」の情報は、測定値を測定した時刻を示す情報である。「SBP」の情報は、収縮期血圧の測定値である。「DBP」の情報は、拡張期血圧の測定値である。
「入力方法」の情報は、測定値の入力方法が、自動であるか、手動であるかを示す情報である。「測定エラー」の情報は、入力方法が自動である場合に、血圧計102等で検出されたエラーの情報が記憶される。
図4(b)は、出産後に測定した妊婦の血圧の測定値を順次に測定した、産後の測定データ402の例を示している。産後の測定データ402には、産前の測定データ401と同様に、項目として、「ID」、「産後日数t」、「日付」、「時刻」、「SBP」、「DBP」、「入力方法」、「測定エラー」等の情報を含む。ただし、産後の測定データ402では、「妊娠日数t」に代わり、出産日からの経過日数を示す「産後日数t」になっている。なお、他の情報については、産前の測定データ401と同様である。
ここで、図3に戻り、外れ値検出装置101の機能構成の説明を続ける。
情報取得部303は、例えば、図2のプロセッサ201で実行されるプログラムによって実現され、妊婦の妊娠日数の情報(例えば、妊娠日数t、出産予定日、出産日等)を取得する。
一例として、情報取得部303は、図1のサーバ装置105から出産予定日、出産日等の妊娠日数に関する情報を取得する。または、情報取得部303は、図2の出力装置205等に、例えば、出産予定日、出産日等の妊娠日数に関する情報の入力を受付する入力画面を表示し、入力装置204等に入力された妊娠日数に関する情報を取得する。
また、情報取得部303は、例えば、図4(a)に示すような産前の測定データ401に記憶された測定日である「日付」の情報と、取得した妊娠日数に関する情報(例えば、出産予定日の情報)とに基づいて、「妊娠日数t」の情報を算出し、産前の測定データ401に記憶する。
さらに、情報取得部303は、例えば、図4(b)に示すような産後の測定データ402に記憶された「日付」の情報と、取得した妊娠日数に関する情報(例えば、出産日の情報)とに基づいて、「産後日数t」の情報を算出し、産後の測定データ402に記憶する。
別の一例として、情報取得部303は、取得した妊娠日数に関する情報(例えば、妊娠日数t、出産予定日、出産日等)を、例えば、そのまま記憶部302に記憶しておくものであっても良い。この場合、妊娠日数tの情報は、必要なときに、「日付」の情報と、記憶部302に記憶した妊娠日数に関する情報(例えば、出産予定日の情報)とを用いて算出する。この場合、産前の測定データ401には、「妊娠日数t」の情報が含まれていなくても良く、また産後の測定データ402には、「産後日数t」の情報が含まれていなくても良い。
データ抽出部304は、例えば、図2のプロセッサ201で実行されるプログラムによって実現される。データ抽出部304は、記憶部302に記憶された、産前の測定データ401、産後の測定データ402から、算出部305が妊婦の血圧値のトレンドを算出する際に用いる測定データ(SBP、及びDBP)を抽出する。
算出部305は、例えば、図2のプロセッサ201で実行されるプログラムによって実現され、対象となる、ある妊婦の血圧値のトレンドを算出する。例えば、算出部305は、SBPの測定値の時間的変化(トレンド)を表す第1の平滑化曲線、及びDBPの測定値の時間的変化を表す第2の平滑化曲線を算出する。
例えば、算出部305は、LOWESS(Locally Weighted Scatterplot Smoother)等の平滑化曲線アルゴリズムを用いて、ユーザ(妊婦)の血圧値の傾向を表す平滑化曲線を算出する。なお、平滑化の方式は、LOWESSに限られず、LOESS(Locally estimated Scatterplot Smoothing)、平均移動、基底関数等を用いた方式を用いても良い。
なお、本実施形態では、図4(a)、(b)で説明したように、出産前と出産後とで、妊娠日数tと産後日数tの定義が異なる。そのため、算出部305は、妊婦の血圧値のトレンドを表す平滑化曲線を算出する場合、出産前と出産後とに分けて、別々に処理を行う。
また、血圧値は、例えば、朝、晩等、測定する時間帯によって血圧の測定値が変化する。そのため、算出部305は、例えば、朝、晩等の時間帯に分けて、別々に妊婦の血圧値のトレンドを表す平滑化曲線を算出することが望ましい。
例えば、データ抽出部304は、算出部305が、出産前の朝の平滑化曲線を算出する場合、図4(a)に示すような産前の測定データ401から、朝の時間帯に該当する測定データを抽出する。また、データ抽出部304は、算出部305が、出産後の晩の平滑化曲線を算出する場合、図4(b)に示すような産後の測定データ402から、晩の時間帯に該当する測定データを抽出する。
好ましくは、データ抽出部304は、抽出する測定データの中から、明らかな外れ値を除外する。例えば、データ抽出部304は、図4(a)、(b)に示すような測定データにおいて、入力方法が「手動」となっており、かつ「SBP」、及び「DBP」の値がデフォルト値である場合、第1種の外れ値として、当該測定値を、平滑化曲線を算出するための測定データから除外する。
デフォルト値は、例えば、血圧の測定値を入力するアプリケーションにおいて、測定値の入力する前に、利用者の入力の手間を最小限にするために一般利用者の平均的な値などとして予め設定されている値であり、血圧値を手動で入力した場合に入力間違いとして高頻度に出現するため、当該測定値を第1の外れ値としてフラグを付加して管理する。例えば、ある血圧入力アプリケーションにおいてSBPのデフォルト値が120mmHgに設定され、DBPのデフォルト値が80mmHgに設定されている場合がある。
閾値決定部306は、例えば、図2のプロセッサ201で実行されるプログラムによって実現され、外れ値検出部307が、外れ値を判定するための閾値を経時的に変化させる。例えば、閾値決定部306は、当該妊婦の経時的な血圧値もしくは他の妊婦群の統計的かつ経時的な血圧値から、当該妊婦の各妊娠日数時点での血圧変化の許容できる閾値を変動させる。また、閾値決定部306は、出産日前後の所定の期間において、妊婦の出産予定日、又は出産日が近い程、閾値が大きくなるように(外れ値を判定する基準が緩くなるように)閾値を決定する。なお、閾値決定部306による閾値の決定方法の具体的な例については後述(〔0078〕)する。
外れ値検出部(検出部)307は、例えば、図2のプロセッサ201で実行されるプログラムによって実現され、SBPの時間的変化、DBPの時間的変化、及び閾値決定部306が決定した閾値に基づいて、血圧の測定値から外れ値を検出する。
好ましくは、外れ値検出部307は、出産日前後の所定の期間において、SBPとDBPとの両方の測定値が、算出部305が算出した血圧値のトレンドから乖離している場合、当該測定値を外れ値と判断する。なお、外れ値検出部307による外れ値の検出方法の具体的な例については後述(〔0078〕)する。
出力部308は、図2のプロセッサ201で実行されるプログラムによって実現される。出力部308は、外れ値検出部307が検出した外れ値に、外れ値であることを示すフラグを付加した血圧値の測定結果を、例えば、図1の表示装置103、記憶装置104、又はサーバ装置105等に出力する。
なお、図3に示す外れ値検出装置101の機能構成は一例である。例えば、図3の情報取得部303は、図1の血圧計102等が備えていても良いし、図3の記憶部302は、図1の記憶装置104、又はサーバ装置105が備えていても良い。このように、図3に示す外れ値検出装置101の各機能構成は、外れ値検出システム100に含まれる各装置のいずれかが備えていれば良い。
<処理の流れ>
続いて、本実施形態に係る外れ値検出方法の処理の流れについて説明する。
(処理の概要)
図5は、一実施形態に係る外れ値検出装置の処理の概要を示すフローチャートである。この処理は、外れ値検出装置101が実行する処理の概要を示している。なお、図5に示す処理の開始時点において、例えば、図4(a)に示すような産前の測定データ401、及び図4(b)に示すような産後の測定データ402が、外れ値検出装置101の記憶部302に記憶されているものとする。
ステップS501において、外れ値検出装置101のデータ抽出部304は、所定の条件で順次に測定した血圧の測定値(SBP、及びDBP)を、記憶部302から取得する。
外れ値検出装置101は、前述したように、産前の測定データ401と、産後の測定データ402のように、条件が異なる測定データを別々に処理する。また、外れ値検出装置101は、同じ産前の測定データ401であっても、例えば、朝の時間帯に測定した測定データと、晩の時間帯に測定して測定データのように、条件が異なる測定データを別々に処理する。ここでは、一例として、データ抽出部304が、図4(a)に示すような産前の測定データ401から、朝の時間帯における血圧の測定値(SBP、及びDBP)を取得するものとして、以下の説明を行う。
好ましくは、データ抽出部304は、取得したSBP、及びDBPの測定値のうち、明らかな外れ値を除外する。例えば、データ抽出部304は、図4(a)に示すような産前の測定データ401において、入力方法が「手動」となっており、かつ「SBP」、及び「DBP」の値がデフォルト値である測定値(SBP、及びDBP)を除外する。
ステップS502において、外れ値検出装置101の算出部305は、データ抽出部304が取得したSBP、及びDBPを用いて、SBPの時間的変化を示す第1の平滑化曲線f_SBP、及びDBPの時間的変化を示す第2の平滑化曲線f_DBPを算出する。例えば、算出部305は、LOWESS等の平滑化曲線アルゴリズムを用いて、第1の平滑化曲線f_SBP、及び第2の平滑化曲線f_DBPを算出する。
ステップS503において、外れ値検出装置101の外れ値検出部307は、算出部305が算出した第1の平滑化曲線f_SBP、第2の平滑化曲線f_DBP、及び閾値決定部306が決定する閾値を用いて、SBP、及びDBPの外れ値を検出する。なお、閾値決定部306が閾値を決定する処理、及び、外れ値検出部307が、外れ値を検出する処理については後述(〔0078〕)する。
ステップS504において、外れ値検出部307によって検出された外れ値に、外れ値であることを示すフラグを付加して、例えば、図1の表示装置103、記憶装置104、又はサーバ装置105等に測定結果を出力する。
(外れ値検出装置の処理の具体例)
図6は、一実施形態に係る外れ値検出装置の処理の具体的な一例を示すフローチャートである。この処理は、外れ値検出処理の具体的な一例を示している。
なお、図6に示す処理の開始時点において、妊婦Aの産前の測定データ401、及び産後の測定データ402が、記憶部302に記憶されているものとする。また、産前の測定データ401、及び産後の測定データ402には、1日2回、朝晩に測定した血圧の測定値が記憶されているものとする。
ステップS601において、外れ値検出装置101の測定データ取得部301は、記憶部302に記憶されている妊婦Aの産前の測定データ401、及び産後の測定データ402を取得し、取得した測定データを朝と晩の血圧値に分類する。なお、朝晩の分類は、例えば、図4(a)、(b)に示す測定データの「時刻」の情報に基づいて行う。
ステップS602~S608において、外れ値検出装置101は、朝、晩それぞれのデータ群毎に、各妊娠日数tの測定値について、ステップS603~S607の処理をループして実行する。なお、ここでは、データ群が朝である場合の例について説明するが、外れ値検出装置101は、データ群が晩である場合についても同様の処理を行う。
ステップS603において、外れ値検出装置101のデータ抽出部304は、SBP、DBPのトレンド(平滑化曲線)を算出する前に、影響のある外れ値を予め除外するために、第1の外れ値検出を行う。具体的な一例として、朝のデータ群において、入力方法が「手動」となっており、かつSBP及びDBPの値がデフォルト値である測定値を第1種外れ値としてフラグを付加する。なお、入力方法が「手動」となっており、かつSBP及びDBPの値がデフォルト値である測定値は、予め定められた除外条件の一例である。除外条件は、他の条件であっても良い。
ここで、第1の外れ値と判断された測定値は、SBP、DBPのトレンド算出用データから除外されるが、外れ値検出装置101が最終的に出力する測定結果には、第1種外れ値のフラグを付加して出力される。
ステップS604において、外れ値検出装置101の算出部305は、産前の測定データ401、産後の測定データ402のそれぞれについて、SBPの平滑化曲線f_SBP、及びDBPの平滑化曲線f_DBPを算出する。例えば、算出部305は、LOWESS等の平滑化曲線のアルゴリズムを用いて、妊婦AのSBPの平滑化曲線f_SBP、及びDBPの平滑化曲線f_DBPを算出する。なお、算出部305は、LOWESSに限られず、LOESS、移動平均、基底関数を用いたフィッティング等により、f_SBP、f_DBPを算出しても良い。
ステップS605では、外れ値検出装置101の外れ値検出部307は、産前の測定データ401のSBP、DBPについて、SBPの平滑化曲線f_SBP、DBPの平滑化曲線f_DBP、及び閾値決定部306が決定する閾値を用いて、外れ値を検出する。例えば、外れ値検出部307は、測定値が、平滑化曲線より閾値以上離れていれば、第2種の外れ値としてフラグを付加する。なお、閾値決定部306及び外れ値検出部307の具体的な処理の例については後述(〔0078〕)する。
ステップS606において、外れ値検出部307は、産後の測定データ401のSBP、DBPについて、SBPの平滑化曲線f_SBP、DBPの平滑化曲線f_DBP、及び閾値決定部306が決定する閾値を用いて、外れ値を検出する。
ステップS607において、外れ値検出装置101の出力部308は、第1種外れ値のフラグを付加した測定値、及び第2種外れ値のフラグを付加した測定値を含む測定結果を、例えば、表示装置103、記憶装置104、又はサーバ装置105等に出力する。
外れ値検出装置101は、上記の処理を、各測定値に対して実行することにより、各測定値が外れ値であるか否かを判断し、外れ値と判断した測定値に、外れ値であることを示すフラグを付加することができる。
(外れ値を検出する処理の具体例)
図7は、一実施形態に係る外れ値を検出する処理の具体的な一例を示すフローチャートである。この処理は、図6のステップS605において、外れ値検出装置101が実行する第2種外れ値の検出処理の具体的な一例を示している。
ステップS701において、外れ値検出装置101の外れ値検出部307は、産前の各時点において、SBPとf_SBPとの残差ε_SBP、SBPの標準偏差σ_SBP、DBPとf_DBPとの残差ε_DBP、及びDBPの標準偏差σ_DBPを算出する。なお、標準偏差の算出は、例えば、産前の測定データ401の全体から計算しても良いし、一定の区間に区切ってその中で計算するものであっても良い。
ステップS702~S715において、外れ値検出装置101は、各妊娠日数tでの測定値の外れ値を判定するために、各妊娠日数tの測定値について、ループして処理を行う。例えば、外れ値検出装置101は、産前の測定値であれば、妊娠日数tが0~290のうち、実際のデータが存在する範囲を選択し、各妊娠日数tについて、ステップS703~S714の処理を実行する。また、外れ値検出装置101は、産後の測定値であれば、産後0日以降のデータのうち、実際のデータが存在する範囲を選択し、各産後日数tについて、ステップS703~S714の処理を実行する。
ステップS703において、外れ値検出装置101の外れ値検出部307は、
abs(t-t_d)>t_1、かつ
abs(ε_SBP(t))≧b_1
であるか否かを判断する。
ここで、abs(t-t_d)は、妊娠日数tと、分娩時妊娠日数t_dとの差の大きさであり、t_1は、予め定められた出産前後期間1(例えば、24日等)である。これは、出産日の前後t_1より遠い期間(第2の期間という)において、予め定められた閾値b_1よりも大きい残差ε_SBPであった場合に、それを外れ値と判断する。後段のステップS905やステップS907では標準偏差σ_SBPなどから〔0086〕で説明する閾値1,閾値2を利用して外れ値判断を行うが、血圧計測点数が少ない場合などでσ_SBPが大きくなると閾値1,閾値2も大きくなり、本来外れ値とするべきものを見逃す危険性がある。その場合にも、本来外れ値とする測定値を外れ値と判定するために、ステップS903にて固定値のb_1を用いて外れ値をまず判定する。なお、ステップS903の処理は補助的であるため、ステップS903を省略しても良い。または、t_1=0として、全ての妊娠日数tをステップS903の対象としても良い。
また、ε_SBP(t)は、妊娠日数tにおけるSBPとf_SBPとの残差ε_SBPであり、b_1は、妊娠日数tが、出産前後でない場合の血圧外れ値の基準(閾値)である。t_1やb_1などは、従来の経験に則った範囲で設定可能で、例えば、発明した閾値決定方法Aのモデル(図6の一連の流れ)に対して血圧データとその外れ値の正例負例から学習して、もっとも外れ値の識別性能が高くなるように計算することができ、一例として、t_1=24[日]、b_1=40[mmHg]を適用することができるが、これに限られない。
ステップS703の判断結果が「YES」である場合、外れ値検出部307は、処理をステップS704に移行させる。一方、ステップS703の判断結果が「NO」である場合、外れ値検出部307は、処理をステップS705に移行させる。
ステップS704に移行すると、外れ値検出部307は、妊娠日数tのSBPの測定値と共に、SBPの第2種外れ値情報として外れ値理由1のフラグを付加して、処理をステップS909に移行させる。なお、外れ値理由1のフラグが付加された測定値は、妊娠日数tが、分娩時妊娠日数t_dからt_1日より離れた第2の期間であり、残差ε_SBPがb_1以上離れた、明らかな外れ値であることを示している。
ステップS703からステップS705に移行すると、外れ値検出部307は、
測定値の属性が測定エラーでない、かつ
abs(ε_SBP(t))>閾値1、かつ
abs(ε_DBP(t))>閾値2
であるか否かを判断する。
ここで、閾値1は、SBPに関する閾値(第1の閾値)であり、閾値2は、DBPに関する閾値(第2の閾値)である。
閾値決定部306及び外れ値検出部307は、妊娠の経過に応じて、外れ値と判定するための閾値1~2を妊娠日数ごとに変化させることで、急激な変化に対応した外れ値判定を行う。この閾値決定の方法として、以下の3つをあげる。
閾値決定方法A:妊娠日数tが分娩時妊娠日数t_dに近いほど、閾値が大きくなるように閾値を決定する方法
閾値決定方法B:当該妊婦の妊娠日数tの血圧値の前後の変動から妊娠日数tに対応する閾値を決定する方法
閾値決定方法C:他の妊婦を含めて妊娠日数tの血圧値の前後の変動から妊娠日数tに対応する閾値を決定する方法
閾値決定部306は、これらの何れの方法を用いても良い。
まず、閾値決定方法Aについて説明する。これは、妊娠日数tが分娩時妊娠日数t_dに近いほど、閾値が大きくなるように閾値1、閾値2を決定する方法である。
閾値決定方法Aの閾値1は、例えば、σ_SBPの定数s倍、又は固定値b_2の大きい方に、分娩時妊娠日数t_dに近づくほど大きくなる値を足したものである。例えば、閾値決定方法Aの閾値1は、次の式で表すことができる。
閾値1=max(s*σ_SBP,b_2)
+max(t_2-abs(t-t_d),0)*b_4
ここで、maxは関数であり、max(A,B)はA,Bのうち大きい方を表し、max(A,B,C)はA,B,Cのうち最大のものを表す、プログラミング言語などで一般的な表記法である。absは絶対値を表す関数であり、例えばabs(-10)は10を表す。sは、ε_SBPが、σ_SBPの何倍乖離している場合に外れ値とするかを決める定数であり、例えば、s=3を適用することができる。SBPの各妊娠日数tでの測定値が正規分布をしていた場合、s=3では測定値の分布の外側約0.3%を外れ値と見なすような基準となる。sには0以上の任意の値が取れるが、主に1~4の値を使うのが望ましい。
b_2は、ステップS903のb_1と同様の目的で用いられ、血圧計測点数が少ない場合などでσ_SBPが極端に大きい場合にも、明らかに異常な外れ値を判定するための基準である。b_2やb_4は、発明した閾値決定方法Aのモデル(図6の一連の流れ)に対して血圧データとその外れ値の正例負例から学習して、もっとも外れ値の識別性能が高くなるように計算することができる。事前に入手した妊婦数300名のデータに基づいて計算した場合、例えば、b_2=29.5[mmHg]を適用することができる。b_4は、妊娠日数tが、分娩時妊娠日数t_dに近づくにつれて閾値1を増加させる量(基準緩和度)であり、同様の計算により、例えば、b_4=3[mmHg]を適用することができる。
また、「max(t_2-abs(t-t_d),0)*b_4」は、分娩時妊娠日数t_dに近づくほど大きくなる値の一例である。なお、上記のs、b_2、b_4の値は一例であり、他の値であっても良い。
同様に、閾値決定方法Aの閾値2は次の式で表すことができる。
閾値2=max(s*σ_DBP,b_2)
+max(t_2-abs(t-t_d),0)*b_4
閾値2はDBPに対する基準であるが、ステップS905では、SBPの外れ値判定にSBPの変動だけを見るのではなく、DBPの変動も見ることが特長である。これは、測定に異常があった場合などはSBPとDBPの両方が外れ値となりやすいという特徴を反映したものである。つまり、妊娠日数tにおいてDBPが正常の範囲である場合で残差ε_SBPが大きくなった場合は、SBPは外れ値ではなく、正しく測定できているものの極端に高値又は低値であったと見なす。
次に、閾値決定方法Bについて説明する。これは、当該妊婦の妊娠日数tの血圧値の前後u日の変動から妊娠日数tに対応する閾値1~2を決定する方法である。閾値決定方法Bの閾値1は、次の式で表すことができる。
閾値1=max(s*σ'_SBP,b_2)
+max(t_2-abs(t-t_d),0)*b_4
σ_SBPが当該妊婦の対象期間(例えば産前)全てのSBP測定値から計算された、静的な(妊娠日数tによって変動しない)標準偏差であったのに対し、σ'_SBPは、当該妊婦の妊娠日数tの前後u日の期間内におけるSBP測定値から計算された動的な(妊娠日数tによって変動する)標準偏差である。これにより、当該妊婦本人の血圧が大きく変動する場合にはσ'_SBPが大きくなり、変動に合わせて閾値を変化させることができる。例えばu=7日とすると、妊娠日数tの前後7日の計15日におけるSBP測定値の標準偏差からσ'_SBPが計算される。この15日のSBP測定値が急激に変動していた場合、σ'_SBPが大きくなり閾値1を大きく変化させ、逆に15日のSBP測定値の変動が少ない場合、σ'_SBPが小さくなり閾値1を小さく抑えることで、SBPの変動に追従することができる。さらに、閾値決定方法Bではσ'_SBPによって出産日前後の変動に追従できることから、閾値1の第2項であるmax(t_2-abs(t-t_d),0)*b_4を省略しても良い。つまりb_4=0としても良い。
同様に、閾値決定方法Bの閾値2は次の式で表すことができる。
閾値2=max(s*σ'_DBP,b_2)
+max(t_2-abs(t-t_d),0)*b_4
ここでσ'_DBPは、当該妊婦の妊娠日数tの前後u日の期間内におけるDBP測定値から計算された動的な(妊娠日数tによって変動する)標準偏差である。また、閾値決定方法Bの閾値1と同様、第2項であるmax(t_2-abs(t-t_d),0)*b_4を省略しても良い。つまりb_4=0としても良い。
次に、閾値決定方法Cについて説明する。これは、他の妊婦を含めて妊娠日数tの血圧値の前後u日の変動から妊娠日数tに対応する閾値1~2を決定する方法である。閾値決定方法Cの閾値1は、次の式で表すことができる。
閾値1=max(s'*σ'_SBP+s''*σ''_SBP,b_2)
+max(t_2-abs(t-t_d),0)*b_4
閾値決定方法Bと同様に、σ'_SBPが、当該妊婦の妊娠日数tの前後u日の期間内におけるSBP測定値から計算された標準偏差である。これに加え、当該妊婦だけでない多数の妊婦での妊娠日数tの前後u日の期間内におけるSBP測定値から標準偏差を計算したものがσ''_SBPである。閾値決定方法Cでは、これら2つの標準偏差をs'およびs''で重み付けして足し合わせた値と、b_2の大きいほうが閾値1の第1項として採用される。望ましくはs≒s'+s''であり、例えばs'=2,S''=1などの値が取り得る。σ'_SBPとσ''_SBPを組み合わせることによって、当該妊婦の妊娠日数t近辺の変動だけでなく、他の妊婦の妊娠日数tの前後u日の期間内の変動を加味することができ、例えば当該妊婦の測定時点数が少ないなどの理由でσ'_SBPが過小に算出された場合でも、他の妊婦のσ''_SBPでその影響を軽減することができる。
さらに、閾値決定方法Cではσ'_SBPやσ''_SBPによって出産日前後の変動に追従できることから、閾値1の第2項であるmax(t_2-abs(t-t_d),0)*b_4を省略しても良い。つまりb_4=0としても良い。
同様に、閾値決定方法Cの閾値2は次の式で表すことができる。
閾値2=max(s'*σ'_DBP+s''*σ''_DBP,b_2)
+max(t_2-abs(t-t_d),0)*b_4
ここでσ'_DBPは、当該妊婦の妊娠日数tの前後u日の期間内におけるDBP測定値から計算された動的な標準偏差であり、当該妊婦だけでない多数の妊婦での妊娠日数tの前後u日の期間内におけるDBP測定値から標準偏差を計算したものがσ''_DBPである。また、閾値決定方法Cの閾値1と同様、第2項であるmax(t_2-abs(t-t_d),0)*b_4を省略しても良い。つまりb_4=0としても良い。
ステップS705の判断結果が「YES」である場合、外れ値検出部307は、処理をステップS706に移行させる。一方、ステップS705の判断結果が「NO」である場合、外れ値検出部307は、処理をステップS707に移行させる。
ステップS706に移行すると、外れ値検出部307は、妊娠日数tのSBPの測定値と共に、SBPの第2種外れ値情報として外れ値理由2のフラグを付加して、処理をステップS909に移行させる。なお、外れ値理由2のフラグが付加された測定値は、測定値の属性が測定エラーでない場合の外れ値であることを示している。
ステップS705からステップS707に移行すると、外れ値検出部307は、
測定値の属性が測定エラーであり、かつ
abs(ε_SBP(t))>閾値3
であるか否かを判断する。
閾値3は、測定値が測定エラーである場合の閾値である。外れ値検出部307は、妊娠の経過に応じて、外れ値と判定するための閾値3を妊娠日数ごとに変化させることで、急激な変化に対応した外れ値判定を行う。この閾値決定の方法として、ステップS905と同様に閾値決定方法A、B、Cの3つをあげる。これらの何れの方法を用いても良い。
まず、閾値決定方法Aについて説明する。これは、妊娠日数tが分娩時妊娠日数t_dに近いほど、閾値が大きくなるように閾値3を決定する方法である。
閾値3は、例えば、次の式で表すことができる。
閾値3=max(s*σ_SBP,b_3)
+max(t_2-abs(t-t_d),0)*b_4
ここで、b_3は、測定値の属性が測定エラーである場合の血圧外れ値の基準であり、例えば、b_3=27.0[mmHg]を適用することができる。これは、発明した閾値決定方法Aのモデル(図6の一連の流れ)に対して血圧データとその外れ値の正例負例から学習して、もっとも外れ値の識別性能が高くなるように計算した場合である。なお、このb_3の値は一例であり、他の値であっても良い。
次に、閾値決定方法Bについて説明する。これは、当該妊婦の妊娠日数tの血圧値の前後u日の変動から妊娠日数tに対応する閾値3を決定する方法である。閾値決定方法Bの閾値3は、次の式で表すことができる。
閾値3=max(s*σ'_SBP,b_3)
+max(t_2-abs(t-t_d),0)*b_4
閾値決定方法Bではσ'_SBPによって出産日前後の変動に追従できることから、閾値3の第2項であるmax(t_2-abs(t-t_d),0)*b_4を省略しても良い。つまりb_4=0としても良い。
次に、閾値決定方法Cについて説明する。これは、他の妊婦を含めて妊娠日数tの血圧値の前後u日の変動から妊娠日数tに対応する閾値3を決定する方法である。閾値決定方法Cの閾値3は、次の式で表すことができる。
閾値3=max(s'*σ'_SBP+s''*σ''_SBP,b_3)
+max(t_2-abs(t-t_d),0)*b_4
閾値決定方法Cではσ'_SBPやσ''_SBPによって出産日前後の変動に追従できることから、閾値3の第2項であるmax(t_2-abs(t-t_d),0)*b_4を省略しても良い。つまりb_4=0としても良い。
ステップS707の判断結果が「YES」である場合、外れ値検出部307は、処理をステップS708に移行させる。一方、ステップS707の判断結果が「NO」である場合、外れ値検出部307は、処理をステップS709に移行させる。
ステップS708に移行すると、外れ値検出部307は、妊娠日数tのSBPの測定値と共に、SBPの第2種外れ値情報として外れ値理由3のフラグを付加して、処理をステップS909に移行させる。なお、外れ値理由3のフラグが付加された測定値は、測定値の属性が測定エラーである場合の外れ値であることを示している。
ステップS709~S714において、外れ値検出装置101は、ステップS703~S708でSBPに対して行った処理と同様の処理を、DBPに対して行う。このとき、ステップS703~S708におけるSBPをDBPと読み替え、DBPをSBPと読み替える。つまり、閾値1および3はDBPに対するものであり、閾値2はSBPに対するものとなる。
上記の処理により、産前の測定データ401のSBP、及びDBPの外れ値に、外れ値であることを示すフラグを付加することができる。
また、外れ値検出装置101は、図9に示す処理と同様にして、産後の測定データ402のSBP、及びDBPの外れ値に、外れ値であることを示すフラグを付加することができる。
(出力データの例)
図10は、一実施形態に係る外れ値検出装置が出力する出力データの例を示す図である。図10(a)は、産前の出力データ1001の例を示している。産前の出力データ1001は、一例として、図4(a)に示す産前の測定データ401の項目に加えて、「SBPの第1種外れ値」、「DBPの第1種外れ値」、「f_SBP」、「ε_SBP」、「σ_SBP」、「f_DBP」、「ε_DBP」、「σ_DBP」、「SBPの第2種外れ値」、「DBPの第2種外れ値」等の情報が追加されている。これらは一例であって、閾値決定方法によっては、それに使用した量としてσ'_SBP、σ'_DBP、σ''_SBP、σ''_DBP、閾値1、閾値2、閾値3などを追記しても良い。
「第1種外れ値」の情報は、例えば、図8のステップS803において、外れ値検出装置101が、入力方法が「手動」となっており、かつSBP及びDBPの値がデフォルト値である測定値に付加する第1種外れ値フラグの情報である。図10(a)の例では、第1外れ値と判断された測定値にフラグ(例えば、「○」)が付加されている。
「f_SBP」、「f_DBP」の情報は、例えば、図8のステップS804で算出された、SDPの平滑化曲線f_SBP、及びDBPの平滑化曲線f_DBPの妊娠日数tに対応する値を示している。
「ε_SBP」、「ε_DBP」の情報は、例えば、図9のステップS901で算出された、SBPとf_SBPとの残差ε_SBP、及びDBPとf_DBPとの残差ε_DBPの値を示している。
「σ_SBP」、「σ_DBP」の情報は、例えば、図9のステップS901で算出された、SBPの標準偏差σ_SBP、及びSBPの標準偏差σ_DBPの値を示している。
「第2種外れ値」の情報は、図9のステップS904、S906、又はS908で付加された、外れ値理由1~3の情報を示している。
図10(b)は、産後の出力データ1002の例を示している。産後の出力データ1002は、一例として、図4(b)に示す産後の測定データ402の項目に加えて、「第1種外れ値」、「f_SBP」、「ε_SBP」、「σ_SBP」、「f_DBP」、「ε_DBP」、「σ_DBP」、「第2種外れ値」等の情報が追加されている。なお、産後の出力データ1002に追加されている各情報は、産前の出力データ1001に追加されている各情報と同様なので、ここでは説明を省略する。
このように、外れ値検出装置101は、例えば、図4(a)、(b)に示すような血圧の測定値から外れ値を検出し、検出された外れ値に、外れ値であることを示すフラグを付加して、図10(a)、(b)に示すような出力データ(測定結果)を出力する。
<実施形態の効果>
本実施形態に係る外れ値検出装置101は、血圧の測定値の平滑化曲線を元に外れ値判定の閾値を経時的に変動させ、かつSBPとDBPの両方の変化を組み合わせて判定する。これにより、外れ値検出装置101は、例えば、妊婦の血圧測定のように、短い妊娠期間中に血圧のトレンドが大きく変化する場合であっても、正しく測定できている測定値を誤って外れ値として検出してしまうことを抑制することができる。また、SBPとDBPの両方の変化を利用した検出法は、妊婦以外にも一般的な血圧測定での外れ値検出でも効果がある。
<補足>
なお、図3の機能構成図は、機能単位のブロックを示している。これらの機能ブロックは、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されても良いし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されても良い。
また、図2に示す外れ値検出装置101のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されても良いし、一部の装置を含まずに構成されても良い。また、外れ値検出装置101は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されても良く、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されても良い。例えば、プロセッサ201は、これらのハードウェアの少なくとも1つで実装されても良い。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャート等は、矛盾のない限り、順序を入れ替えても良い。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されても良いし、管理テーブルで管理しても良い。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されても良い。入力された情報等は他の装置へ送信されても良い。
判定は、1ビットで表される値(0か1か)によって行われても良いし、真偽値(Boolean:true又はfalse)によって行われても良いし、数値の比較(例えば、所定の値との比較)によって行われても良い。
本明細書で説明した各態様/実施形態は単独で用いても良いし、組み合わせて用いても良いし、実行に伴って切り替えて用いても良い。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われても良い。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されても良い。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号等は、様々な異なる技術のいずれかを使用して表されても良い。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されても良い。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えても良い。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されても良いし、所定の値からの相対値で表されても良いし、対応する別の情報で表されてもよい。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
「含む(including)」、「含んでいる(comprising)」、及びそれらの変形が、本明細書、或いは特許請求の範囲で使用されている限り、これら用語は、用語「備える」と同様に、包括的であることが意図される。さらに、本明細書、或いは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本開示の全体において、例えば、英語でのa, an, 及びtheのように、翻訳により冠詞が追加された場合、これらの冠詞は、文脈から明らかにそうではないことが示されていなければ、複数のものを含むものとする。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。