特許第6053167号(P6053167)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6053167
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】数値データ解析装置及びプログラム
(51)【国際特許分類】
   G06Q 50/22 20120101AFI20161219BHJP
【FI】
   G06Q50/22
【請求項の数】11
【全頁数】19
(21)【出願番号】特願2013-163207(P2013-163207)
(22)【出願日】2013年8月6日
(65)【公開番号】特開2015-32246(P2015-32246A)
(43)【公開日】2015年2月16日
【審査請求日】2016年1月28日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】小川 圭介
(72)【発明者】
【氏名】松本 一則
(72)【発明者】
【氏名】橋本 真幸
【審査官】 宮地 匡人
(56)【参考文献】
【文献】 特開平08−166820(JP,A)
【文献】 特開2001−216585(JP,A)
【文献】 特開2009−097923(JP,A)
【文献】 特開平11−095795(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00−99/00
(57)【特許請求の範囲】
【請求項1】
サンプル集団から得た所定項目の数値データを扱う数値データ解析装置であって、
数値データを、その頻度の偏りに基づいて分類する頻度分類部と、
数値データを、その数値の偏りに基づいて分類する数値分類部と、を備え、
入力される数値データに対して、前記頻度分類部は、通常データと、上端及び/又は下端の非通常データと、に分類し、
前記数値分類部は、当該分類された非通常データをさらに個別の非通常データへと分類すると共に、前記頻度分類部は、当該分類された通常データをさらに個別の通常データと、上端及び/又は下端の非通常データと、に分類し、
当該数値分類部及び頻度分類部による分類は、個別に分類された通常及び非通常データの各々につき、所定の収束条件を満たすまで継続されることを特徴とする数値データ解析装置。
【請求項2】
前記頻度分類部は、累積頻度関数としての数値データに対してシグモイド関数のフィッティングを行い、当該フィッティングされたシグモイド関数において閾値条件により上端側及び下端側に属するとされる範囲をそれぞれ、前記上端側及び下端側の非通常データに分類し、当該分類された非通常データ以外を、通常データとして分類することを特徴とする請求項1に記載の数値データ解析装置。
【請求項3】
前記数値分類部は、累積頻度関数の逆関数としての数値データに対して回帰直線のあてはめを実施し、当該回帰直線からの乖離に対する閾値判定により分類を行うことを特徴とする請求項1または2に記載の数値データ解析装置。
【請求項4】
前記あてはめる回帰直線が、数値データの端から連続する所定個のデータを用いてなされることを特徴とする請求項3に記載の数値データ解析装置。
【請求項5】
前記所定の収束条件が、個別に分類された通常及び非通常データの各々において、
その相関係数が閾値判定によって1に近いと判断されること、または、
そのデータ総数が閾値以下であること、であることを特徴とする請求項1ないし4のいずれかに記載の数値データ解析装置。
【請求項6】
前記数値データ解析装置は、1つ以上の所定項目の数値データにつき、前記頻度分類部及び数値分類部による分類を行い、
第一処理、第二処理及び第三処理を行う推定部をさらに備え、
第一処理では、前記所定項目の数値データにおける前記分類された通常及び非通常データの各々に対して数値ラベルを付与し、
第二処理では、前記所定項目の数値データを構成する各サンプルを対象として、当該サンプルにおける各々の所定項目の数値データに対して当該付与された数値ラベルに基づいた文書を生成し、
第三処理では、全サンプルに対して当該生成された文書集合に潜在的ディリクレ配分法を適用することにより、当該文書集合におけるトピック集合と、各サンプルにおけるトピック比率と、を推定することを特徴とする請求項1ないし5のいずれかに記載の数値データ解析装置。
【請求項7】
前記推定部は、第一処理にて、通常データに最小の数値ラベルを付与し、当該通常データから乖離するに従って、値の大きな数値ラベルを付与することを特徴とする請求項6に記載の数値データ解析装置。
【請求項8】
前記推定部は、第二処理にて前記文書を生成するに際して、当該サンプルにおける各所定項目の数値データに対して当該付与された数値ラベルの個数分の、当該所定項目に応じた所定の単語と、所定のダミー単語と、を組み合わせたものとして、文書を生成することを特徴とする請求項6または7に記載の数値データ解析装置。
【請求項9】
前記推定部は、第二処理にて前記文書を生成するに際して、
当該サンプルにおける各所定項目の数値データに対して当該付与された数値ラベルの個数分の、当該所定項目に応じた所定の単語と、
当該所定項目に応じた所定の単語総和数から前記付与された数値ラベルの個数を減じた個数分の、当該所定項目に応じた所定の単語に対する所定の対単語と、
を組み合わせたものとして、文書を生成することを特徴とする請求項6ないし8のいずれかに記載の数値データ解析装置。
【請求項10】
前記所定項目の数値データが医療に関するものであることを特徴とする請求項1ないし9のいずれかに記載の数値データ解析装置。
【請求項11】
コンピュータを請求項1ないし10のいずれかに記載の数値データ解析装置として機能させることを特徴とする数値データ解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、医療データ等のやや特殊な統計的な数値データを、その分布の構成に応じて適切に離散化することが可能であり、また、当該離散化された結果によって連続的な数値データに対しても潜在的ディリクレ配分法を適用することも可能な、数値データ解析装置及びプログラムに関する。
【背景技術】
【0002】
特許文献1や特許文献2に代表されるように、健康管理システム等が大きな広がりを見せている。このような健康管理システムでは、利用者に対して健康上のアドバイス等を行う場合が多いが、特許文献3に示すように、利用者を実際の健康データを元に分類した上でアドバイスを行った方が、より行動変容につながりやすい。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013-085626号公報
【特許文献2】特開2010-264088号公報
【特許文献3】特開2010-170534号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
当該健康データないし医療データに関して、詳細な離散化が必要な場面がある。例えば、離散データしか扱うことができないような分類機械を利用して、上記健康管理システム等へ応用するために、医療データを解析したい場合等である。また、当該離散化により、特定の数値によって、患者を分類する場合等もある。
【0005】
離散データしか扱えない分類機械として、例えばLDA(潜在的ディリクレ配分法;latent dirichlet allocation)がある。LDAは潜在変数を推定することで、複数の文書のトピック分類を高精度に行う文書クラスタリング手法である。文書クラスタリングにおいては、k-means法等のクラスタリング手法と比較して性能が良いことが知られている。
【0006】
しかし、LDAは本来、文書のトピック分類において用いられる手法であるため、離散化したデータしか取り扱うことができない。そのため、生体データ等の連続値データを利用してLDAを使うためには、上述のように離散化が必要となってくる。このようなクラスタリングを行うことで、危険な患者群を抽出したりすることができる。
【0007】
この際、一般的な連続データの離散化技術では、度数での分類か、平均値からの標準偏差分の乖離を計算することによる分類により行うことが多い。
【0008】
しかし一般的に、医療データの度数分布は取り扱うデータの種類によって大きく異なっており、一元的に取り扱うことが難しい。検査数値自体、単純に線形増加する場合は少ない。そのため、平均からの乖離の計算自体には意味がないことが多い。
【0009】
また、一律に三分位等の手法によって、データを分離してしまう手法も一般的である。この場合、頻度情報のみでデータを分離するため、頻度が少なく、データが極めて大きい集団があった場合にその集団が頻度が多い集団に吸収されてしまうということがおこる。
【0010】
以上のように、健康管理システム等への応用のため、医療データを離散化することを考えた場合、特に医療データに限定されない一般的な連続データの離散化手法では、適切な離散化が行えないという課題があった。
【0011】
上記課題に鑑み、本発明は、医療データ等の連続データであっても適切に離散化して分類することのできる数値データ解析装置及びプログラムを提供することを目的とする。
【0012】
また、本発明は、医療データ等の連続データであっても適切な分類を行うと共に、当該分類された結果によって、元の連続データにおける各サンプルを、離散データを前提とした高精度な分類器によって解析することのできる数値データ解析装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明は、サンプル集団から得た所定項目の数値データを扱う数値データ解析装置であって、数値データを、その頻度の偏りに基づいて分類する頻度分類部と、数値データを、その数値の偏りに基づいて分類する数値分類部と、を備え、入力される数値データに対して、前記頻度分類部は、通常データと、上端及び/又は下端の非通常データと、に分類し、前記数値分類部は、当該分類された非通常データをさらに個別の非通常データへと分類すると共に、前記頻度分類部は、当該分類された通常データをさらに個別の通常データと、上端及び/又は下端の非通常データと、に分類し、当該数値分類部及び頻度分類部による分類は、個別に分類された通常及び非通常データの各々につき、所定の収束条件を満たすまで継続されることを特徴とする。
【0014】
また、本発明は、上記数値データ解析装置が、1つ以上の所定項目の数値データにつき、前記頻度分類部及び数値分類部による分類を行い、第一処理、第二処理及び第三処理を行う推定部をさらに備え、第一処理では、前記所定項目の数値データにおける前記分類された通常及び非通常データの各々に対して数値ラベルを付与し、第二処理では、前記所定項目の数値データを構成する各サンプルを対象として、当該サンプルにおける各々の所定項目の数値データに対して当該付与された数値ラベルに基づいた文書を生成し、第三処理では、全サンプルに対して当該生成された文書集合に潜在的ディリクレ配分法を適用することにより、当該文書集合におけるトピック集合と、各サンプルにおけるトピック比率と、を推定することを特徴とする。
【0015】
さらに、本発明は、コンピュータを上記数値データ解析装置として機能させる数値データ解析プログラムであることを特徴とする。
【発明の効果】
【0016】
本発明によれば、医療データ等の連続データであっても、その数値及び頻度の偏りに基づいて分離を行うので、当該データ特有の傾向を反映した適切な分離が可能となる。
【0017】
また、本発明によれば、上記分離結果を用いることで、当初の連続データに対して、離散データを前提とした高精度な分類器である、潜在的ディリクレ配分法による解析を行うことが可能となる。
【図面の簡単な説明】
【0018】
図1】一実施形態に係る数値データ解析装置の機能ブロック図である。
図2】第一機能部の処理の概要を説明するための図である。
図3】健診データの一例である。
図4図3と同一の健診データの一例において、非線形増加を示す箇所の区別をグラフ上において明示したものであり、具体例の説明における入力データの例である。
図5】中性脂肪の検査値とその発生頻度の頻度分布を示す図である。
図6図4の入力データの分離より得た非通常データを示す図である。
図7図4の入力データの分離より得た通常データを示す図である。
図8図6の非通常データが、数値分類部によって逐次的に分離される過程を示す図である。
図9図8の過程で分離され、収束判定された非通常データを示す図である。
図10図8の過程で分離されている途中の非通常データを示す図である。
図11図8の過程で分離され、収束判定された非通常データを示す図である。
図12図8の過程で分離されている途中の非通常データを示す図である。
図13図8の過程で分離され、収束判定された非通常データを示す図である。
図14図8の過程で分離され、収束判定された非通常データを示す図である。
図15図7の通常データが、頻度分類部及び数値分類部によって逐次的に分離される過程を示す図である。
図16図15の過程で分離され、収束判定された通常データを示す図である。
図17図15の過程で分離されている途中の非通常データを示す図である。
図18図15の過程で分離されている途中の非通常データを示す図である。
図19図15の過程で分離されている途中の非通常データを示す図である。
図20図15の過程で分離され、収束判定された非通常データを示す図である。
図21図15の過程で分離され、収束判定された非通常データを示す図である。
図22図15の過程で分離され、収束判定された非通常データを示す図である。
図23図15の過程で分離され、収束判定された非通常データを示す図である。
図24図15の過程で分離され、収束判定された非通常データを示す図である。
図25】推定部による第二処理における文書生成の際の、追加処理の一例のフローを示す図である。
【発明を実施するための形態】
【0019】
図1は、一実施形態に係る数値データ解析装置の機能ブロック図である。数値データ解析装置1は、第一機能部10と、第二機能部(符号は付与せず)としての推定部5を備える。第一機能部10は、頻度分類部2、数値分類部3及び分類結果更新保持部4を備え、数値データ解析装置1への入力としての数値データを受け取り、その分類結果を出力する。
【0020】
当該分類結果を出力するに際し、第一機能部10の各部は次のように機能する。頻度分類部2は、数値データをその頻度の偏りに基づいて分類する。数値分類部3は、数値データをその数値の偏りに基づいて分類する。当該分類は、数値データの各々をその範囲に従って分離しグループ分けするという形でなされる。分類結果更新保持部4は、以下のように、当該分類が逐次的になされる際の途中結果を更新しながら保持する。
【0021】
ここで、入力される数値データに対して、当該頻度分類部2及び数値分類部3は互いに連携して分類処理を行い、逐次的に分類が進行してゆく。すなわち、数値データの範囲による分離が逐次的に進行してゆく。この際、すでに分離がなされた結果を保持しつつ、さらに追加の分離処理を継続させることとなる。当該途中まで分離される結果を保持し、頻度分類部2や数値分類部3がさらに処理をするに際して途中結果を提供し、当該さらに処理された結果によって分離結果を更新する役目を、分類結果更新保持部4が担う。
【0022】
なお、以下の説明においては、分類結果更新保持部4について、明示的に動作主体として言及はしないが、頻度分類部2及び数値分類部3が各処理を継続的に行う際に、分類結果更新保持部4は途中までの分類結果を保持し提供する役割を補助的に担っている。
【0023】
一方、推定部5は、当該第一機能部10の出力した分類結果を受け取り、LDA(潜在的ディリクレ配分法)を適用して、トピック集合などを得る。推定部5については後述することとし、以下、第一機能部10より説明する。
【0024】
図2は、第一機能部100における、頻度分類部2及び数値分類部3による逐次的な分離処理の概要を説明するための図である。ここでは、処理を形式的な観点から説明し、その実質的な意味合いについては後述する。
【0025】
図2では(1)に入力数値データDとして、サンプル集団から得た所定項目についての数値データが示されており、ここでは具体例として、患者集団の健診値(健康診断における所定項目の値)を用いる。当該入力される数値データDは、前処理として、図2の(1)に示すような形式に変換される。すなわち、健診値による累積頻度関数の形に変換される。
【0026】
最初に、頻度分類部2は、図2の(1)に示すように、当該累積頻度関数としての数値データDを、頻度に基づいて、累積頻度の上端及び/又は下端の側、すなわち、頻度関数のグラフの右端及び/又は左端の側にあり、頻度が極端に低い(且つ健診値としても通常ではない)とみなせる非通常データと、その中間にある通常データと、に分離する。
【0027】
図2の(1)では、下端側の非通常データS1と、中間にある通常データN1と、上端側の非通常データS2と、の3つのデータに分離された例が示されているが、上端又は下端の一方のみの非通常データと、残りの部分の通常データと、の2つのデータに分離される場合もある。
【0028】
次いで、数値分類部3は、図2の(2), (3)に示すように、頻度分類部2により得られた非通常データをさらに、その数値に基づいて2つに分離する。例えば、(2)に示すように、非通常データS1を個別に、累積頻度に対して、ソートされた健診値をプロットした形式(累積頻度関数の逆関数であり、内容としては累積頻度関数と同一)として解析することで、非通常データS1-S1及びS1-S2の2つに分離する。同様に(3)に示すように、非通常データS2を非通常データS2-S1及びS2-S2の2つに分離する。
【0029】
なお、上記で利用しているように、本発明の説明においては、分離されるデータを次のような規則で記載する。すなわち、あるデータAがさらに分離されたデータをA-B, A-C, A-Dなどのように、分離される元となるデータAにハイフン及び符号を付与して記すこととする。A-Bがさらに分離されたデータはA-B-X, A-B-Y, A-B-Zなどのように記し、以降同様である。当該記法によれば、図8図15などで後述するように、分離される過程がツリー形式で表される。
【0030】
数値分類部3は、分離された各非通常データに対して同様に、再帰的に分離処理を施す。図2であれば、(2)の非通常データS1-S1及びS1-S2がさらに、非通常データS1が分離されたのと同様に、それぞれが分離対象とされる。(3)の非通常データS2-S1及びS2-S2も同様に、さらなる分離対象とされる。
【0031】
一方、頻度分類部2も同様に、通常データを対象として、再帰的な分離処理を実施する。すなわち、(4)に示す当初の数値データDを得られた通常データN1は、データDと同様に、通常データ及び非通常データへの分離対象とされる。
【0032】
なお、当該通常データN1の分離の結果、非通常データとされたものは、(1),(2),(3)で示したのと同様に、数値分類部3による分離の対象となる。以降、再帰的に得られる後続の通常データの分離においても同様に、非通常データとされた時点で、数値分類部3による分離対象となる。
【0033】
以上のように、頻度分類部2は、(入力データDの全体を対象とする初回を除き、)通常データを対象として再帰的に通常データ及び非通常データへの分離を実施し、数値分類部3は非通常データを対象として再帰的に非通常データへの分離を実施する。ここで、分離された通常データ及び非通常データにおいて、後述する条件が満たされる場合に、それ以上の分離は行わず、当初の入力データDに対する最終的な分類結果において1要素を構成するデータが得られることとなる。
【0034】
以上、図2を参照して、逐次的に分離される際の手順的な観点から分離処理を説明した。なお、当該逐次的な分離に関しては、具体例を後述する。一方、当該逐次的に分離される際の、個別の分離処理の内容は次の通りである。
【0035】
頻度分類部2は、当該データで与えられる累積頻度関数に対して、シグモイド関数(ロジスティック関数)のフィッティングを行い、その上下側それぞれの閾値判定により、頻度的な非通常値を判定することで、当該データの分離を行うことができる。
【0036】
シグモイド関数は以下の式(1)の通りであり、c, b, Kがパラメータである。累積頻度関数にフィッティングする際は、xが健診値、yが累積頻度となる。
【0037】
【数1】
【0038】
上記式(1)を以下の式(2)のように変形し、さらに、両辺のlogを取ることで、以下の式(3)となる。
【0039】
【数2】
【0040】
上記式(3)にて、以下の式(4)のようにおくと、式(5)が得られる。
【0041】
【数3】
【0042】
ここで、Kの値には、対象としている累積頻度関数の最大値、すなわち、対象としているデータにおけるサンプル総数を用いることとし、上記式(5)を用いて最小二乗法によりP,Qを求めることで、式(4)からb,cを求めることができる。
【0043】
以上、関数フィッティングにより求まった式(1)[y=y(x)]にて、累積頻度yの範囲を定めるKを用いた閾値判定で健診値xの範囲を定めることで、データ分離を行えばよい。
【0044】
例えば、下端側{x|y(x)≦0.01K}及び上端側{x|y(x)≧0.99K}を、それぞれ下端側の非通常データ及び上端側の非通常データとして定め、残りの部分{x|0.01K<y(x)<0.99K}を通常データとして定めればよい。なお、ここでは健診値xの範囲を定めるための下端側の閾値を0.01K、上端側の閾値を0.99Kとしたが、Kに対するその他の所定割合の値を閾値として採用してもよい。
【0045】
一方、数値分類部3は、横軸が累積頻度、縦軸がソートされた健診値で与えられた非通常データに対して、回帰直線あるいはSupport vector regression(サポートベクター回帰)、リッジ回帰、lasso(ラッソ回帰)等のロバスト回帰による直線を引き、当該直線からの乖離に対する閾値判定によって、当該直線に乗っていると判定されるか否かに基づいて、対象とする非通常データを2つに分離する。当該分離の基準は、線形増加部分であるか否か、あるいは、はずれ値ではないかはずれ値であるか、と言い換えることもできる。
【0046】
なお、回帰直線をあてはめる際は、非通常データの端(左端/右端あるいは下端/上端のいずれでもよい)から連続する所定個の点のみを利用するようにしてもよい。当該所定個は、対象としている非通常データのサンプル総数に対する所定割合として定めてもよい。
【0047】
また、頻度分類部2及び数値分類部3において、分離された個別のデータにつき、これ以上分離を実施しない条件判定(分離収束の判定)は、次のようにすればよい。
【0048】
第一判定手法として、累積頻度関数あるいはその逆関数として構成されているデータの相関係数を計算して、その値が閾値判定で1に近いと判断できる場合に、収束判定を下してよい。当該判定では、データが線形に増加しているかを調べている。
【0049】
第二判定手法として、データの総数が閾値以下になった場合に、収束判定を下してよい。当該閾値は、当初入力される数値データ全体の数に比例させる形で設けることで、データ全体に対する所定割合以下になった場合に収束判定を下すようにしてもよい。
【0050】
なお、上記第一及び第二判定手法における条件のうち少なくともいずれか一方が満たされた場合に、実際に収束判定を下せばよい。
【0051】
次に、第一機能部10が以上のようにして数値データの分類を行うことの意義を説明する。
【0052】
図3は健診データの一例であり、健診データから、中性脂肪値として測定された値を持つ人に値の昇順にラベル付を行なって、ラベルをX軸、値をY軸としてプロットした図である。すなわち、累積頻度の逆関数の形でプロットした図である。図3によれば、数値が上がるにつれ、単純な相関関係が成り立たないことがわかる。また、数値が低すぎる場合にも同様である。(ただし、図3では数値の低い側については表示範囲の設定上、当該単純な相違関係が成立しないことは見えていないが、範囲を拡大すればその旨を読み取ることが可能である。)
【0053】
図3のようなデータの振る舞いには、以下の2つの理由があると考えられる。
(1)数値が上がれば上がる程、生体の機能が破壊され、非通常的なルールによって数値が異常に増加している。(データの種類によれば下がる場合も同様。)
(2)極端に数値が高い人、低い人については度数が少ない。
【0054】
図4は、図3と同一データ且つ同一グラフにおいて、非線形な増加が見られる箇所を、枠Fとして明示したものである。このデータを見ると、線形的な増加をしているとは言いがたく、中性脂肪値420までは線形に増加しているものの、枠Fで囲むように、420を超えると指数関数的に急激な増加を見せていることがわかる。
【0055】
当該データの振る舞いは、次のように解釈できる。すなわち、420までは、生体内の通常のルールでの増加であり、枠Fで囲んだ420以降については、このルールとは異なるルール、例えば、中性脂肪を抑える役割を果たす機能が破壊されている等、での増加が見られるためと考えられる。当該振る舞いは上記の理由(1)によるところが大きいと考えられる。
【0056】
従って、上記理由(1)、(2)を分類基準として採用し、数値データを分類すれば、連続データを単純に区切るのとは異なり、定性的な差を反映した分類が可能となる。第一機能部10における分類はこのような観点での分類を実現するものであり、頻度分類部2が主として(2)の分類を、数値分類部3が主として(1)の分類を担当している。なお、一度分離されたグループ内においてもさらに、(1)、(2)のような差が存在し得るため、再帰的な分離を実施している。頻度分類部2は、当該理由(2)に即した手法で分離を実施している。一方、数値分類部3の分離の意義は、以下の通りである。
【0057】
図5は、各々の中性脂肪の検査値とその発生頻度(その検査数値をとった人)の頻度分布を示している。図5を参照して、数値分類部3の分離の意義を説明する。
【0058】
図5のグラフは資本主義国の所得分布と極めて類似しており、当該グラフは左側が対数正規分布、右側がパレート分布によって近似するとうまくいくことが多いことが知られている。2つの分布より成り立っているのは、それぞれが異なるルールに従うためとされている。(日本の所得の場合は年収2000万円を境界として異なる分布となるとされている。)
【0059】
図5に示すように、検査数値が極端に高い人と極端に低い人は発生頻度が極めて低く、数値分類部3の手法でロバスト回帰(あるいは線形回帰)をした場合には、ほとんど影響を及ぼさない。従って、極端な数値の人の部分を分離することが可能である。
【0060】
次に、第一機能部10による数値データの分類の具体例を説明する。
【0061】
当該具体例では、図4のデータ(前述のように図3と同一のデータ)を当初入力される数値データとする。まず、頻度分類部2が分類を行った結果が、図4に示す枠F内の非通常データと、それ以外の通常データである。これは、非通常データは上端側のみ得られ、下端側には得られなかった例である。値420を境界に、当該2つに分離された各データはそれぞれ非通常データS1及び通常データN1として、図6及び図7に示す通りである。
【0062】
図8は、図6の非通常データS1が、数値分類部3によって逐次的に分離される過程を示す図であり、左側に示す手順(1)が開始であり、ツリー構造を取って分離が逐次的になされる。また、図9〜14は、当該逐次的に分離される際の各データを示す図である。以下、図8の各手順(1)〜(7)を説明する。
【0063】
手順(1)では、非通常データS1が、値660を境界として、非通常データS1-S1及びS1-S2に分離される。手順(2)では、図9に示す非通常データS1-S1につき、これ以上分離することは不要である旨の判定(分離収束の判定)が下される。手順(3)では、図10に示す非通常データS1-S2が、値900を境界として、さらに非通常データS1-S2-S1及びS1-S2-S2へと分離される。
【0064】
手順(4)では、図11に示す非通常データS1-S2-S1が、分離収束を判定される。手順(5)では、図12に示す非通常データS1-S2-S2が、値1400を境界として、さらに非通常データS1-S2-S2-S1及びS1-S2-S2-S2へと分離される。手順(6)では、図13に示す非通常データS1-S2-S2-S1が、分離収束を判定される。手順(7)では、図14に示す非通常データS1-S2-S2-S2が、分離収束を判定される。
【0065】
以上のようにして、図8の手順によれば、数値分類部3によって非通常データS1が、ツリー構造の末端側に示す非通常データS1-S1、S1-S2-S1、S1-S2-S2-S1及びS1-S2-S2-S2の4個の非通常データへと分離される。
【0066】
一方、図15は、図7の通常データN1が、頻度分類部2及び数値分類部3によって逐次的に分離される過程を示す図であり、左側に示す手順(1)が開始であり、ツリー構造を取って分離が逐次的になされる。また、図16〜24は、当該逐次的に分離される際の各データを示す図である。以下、図15における手順(1)より始まる各手順を説明する。
【0067】
手順(1)では、図7の通常データN1が値50及び150を境界として、頻度分類部2によって図16に示す通常データN1-N1(値の範囲が50〜150)と、図17及び図18にそれぞれ示す、2つの非通常データN1-S1(値の範囲が50以下)及びN1-S2(値の範囲が150以上)と、の3つに分離される。手順(2)では、図16に示す通常データN1-N1が、頻度分類部2により、分離収束を判定される。
【0068】
なお、図15の手順(2)では、通常データN1-N1にて分離収束が判定された例を示しているが、分離収束の判定がなされなかった場合には、さらに、通常データN1-N1-N1並びに非通常データN1-N1-S1及びN1-N1-S2といったように、再帰的に分離処理が継続されることとなる。
【0069】
手順(3)では、数値分類部3が、非通常データN1-S1を、値32を境界として、図19に示す非通常データN1-S1-S1及び図20に示す非通常データN1-S1-S2に分離する。手順(3a)では、数値分類部3が、非通常データN1-S1-S1を、値28を境界として、図21に示す非通常データN1-S1-S1-S1及び図22に示す非通常データN1-S1-S1-S2に分離する。
【0070】
手順(3aa)では、数値分類部3が、図21に示す非通常データN1-S1-S1-S1につき分離収束を判定する。手順(3ab)では、数値分類部3が、図22に示す非通常データN1-S1-S1-S2につき分離収束を判定する。一方、手順(3b)では、数値分類部3が、図20に示す非通常データN1-S1-S2につき分離収束を判定する。
【0071】
また、手順(4)では、数値分類部3が、非通常データN1-S2を、値250を境界として、図23に示す非通常データN1-S2-S1及び図24に示す非通常データN1-S2-S2へと分離する。手順(4a)では、数値分類部3が、非通常データN1-S2-S1につき分離収束を判定する。手順(4b)では、数値分類部3が、非通常データN1-S2-S2につき分離収束を判定する。
【0072】
以上のようにして、図15の手順によれば、頻度分類部2及び数値分類部3によって通常データN1が、ツリー構造の末端側に示す非通常データN1-S1-S1-S1、N1-S1-S1-S2、N1-S1-S2、N1-S2-S1及びN1-S2-S2の5個の非通常データと、1つの通常データN1-N1と、の合計6つのデータへと分離される。
【0073】
以上、説明した具体例を総括すると次の通りである。入力としての図4の数値データに対して、頻度分類部2が通常データN1及び非通常データS1へと分離した後、さらに上記図8及び図15の頻度分類部2及び数値分類部3による各手順によって、最終的な分類結果としては、1個の通常データと、4+5=9個の非通常データと、の合計10個のデータへ分類がなされる。
【0074】
なお、以上のように第一機能部10では、入力された数値データを同一の傾向にあるとみなせる区間に分類するが、当該分類された各区間内をさらに、通常の手法によって分類するようにしてもよい。
【0075】
例えば、分類された各区間内にあるデータに対して、平均と標準偏差σを計算し、一般的な手法でなされているように、平均±ασの範囲(平均を中心とし、幅がσの定数倍となる一連の区間)で当該区間をさらに細分化してもよい。
【0076】
なお、前述の第二判定手法により、データ総数が閾値以下になったことによって収束判定が下された区間については、上記のような統計的手法の適用は不適切であるとして、当該細分化は行わないようにしてもよい。
【0077】
次に、推定部5の詳細を説明する。まず、推定部5への入力を説明するため、前提となる事項から説明する。
【0078】
第一機能部10では、以上説明したように、サンプル集団から得た所定項目の数値データを通常データ及び非通常データという区間に分けて分類した。ここで、当該分類は、数値データを定義する所定項目ごとに可能である。例えば、健診データであれば、所定項目は検査項目の諸項目の中から設定可能であり、上記説明の例で用いた中性脂肪値の他、身長や、γ-GTP(血液検査の1項目)その他につき、それぞれ患者集団からの数値データを得て、分類が可能である。
【0079】
こうして、推定部5への入力は、当該1つ以上の所定項目における数値データの、第一機能部10によるそれぞれの分類結果となる。推定部5は、サンプル集団における当該諸項目の数値データのそれぞれの分類結果に、以下説明する数値ラベル付与などを行い、各サンプル(健診データであれば、各患者)の「文書」を生成し、全サンプルの文書集合に対して、LDAを適用して、トピック集合と、各サンプルにおけるトピック比率と、を推定する。
【0080】
従って、推定部5によれば、患者集団における諸項目の健診データ(連続値のデータ)に対して、第一機能部10によってその健康傾向に基づいた分類を施したものを入力として受け取り、当該患者集団におけるトピック集合と、各患者のトピック比率と、が推定される。ここで、トピック集合は、患者集団の健康傾向をグループ分けしたものに相当し、トピック比率は、各患者における当該健康傾向のグループ比率であり、各患者の健康傾向に関する特徴ベクトルに相当する。このため、推定部5による当該出力は健康管理システム等への応用が可能である。
【0081】
以下、推定部5の具体的な処理を、第一処理、第二処理及び第三処理に分けて説明する。
【0082】
第一処理では、所定項目の数値データにつき分類された各々の区間(通常データ又は非通常データ)に、所定規則に従って自然数のラベルを付与する。一例では、正常なデータ区間には小さい値を付与し、当該正常な区間から乖離するに従って付与する値を大きくするという規則を用いてよい。付与規則は、数値データが定義される所定項目ごとに定めてもよい。
【0083】
当該数値ラベル付与の例を、図4の健診値(中性脂肪値)の数値データDが図8及び図15に示すように分離されたものにラベル付与することを例として、説明する。当該分離結果を、値の小さい側のデータ区間から順に列挙すると以下の通りである。なお、全データDが最初、N1及びS1に分離され、N1はS1よりも小さい値の区間であるので、N1から分離された図15の各区間は、S1から分離された図8の各区間よりも値が小さい。
【0084】
N1-S1-S1-S1, N1-S1-S1-S2, N1-S1-S2, N1-N1, N1-S2-S1, N1-S2-S2(以上、図15の各区間), S1-S1, S1-S2-S1, S1-S2-S2-S1, S1-S2-S2-S2(以上、図8の各区間)
【0085】
上記列挙した各区間において「最も正常」とみなせるのは、通常データ「N1-N1」であるので、これに最小の番号「1」を付与する。以降、当該最小番号の箇所から左右順に2, 3, 4, 5, ...と順次付与していけばよい。左右いずれかに付与する余地がなくなった場合は、残りの片側に順次付与すればよい。当該規則で付与した結果を以下に列挙する。なお、「1」が付与された「N1-N1」を「[1]N1-N1」と表記し、その他も同様に表記する。
【0086】
[7]N1-S1-S1-S1, [5]N1-S1-S1-S2, [3]N1-S1-S2, [1]N1-N1, [2]N1-S2-S1, [4]N1-S2-S2(以上、図15の各区間), [6]S1-S1, [8]S1-S2-S1, [9]S1-S2-S2-S1, [10]S1-S2-S2-S2(以上、図8の各区間)
【0087】
第二処理では、まず、各患者の各所定項目データの値が属する区間に対して、第一処理にて付与された数値ラベルを要素としたベクトルを生成する。例えば、全健診データが身長、中性脂肪値及びγ-GTP値の3つの所定項目に関するものとして用意されているとする。この場合、ある患者Aの身長が数値ラベルL1Aに相当し(すなわち、当該身長が区間GAに属し、区間GAには数値ラベルL1Aが付与されており)、中性脂肪値が数値ラベルL2Aに相当し、γ-GTP値が数値ラベルL3Aに相当するものとすると、当該患者Aのベクトルはこれらを各要素とした(L1A, L2A, L3A)となる。
【0088】
第二処理では、さらに、当該ベクトルの各要素に対応する単語を、各要素のラベル数値の分だけ並べたものとして、当該患者の「文書」を生成する。なお、ここで当該「文書」とは、LDAにおいて周知のように、Bag Of Wordsの意味での文書であり、人間による可読性を有した意味ある文書ではない。
【0089】
例えば、上記3種類の所定項目で全健診データが与えられる例の場合に、各要素に対応する単語をそれぞれ「身長」、「中性脂肪」、「アルコール」として設定しておいたとすると、ベクトル(1, 1, 1)の患者につき生成される文書は、「身長、中性脂肪、アルコール」であり、ベクトル(3, 2, 1)の患者につき生成される文書は、「身長、身長、身長、中性脂肪、中性脂肪、アルコール」となる。
【0090】
なお、以上では、所定項目の種類数nだけの要素数nを有した単純なベクトルを生成するものとして説明したが、1つのダミー要素を先頭位置に加えて要素数n+1へと拡張されたベクトルを生成することも好ましい。当該ダミー要素におけるベクトルの値は、全患者において共通の所定値とする。その意義は次の通りである。
【0091】
例えば、特定の数値(検査項目の数値)が悪い患者は他の数値も悪い場合が多い。しかし、ラベルのベクトル=(10、10、10)というベクトルを持ち、全般的に不健康な人と、(1、1、1)というラベルのベクトルを持ち、全般的に健康な人では、全体的な数値の大きさが異なっているものの、それらの方向が同じため、同じクラスタに分類されてしまう可能性が高い。そこで、当該単純な3要素ベクトルにダミーの1要素を加えて4要素に拡張して、(a、10、10、10)及び(a、1、1、1)とすれば、方向が見かけ上一致してしまい、同じクラスタに分類されてしまうことを回避可能となる。
【0092】
なお、ダミー要素から文書を生成する際は、所定のダミー単語、例えば「dummy」を利用すればよい。前述の例で、単純なベクトルが(1, 1, 1)であり、文書として「身長、中性脂肪、アルコール」が生成された患者の場合、ダミー要素をその値a=3として追加して(3, 1, 1, 1)の拡張ベクトルとした場合、生成される文書は、当該a=3個のダミー単語を先頭に加え、「dummy、dummy、dummy、身長、中性脂肪、アルコール」となる。
【0093】
以下、第二処理による文書生成において、上記ダミー要素の追加と同様に、分類をより高精度に行うための追加処理の一例を説明する。当該追加処理は、上記ダミー要素の利用と組み合わせて実施することも可能である。
【0094】
図25は、当該第二処理による文書生成の際の追加処理のフローを示す図である。図25では、各ステップS101〜S105を示すと共に、欄C100内において、当該各ステップの説明のための例EX101〜を示している。以下、当該例を参照しつつ、各ステップを説明する。
【0095】
ステップS101では、各所定項目の数値データ(具体例として各検査項目の数値データ)につき、文書生成のために用いる総単語数を予め決定しておく。例えば、例EX101に示すように、所定項目の数値データが「中性脂肪」、「BMI」及び「血糖値」に関する3種類(以下、図25においては当該例を用いて説明する)であったとすると、これらそれぞれにつき、総単語数を「30語」として決定しておく。なお、所定項目の数値データ毎に総単語数は変化して設定しておいてもよい。
【0096】
ステップS102では、各所定項目の数値データにつき、以上説明したような文書を生成するための所定の単語に加えてさらに、当該所定の単語に対応するものとして、所定の対単語を予め定めておく。例えば、例EX102に示すように、所定項目の数値データに対する所定の単語を、当該所定項目の数値データの名称と同一のものとして、「中性脂肪」、「BMI」及び「血糖値」として定めてある場合に、それぞれ対単語を、「数学」、「英語」及び「理科」として定めておく。
【0097】
なお、ステップS102にて予め決定する対単語は、所定の単語に対応する何らかの単語として決定しておけばよく、例えば対義語を利用するなど、その意味を考慮する必要(人間が解釈する意味として厳密に考慮する必要)はない。
【0098】
ステップS103では、各患者の各検査項目データ(各サンプルの所定項目の数値データ)につき、上記説明した通常の手法における第一処理による数値ラベル付与により、上記説明した通常の手法における際の第二処理での所定の単語の語数を決定する。例EX103A及び例EX103Bには、患者Aさん及びBさんにつきそれぞれ、「中性脂肪」、「BMI」、「血糖値」の語を「18語、20語、10語」及び「12語、15語、16語」用いることが決定された例が示されている。
【0099】
ステップS104では、各患者の各検査項目データ(各サンプルの所定項目の数値データ)につき、ステップS102で決定された対単語についての語数を、ステップS101で設定されている総単語数から、ステップS103で決定された所定単語の語数を減ずることによって、決定する。
【0100】
例えば、例EX103Aに示すAさんの場合であれば、例EX104Aに示すような、対単語の語数が決定される。「中性脂肪」の対単語「数学」の語数は、当該「中性脂肪」において設定されている総単語数「30語」から、「中性脂肪」につき決定された「18語」を減ずることにより、「12語」として決定される。同様にして、「BMI」及び「血糖値」の対単語「英語」及び「理科」に関しても、その語数がそれぞれ、「30-20=10語」及び「30-10=20語」として決定される。
【0101】
同様に、例EX103Bに示すBさんの場合であれば、例EX104Bに示すような対単語の語数が決定される。すなわち、「数学」、「英語」及び「理科」の各々の対単語の語数は、それぞれ、「30-12=18語」、「30-15=15語」及び「30-16=14語」として決定される。
【0102】
ステップS105では、各患者の文書を、各検査項目データにおける所定単語及びその対単語につき、それぞれステップS103及びS104にて決定された語数だけ用いることによって、生成する。例えば、例EX104Aに示すAさんであれば、所定単語として、「中性脂肪」を「18語」、「BMI」を「20語」、「血糖値」を「10語」用いて、また、対単語として、「数学」を「12語」、「英語」を「10語」、「理科」を「20語」用いて、文書が生成される。
【0103】
以上、図25の追加処理のフローにより、所定の単語に加えて対単語を所定数準備して、各患者の文書を生成することができる。なお、全患者の文書集合にLDAを適用する際は、当該追加処理を利用しない場合と同様である。なお、前述のダミー単語に関しては、ステップS101で決定する総数とは独立にその数が設定されるものである。
【0104】
なお、図25のフローにおいてはその説明より明らかなように、ステップS101及びS102については、数値データ解析装置1の管理者などによって、入力データを読み込む前に予め実行されておく必要がある。入力データを読み込んでから数値データ解析装置1によって自動でなされる処理は、ステップS103以降となる。
【0105】
第三処理では、以上の第二処理により各患者につき用意された文書を全患者に渡って集めた文書集合に対して、LDAを適用し、トピック集合と、各患者のトピック比率と、を推定部5による最終的な結果として得る。当該LDAの適用自体については、周知であるので、説明は省略する。
【0106】
以上、本発明によれば、健診データにおける数値や度数の偏りを適切に反映して、分類すなわち離散化を行うことができると共に、当該分類結果を用いてLDA解析を実施することができる。
【0107】
以下、本発明における補足的事項を説明する。
【0108】
(1)本発明は、コンピュータに読み込まれ、当該コンピュータを図1の数値データ解析装置1として機能させる、あるいは当該コンピュータに図1の各部に対応する手順を実行させる、数値データ解析プログラムとして提供されてもよい。
【0109】
(2)本発明にて、入力となる数値データは健診値、すなわち医療に関するものであるとして説明したが、同様の性質を有するデータ、例えば、医療、健康等の用途に限らない生体データや、生物一般のデータその他についても本発明は適用可能である。
【符号の説明】
【0110】
1…数値データ解析装置、10…第一機能部、2…頻度分類部、3…数値分類部、4…分類結果更新保持部、5…推定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25