(57)【要約】【課題】時系列データに現れる統計的な変化点を精度良く検出する。【解決手段】第１のモデル学習部１０２は、時系列データ１１１の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデル（例えば隠れマルコフモデル）として学習する。以降の処理では、第１の統計モデル全体の確率分布だけでなく、その一部の確率分布（隠れ変数の確率分布、隠れ変数の値を条件とする条件付確率分布）、およびこれら複数の確率分布を重みを付けて線形結合した確率分布の各々について、確率分布の時間的な変化度を算出し、この算出した変化度に基づいて時系列データ１１１の変化点を検出する。【選択図】図１
2008087968.tif 000002
【特許請求の範囲】
【請求項１】
データの統計的な変化点を検出する変化点検出装置であって、
データの発生確率分布を、隠れ変数を含む有限個の変形で規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する第１のモデル学習部と、
前記推定された確率分布毎に変化度を求める第２のモデル学習部と、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する変化点検出部とを有することを特徴とする変化点検出装置。
【請求項２】
前記第１のモデル学習部は、前記確率分布に加えて、前記確率分布を線形結合した確率分布を推定する請求項１に記載の変化点検出装置。
【請求項３】
前記第１のモデル学習部は、前記確率分布に加えて、前記統計モデルの確率分布から算出する事後確率分布を推定する請求項１に記載の変化点検出装置。
【請求項４】
前記第１のモデル学習部は、前記確率分布と、前記事後確率分布とを線形結合した確率分布を推定する請求項３に記載の変化点検出装置。
【請求項５】
前記変化点検出部は、前記統計モデルの確率分布及び前記隠れ変数の確率分布のいずれかが閾値を越えた箇所を変化点として検出する請求項１に記載の変化点検出装置。
【請求項６】
前記変化点検出部は、前記統計モデルの確率分布及び前記隠れ変数の確率分布の双方が閾値を越えた箇所を変化点として検出する請求項１に記載の変化点検出装置。
【請求項７】
データの統計的な変化点を検出する変化点検出方法であって、
データの発生確率分布を、隠れ変数を含む有限個の変形で規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定し、
前記推定された確率分布毎に変化度を求め、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出することを特徴とする変化点検出方法。
【請求項８】
前記確率分布に加えて、前記確率分布を線形結合した確率分布を推定する請求項７に記載の変化点検出方法。
【請求項９】
前記確率分布に加えて、前記統計モデルの確率分布から算出する事後確率分布を推定する請求項７に記載の変化点検出方法。
【請求項１０】
前記確率分布と、前記事後確率分布とを線形結合した確率分布を推定する請求項９に記載の変化点検出方法。
【請求項１１】
前記統計モデルの確率分布及び前記隠れ変数の確率分布のいずれかが閾値を越えた箇所を変化点として検出する請求項７に記載の変化点検出方法。
【請求項１２】
前記統計モデルの確率分布及び前記隠れ変数の確率分布の双方が閾値を越えた箇所を変化点として検出する請求項７に記載の変化点検出方法。
【請求項１３】
データの統計的な変化点を検出する変化点検出プログラムであって、
コンピュータに、
データの発生確率分布を、隠れ変数を含む有限個の変形で規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する機能と、
前記推定された確率分布毎に変化度を求める機能と、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する機能とを実行させることを特徴とする変化点検出プログラム。
【請求項１４】
前記コンピュータに、
前記確率分布に加えて、前記確率分布を線形結合した確率分布を推定する機能を実行させる請求項１３に記載の変化点検出プログラム。
【請求項１５】
前記コンピュータに、
前記確率分布に加えて、前記統計モデルの確率分布から算出する事後確率分布を推定する機能を実行させる請求項１３に記載の変化点検出プログラム。
【請求項１６】
前記コンピュータに、
前記確率分布と、前記事後確率分布とを線形結合した確率分布を推定する機能を実行させる請求項１５に記載の変化点検出プログラム。
【請求項１７】
前記コンピュータに、
前記統計モデルの確率分布及び前記隠れ変数の確率分布のいずれかが閾値を越えた箇所を変化点として検出する機能を実行させる請求項１３に記載の変化点検出プログラム。
【請求項１８】
前記コンピュータに、
前記統計モデルの確率分布及び前記隠れ変数の確率分布の双方が閾値を越えた箇所を変化点として検出する機能を実行させる請求項１３に記載の変化点検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータマイニング技術に関し、特に時系列データに対して変化度スコアを計算して統計的な変化点を検出する方法と装置に関する。
【背景技術】
【０００２】
汎用のこの種装置の一例が、特許文献１に記載されている。この技術では、以下のようにして統計的な変化点を検出する。【０００３】
まず、順次入力されるデータ系列の発生確率分布を有限個の変数で規定される第１の統計モデルとして学習する。次に、この学習した第１の統計モデルから予測されるデータと実際のデータとのずれの程度を表す外れ値スコアをデータ系列中の個々のデータについて算出し、その外れ値スコアの移動平均を算出する。【０００４】
次に、外れ値スコアの移動平均の系列の発生確率分布を有限個の変数で規定される第２の統計モデルとして学習し、この学習した第２の統計モデルと外れ値スコアの移動平均とに基づいて各移動平均の外れ値スコアを計算し、それをもとのデータの変化度スコアとして出力する。そして、この変化度スコアを閾値と比較して変化点を検出する。【０００５】
【特許文献１】特開2004-54370号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した技術は、外れ値検出と変化点検出とを同一の枠組みで統一的に扱うようにした点で有効な技術であるが、変化点検出精度の向上は主眼としていない。【０００７】
多くの場合、第１の統計モデルの確率分布が比較的大きく変化した箇所が、検出すべき変化点となる。しかし、第１の統計モデルの確率分布がそれほど変化していない箇所が、検出すべき変化点となる場合があり、そのときには検出漏れが生じる。逆に、第１の統計モデルの確率分布が比較的大きく変化した箇所が、検出すべきでない変化点となる場合があり、そのときには誤検出が生じる。データマイニングの分野では、変化点検出はトレンド変化検出や行動モニタリングとの関連で注目されており、その検出精度の一層の向上が期待されている。【０００８】
本発明の目的は、時系列データに現れる統計的な変化点を検出する方法および装置において、検出漏れおよび誤検出を防止することにある。
【課題を解決するための手段】
【０００９】
前記目的を達成するため、本発明に係る変化点検出装置は、データの統計的な変化点を検出する変化点検出装置であって、
データの発生確率分布を、隠れ変数を含む有限個の変形で規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する第１のモデル学習部と、前記推定された確率分布毎に変化度を求める第２のモデル学習部と、前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する変化点検出部とを有することを特徴とするものである。【００１０】
本発明に係る変化点検出方法は、データの統計的な変化点を検出する変化点検出方法であって、
データの発生確率分布を、隠れ変数を含む有限個の変形で規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定し、前記推定された確率分布毎に変化度を求め、前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出することを特徴とするものである。【００１１】
本発明に係る変化点検出プログラムは、データの統計的な変化点を検出する変化点検出プログラムであって、
コンピュータに、
データの発生確率分布を、隠れ変数を含む有限個の変形で規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する機能と、前記推定された確率分布毎に変化度を求める機能と、前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する機能とを実行させることを特徴とするものである。【００１２】
『作用』
隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習された発生確率分布を表す関数は、隠れ変数に関する部分とそれ以外の部分とに分けられる。確率分布的には、隠れ変数に関する関数部分は隠れ変数の確率分布を表し、それ以外の関数部分は隠れ変数の値を条件とする条件付確率分布を表す。元の確率分布全体の変化度に加えて、隠れ変数の確率分布の変化度、条件付確率分布の変化度、およびそれら複数の確率分布を重みを付けて線形結合した確率分布の変化度を算出し、変化点の検出に用いると、確率分布全体の変化度のみに基づいて変化点を検出していた場合に比べて、検出条件をきめ細かく設定できるようになる。また、さらに前記第１の統計モデルから算出される確率分布として、事後確率分布を用いれば、検出条件をより一層きめ細かく設定できるようになる。
【発明の効果】
【００１３】
本発明によれば、時系列データに現れる統計的な変化点の検出精度を高めることができる。その理由は、確率分布全体の変化度に加えて、その構成成分となる一部の確率分布の変化度、およびそれら複数の確率分布を重みを付けて線形結合した確率分布の変化度を算出し、変化点の検出に用いることができるため、確率分布全体の変化度のみに基づいて変化点を検出していた場合に比べて、検出条件をきめ細かく設定できるようになり、その分、検出漏れを少なくでき、誤検出を減らすことができるためである。【００１４】
特に隠れ変数の分布の変化度という直接観測されていない量を算出することで、確率分布全体の変化を見る場合や出現したデータの確率分布の中での発生確率を見る場合には見えない情報をユーザに提示することや、その情報を変化点の検出に使うことができる。ここでいう他の場合には見えない情報とは、確率分布の学習の際に用いる統計モデルに依るが、例えば観測値の遷移の仕方の変化（頻度の変化は見ない。言語で例えるならば用いる単語の種類の変化は見ずに文法の変化のみを見ることに対応する）などが挙げられる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施の形態について図面を参照して詳細に説明する。【００１６】
『第１の実施の形態』
図１を参照すると、本発明の第１の実施の形態にかかる変化点検出装置は、プログラム制御によって動作するデータ処理装置１００と、磁気ディスクや半導体メモリなどで構成される入力データ記憶部１１０、条件記憶部１２０、第１学習結果記憶部１３０、距離記憶部１４０、第２学習結果記憶部１５０およびスコア記憶部１６０と、キーボードなどで構成される入力装置１７０と、液晶ディスプレイなどで構成される表示装置１８０とを備えている。【００１７】
入力データ記憶部１１０は、変化点の検出対象となる時系列データ１１１を記憶する。時系列データ１１１は、離散値変量、連続値変量の何れでも良く、またそれらが混合したものであっても良い。【００１８】
条件記憶部１２０は、変化点検出処理の条件１２１を記憶する。本実施の形態の場合、条件１２１には、(a)複数の確率分布を線形結合する際の各確率分布の重みを与える結合係数、(b)変化点の検出条件が含まれている。(b)の変化点の検出条件では、複数種類のスコア系列のどれをどのように組み合わせ、どのような閾値を用いるのかが設定される。【００１９】
第１学習結果記憶部１３０、距離記憶部１４０、第２学習結果記憶部１５０およびスコア記憶部１６０は、データ処理装置１００が実行する変化点検出処理の過程で生成される第１学習結果１３１、距離計算結果１４１〜１４４、第２学習結果１５１〜１５４およびスコア計算結果１６１〜１６４をそれぞれ一時的に記憶する。【００２０】
入力装置１７０は、ユーザから各種の設定指示やデータを受け付けてデータ処理装置１００に入力する。【００２１】
表示装置１８０は、データ処理装置１００から出力されるデータを可視化してユーザに表示する。ここでは、処理結果等をユーザに出力する装置の一例として表示装置１８０を使用しているが、他の種類の出力装置、たとえばプリンタ等であっても良い。【００２２】
データ処理装置１００は、入力装置１７０から入力される設定指示に従って、入力データ記憶部１１０に記憶された時系列データ１１１を解析して統計的な変化点の検出を行い、その検出結果および解析過程のデータを表示装置１８０に表示する。データ処理装置１００は、データ入力部１０１、第１のモデル学習部１０２、分布間距離算出部１０３、第２のモデル学習部１０４、変化度スコア算出部１０５、分布変化出力部１０６、変化点検出部１０７および条件入力部１０８を有する。これらの手段は、それぞれ以下のような機能を有する。【００２３】
データ入力部１０１は、入力データ記憶部１１０から時系列データ１１１を順に入力して、第１のモデル学習部１０２に伝達する。【００２４】
第１のモデル学習部１０２は、時系列データ１１１の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、その学習結果１３１を記憶部１３０に記憶する。第１学習結果１３１には、第１の統計モデルを規定する有限個の変数の値の時系列データが含まれる。【００２５】
分布間距離算出部１０３は、第１学習結果記憶部１３０から第１の統計モデルの学習結果１３１を順に読み出し、第１の統計モデル全体の確率分布、その一部の確率分布、およびこれら複数の確率分布を線形結合した確率分布の各々について、異なる時刻での確率分布間の距離を算出し、各確率分布毎の距離のデータ系列として距離記憶部１４０に保存する。本実施の形態の場合、分布間距離算出部１０３は、以下の４つの距離のデータ系列を生成する。【００２６】
(1)第１の統計モデル全体の確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果１４１）。
(2)隠れ変数の確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果１４２）。
(3)隠れ変数の値を条件とする観測値の条件付確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果１４３）。
(4)第１の統計モデル全体の確率分布、隠れ変数の確率分布および観測値の条件付確率分布を線形結合した確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果１４４）。各確率分布の重みを規定する結合係数は、条件記憶部１２０から読み出した結合係数を用いる。【００２７】
第２のモデル学習部１０４は、距離記憶部１４０から距離計算結果１４１〜１４４を読み出し、各距離計算結果１４１〜１４４毎に、その距離のデータ系列の発生確率分布を、有限個の変数で規定される第２の統計モデルとして学習し、その学習結果１５１〜１５４を第２学習結果記憶部１５０に保存する。各第２学習結果１５１〜１５４には、第２の統計モデルを規定する有限個の変数の値の時系列データが含まれる。第２のモデル学習部１０４と第１のモデル学習部１０２は、共にモデル学習部であるが、第１のモデル学習部１０２が時系列データ１１１の確率分布を推定する学習部であるのに対し、第２のモデル学習部１０４はその推定された確率分布の変化度を求める学習部である点で相違する。【００２８】
変化度スコア算出部１０５は、距離記憶部１４０から距離計算結果１４１〜１４４を読み出し、第２学習結果記憶部１５０から第２学習結果１５１〜１５４を読み出し、各確率分布の距離のデータ系列毎に、第２の統計モデルから期待される値と実際の距離の値とのずれの程度を表す変化度スコアを算出し、スコア計算結果１６１〜１６４としてスコア記憶部１６０に保存する。スコア計算結果１６１〜１６４には、変化度スコアの値の時系列データが含まれる。【００２９】
分布変化出力部１０６は、距離記憶部１４０に記憶された距離計算結果１４１〜１４４およびスコア記憶部１６０に記憶されたスコア計算結果１６１〜１６４の少なくとも一方を読み出し、それらの値の時間的な変化が視覚的に認識できるようにグラフ化して表示装置１８０に表示する。【００３０】
変化点検出部１０７は、スコア記憶部１６０からスコア計算結果１６１〜１６４を読み出し、条件記憶部１２０から変化点の検出条件１２１を読み出し、スコア計算結果１６１〜１６４の時系列データに現れる変化点を検出条件に基づいて検出し、検出結果を表示装置１８０に表示する。【００３１】
条件入力部１０８は、入力装置１７０および表示装置１８０を通じてユーザから変化点検出処理の条件１２１を受け付けて、条件記憶部１２０に保存する。【００３２】
次に本実施の形態にかかる変化点検出装置の動作を説明する。【００３３】
ユーザが、入力装置１７０から変化点の検出指示を入力すると、データ処理装置１００は図２に示される処理の実行を開始する。【００３４】
まず、データ処理装置１００の条件入力部１０８は、変化点検出処理の条件１２１をユーザから入力し、条件記憶部１２０に保存する（Ｓ１０１）。【００３５】
条件入力部１０８が表示装置１８０に表示する条件設定画面の一例を図３に示す。図中、２０１〜２０３は複数の確率分布を線形結合する際の結合係数ｃ１，ｃ２，ｃ３の入力欄であり、ｃ１は第１の統計モデルの確率分布全体の重み、ｃ２は隠れ変数の確率分布の重み、ｃ３は条件付確率分布の重みである。また、２０４〜２０７は使用するスコア系列の選択欄、２０８〜２１１は選択したスコア系列のデータと比較する閾値の入力欄、２１２、２１３は選択した複数のスコア系列の組み合わせ方がＡＮＤ（論理積）、ＯＲ（論理和）の何れであるかを選択する欄である。【００３６】
例えば、第１の統計モデルの確率分布と隠れ変数の確率分布と観測値の条件付確率分布との線形結合による確率分布の変化に基づいて変化点の検出を行いたい場合、ユーザは、入力欄２０１〜２０３に結合係数ｃ１，ｃ２，ｃ３の値を入力し、選択欄２０７を選択して、判定に使用する閾値を入力欄２１１に入力し、ＯＲの選択欄２１３を選択する。また、例えば第１の統計モデルの確率分布および隠れ変数の確率分布の何れかが閾値を超えた箇所を変化点として検出したい場合、ユーザは、選択欄２０４、２０５を選択して、それぞれの判定に使用する閾値を入力欄２０８、２０９に入力し、ＯＲの選択欄２１３を選択する。さらに、例えば第１の統計モデルの確率分布および隠れ変数の確率分布の双方で共に閾値を超えた箇所を変化点として検出したい場合、ユーザは、選択欄２０４、２０５を選択して、それぞれの判定に使用する閾値を入力欄２０８、２０９に入力し、ＡＮＤの選択欄２１２を選択する。【００３７】
条件設定画面を通じて入力されたデータは、条件入力部１０８により条件記憶部１２０に保存される。なお、条件入力部１０８による条件の設定は、変化点検出処理の開始時点だけでなく、その後の任意の時点でも行えるようになっている。既に条件１２１が条件記憶部１２０に保存されている場合、新たに入力された条件で更新される。【００３８】
次にデータ処理装置１００の第１のモデル学習部１０２は、データ入力部１０１を通じて入力データ記憶部１１０から時系列データ１１１を順に読み出し、時系列データ１１１の確率分布を有限個のパラメータで規定される統計モデルとして学習し、学習したパラメータの値を含む第１学習結果１３１を第１学習結果記憶部１３０に保存する（Ｓ１０２）。【００３９】
第１のモデル学習部１０２が学習する統計モデルは、確率分布を規定する有限個のパラメータのうちに隠れ変数を含むモデルを用いる。例えば、隠れマルコフモデルや、混合分布などを用いることができる。【００４０】
今、隠れ変数をｘ（複数有る場合は、ｘ１，ｘ２，…）、観測値（時系列データ）をy（複数有る場合は、ｙ１，ｙ２，…）、時刻tでの観測値yの確率分布をｐｔ（ｙ）、時刻ｔでの隠れ変数xの確率分布をrt(x)とすると、例えば隠れマルコフモデルの場合、時刻tでの観測値yの確率分布pt(y)は数１のように表される。ただし、γtは隠れ変数の初期確率、ａｔは隠れ変数の遷移を表す行列、ｂｔは観測値の条件付確率分布である。この場合、隠れ変数は観測値ｙの遷移の仕方を表している。【００４１】
【数１】
2008087968.tif 000003
【００４２】
また混合分布の場合、時刻ｔでの観測値ｙの確率分布ｐｔ（ｙ）は数２のように表される。ただし、ｑｔ（ｙ｜ｘ）は互いに線形結合される個々の確率分布、γｔ（ｘ）は結合の重みである。この場合、隠れ変数ｘは観測値ｙが複数の確率分布のうちのどの分布から発生したかを表す。【００４３】
【数２】
2008087968.tif 000004
【００４４】
第１のモデル学習部１０２は、各時刻t毎に学習結果を出力するので、学習結果１３１は学習されたパラメータの時系列データになる。【００４５】
次に、分布間距離算出部１０３は、第１のモデル学習部１０２で学習されたパラメータを含む第１学習結果１３１を第１学習結果記憶部１３０から読み出し、確率分布pt(y)および確率分布pt(y)の構成成分となる１以上の確率分布ごと、ならびにそれらの線形結合ごとに、異なる時刻での確率分布間の距離の移動平均を算出し、算出した値の時系列を各確率分布別に距離記憶部１４０に記憶する（Ｓ１０３）。【００４６】
本実施の形態の場合、分布間距離算出部１０３は、確率分布ｐｔ（ｙ）の構成成分となる確率分布として、隠れ変数の確率分布、隠れ変数の値を条件とする観測値の条件付確率分布の２つの確率分布を用いる。従って、本実施の形態は、確率分布pt(y)、隠れ変数の確率分布、観測値の条件付確率分布の３つの確率分布と、それらを線形結合した確率分布について、異なる時刻での確率分布間の距離の移動平均を算出し、算出した値の時系列を距離計算結果１４１〜１４４として距離記憶部１４０に記憶する。ここで、観測値の条件付確率分布間の距離は、隠れ変数の値が条件となるので、観測値の条件付確率分布間の距離の隠れ状態に関する期待値となる。【００４７】
確率分布間の距離の尺度としては、ヘリンガー距離やKL情報量等といった確率分布間の差異を表す量（確率分布間の差異が大きいほど値が大きくなる量）を用いることができる。【００４８】
例えば学習の際の統計モデルとして隠れマルコフモデルを用い、確率分布間の距離としてKL情報量を用いた場合、分布間距離算出部１０３は、以下の数３〜数６に示すようなデータを各時刻t毎に計算し、距離計算結果１４１〜１４４として出力する。ここで、数３は確率分布pt(y)間の距離、数４は隠れ変数の確率分布間の距離、数５は観測値の条件付確率分布間の距離の隠れ状態に関する期待値、数６はこれら複数の確率分布を結合係数ｃ１〜ｃ３で線形結合した確率分布間の距離をそれぞれ表す。なお、結合係数ｃ１〜ｃ３が条件記憶部１２０に保存されていない場合、デフォルトの値を使用するか、あるいは数６の距離の算出を省略する。【００４９】
【数３】
2008087968.tif 000005
【数４】
2008087968.tif 000006
【数５】
2008087968.tif 000007
［数６］
ｕｗ（ｔ）  ＝  ｃ１ｕｔｏｔａｌ（ｔ）  ＋ｃ２ｕＸ（ｔ）  ＋  ｃ３ｕＹ（ｔ）【００５０】
第２のモデル学習部１０４は、分布間距離算出部１０３の距離計算結果１４１〜１４４を距離記憶部１４０から読み出し、各距離計算結果１４１〜１４４に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習し、学習したパラメータの値を含む第２学習結果１５１〜１５４を第２学習結果記憶部１５０に記憶する（Ｓ１０４）。【００５１】
学習する第２の統計モデルとしては、時系列の発展を記述するモデルを用いる。例えば、自己回帰モデル（ARモデル）を用いることができる。自己回帰モデルでは、時刻tでの時系列の値をftとすると、例えば数７のように時間展開をモデル化し、係数ａ１，ａ２を学習する。ただし、ξはランダムに発生する雑音である。【００５２】
［数７］
ｆｔ  ＝  ａ１＊ｆｔ−１  ＋  ａ２＊ｆｔ−２  ＋  ξ【００５３】
変化度スコア算出部１０５は、分布間距離算出部１０３が算出した距離計算結果１４１〜１４４を距離記憶部１４０から読み出すと共に、第２のモデル学習部１０４の第２学習結果１５１〜１５４を第２学習結果記憶部１５０から読み出し、第２のモデル学習部１０４が学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出し、そのスコア計算結果１６１〜１６４をスコア記憶部１６０に保存する（Ｓ１０５）。【００５４】
スコアとしては、時系列の値と学習した確率分布から期待される値とのずれを表す量を用いる。例えば、各時刻tでの時系列の値の、学習された確率分布の対数損失を用いることができる。この場合、時刻tで実際に観測された量（確率分布の変化量）をｚｔ、ｚｔ−１までの量から学習された、分布の変化量の時系列の確率分布をｐｔ−１（ｚ）とするとき、対数損失は数８のように表される。【００５５】
［数８］
対数損失＝−ｌｏｇ  ｐｔ−１（ｚｔ）【００５６】
数８において、pt-1(zt)は一つ前の時刻のモデルから見た現在の時刻の量の発生確率であり、現在の時刻の量がそれまでのモデルから外れていなければ大きい値になり、それまでのモデルから外れた例外的な量であれば小さい値になる。その量の対数のマイナス１倍をとっているので、対数損失の値は、現在の時刻の量がそれまで学習されたモデルから外れているほど大きくなる。【００５７】
分布変化出力部１０６は、距離記憶部１４０に記憶された距離計算結果１４１〜１４４およびスコア記憶部１６０に記憶されたスコア計算結果１６１〜１６４の少なくとも一方を読み出し、値の時間的な変化が視覚的に認識できるようにグラフ化して、表示装置１８０に表示する（Ｓ１０６）。その表示例を図４に示す。ここでは、数３〜数５で表される時系列データの変化度スコアを示し、数６のグラフは図示を省略している。【００５８】
図４を参照すると、確率分布全体の変化では時刻ｔ１，ｔ２，ｔ３の３箇所でスコアが大きくなっており、隠れ変数の確率分布の変化では時刻ｔ１，ｔ３の２箇所でスコアが大きくなっており、条件付確率分布の変化では時刻ｔ２の１箇所でスコアが大きくなっている。このように図４のような表示例では、モデルの全体構造（確率分布）や部分的な構造が急激に変化したところを視覚的に容易に認識することができる。【００５９】
上記では変化度スコアを表示したが、その算出の元となる距離計算結果１４１〜１４４の時系列データを同様にグラフ化して表示しても良い。その場合、距離計算結果１４１〜１４４の時系列データそのものを表示しても良い。また、分布間の距離の行列を或る時間内で求めてMDS（多次元尺度法）等を用いて各時刻での確率分布を低次元のベクトルで表現しても良く、例えば、学習の際のモデルとして混合分布を用い、分布間の距離としてヘリンガー距離を用い、分布全体の変化を見る場合、求める距離行列は数９のようになる。【００６０】
【数９】
2008087968.tif 000008
【００６１】
分布間距離算出部１０３が算出した確率分布の変化を示す時系列データそのものの変化をグラフ化した表示例を図５に、確率分布間の距離の行列を或る時間内で求めてMDS等を用いて各時刻での分布を低次元のベクトルで表現した表示例を図６にそれぞれ示す。なお、何れのグラフも、複数の確率分布のうちの何れか１つの確率分布に関するものである。図５のような表示例では、モデルの変化量そのものを表示することで、急激な変化が起こったかどうかということ以外にも、例えば、常に変化量が多いとか、その逆とかといった情報を視覚的に認識することができる。また図６のような表示例では、確率分布が各時点でどれだけ変化したかではなく、過去と比較してどの辺りにいるのかも含めて観察することができる。【００６２】
次に、変化点検出部１０７は、変化度スコア算出部１０５が算出したスコア計算結果１６１〜１６４をスコア記憶部１６０から読み出し、条件記憶部１２０の条件１２１で指定されている検出方法に従って、変化点の検出を行い、検出結果を表示装置１８０に表示する（Ｓ１０７）。【００６３】
上述した処理は時系列データ１１１が無くなるまで繰り返し実行される。【００６４】
次に本実施の形態の効果を説明する。【００６５】
ユーザは、表示装置１８０に表示された検出結果により、時系列データ１１１に現れる統計的な変化点を認識することができる。【００６６】
またユーザは、時系列データ１１１の一部分に、検出すべき変化点かどうかの判断が既に付いているデータがある場合、その知識を用いて変化点検出処理のチューニング作業を行うことができる。すなわち、検出すべき変化点が漏れなく検出でき、また誤検出が無くなるように、条件記憶部１２０の条件１２１を変更することができる。【００６７】
このようなチューニング作業は、第１の統計モデルの確率分布全体しか扱っていない場合には、その確率分布全体の変化度スコアと比較するための閾値を調整する程度のことしか行えない。しかし、本実施の形態の場合、第１の統計モデルの確率分布に加えて、その一部の確率分布である隠れ変数の確率分布と条件付確率分布、さらにそれらを線形結合した確率分布という、４種類の確率分布を扱っているため、きめ細かなチューニングが可能になる。【００６８】
例えば、図４の時刻ｔ１，ｔ２，ｔ３の３箇所のうち、時刻ｔ１，ｔ３の２箇所の変化は異常な変化なので検出すべきであり、時刻ｔ２の箇所の変化は異常でないので検出すべきでないとする。このとき、確率分布全体の変化度を或る閾値と比較して変化点を検出する汎用の技術では、時刻ｔ２と時刻ｔ３の変化点を区別して検出することはできない。これに対して本実施の形態によれば、例えば、確率分布全体の変化度が或る閾値より大きく、かつ、隠れ変数の確率分布の変化度が或る閾値より大きい箇所を変化点と検出するように条件１２１を変更するか、あるいは結合係数ｃ３を０にして、実質的に確率分布全体と隠れ変数の確率分布との線形結合にした確率分布が或る閾値を超えた箇所を変化点として検出するように条件１２１を変更することで、時刻ｔ２と時刻ｔ３の変化点を区別して検出することができるようになる。【００６９】
『第２の実施の形態』
図７を参照すると、本発明の第２の実施の形態にかかる変化点検出装置は、プログラム制御によって動作するデータ処理装置３００と、磁気ディスクや半導体メモリなどで構成される入力データ記憶部３１０、条件記憶部３２０、第１学習結果記憶部３３０、距離記憶部３４０、第２学習結果記憶部３５０およびスコア記憶部３６０と、キーボードなどで構成される入力装置３７０と、液晶ディスプレイなどで構成される表示装置３８０とを備えている。【００７０】
入力データ記憶部３１０は、変化点の検出対象となる時系列データ３１１を記憶する。時系列データ３１１は、離散値変量、連続値変量の何れでも良く、またそれらが混合したものであっても良い。【００７１】
条件記憶部３２０は、変化点検出処理の条件３２１を記憶する。本実施の形態の場合、条件３２１には、(a)複数の確率分布を線形結合する際の各確率分布の重みを与える結合係数、(b)変化点の検出条件が含まれている。(b)の変化点の検出条件では、複数種類のスコア系列のどれをどのように組み合わせ、どのような閾値を用いるのかが設定される。【００７２】
第１学習結果記憶部３３０、距離記憶部３４０、第２学習結果記憶部３５０およびスコア記憶部３６０は、データ処理装置３００が実行する変化点検出処理の過程で生成される第１学習結果３３１、距離計算結果３４１〜３４５、第２学習結果３５１〜３５５およびスコア計算結果３６１〜３６５をそれぞれ一時的に記憶する。【００７３】
入力装置３７０は、ユーザから各種の設定指示やデータを受け付けてデータ処理装置３００に入力する。【００７４】
表示装置３８０は、データ処理装置３００から出力されるデータを、可視化してユーザに表示する。ここでは、処理結果等をユーザに出力する装置の一例として表示装置３８０を使用しているが、他の種類の出力装置、たとえばプリンタ等であっても良い。【００７５】
データ処理装置３００は、入力装置３７０から入力される設定指示に従って、入力データ記憶部３１０に記憶された時系列データ３１１を解析して統計的な変化点の検出を行い、その検出結果および解析過程のデータを表示装置３８０に表示する。データ処理装置３００は、データ入力部３０１、第１のモデル学習部３０２、分布間距離算出部３０３、第２のモデル学習部３０４、変化度スコア算出部３０５、分布変化出力部３０６、変化点検出部３０７および条件入力部３０８を有する。これらの手段は、それぞれ以下のような機能を有する。【００７６】
データ入力部３０１は、入力データ記憶部３１０から時系列データ３１１を順に入力して、第１のモデル学習部３０２に伝達する。【００７７】
第１のモデル学習部３０２は、時系列データ３１１の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、その学習結果３３１を記憶部３３０に記憶する。第１学習結果３３１には、第１の統計モデルを規定する有限個の変数の値の時系列データが含まれる。【００７８】
分布間距離算出部３０３は、第１学習結果記憶部３３０から第１の統計モデルの学習結果３３１を順に読み出し、第１の統計モデル全体の確率分布、その一部の確率分布、前記第１の統計モデルから算出される確率モデル、およびこれら複数の確率分布を線形結合した確率分布の各々について、異なる時刻での確率分布間の距離を算出し、各確率分布毎の距離のデータ系列として距離記憶部３４０に保存する。本実施の形態の場合、分布間距離算出部３０３は、以下の５つの距離のデータ系列を生成する。【００７９】
(1)第１の統計モデル全体の確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果３４１）。
(2)隠れ変数の確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果３４２）。
(3)隠れ変数の値を条件とする観測値の条件付確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果３４３）。
(4)第１の統計モデルから算出される確率分布として事後確率分布を用い、この事後確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果３４４）。
(5)第１の統計モデル全体の確率分布、隠れ変数の確率分布、観測値の条件付確率分布および事後確率分布を線形結合した確率分布について、異なる時刻での確率分布間の距離を計算した結果の時系列データ（距離計算結果３４５）。各確率分布の重みを規定する結合係数は、条件記憶部３２０から読み出した結合係数を用いる。【００８０】
第２のモデル学習部３０４は、距離記憶部３４０から距離計算結果３４１〜３４５を読み出し、各距離計算結果３４１〜３４５毎に、その距離のデータ系列の発生確率分布を、有限個の変数で規定される第２の統計モデルとして学習し、その学習結果３５１〜３５５を第２学習結果記憶部３５０に保存する。各第２学習結果３５１〜３５５には、第２の統計モデルを規定する有限個の変数の値の時系列データが含まれる。第２のモデル学習部３０４と第１のモデル学習部３０２は、共にモデル学習部であるが、第１のモデル学習部３０２が時系列データ３１１の確率分布を推定する学習部であるのに対し、第２のモデル学習部３０４はその推定された確率分布の変化度を求める学習部である点で相違する。【００８１】
変化度スコア算出部３０５は、距離記憶部３４０から距離計算結果３４１〜３４５を読み出し、第２学習結果記憶部３５０から第２学習結果３５１〜３５５を読み出し、各確率分布の距離のデータ系列毎に、第２の統計モデルから期待される値と実際の距離の値とのずれの程度を表す変化度スコアを算出し、スコア計算結果３６１〜３６５としてスコア記憶部３６０に保存する。スコア計算結果３６１〜３６５には、変化度スコアの値の時系列データが含まれる。【００８２】
分布変化出力部３０６は、距離記憶部３４０に記憶された距離計算結果３４１〜３４５およびスコア記憶部３６０に記憶されたスコア計算結果３６１〜３６５の少なくとも一方を読み出し、それらの値の時間的な変化が視覚的に認識できるようにグラフ化して表示装置３８０に表示する。【００８３】
変化点検出部３０７は、スコア記憶部３６０からスコア計算結果３６１〜３６５を読み出し、条件記憶部３２０から変化点の検出条件３２１を読み出し、スコア計算結果３６１〜３６５の時系列データに現れる変化点を検出条件に基づいて検出し、検出結果を表示装置３８０に表示する。【００８４】
条件入力部３０８は、入力装置３７０および表示装置３８０を通じてユーザから変化点検出処理の条件３２１を受け付けて、条件記憶部３２０に保存する。【００８５】
次に本実施の形態にかかる変化点検出装置の動作を説明する。【００８６】
ユーザが、入力装置３７０から変化点の検出指示を入力すると、データ処理装置３００は図２に示される第１の実施の形態における変化点検出装置の動作を示すフローチャートと同様の処理の実行を開始する。【００８７】
まず、データ処理装置３００の条件入力部３０８は、変化点検出処理の条件３２１をユーザから入力し、条件記憶部３２０に保存する（Ｓ１０１）。【００８８】
条件入力部３０８が表示装置３８０に表示する条件設定画面の一例を図８に示す。図中、４０１〜４０４は複数の確率分布を線形結合する際の結合係数ｃ１，ｃ２，ｃ３，ｃ４の入力欄であり、ｃ１は第１の統計モデルの確率分布全体の重み、ｃ２は隠れ変数の確率分布の重み、ｃ３は条件付確率分布の重み、ｃ４は事後確率分布の重みである。また、４０５〜４０９は使用するスコア系列の選択欄、４１０〜４１４は選択したスコア系列のデータと比較する閾値の入力欄、４１５、４１６は選択した複数のスコア系列の組み合わせ方がＡＮＤ（論理積）、ＯＲ（論理和）の何れであるかを選択する欄である。【００８９】
例えば、第１の統計モデルの確率分布と隠れ変数の確率分布と観測値の条件付確率分布と事後確率分布との線形結合による確率分布の変化に基づいて変化点の検出を行いたい場合、ユーザは、入力欄４０１〜４０４に結合係数ｃ１，ｃ２，ｃ３，ｃ４の値を入力し、選択欄４０９を選択して、判定に使用する閾値を入力欄４１４に入力し、ＯＲの選択欄４１６を選択する。また、例えば第１の統計モデルの確率分布および隠れ変数の確率分布の何れかが閾値を超えた箇所を変化点として検出したい場合、ユーザは、選択欄４０５、４０６を選択して、それぞれの判定に使用する閾値を入力欄４１０、４１１に入力し、ＯＲの選択欄４１６を選択する。さらに、例えば第１の統計モデルの確率分布および隠れ変数の確率分布の双方で共に閾値を超えた箇所を変化点として検出したい場合、ユーザは、選択欄４０５、４０６を選択して、それぞれの判定に使用する閾値を入力欄４１０、４１１に入力し、ＡＮＤの選択欄４１５を選択する。【００９０】
条件設定画面を通じて入力されたデータは、条件入力部３０８により条件記憶部３２０に保存される。なお、条件入力部３０８による条件の設定は、変化点検出処理の開始時点だけでなく、その後の任意の時点でも行えるようになっている。既に条件３２１が条件記憶部３２０に保存されている場合、新たに入力された条件で更新される。【００９１】
次にデータ処理装置３００の第１のモデル学習部３０２は、データ入力部３０１を通じて入力データ記憶部３１０から時系列データ３１１を順に読み出し、時系列データ３１１の確率分布を有限個のパラメータで規定される統計モデルとして学習し、学習したパラメータの値を含む第１学習結果３３１を第１学習結果記憶部３３０に保存する（Ｓ１０２）。【００９２】
第１のモデル学習部３０２が学習する統計モデルは、確率分布を規定する有限個のパラメータのうちに隠れ変数を含むモデルを用いる。本実施の形態の場合、混合分布を用いる。第１の実施の形態で説明したように、混合分布の場合、時刻ｔでの観測値ｙの確率分布ｐｔ（ｙ）は数２のように表され、隠れ変数ｘは観測値ｙが複数の確率分布のうちのどの分布から発生したかを表す。また、事後確率分布ｐｔ（ｘ｜ｙ）は、ｙが観測されたことが判っているという条件の下でyがどのxから発生したかの確率を表し、学習されたモデルから数１０のようにして算出される。【００９３】
［数１０］
ｐｔ（ｘ｜ｙ）＝γｔ（ｘ）ｑｔ（ｙ｜ｘ）／（Σｘγｔ（ｘ）ｑｔ（ｙ｜ｘ））【００９４】
第１のモデル学習部３０２は、各時刻t毎に学習結果を出力するので、学習結果３３１は学習されたパラメータの時系列データになる。【００９５】
次に、分布間距離算出部３０３は、第１のモデル学習部３０２で学習されたパラメータを含む第１学習結果３３１を第１学習結果記憶部３３０から読み出し、確率分布pt(y)、確率分布pt(y)の構成成分となる１以上の確率分布および事後確率分布ごと、ならびにそれらの線形結合ごとに、異なる時刻での確率分布間の距離の移動平均を算出し、算出した値の時系列を各確率分布別に距離記憶部３４０に記憶する（Ｓ１０３）。【００９６】
本実施の形態の場合、分布間距離算出部３０３は、確率分布ｐｔ（ｙ）の構成成分となる確率分布として、隠れ変数の確率分布、隠れ変数の値を条件とする観測値の条件付確率分布の２つの確率分布を用いる。従って、本実施の形態は、確率分布pt(y)、隠れ変数の確率分布、観測値の条件付確率分布、および事後確率分布の４つの確率分布と、それらを線形結合した確率分布について、異なる時刻での確率分布間の距離の移動平均を算出し、算出した値の時系列を距離計算結果３４１〜３４５として距離記憶部３４０に記憶する。ここで、観測値の条件付確率分布間の距離は、隠れ変数の値が条件となるので、観測値の条件付確率分布間の距離の隠れ状態に関する期待値となる。【００９７】
確率分布間の距離の尺度としては、ヘリンガー距離やKL情報量等といった確率分布間の差異を表す量（確率分布間の差異が大きいほど値が大きくなる量）を用いることができる。【００９８】
第２のモデル学習部３０４は、分布間距離算出部３０３の距離計算結果３４１〜３４５を距離記憶部３４０から読み出し、各距離計算結果３４１〜３４５に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習し、学習したパラメータの値を含む第２学習結果３５１〜３５５を第２学習結果記憶部３５０に記憶する（Ｓ１０４）。【００９９】
学習する第２の統計モデルとしては、時系列の発展を記述するモデルを用いる。例えば、自己回帰モデル（ARモデル）を用いることができる。【０１００】
変化度スコア算出部３０５は、分布間距離算出部３０３が算出した距離計算結果３４１〜３４５を距離記憶部３４０から読み出すと共に、第２のモデル学習部３０４の第２学習結果３５１〜３５５を第２学習結果記憶部３５０から読み出し、第２のモデル学習部３０４が学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出し、そのスコア計算結果３６１〜３６５をスコア記憶部３６０に保存する（Ｓ１０５）。【０１０１】
スコアとしては、時系列の値と学習した確率分布から期待される値とのずれを表す量を用いる。例えば、各時刻tでの時系列の値の、学習された確率分布の対数損失を用いることができる。【０１０２】
分布変化出力部３０６は、距離記憶部３４０に記憶された距離計算結果３４１〜３４５およびスコア記憶部３６０に記憶されたスコア計算結果３６１〜３６５の少なくとも一方を読み出し、値の時間的な変化が視覚的に認識できるようにグラフ化して、表示装置３８０に表示する（Ｓ１０６）。また、変化度スコアを表示する代わりに、その算出の元となる距離計算結果３４１〜３４５の時系列データを同様にグラフ化して表示しても良い。その場合、距離計算結果３４１〜３４５の時系列データそのものを表示しても良い。また、分布間の距離の行列を或る時間内で求めてMDS（多次元尺度法）等を用いて各時刻での確率分布を低次元のベクトルで表現しても良い。【０１０３】
次に、変化点検出部３０７は、変化度スコア算出部３０５が算出したスコア計算結果３６１〜３６５をスコア記憶部３６０から読み出し、条件記憶部３２０の条件３２１で指定されている検出方法に従って、変化点の検出を行い、検出結果を表示装置３８０に表示する（Ｓ１０７）。【０１０４】
上述した処理は時系列データ３１１が無くなるまで繰り返し実行される。【０１０５】
次に本実施の形態の効果を説明する。【０１０６】
ユーザは、表示装置３８０に表示された検出結果により、時系列データ３１１に現れる統計的な変化点を認識することができる。【０１０７】
またユーザは、時系列データ３１１の一部分に、検出すべき変化点かどうかの判断が既に付いているデータがある場合、その知識を用いて変化点検出処理のチューニング作業を行うことができる。すなわち、検出すべき変化点が漏れなく検出でき、また誤検出が無くなるように、条件記憶部３２０の条件３２１を変更することができる。このようなチューニング作業は、第１の統計モデルの確率分布全体しか扱っていない場合には、その確率分布全体の変化度スコアと比較するための閾値を調整する程度のことしか行えない。しかし、本実施の形態の場合、第１の統計モデルの確率分布に加えて、その一部の確率分布である隠れ変数の確率分布と条件付確率分布、事後確率分布、さらにそれらを線形結合した確率分布という、５種類の確率分布を扱っているため、きめ細かなチューニングが可能になる。【０１０８】
次に、本発明の他の実施形態について説明する。本発明の他の実施形態に係る変化点検出装置は、順次入力されるデータ系列の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、前記第１の統計モデル全体の確率分布、前記第１の統計モデルの一部の確率分布、およびこれら複数の確率分布を線形結合した確率分布の各々について、確率分布の時間的な変化度を算出し、該算出した変化度に基づいて前記データ系列の変化点を検出する構成としてもよいものである。【０１０９】
本発明の他の実施形態に係る変化点検出装置は、順次入力されるデータ系列の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、前記第１の統計モデル全体の確率分布、前記第１の統計モデルの一部の確率分布、前記第１の統計モデルから算出される確率分布、およびこれら複数の確率分布を線形結合した確率分布の各々について、確率分布の時間的な変化度を算出し、該算出した変化度に基づいて前記データ系列の変化点を検出する構成としてもよいものである。【０１１０】
本発明の他の実施形態に係る変化点検出装置は、順次入力されるデータ系列の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、その学習結果を保存する第１のモデル学習部と、該第１のモデル学習部の学習結果を読み込み、前記第１の統計モデル全体の確率分布、前記第１の統計モデルの一部の確率分布、およびこれら複数の確率分布を条件記憶部に記憶された結合係数を用いて線形結合した確率分布の各々について、異なる時刻での確率分布間の距離を算出し、各確率分布毎の距離のデータ系列として保存する分布間距離算出部と、該分布間距離算出部の算出結果を読み込み、各距離のデータ系列の発生確率分布を、有限個の変数で規定される第２の統計モデルとして学習し、その学習結果を保存する第２のモデル学習部と、該第２のモデル学習部の学習結果および前記分布間距離算出部の算出結果を読み込み、前記各距離のデータ系列毎に、第２の統計モデルから期待される値と実際の距離の値とのずれの程度を表す変化度スコアを算出して保存する変化度スコア算出部と、該変化度スコア算出部の算出結果および前記分布間距離算出部の算出結果の少なくとも一方を出力装置から出力する分布変化出力部と、前記変化度スコア算出部の算出結果と前記条件記憶部に記憶された検出条件とに基づいて変化点を検出し、検出結果を前記出力装置から出力する変化点検出部と、入力装置から入力された検出条件および結合係数を前記条件記憶部に保存する条件入力部とを備えた構成としてもよいものである。【０１１１】
本発明の他の実施形態に係る変化点検出装置は、順次入力されるデータ系列の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、その学習結果を保存する第１のモデル学習部と、該第１のモデル学習部の学習結果を読み込み、前記第１の統計モデル全体の確率分布、前記第１の統計モデルの一部の確率分布、前記第１の統計モデルから算出される確率分布、およびこれら複数の確率分布を条件記憶部に記憶された結合係数を用いて線形結合した確率分布の各々について、異なる時刻での確率分布間の距離を算出し、各確率分布毎の距離のデータ系列として保存する分布間距離算出部と、該分布間距離算出部の算出結果を読み込み、各距離のデータ系列の発生確率分布を、有限個の変数で規定される第２の統計モデルとして学習し、その学習結果を保存する第２のモデル学習部と、該第２のモデル学習部の学習結果および前記分布間距離算出部の算出結果を読み込み、前記各距離のデータ系列毎に、第２の統計モデルから期待される値と実際の距離の値とのずれの程度を表す変化度スコアを算出して保存する変化度スコア算出部と、該変化度スコア算出部の算出結果および前記分布間距離算出部の算出結果の少なくとも一方を出力装置から出力する分布変化出力部と、前記変化度スコア算出部の算出結果と前記条件記憶部に記憶された検出条件とに基づいて変化点を検出し、検出結果を前記出力装置から出力する変化点検出部と、入力装置から入力された検出条件および結合係数を前記条件記憶部に保存する条件入力部とを備えた構成としてもよいものである。【０１１２】
前記第１の統計モデルの一部の確率分布として、隠れ変数の確率分布を用いてもよいものである。前記第１の統計モデルの一部の確率分布として、隠れ変数の値を条件とする観測値の条件付確率分布を用いてもよいものである。また、前記第１の統計モデルから算出される確率分布として、事後確率分布を用いてもよいものである。また、前記検出条件は、前記各距離のデータ系列毎に求められた複数種類の変化度スコアのどれをどのように組み合わせ、どのような閾値を用いるのかの指定を含むものであってもよいものである。【０１１３】
本発明の他の実施形態に係る変化点検出方法は、コンピュータを用いてデータ系列の統計的な変化点を検出する方法であって、前記コンピュータが、順次入力されるデータ系列の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、その学習結果を第１の学習結果として保存する第１のステップと、前記コンピュータが、前記第１の学習結果を読み込み、前記第１の統計モデル全体の確率分布、前記第１の統計モデルの一部の確率分布、およびこれら複数の確率分布を条件記憶部に記憶された結合係数を用いて線形結合した確率分布の各々について、異なる時刻での確率分布間の距離を算出し、各確率分布毎の距離のデータ系列として保存する第２のステップと、前記コンピュータが、前記各確率分布毎の距離のデータ系列を読み込み、各距離のデータ系列の発生確率分布を、有限個の変数で規定される第２の統計モデルとして学習し、その学習結果を第２の学習結果として保存する第３のステップと、前記コンピュータが、前記第２の学習結果と前記各確率分布毎の距離のデータ系列とを読み込み、前記各距離のデータ系列毎に、第２の統計モデルから期待される値と実際の距離の値とのずれの程度を表す変化度スコアを算出してスコア計算結果として保存する第４のステップと、前記コンピュータが、前記スコア計算結果および前記各確率分布毎の距離のデータ系列の少なくとも一方を出力装置から出力する第５のステップと、前記コンピュータが、前記スコア計算結果および条件記憶部に記憶された検出条件に基づいて変化点を検出し、検出結果を前記出力装置から出力する第６のステップと、前記コンピュータが、入力装置から入力された検出条件および結合係数を前記条件記憶部に保存する第７のステップとを含む構成としてもよいものである。【０１１４】
本発明の他の実施形態に係る変化点検出方法は、コンピュータを用いてデータ系列の統計的な変化点を検出する方法であって、前記コンピュータが、順次入力されるデータ系列の発生確率分布を、隠れ変数を含む有限個の変数で規定される第１の統計モデルとして学習し、その学習結果を第１の学習結果として保存する第１のステップと、前記コンピュータが、前記第１の学習結果を読み込み、前記第１の統計モデル全体の確率分布、前記第１の統計モデルの一部の確率分布、前記第１の統計モデルから算出される確率分布、およびこれら複数の確率分布を条件記憶部に記憶された結合係数を用いて線形結合した確率分布の各々について、異なる時刻での確率分布間の距離を算出し、各確率分布毎の距離のデータ系列として保存する第２のステップと、前記コンピュータが、前記各確率分布毎の距離のデータ系列を読み込み、各距離のデータ系列の発生確率分布を、有限個の変数で規定される第２の統計モデルとして学習し、その学習結果を第２の学習結果として保存する第３のステップと、前記コンピュータが、前記第２の学習結果と前記各確率分布毎の距離のデータ系列とを読み込み、前記各距離のデータ系列毎に、第２の統計モデルから期待される値と実際の距離の値とのずれの程度を表す変化度スコアを算出してスコア計算結果として保存する第４のステップと、前記コンピュータが、前記スコア計算結果および前記各確率分布毎の距離のデータ系列の少なくとも一方を出力装置から出力する第５のステップと、前記コンピュータが、前記スコア計算結果および条件記憶部に記憶された検出条件に基づいて変化点を検出し、検出結果を前記出力装置に出力する第６のステップと、前記コンピュータが、入力装置から入力された検出条件および結合係数を前記条件記憶部に保存する第７のステップとを含む構成としてもよいものである。【０１１５】
また、前記変化点検出方法において、前記第１の統計モデルの一部の確率分布として、隠れ変数の確率分布を用いてもよいものである。また、前記第１の統計モデルの一部の確率分布として、隠れ変数の値を条件とする観測値の条件付確率分布を用いてもよいものである。また、前記第１の統計モデルから算出される確率分布として、事後確率分布を用いてもよいものである。【０１１６】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明の変化点検出装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態におけるデータ入力部１０１、３０１、第１のモデル学習部１０２、３０２、分布間距離算出部１０３、３０３、第２のモデル学習部１０４、３０４、変化度スコア算出部１０５、３０５、分布変化出力部１０６、３０６、変化点検出部１０７、３０７および条件入力部１０８、３０８として機能させ、また前述した処理を行わせる。【０１１７】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１１８】
この出願は２００７年１月１７日に出願された日本出願特願２００７−００８０２７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図面の簡単な説明】
【０１１９】
【図１】本発明の第１の実施の形態にかかる変化点検出装置のブロック図である。
【図２】本発明の第１の実施の形態にかかる変化点検出装置の動作を示すフローチャートである。
【図３】本発明の第１の実施の形態にかかる変化点検出装置における条件設定画面の一例を示す図である。
【図４】本発明の第１の実施の形態にかかる変化点検出装置における変化度スコアの表示例を示す図である。
【図５】本発明の第１の実施の形態にかかる変化点検出装置において、確率分布の変化を示す時系列データの表示例を示す図である。
【図６】本発明の第１の実施の形態にかかる変化点検出装置において、確率分布間の距離の行列を或る時間内で求めてMDS等を用いて各時刻での分布を低次元のベクトル    で表現した表示例を示す図である。
【図７】本発明の第２の実施の形態にかかる変化点検出装置のブロック図である。
【図８】本発明の第２の実施の形態にかかる変化点検出装置における条件設定画面の一例を示す図である。
【符号の説明】
【０１２０】
１００、３００…データ処理装置
１０１、３０１…データ入力部
１０２、３０２…第１のモデル学習部
１０３、３０３…分布間距離算出部
１０４、３０４…第２のモデル学習部
１０５、３０５…変化度スコア算出部
１０６、３０６…分布変化出力部
１０７、３０７…変化点検出部
１０８、３０８…条件入力部
１１０、３１０…入力データ記憶部
１１１、３１１…時系列データ
１２０、３２０…条件記憶部
１２１、３２１…条件
１３０、３３０…第１学習結果記憶部
１３１、３３１…第１学習結果
１４０、３４０…距離記憶部
１４１〜１４４、３４１〜３４５…距離計算結果
１５０、３５０…第２学習結果記憶部
１５１〜１５４、３５１〜３５５…第２学習結果
１６０、３６０…スコア記憶部
１６１〜１６４、３６１〜３６５…スコア計算結果
１７０、３７０…入力装置
１８０、３８０…表示装置
【図１】
2008087968.tif 000009
【図２】
2008087968.tif 000010
【図３】
2008087968.tif 000011
【図４】
2008087968.tif 000012
【図５】
2008087968.tif 000013
【図６】
2008087968.tif 000014
【図７】
2008087968.tif 000015
【図８】
2008087968.tif 000016
【手続補正書】
【提出日】平成20年11月17日(2008.11.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データの統計的な変化点を検出する変化点検出装置であって、
データの発生確率分布を、隠れ変数を含む有限個の分布の混合として規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する第１のモデル学習部と、
各距離計算結果に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習する第２のモデル学習部と、
前記第２のモデル学習部が学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出する変化度スコア算出部と、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する変化点検出部とを有することを特徴とする変化点検出装置。
【請求項２】
前記第１のモデル学習部は、前記確率分布に加えて、前記確率分布を線形結合した確率分布を推定する請求項１に記載の変化点検出装置。
【請求項３】
前記第１のモデル学習部は、前記確率分布に加えて、前記統計モデルの確率分布から算出する事後確率分布を推定する請求項１に記載の変化点検出装置。
【請求項４】
前記第１のモデル学習部は、前記確率分布と、前記事後確率分布とを線形結合した確率分布を推定する請求項３に記載の変化点検出装置。
【請求項５】
前記変化点検出部は、前記統計モデルの確率分布の変化度及び前記隠れ変数の確率分布の変化度のいずれかが閾値を越えた箇所を変化点として検出する請求項１に記載の変化点検出装置。
【請求項６】
前記変化点検出部は、前記統計モデルの確率分布の変化度及び前記隠れ変数の確率分布の変化度の双方が閾値を越えた箇所を変化点として検出する請求項１に記載の変化点検出装置。
【請求項７】
データの統計的な変化点を検出する変化点検出方法であって、
データの発生確率分布を、隠れ変数を含む有限個の分布の混合として規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定し、
各距離計算結果に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習し、
前記学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出し、
前記推定された確率分布毎に変化度を求め、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出することを特徴とする変化点検出方法。
【請求項８】
前記確率分布に加えて、前記確率分布を線形結合した確率分布を推定する請求項７に記載の変化点検出方法。
【請求項９】
前記確率分布に加えて、前記統計モデルの確率分布から算出する事後確率分布を推定する請求項７に記載の変化点検出方法。
【請求項１０】
前記確率分布と、前記事後確率分布とを線形結合した確率分布を推定する請求項９に記載の変化点検出方法。
【請求項１１】
前記統計モデルの確率分布の変化度及び前記隠れ変数の確率分布の変化度のいずれかが閾値を越えた箇所を変化点として検出する請求項７に記載の変化点検出方法。
【請求項１２】
前記統計モデルの確率分布の変化度及び前記隠れ変数の確率分布の変化度の双方が閾値を越えた箇所を変化点として検出する請求項７に記載の変化点検出方法。
【請求項１３】
データの統計的な変化点を検出する変化点検出プログラムであって、
コンピュータに、
データの発生確率分布を、隠れ変数を含む有限個の分布の混合として規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する機能と、
各距離計算結果に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習する機能と、
前記第２のモデル学習部が学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出する機能と、
前記推定された確率分布毎に変化度を求める機能と、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する機能とを実行させることを特徴とする変化点検出プログラム。
【請求項１４】
前記コンピュータに、
前記確率分布に加えて、前記確率分布を線形結合した確率分布を推定する機能を実行させる請求項１３に記載の変化点検出プログラム。
【請求項１５】
前記コンピュータに、
前記確率分布に加えて、前記統計モデルの確率分布から算出する事後確率分布を推定する機能を実行させる請求項１３に記載の変化点検出プログラム。
【請求項１６】
前記コンピュータに、
前記確率分布と、前記事後確率分布とを線形結合した確率分布を推定する機能を実行させる請求項１５に記載の変化点検出プログラム。
【請求項１７】
前記コンピュータに、
前記統計モデルの確率分布の変化度及び前記隠れ変数の確率分布の変化度のいずれかが閾値を越えた箇所を変化点として検出する機能を実行させる請求項１３に記載の変化点検出プログラム。
【請求項１８】
前記コンピュータに、
前記統計モデルの確率分布の変化度及び前記隠れ変数の確率分布の変化度の双方が閾値を越えた箇所を変化点として検出する機能を実行させる請求項１３に記載の変化点検出プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
では、変化点検出はトレンド変化検出や行動モニタリングとの関連で注目されており、その検出精度の一層の向上が期待されている。
［０００８］
本発明の目的は、時系列データに現れる統計的な変化点を検出する方法および装置において、検出漏れおよび誤検出を防止することにある。
課題を解決するための手段
［０００９］
前記目的を達成するため、本発明に係る変化点検出装置は、データの統計的な変化点を検出する変化点検出装置であって、
データの発生確率分布を、隠れ変数を含む有限個の分布の混合として規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する第１のモデル学習部と、
各距離計算結果に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習する第２のモデル学習部と、
前記第２のモデル学習部が学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出する変化度スコア算出部と、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する変化点検出部とを有することを特徴とするものである。
［００１０］
本発明に係る変化点検出方法は、データの統計的な変化点を検出する変化点検出方法であって、
データの発生確率分布を、隠れ変数を含む有限個の分布の混合として規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定し、
各距離計算結果に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習し、
前記学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出し、
前記推定された確率分布毎に変化度を求め、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出することを特徴とするものである。
［００１１］
本発明に係る変化点検出プログラムは、データの統計的な変化点を検出する変化点検出プログラムであって、
コンピュータに、
データの発生確率分布を、隠れ変数を含む有限個の分布の混合として規定される統計モデルとして学習し、前記統計モデルの確率分布、その一部である隠れ変数の確率分布及び条件付き確率分布を推定する機能と、
各距離計算結果に含まれる時系列データそれぞれの確率分布を有限個のパラメータで規定される第２の統計モデルとしてそれぞれ学習する機能と、
前記第２のモデル学習部が学習した確率分布ごとに、その確率分布の変化の度合いをスコアとして算出する機能と、
前記推定された確率分布毎に変化度を求める機能と、
前記求めた確率分布毎の変化度に基づいて前記データに現れる変化点を検出する機能とを実行させることを特徴とするものである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
［００１２］
『作用』
隠れ変数を含む有限個の分布の混合として規定される第１の統計モデルとして学習された発生確率分布を表す関数は、隠れ変数に関する部分とそれ以外の部分とに分けられる。確率分布的には、隠れ変数に関する関数部分は隠れ変数の確率分布を表し、それ以外の関数部分は隠れ変数の値を条件とする条件付確率分布を表す。元の確率分布全体の変化度に加えて、隠れ変数の確率分布の変化度、条件付確率分布の変化度、およびそれら複数の確率分布を重みを付けて線形結合した確率分布の変化度を算出し、変化点の検出に用いると、確率分布全体の変化度のみに基づいて変化点を検出していた場合に比べて、検出条件をきめ細かく設定できるようになる。また、さらに前記第１の統計モデルから算出される確率分布として、事後確率分布を用いれば、検出条件をより一層きめ細かく設定できるようになる。
発明の効果
［００１３］
本発明によれば、時系列データに現れる統計的な変化点の検出精度を高めることができる。その理由は、確率分布全体の変化度に加えて、その構成成分となる一部の確率分布の変化度、およびそれら複数の確率分布を重みを付けて線形結合した確率分布の変化度を算出し、変化点の検出に用いることができるため、確率分布全体の変化度のみに基づいて変化点を検出していた場合に比べて、検出条件をきめ細かく設定できるようになり、その分、検出漏れを少なくでき、誤検出を減らすことができるためである。
［００１４］
特に隠れ変数の分布の変化度という直接観測されていない量を算出することで、確率分布全体の変化を見る場合や出現したデータの確率分布の中での発生確率を見る場合には見えない情報をユーザに提示することや、その情報を変化点の検出に使うことができる。ここでいう他の場合には見えない情報とは、確率分布の学習の際に用いる統計モデルに依るが、例えば観測値の遷移の仕方の変化（頻度の変化は見ない。言語で例えるならば用いる単語の種類の変化は見ずに文法の変化のみを見ることに対応する）などが挙げられる。
発明を実施するための最良の形態
［００１５］
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【国際調査報告】
2008087968.tif 000017
2008087968.tif 000018