TOP > 国内特許検索 > 時系列データ分析装置および時系列データ分析プログラム > 明細書

明細書 :時系列データ分析装置および時系列データ分析プログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4734559号 (P4734559)
公開番号 特開2006-163521 (P2006-163521A)
登録日 平成23年5月13日(2011.5.13)
発行日 平成23年7月27日(2011.7.27)
公開日 平成18年6月22日(2006.6.22)
発明の名称または考案の名称 時系列データ分析装置および時系列データ分析プログラム
国際特許分類 G06N   5/04        (2006.01)
FI G06N 5/04 580A
請求項の数または発明の数 10
全頁数 22
出願番号 特願2004-350270 (P2004-350270)
出願日 平成16年12月2日(2004.12.2)
審査請求日 平成19年10月18日(2007.10.18)
特許権者または実用新案権者 【識別番号】504202472
【氏名又は名称】大学共同利用機関法人情報・システム研究機構
発明者または考案者 【氏名】市瀬 龍太郎
個別代理人の代理人 【識別番号】100083806、【弁理士】、【氏名又は名称】三好 秀和
【識別番号】100101247、【弁理士】、【氏名又は名称】高橋 俊一
【識別番号】100109380、【弁理士】、【氏名又は名称】小西 恵
審査官 【審査官】北元 健太
参考文献・文献 特開2002-330060(JP,A)
本山真也、外2名,多数の欠損値を持つ時系列データからのデータマイニング手法の一検討,2004年度人工知能学会全国大会(第18回)論文集,[CD-ROM],社団法人人工知能学会,2004年 6月 2日
佐藤慶宜、外3名,インターフェロンの効果を予測する述語記述の発見,第64回人工知能学会研究会資料,日本,社団法人人工知能学会,2004年 3月 1日,pp.25-30
調査した分野 G06N 5/00 - 5/04
G06F 17/10 - 17/18
特許請求の範囲 【請求項1】
データ要素として観測時刻と観測値が関連づけられた第1の時系列データを入力する手段と該時系列データを記憶する手段を有する時系列データ収集部と、
前記時系列データ収集部により収集された複数の第1の時系列データのうち、 特徴を抽出すべき時系列データ第1のクラスを、それ以外の時系列データに第2のクラスを、それぞれ付与する分類クラス決定部と、
前記第1および第2のクラスが付与された第2の時系列データを記憶する時系列データ記憶部と、
前記時系列データ記憶部で記憶された前記第2の時系列データに対して、前記観測時刻に前記観測値が存在する場合は、該観測時刻を観測点とし、該観測点の前記観測値を最大値とする凸型関数を生成し、前記前記第1および第2のクラスに対応する係数として、第1のクラスに対応する係数が第2のクラスに対応する係数より大きな値の係数となるように定めて前記凸型関数にかけ、全観測点についての該凸型関数の総和を算出し、算出された値が、所定の閾値以上となる観測点を抽出することにより、前記第2の時系列データの特徴を抽出する特徴抽出部とを具備する
ことを特徴とする時系列データ分析装置。
【請求項2】
前記特徴抽出部は、
各時系列データごとに、すべての時刻に亘り、前記観測点のみについて、前記凸型関数の総和を算出する時系列データ関数値算出手段と、
前記時系列データ関数値算出手段により算出された前記凸型関数の総和に、前記分類クラス決定部により、当該時系列データに付与された前記第2の時系列データの前記第1のクラスまたは前記第2のクラスに対応する係数として掛け合わせるクラス適用手段と、
すべての第2の時系列データについて、前記時系列データ関数値算出手段と前記クラス適用手段とによる計算処理を繰り返す第1繰り返し計算手段と、
すべてのクラスについて、前記時系列データ関数値算出手段、前記クラス適用手段および前記第1繰り返し計算手段による計算処理を繰り返す第2繰り返し計算手段と、
前記第2繰り返し計算手段により算出された値が、所定の閾値以上となる観測点を抽出する観測点抽出手段とを具備する
ことを特徴とする請求項1に記載の時系列データ分析装置。
【請求項3】
前記第1のクラスに対応する係数は+1であり、前記第2のクラスに対応する係数は-1である
ことを特徴とする請求項1または2に記載の時系列データ分析装置。
【請求項4】
上記時系列データ分析装置は、さらに、
前記特徴抽出部により抽出された特徴に基づいて、前記第2の時系列データの観測点における前記凸型関数の総和を、観測時刻および観測されたデータ値が構成する平面上三次元表示し、または該平面上閾値ごとに識別可能に二次元表示する特徴視覚化部を具備する
ことを特徴とする請求項1ないし3のいずれか記載の時系列データ分析装置。
【請求項5】
上記時系列データ分析装置は、さらに、
前記特徴抽出部により抽出された特徴に基づいて、規則を生成し、生成された規則に従って、時系列データに付与すべきクラスを予測するクラス予測部を具備する
ことを特徴とする請求項1ないし4のいずれか記載の時系列データ分析装置。
【請求項6】
時系列データ分析処理をコンピュータに実行させるための時系列データ分析プログラムであって、該プログラムは、前記コンピュータに、
データ要素として観測時刻と観測値が関連づけられた第1の時系列データを入力する手段と該時系列データを記憶する手段に記憶する時系列データ収集処理、
前記時系列データ収集処理により収集された複数の第1の時系列データのうち、特徴を抽出すべき時系列データ第1のクラスを、それ以外の時系列 データに第2のクラスを、それぞれ付与する分類クラス決定処理、
前記第1および第2のクラスが付与された第2の時系列データを記憶する手段に記憶する時系列データ記憶処理、
前記時系列データ記憶処理で記憶された前記第2の時系列データに対して、前記観測時刻に前記観測値が存在する場合は、該観測時刻を観測点とし、該観測点の前記観測値を最大値とする凸型関数を生成し、前記前記第1および第2のクラスに対応する係数として、第1のクラスに対応する係数が第2のクラスに対応する係数より大きな値の係数となるように定めて前記凸型関数にかけ、全観測点についての該凸型関数の総和を算出し、算出された値が、所定の閾値以上となる観測点を抽出することにより、前記第2の時系列データの特徴を抽出する特徴抽出処理
としての機能を実行させる時系列データ分析プログラム。
【請求項7】
前記コンピュータは、前記特徴抽出処理
各時系列データごとに、すべての時刻に亘り、前記観測点のみについて、前記凸型関数の総和を算出する時系列データ関数値算出処理、
前記時系列データ関数値算出手段により算出された前記凸型関数の総和に、当該第2の時系列データに付与された前記第1のクラスまたは前記第2のクラスに対応する係数として掛け合わせるクラス適用処理、
すべての第2の時系列データについて、前記時系列データ関数値算出手段と前記クラス適用手段とによる計算処理を繰り返す第1繰り返し計算処理、
すべてのクラスについて、前記時系列データ関数値算出手段、前記クラス適用手段および前記第1繰り返し計算手段による計算処理を繰り返す第2繰り返し計算処理、
前記第2繰り返し計算手段により算出された値が、所定の閾値以上となる観測点を抽出する観測点抽出処理
としての機能を実行させることを特徴とする請求項6記載の時系列データ分析プログラム。
【請求項8】
前記第1のクラスに対応する係数は+1であり、前記第2のクラスに対応する係数は-1である
ことを特徴とする請求項6または7に記載の時系列データ分析プログラム。
【請求項9】
前記コンピュータは、さらに、
前記特徴抽出処理により抽出された特徴に基づいて、前記第2の時系列データの観測点における前記凸型関数の総和を、観測時刻および観測されたデータ値が構成する平面上三次元表示し、または該平面上閾値ごとに識別可能に二次元表示する特徴視覚化処理、
としての機能を実行することを特徴とする請求項6ないし8のいずれか記載の時系列データ分析プログラム。
【請求項10】
前記コンピュータに、さらに、
前記特徴抽出処理により抽出された特徴に基づいて、規則を生成し、生成された規則に従って、時系列データに付与すべきクラスを予測するクラス予測処理、
としての機能を実行することを特徴とする請求項6ないし9のいずれか記載の時系列データ分析プログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、時系列データ分析装置および時系列データ分析プログラムに関する。より詳しくは、コンピュータおよび記録媒体を用いた各種データ解析において、時間に応じて変動するデータ値を時刻順に並べて得られる時系列データから、所望の結果が得られる、ないし期待される時系列データの特徴を自動的かつ効率的に抽出するとともに、該特徴を直感的かつ識別可能に視覚化するための技術に関する。
【背景技術】
【0002】
時間に応じて変動するデータ値を時刻順に並べて得られる時系列データは、それぞれのデータ値とともに、データ値の推移に意味がある点が特徴的である。この時系列データは、例えばプロセス状態などの物理現象や、あるいは株式市場における銘柄の値動きなどの経済現象を観測して得られる。
【0003】
収集された複数の時系列データを解析する手法が、

【特許文献1】特開2004-78812 に開示されている。同手法においては、プラントの制御運転のためプロセス状態を解析する際に、複数の時系列データ相互間の関係を把握するため、取り出した時系列データの組について時間をシフトし、最大の相関をとるシフト時間を探索し、時系列データ間の類似度を算出して得られたプロセス応答モデルを用いて、制御運転のためのルールおよび予測データを得る。
【0004】
あるいは、時系列データの特徴を発見する手法が、

【非特許文献1】Keogh,E.J.and Pazzani,M.J.:Scaling up Dynamic Time Warping for Datamining Applications, In the Proceedings of the Sixth International Conreference on Knowledge Discovery and Data Mining, pp.285-289(2000). に開示されている。同手法においては、各時系列データから生成されたグラフ形状パターンの同一性ないし類似性を評価することにより、時系列データの特徴発見を行う。
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、解析対象となる時系列データは、必ずしも単位時間毎に連続的に観測されるものではない。殊に、例えばある疾患を持つ患者を被験者として、血液検査データを収集する場合のように、観測不能であった時刻の値(以下、「欠損値」という。)が存在する離散的な観測によってしか、時系列データが得られないことは往々にしてある。このような欠損値を含む時系列データを解析する場合、前者の手法では、欠損値を補完した時系列データについて相関を計算するため、欠損値が多いほどデータ解析の精度が低下する。後者の手法においても、時系列データに欠損値がある場合には、グラフの同一性ないし類似性が維持されるとは限らないため、同様の問題点を生じさせる。
【0006】
本発明は、上記課題に鑑みてされたものであり、その目的は、時系列データから、所望の結果が得られる、ないし期待される時系列データの特徴を自動的かつ効率的に抽出する時系列データ分析装置および時系列データ分析プログラムを提供することにある。
【0007】
また、本発明の他の目的は、欠損値を含む時系列データを分析対象とした場合にあっても、特徴抽出の精度を損なわない時系列データ分析装置および時系列データ分析プログラムを提供することにある。
【0008】
さらに、本発明の他の目的は、時系列データの特徴を直感的かつ識別可能に視覚化可能な時系列データ分析装置および時系列データ分析プログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の時系列データ分析装置は、データ要素として観測時刻と観測値が関連づけられた第1の時系列データを入力する手段と該時系列データを記憶する手段を有する時系列データ収集部と、
前記時系列データ収集部により収集された複数の第1の時系列データのうち、 特徴を抽出すべき時系列データ第1のクラスを、それ以外の時系列データに第2のクラスを、それぞれ付与する分類クラス決定部と、
前記第1および第2のクラスが付与された第2の時系列データを記憶する時系列データ記憶部と、
前記時系列データ記憶部で記憶された前記第2の時系列データに対して、前記観測時刻に前記観測値が存在する場合は、該観測時刻を観測点とし、該観測点の前記観測値を最大値とする凸型関数を生成し、前記前記第1および第2のクラスに対応する係数として、第1のクラスに対応する係数が第2のクラスに対応する係数より大きな値の係数となるように定めて前記凸型関数にかけ、全観測点についての該凸型関数の総和を算出し、算出された値が、所定の閾値以上となる観測点を抽出することにより、前記第2の時系列データの特徴を抽出する特徴抽出部とを備えたことを要旨とする。
ことを要旨とする。
【0010】
また、前記特徴抽出部は、
各時系列データごとに、すべての時刻に亘り、前記観測点のみについて、前記凸型関数の総和を算出する時系列データ関数値算出手段と、
前記時系列データ関数値算出手段により算出された前記凸型関数の総和に、前記分類クラス決定部により、当該時系列データに付与された前記第2の時系列データの前記第1のクラスまたは前記第2のクラスに対応する係数として掛け合わせるクラス適用手段と、
すべての第2の時系列データについて、前記時系列データ関数値算出手段と前記クラス適用手段とによる計算処理を繰り返す第1繰り返し計算手段と、
すべてのクラスについて、前記時系列データ関数値算出手段、前記クラス適用手段および前記第1繰り返し計算手段による計算処理を繰り返す第2繰り返し計算手段と、
前記第2繰り返し計算手段により算出された値が、所定の閾値以上となる観測点を抽出する観測点抽出手段
を備えたことを要旨とする
【0011】
前記第1のクラスに対応する係数は+1であり、前記第2のクラスに対応する係数は-1であることを要旨とする。
【0012】
上記時系列データ分析装置は、さらに、
前記特徴抽出部により抽出された特徴に基づいて、前記第2の時系列データの観測点における前記凸型関数の総和を、観測時刻および観測されたデータ値が構成する平面上三次元表示し、または該平面上閾値ごとに識別可能に二次元表示する特徴視覚化部を備えたことを要旨とする。
【0013】
上記時系列データ分析装置は、さらに、
前記特徴抽出部により抽出された特徴に基づいて、規則を生成し、生成された規則に従って、時系列データに付与すべきクラスを予測するクラス予測部を備えたことを要旨とする。
【0014】
さらに、時系列データ分析処理をコンピュータに実行させるための時系列データ分析プログラムであって、該プログラムは、前記コンピュータに、
データ要素として観測時刻と観測値が関連づけられた第1の時系列データを入力する手段と該時系列データを記憶する手段に記憶する時系列データ収集処理、
前記時系列データ収集処理により収集された複数の第1の時系列データのうち、特徴を抽出すべき時系列データ第1のクラスを、それ以外の時系列 データに第2のクラスを、それぞれ付与する分類クラス決定処理、
前記第1および第2のクラスが付与された第2の時系列データを記憶する手段に記憶する時系列データ記憶処理、
前記時系列データ記憶処理で記憶された前記第2の時系列データに対して、前記観測時刻に前記観測値が存在する場合は、該観測時刻を観測点とし、該観測点の前記観測値を最大値とする凸型関数を生成し、前記前記第1および第2のクラスに対応する係数として、第1のクラスに対応する係数が第2のクラスに対応する係数より大きな値の係数となるように定めて前記凸型関数にかけ、全観測点についての該凸型関数の総和を算出し、算出された値が、所定の閾値以上となる観測点を抽出することにより、前記第2の時系列データの特徴を抽出する特徴抽出処理
としての機能を実行させることを要旨とする。
【発明の効果】
【0015】
本発明によれば、時系列データから、所望の結果が得られる、ないし期待される時系列データの特徴を自動的かつ効率的に抽出することが可能となる。
【0016】
また、欠損値を含む時系列データを分析対象とした場合にあっても、データが存在する場合と同様の効果が得られるので、特徴抽出の精度を高く維持することができる。
【0017】
さらに、抽出された時系列データの特徴を直感的かつ識別可能に視覚化することが可能となる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照して、本発明の実施の形態を説明する。
【0019】
(1)本実施形態に係る時系列データ分析の原理
本実施形態においては、複数の時系列データのデータ解析において、異なる結果が得られた時系列データが存在するときに、所望する結果、あるいは所望する結果以外の結果が得られるときの時系列データの特徴を、自動的かつ効率的に抽出する。本実施形態に係る手法によれば、時系列データの特徴から今後得られる結果を予想することができ、さらに、ユーザーに結果の理由を説明することで好ましい行動を促したり、あるいはコンピュータを利用した自動制御で所望しない結果を回避することができる。
【0020】
本実施形態に係る時系列データ分析装置10への入力は、複数の時系列データおよびその時系列データのクラスを含み、該時系列データ分析装置10からの出力は、当該クラスを特徴付ける時系列データのデータ要素である。
【0021】
時系列データ分析装置10に入力される時系列データは、ある時系列データt1,...,tnとして示される。例えば、ある疾患を持つ患者から、1日ごとに得られるある血液検査の値をtiとして検査データを取得する。そして、n日目に、ある薬を投薬する場合には、血液の検査値υがn個分の時系列データとして得られる。ここで、時系列データは、欠損値(未観測の値)を含むものであってもよい。この例の場合では、患者が血液検査を毎日受けなくても構わない。
【0022】
時系列データ分析装置10に入力される時系列データのクラスは、時系列データに対して付与される。各時系列データを分類することにより、各時系列データに付与すべきクラスが決定される。各時系列データに対応して得られた結果に基づき、好ましい結果とそれ以外の結果を区別可能な属性値としてクラスが付与されてよい。例えば、好ましい結果が得られた時系列データ群に属する時系列データのそれぞれには、+1が、それ以外の結果が得られた時系列データ群に属する時系列データのそれぞれには、-1が、付与されてよい。上記の例に従えば、上記のデータに対して、n日目に、ある薬を投与する場合を考える。すると、効果があった患者の時系列データと、効果が無かった患者の時系列データに分類することができる。効果があったクラスをC1、効果が無かったクラスをC2とすると、時系列データは、C1かC2のクラスが割り当てられることになる。ただし、クラスの数は、2つ以上であれば何個でも構わない。さらに、本実施形態におけるクラスは、単数のクラスと複数のクラスに分類されるだけでなく、複数のクラスとその他の複数のクラスとに分類されてもよい。例えば、薬効に関する時系列データの場合には、「著効、有効」にそれぞれ分類される2つのクラスと、「効果無し、不明」にそれぞれ分類される2つのクラスとに分割されてもよい。
【0023】
本実施形態における特徴抽出処理においては、入力データ、すなわち、時系列データとそのクラスが複数与えられ、その中から、あるクラスに特徴的な時系列の現象を抽出するというタスクを実行する。与えられた時系列データを分析することにより、この特徴を抽出し、新たな時系列データが与えられた時に、その特徴があるか否かによって、今後得られるクラスの予測に利用することができる。
【0024】
より具体的には、本実施形態における特徴抽出処理は、各時系列データのうち、欠損値を除き、時間軸上、実データが得られた箇所の値のみを観測点とし、該観測点における観測値がピーク(最高値)となるような凸型関数を用いて、時系列データの対象観測点に対する該凸型関数の値を影響度として算出する。この影響度の算出を、サンプルのそれぞれについて、全時刻の時系列データについて繰り返し実行する。その際、各観測点が属するクラスに定義される係数を掛け合わせる。この処理を、全サンプルについて行い、全サンプルの全観測点(全時刻)について、影響度の総和を算出する。時間軸と時系列データの各値で構成される平面上、所定の閾値以上の値が分布する2次元領域を、特徴領域として抽出する。その際、所望する結果に対応するクラス、すなわち特徴を抽出したいクラスに属する時系列データに与えられる係数は、少なくとも、それ以外の結果に対応するクラスに属する時系列データに与えられる係数より大きいものとする。
【0025】
ここで、観測点とは、時刻(時間単位)とデータ値(観測値)とにより特定される、実際に値の観測された、すなわち実データが存在する箇所をいい、例えば図2においては、サンプルNo.2であれば単位時間3のセルおよび単位時間9のセルがそれぞれ観測点となる。また、凸型関数により示される影響度とは、時系列上における同じ観測点で、別のサンプルが再び観測される尤度を意味する。
【0026】
なお、一般に、あるデータとそのクラスの組が複数与えられ、その中から特徴を見付けることを教師付き学習といい、この教師付き学習のための入力となる時系列データとクラスを、訓練データという。これらはいずれも、人工知能の一研究分野である機械学習で用いられる概念であり、例えば特開平6-96052号公報にも開示がある。
【0027】
(2)本実施形態に係る時系列データ分析装置の構成
図1は、第1の実施形態に係る時系列データ分析装置10の構成を示す。本実施形態に係る時系列データ分析装置10は、時系列データ収集部1と、分類クラス決定部2と、時系列データ記憶部21と、時系列データ決定部3と、特徴量抽出部4と、規則学習部15と、特徴視覚化部6と、分類予測算出部7と、理由説明報知部8と、データ制御部9とを具備する。
【0028】
時系列データ収集部1は、複数の時系列データを、時系列データ分析装置10に入力する。この時系列データは、例えばプロセスデータなど任意のデータをモニタリングして得てもよく、あるいは、例えば血液検査の実施など、能動的に分析対象に動作することによって得てもよい。収集された時系列データは、好ましくは、各サンプル(図2におけるNo1,No2,No3,・・・、図7におけるサンプル1、サンプル2、サンプル3、サンプル4、・・・)ごと1レコードが構成され、内蔵メモリあるいは内蔵・外部記録媒体に格納されたテーブルとして参照される。収集される時系列データは、例えば血液検査の脈拍数や血圧のように、異なる種類のデータであってもよい。複数の異なる種類の時系列データを処理する場合には、時系列データ収集部1による時系列データ収集処理以降に実行される、分類クラス決定部2と、時系列データ決定部3と、特徴量抽出部4とが行う各処理は、いずれも、時系列データの種類(属性)ごと独立に実行されることとなる。一方、複数の異なる時系列データを処理する場合にあっても、規則学習部5は、異なる種類の時系列データのそれぞれについて特徴量抽出部4により得られた、異なる種類の特徴を組み合わせて規則を生成するように構成されれば、より有用な規則を生成することが可能となる。特徴視覚化部6においても、複数の特徴を重畳的に表示出力するように構成されれば、複数の特徴把握をより容易にすることができる。また、本実施形態において収集される時系列データは、観測不能な時刻を含んだ、すなわち欠損値を含んだ離散的なデータ群でもよい。この場合には、図2に示すように、欠損値を含む表形式の時系列データが得られることになる。
【0029】
分類クラス決定部2は、時系列データ収集部1によって収集された時系列データを生成したサンプルのそれぞれ(すなわち時系列データのそれぞれ)に、対応するクラスを決定する。例えば、ある患者の血液検査の時系列データが得られた後に、薬を投与した場合、薬の効果に差が出たものとする。この場合には、効果のあった患者グループと効果の無かった患者グループの2つのクラスに分けることができ、従って、それぞれの血液検査の時系列データに対しても、その属する患者(サンプル)のクラスに従って、効果ありのクラスと効果無しのクラスの2通りに分けることが可能となる。ただし、ここでは、2クラスを例として述べたが、クラスの数は、2つに限定されるものではなく、3つ以上の多数であっても構わない。結果として、各時系列データに対して、一つのクラスラベルが付与される。
【0030】
時系列データ記憶部21は、分類クラス決定部2によってクラスが付与された時系列データを、内蔵メモリあるいは内蔵・外部記憶媒体に保持記憶する。
【0031】
時系列データ決定部3は、収集された時系列データから、データ解析において意味のありそうな時間幅を決定する手段である。例えば、ある薬の効果を見るのに、10年前の血液検査の状態が関与しているとは、経験則上想定しにくい。時系列データ決定部3は、このように明らかに不要な部分のデータを切捨て、必要と思われる部分だけを決定し、特徴量抽出部4に出力する。あるいは、時系列データ決定部3は、時間幅以外にも、例えば、複数の種類(属性)の時系列データが収集された場合には、処理すべき時系列データの種類(属性)のみを選択するよう構成されてよい。例えば、薬効を判定するための時系列データを分析する場合には、時系列データ記憶部21に他の種類の時系列データ(例えば株価の値動きに関する時系列データ)が記憶されていたとしても不要である。時系列データ決定部3は、こうした当該データ分析に不要な時系列データが特徴量抽出部4により処理されるのを防止する。ただし、この時系列データ決定部3では、特徴量抽出処理に関連する時系列データの時間幅(開始時刻と終了時刻を含む)を厳密に決定するのではなく、関係のありそうな時間幅を決定する前処理を施すだけに過ぎない。従って、この時系列データ決定部3は、収集される時系列データのデータ属性によっては、本実施形態において省略することも可能である。時系列データ決定部3での時系列データの選択処理の結果として、時系列データ収集部1によって収集された時系列データよりも洗練された時系列データが得られる。
【0032】
特徴量抽出部4は、分類クラス決定部2によってクラスラベルが付与され、時系列データ記憶部21に記憶された時系列データであって、時系列データ決定部3によって選択された範囲の時系列データを入力とし、異なるクラスの弁別に有効である特徴量を抽出する。
【0033】
特徴量抽出部4が行う特徴量の抽出手法を、以下説明する。まず、データ観測時、観測値(観測対象時刻における時系列データの値)が最高値を持つような凸型関数(convex function)を用いる。この凸型関数は、どのようなものでも構わないが、ここでは、例えば次の関数を使用することができる。
【数1】
JP0004734559B2_000002t.gif

【0034】
ここで、t′,υ′は、それぞれ観測した時間と、観測した時系列データの値とする。またpt,pυは、それぞれの適用領域に対して決定される定数とする。このpt,pυは、正規化パラメータであり、簡単のため、例えば1であってもよい。このとき、関数f(t,υ)は、値を観測した場所(時刻)を最大値とする凸型関数になっており、観測した点よりも離れる程、値が小さくなる。この関数f(t,υ)は、上記のとおり、観測点(観測対象時刻)に対する各時系列データの影響度として考えることが可能である。
【0035】
次に、特徴を抽出したいクラスとそれ以外のクラスを弁別するため、以下の関数を定義する。
【数2】
JP0004734559B2_000003t.gif

【0036】
ここで、eは、クラスラベルの付与された時系列データ(訓練データ)とし、g(e)は、特徴を調べたいクラスの場合には+1を、それ以外のクラスの場合には-1を返すものとする。例えば、クラスがC1,C2,・・・、C5と5つあった場合に、クラスC2の特徴を調べたいと仮定すると、クラスC2には係数+1を、それ以外のクラスC1、C3、C4およびC5には係数-1を与える。この係数は、要するに特徴を出したいクラスをそれ以外のクラスから弁別するための係数であるので、特徴を調べたいクラスに与えられる係数が、それ以外のクラスに与えられる係数より有意に大きい値であれば、任意の係数であってよい。
【0037】
次に全ての訓練データ(クラスラベルの付与された時系列データ)Eの観測点に対して、以下の値を計算する。
【数3】
JP0004734559B2_000004t.gif

【0038】
この関数h(t,υ)の値は、対象クラス(特徴を調べたいクラス)の観測点が集中している場所程、大きな値を取り、対象クラス以外の観測点が集中している場所程、小さな値をとる。所定の閾値以上の関数h(t,υ)の値が分布する、時間軸と観測された時系列データ値とが構成する平面上の領域を特定することによって、対象クラスの特徴を表す領域を抽出することが可能となる。ここで、血圧と脈拍数のようにそれぞれ異なる時系列データを解析する場合には、上記の特徴抽出処理は独立に行われる。その結果、対象クラスに特徴的な時系列データの傾向を発見できる。特徴量抽出部4によって発見された特徴は、規則学習部5および特徴視覚化部6に送出される。
【0039】
規則学習部5は、例えばC4.5などの公知の機械学習システムに、特徴量抽出部4によって抽出された特徴を入力することによって、抽出された特徴を、if-thenや決定木のような規則の形態に変換する。この規則学習部5に入力される特徴は、1つとは限らず、複数入力可能であり、またこの特徴は血圧値と脈拍など異なる時系列データから抽出した特徴であっても構わない。その結果、分類クラス決定部2が、収集された時系列データに対して付与すべきクラスを予測する規則を得ることが可能となる。
【0040】
特徴視覚化部6は、関数h(t,υ)を視覚化することによって、特徴の視覚化を行う。関数h(t,υ)は、t,υで構成される平面上に広がる値と見ることが可能である。特徴視覚化部6は、たとえば、関数h(t,υ)を、観測時刻および観測された時系列データのデータ値が構成する平面上三次元表示したり、あるいは、この平面上閾値ごとに等高線表示などの手法により特徴領域をその他の領域から識別可能に表示出力する。例えば、公知の技術である、関数の値の大きさに応じて連続的に色彩の変化をさせて図示する手法を用いれば、特徴の現れる平面上の領域を視覚化することが可能となる。その結果、濃淡や等高線の付加された2次元のグラフを得ることができる。
【0041】
規則学習部5において学習された規則、および特徴視覚化部6において視覚化されたグラフは、分類予測算出部7および理由説明報知部8に送出される。
【0042】
分類予測算出部7は、学習された規則に基づいて、本実施形態に係る時系列データ分析装置10に、新たに時系列データが与えられた場合に、どのようなクラスとなるかの予測を算出する。
【0043】
理由説明報知部8は、例えば学習された規則の決定木を走査することにより、学習された規則を解析し、あるいは視覚化された特徴を解析し、その解析結果を入出力装置を介して、ユーザーに提供する。出力された解析結果を吟味することにより、所望するデータのあり方を考案することができる。
【0044】
データ制御部9は、分類予測算出部7によって得られたクラスの予測と、理由説明報知部8によって得られた望ましいデータの有り方との双方、あるいはいずれか一方を入力とし、最終的に得られるクラスが望ましくなるように行動するよう、時系列データの操作を行う。その結果、データ制御部9の出力として得られる時系列データは、時系列データ収集部1にフィードバックされる。
【0045】
データ制御部9は、また、特徴量抽出部4、規則学習部5、特徴視覚化部6、分類予測算出部7、理由説明報知部8などが出力する処理結果を、適宜入出力装置を介して表示ないし印刷出力するための制御を行う。
【0046】
(3)例題
本実施形態における時系列データ分析処理を、以下例題により説明する。説明の簡単化のため、ここでは2つのクラスP,Nがあるものとし、P,Nに属する時系列データはそれぞれ100個ずつであるとする。
【0047】
図2は、この時系列データの一部をテーブルで示したものである。各時系列データには上から順番にサンプル番号が付与されており、テーブルの横軸は、単位時間を示す。例えば、サンプルNo.1のデータは、単位時間1の時には、データの観測ができなかったため、欠損値となっている。一方、単位時間2の時には、24.2887という観測値が得られている。そして、サンプルNo.1のクラスはPとなっている。
【0048】
図2に示される時系列データは、本実施形態に係る時系列データ収集部1によって収集され、その後、分類クラス決定部2によって、P,Nのクラスが付与されたものである。Pは特徴を調べたい対象クラスを、Nはそれ以外のクラスを示すものとする。ここでは、図2に示される時系列データは、時系列データ決定部3によって、時系列データとして着目すべき60単位時間分だけ、データが抽出されたものとする。この時系列データが、特徴量抽出部4に入力される。
【0049】
図3は、特徴量抽出部4に入力される時系列データを全て表示したものであり、Pのデータを2点鎖線で、Nのデータを破線で示している。横軸が時間を表し、縦軸が観測された時系列データの値を表す。
【0050】
特徴量抽出部4が用いる関数f(t,υ)として、上記の数式1を用いる。ただし、pt,pυは定数とする。
【数4】
JP0004734559B2_000005t.gif

【0051】
図3に示すテーブルのサンプルNo.1のデータの単位時間3について、f(t,υ)は、下記のようになる。
【数5】
JP0004734559B2_000006t.gif

【0052】
図4は、定数pt,pυを、pt=pυ=1とした場合に、f(t,υ)の値を3次元でグラフ化した図である。図4から明らかなように、単位時間3における観測点で最大になるグラフが得られる。
【0053】
図5は、クラスPが付与されたサンプルNo.1の時系列データ中、時系列データ決定部3によって決定されたすべての単位時間のうち、値が観測されたすべての観測点(例えば、時間1から時間10。ただし、欠損値である単位時間については処理されない)について、f(t,υ)・g(e)を足し合わせて得られるグラフを示す。図5から明らかなように、特徴のある部分ほど関数値が大きくなる。一方、クラスNが付与された時系列データ(図5においてはサンプルNo.4)は、関数g(e)がマイナスとなるため、f(t,υ)・g(e)は下方に凸型の関数となる。したがって、クラスPが付与された時系列データとクラスNが付与された時系列データのf(t,υ)・g(e)を足し合わせると、クラスPが付与された時系列データとクラスNが付与された時系列データとが混在して存在する図5中の領域は関数が打ち消しあう一方で、クラスPが付与された時系列データPのみが観測される領域は、クラスNが付与された時系列データの影響が少なくなり、大きな値となる。
【0054】
その結果、全てのサンプルについての時系列データの合計を計算する関数であるh(t,υ)の値が高い(低い)場所ほど、P,Nの弁別に適した場所となる。この関数h(t,υ)の値をある一定の閾値で切れば、複数の特徴を得ることができる。また、血圧値と脈拍のように、複数の違うデータを保持している場合には、別々に処理を施すことで、多くの特徴を得ることができる。上記の例題の場合は、ある時刻からある時刻の間に、観測値がある値からのある値の間にあるというようなものがクラスPに属する時系列データの特徴の一つとして、特徴量抽出部4で得られる。
【0055】
特徴量抽出部4で得られた特徴は、規則学習部5に入力される。規則学習部を構成する手段の一つとして、公知のC4.5を例に取ると、特徴量抽出部4によって得られた特徴は、規則学習部5において属性として用いられ、その特徴が対象データから観測できるか否かによって、決定木が作られることになる。
【0056】
一方、h(t,υ)で計算された結果は、特徴視覚化部6によって、例えば公知の視覚化手法を用いることにより視覚化することが可能である。
【0057】
図6は、例えば、関数h(t,υ)の大きさを濃淡で表す手法を用いて、特徴量抽出部4で得られたデータを視覚化したグラフの一例を示す。図6において、図中の暗い部分91は、関数h(t,υ)が所定の閾値以下であった領域を例示的に示すものであって、クラスNが付与された時系列データの特徴が表れた領域であり、一方、図中の明るい部分は、Pの特徴が表れた領域である。
【0058】
規則学習部5によって得られた決定木などの規則は、分類予測算出部7において時系列データに付与されるクラスの分類予測に用いられる。新たな時系列データが得られた時に、決定木などによる規則を用いることにより、対象の時系列データが、所望する結果が期待されるクラスPに属するか,それ以外のクラスNに属するか、を予測可能となる。この分類予測算出部7によるクラス分類の予測結果に基づいて、データ制御部9は、特定の所望する結果をもたらすようなアクションを指示することができる。例えば、薬の効果があるかないかをクラスとするような場合には、効果があると予測すれば、投与すればよいし、効果が無いと予測すれば、副作用を避けるために、投与しなければよい。
【0059】
一方、規則学習部5によって得られた決定木や、特徴視覚化部6によって視覚化されたグラフは、理由説明報知部8において、ユーザーに対する理由説明を提示する手段として用いられてもよい。ユーザーにとって、ある状況においてどのような行動を取ればいいかの理解も可能になる。この理由説明報知8からの出力を用いて、データ制御部9において、特定の結果をもたらすような行動を提示することができる。例えば、競技がスタートする3分前の心拍数がある一定の範囲にある時に、競技結果が良好なクラスであることが分かれば、3分前にその範囲になるように、競技出場選手がウォーミングアップをすればよいことになる。
【0060】
(4)本実施形態に係る特徴量抽出処理の処理手順詳細
以下、図7ないし図9を参照して、本実施形態に係る特徴量抽出処理の処理手順詳細を説明する。図7の時系列データが、時系列データ収集部1により収集、記憶されたものとする。図7の時系列データは、例えば図2の時系列データの値を記号化したものである。
【0061】
図8は、図7の時系列データから特徴量を抽出するための処理手順を示すフローチャートである。図8のフローチャートにおいて使用されているj,k,lは、それぞれ、特徴を出そうとするクラスの番号、サンプルの番号、単位時間の番号を表すのに使われている。
【0062】
一つのサンプルekは、時系列のデータdklを持っている。ここで、変数lは、単位時間を表しており、例えばdk5は、k番目の例ekの時間5の観測値を表している。jは、クラスの番号を表している。例えば、2個のクラスがある場合には、jは、1か2の値をとることになり、2個のクラスは、C1,C2となる。
【0063】
図8のフローチャートにおいては、各サンプルの時系列データとクラスが入力として与えられる。例えば、医療データにおいては、各患者の薬の効果(効いた、効かない)をクラスとし、各患者の、時系列に沿って観測された血圧データが入力に使われる。
【0064】
図8のフローチャートの出力として得られるものは、各クラスに対する特徴を示す関数hj(t,υ)である。この関数hj(t,υ)は、j番目のクラスに対して、時間tと値υから構成される関数となる。
【0065】
まず、ステップS51において、クラスjを1つずつ順に選択し(ステップS51、ステップS53、ステップS59)、処理対象のクラスに対して、ステップS55からステップS69までの処理を繰り返すことにより、hj(t,υ)を算出する(ステップS73、ステップS75)。なお、本実施形態においては、必ずしもステップS51、ステップS53およびステップS59に示されるように、1つのクラスとその他のクラスを区別し、1つのクラスごと処理されなくともよい。この場合においては、図8におけるステップS51、ステップS53およびステップS59によって示される処理ループを省略して実行されてよい。
【0066】
ステップS55において、サンプルkを1つずつ順に選択し(ステップS55、ステップS57、ステップS65)、各サンプルごとに、ステップS57からステップS69までの処理を繰り返すことにより、全てのサンプルに対して関数hの算出を実行する。
【0067】
ステップS61において、単位時間lを1つ順に選択し(ステップS61、ステップS63、ステップS69)、各サンプルに対して、全ての単位時間(時刻)に亘って、
JP0004734559B2_000007t.gif
【0068】
の総和を求める(ステップS71~ステップS73)。なお、
JP0004734559B2_000008t.gif
【0069】
は、数式1におけるf(t,υ)と同じであり、t′にlを、υ′にdklを代入したものである。図8中、*で示された箇所(ステップS67N)は、単位時間中、dklが欠損していた場合であり、この場合には、何も処理せず、次の単位時間についての処理に進む。データが観測された場合には(ステップS67Y)、サンプルekが対象クラスCjに属するか否かで、処理が分かれる。サンプルekが対象クラスCjに属する場合には(ステップS71Y)、h(t,v)=h(t,v)+f,dkl(t,v)が算出され(ステップS73)、一方、サンプルekが対象クラスCjに属さない場合には(ステップS71N)、h(t,v)=h(t,v)-f,dkl(t,v)が算出される(ステップS75)。すなわち、ステップS73およびS75においては、数式2で示した関数g(e)によって場合分けされ、hj(t,υ)が更新される。
【0070】
図9は、異なった種類(属性)の時系列データが収集された場合の、時系列データから特徴量を抽出するための処理手順を示すフローチャートであり、図9のフローチャートにおいて使用されているiは、時系列データの各属性の番号を示す。例えば、医療データの場合には、脈拍や血圧など、異なった属性の複数のデータを収集することができる。このような場合には、図9に示すフローチャートに従った処理を実行することにより、複数の属性から特徴を抽出することができる。なお、属性となる脈拍や血圧のデータは、常に同時刻に取られているのでなくても構わない。
【0071】
まず、ステップS1において、時系列データの属性iを1つずつ順に選択し(ステップS1、ステップS3、ステップS9)、すべての属性に対して、各属性ごとに、図8におけるフローチャートの処理(ステップS51からステップS69)を繰り返すことにより、それぞれの属性に対して、関数hを算出することにより、特徴を抽出する(ステップS5)。
【0072】
(5)本実施形態に係る時系列データ分析装置のハードウエア構成
図10は、本実施形態による時系列データ分析装置の構成を示すブロック図である。図10に示されるコンピュータ装置100である時系列データ分析装置10において、CPU101は、ROM104および/またはハードディスクドライブ106に格納されたプログラムに従い、RAM105を一次記憶用ワークメモリとして利用して、システム全体を制御する。さらに、CPU101は、マウス102aまたはキーボード102を介して入力されるユーザの指示に従い、ハードディスクドライブ106に格納されたプログラムに基づき、本実施形態に係る時系列データ分析処理を実行する。ディスプレイインタフェイス103には、CRTやLCDなどのディスプレイが接続され、CPU101が実行する時系列データ分析処理の入力待ち受け画面、処理経過や分析結果などが表示される。リムーバブルメディアドライブ107は、主に、リムーバブルメディアからハードディスクドライブ106へファイルを書き込んだり、ハードディスクドライブ106から読み出したファイルをリムーバブルメディアへ書き込む場合に利用される。リムーバブルメディアとしては、フロッピディスク(FD)、CD-ROM、CD-R、CD-R/W、DVD-ROM、DVD-R、DVD-R/W、DVD-RAMやMO、あるいはメモリカード、CFカード、スマートメディア、SDカード、メモリスティックなどが利用可能である。
【0073】
プリンタインタフェイス108には、レーザビームプリンタやインクジェットプリンタなどのプリンタが接続される。ネットワークインタフェイス109は、コンピュータ装置をネットワーク12へ接続するためのインターフェースである。
【0074】
なお、本実施形態に係る時系列データ分析装置における入力部は、マウス102aあるいはキーボード102に限定されることなく、任意のポインティングデバイス、例えばトラックボール、トラックパッド、タブレットなどを適宜用いることができる。携帯情報端末を本実施形態に係る画像検索表示装置として用いる場合には、入力部をボタンやモードダイヤル等で構成してもよい。
【0075】
また、図10に示した本実施形態に係る時系列データ分析装置のハードウエア構成は一例に過ぎず、その他の任意のハードウエア構成を用いることができることはいうまでもない。
【0076】
殊に、本実施形態に係る時系列データ分析処理は、上記コンピュータ端末装置100あるいはPDA等の携帯情報端末装置等によって実現されてもよく、コンピュータ端末装置等とサーバー装置とをBluetooth(登録商標)等の無線、あるいはインターネット(TCP/IP)、公共電話網(PSTN)、統合サービス・ディジタル網(ISDN)等の有線通信回線で相互接続した、インターネットあるいは任意の周知のローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)からなるネットワークシステムによって実現されてもよい。端末装置とサーバー装置とを接続したシステムによって本実施形態に係る時系列データ分析処理を実現する場合には、例えば、時系列データの記憶保持、ならびにこれらへの分析処理(特徴量抽出処理)をサーバー装置において稼動するプログラムが実行し、ユーザーからの情報解析のための指示入力および解析結果のブラウジング処理のみをWebブラウザを搭載したクライアント装置が実行してもよい。あるいは、サーバー装置上で稼動するポータルサイトプログラムが、本実施形態に係る時系列データ分析処理の全部または一部を実行してもよい。
【0077】
コンピュータ端末装置100上で稼動するWebブラウザ上のフォームを使用して、ユーザーがクラス種別や解析条件等のデータをサーバー装置に送信できる。あるいは、本実施形態に係る時系列データ分析処理の全部または一部を記述するJava(登録商標)アプレット等のアプレットを、ネットワークを介してサーバー装置からWebブラウザ上にダウンロードし、ブラウザのウインドウに埋め込ませて実行させることができる。
【0078】
以上のとおり、本実施形態によれば、時系列データから、所望の結果が得られる、ないし期待される場合の時系列データの特徴を自動的かつ効率的に抽出することが可能となる。
【0079】
また、欠損値を含む時系列データを分析対象とした場合にあっても、データが存在する場合と同様の効果が得られるので、特徴抽出の精度を高く維持することができる。
【0080】
さらに、抽出された時系列データの特徴を直感的かつ識別可能に視覚化することが可能となる等、有利な効果が得られる。
【0081】
本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、請求項1により画される発明の特徴の組み合わせに限定されるものではなく、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【図面の簡単な説明】
【0082】
【図1】本発明の一実施形態に係る時系列データ分析装置の構成を示す機能ブロック図である。
【図2】本発明の一実施形態に係る時系列データ収集部1に入力される時系列データの一例を示す図である。
【図3】本発明の一実施形態に係る特徴量抽出部4に入力されるデータをグラフ表示した一例を示す図である。
【図4】図2におけるサンプルNo.1の時間3の観測データ値を用いた関数f(t、v)の三次元表示の一例を示す図である。
【図5】図2におけるサンプルNo.1の時間1から時間10の観測データ値を用いた関数f(t、v)の総和の三次元表示の一例を示す図である。
【図6】特徴視覚化部6が出力する、関数h(t、v)の値を濃淡により二次元表示した一例を示す図である。
【図7】図2における時系列データを記号化して得られる時系列データの一例を示す図である。
【図8】本発明の一実施形態に係る時系列データ分析装置10の特徴量抽出部4が実行する処理手順の一例を示すフローチャートである。
【図9】本発明の一実施形態に係る時系列データ分析装置10の特徴量抽出部4が、複数の属性を有する時系列データを処理する場合の処理手順の一例を示すフローチャートである。
【図10】本発明の一実施形態に係る時系列データ分析装置のハードウエア構成の一例を示す図である。
【符号の説明】
【0083】
時系列データ収集部 1
分類クラス決定部 2
時系列データ決定部 3
特徴量抽出部 4
規則学習部 5
特徴視覚化部 6
分類予測算出部 7
理由説明報知部 8
データ制御部 9
時系列データ記憶部 21
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9