説明

時系列データ解析システム、方法及びプログラム

【課題】 時系列データの異常度の検知精度を高めることを目的とする。
【解決手段】 テスト用時系列データと、参照用正常時系列データの各々について、先ず相関係数行列を作成する。次に、graphic lassoのアルゴリズムにより、その各々の相関係数行列から、逆行列である、疎の精度行列を作成する。精度行列が得られると、テスト用時系列データと参照用正常時系列データの各々について、好適には多変量ガウスモデルによって近傍性の確率分布が記述できる。すると、負のエントロピーの計算により、異常度が、カルバック・ライブラー距離として計算できる。この技法は、近傍性保存原理に基づく時系列データの異常検出手法に、各センサの周りの近接グラフ構造をデータから自動的に推測する機能が組み込まれ、さらには、局所的な統計モデルの直接比較に基づいて、理論的に首尾一貫した異常度を与える、という点で有利である。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、センサなどから取得された時系列データを解析するためのシステム、方法及びプログラムに関する。
【背景技術】
【0002】
従来より、製造装置や監視装置などに取り付けたセンサから取得した時系列データを監視することにより、異常の有無を監視するという処理が行われている。
【0003】
一方、近年、センサを取り付けた自動車を走行させ、そのようなセンサから得られた時系列データを解析する試みも行われている。自動車は、エンジンの冷却水の温度センサ、エンジンの吸入空気の温度センサ、オイル温度センサ、燃料噴射装置用の吸気管内圧力センサ、ターボチャージャ用の過給圧センサ、スロットルポジョンセンサ、ステアリング舵角センサ、車高センサ、液面センサ、電磁による回転速度センサ、ノックセンサ、加速度センサ、流量センサ、酸素センサ、希薄空燃比センサなど多くのセンサを有し、最新の自動車では、センサの数は、数百にも達する。
【0004】
このような複数のセンサの時系列出力データを用いて行いたいことの1つに、異常診断がある。すなわち、図1(b)に示すのが、そのような異常診断を行いたいテスト・データとする。このようなテストデータが、
D = {x(t)|x(t)∈Rp, t = 1,2,...,N}で表されるとする。ここで、Rpは、p次元実数空間をあらわし、よって、x(t)は、実数成分をもつp次元ベクトルである。その1つの成分が、1つのセンサに対応する。tは、時間のインデックスで、ある増分毎の時間に対応する。よって、x(1),x(2),...,x(N)は、時系列に沿った、N個のベクトルである。
【0005】
一方、参照用正常データが、テストデータと同一フォーマットで用意されているとする。これは、例えば、自動車の正常走行中に測定したセンサの値とする。参照用正常データは、
D〜 = {x~(t)|x~(t)∈Rp, t = 1,2,...,N}で表されるとする。
【0006】
すると、異常診断を行うということは、D〜に対して、Dを比較して、どのセンサからの信号が異常を示しているかを判別する、ということである。
【0007】
このような比較を行うためのアプローチとして、従来より知られている方法には、下記のようなものがある。
(1) 時間相関が強い極限からのアプローチとして、自己回帰モデルのような時系列モデリングを利用する技法、例えば、特開平6−109498号公報に開示されているような技法である。
(2) 独立同一分布の仮定に基づく統計解析の手法を利用する技法。
(3) システムの運動法則に基づくカオス時系列解析などを用いる技法であり、例えば、特開平8−278815号公報に開示されているような技法である。
【0008】
しかし、特に自動車のセンサのデータの場合、(a) 非常に動的であり、(b) 時系列信号同士にしばしば強い相関がある、(c) センサ毎に事前知識は与えられない、という特徴がある。すなわち、信号が非常に動的で複雑であるため、データが異なれば、時系列の様相ががらりと変わる。従って、同一センサからの信号であっても、「重ねて比べてみる」ことが意味をなさない。つまり、時系列からの定常性が仮定できない。このような理由から、伝統的な時系列予測の手法を用いて時系列予測モデルを作り、予測からのずれの検出という技法で問題を解くことが難しい。
【0009】
とはいえ、センサのデータは、独立同一分布に従うとはみなせず、しかも、その確率分布は一般に、複雑なものになる。さらに、センサ間には一般に依存関係があり、各センサを多変量系として扱わざるを得ない。ここで依存関係というのは、例えば、「アクセルを踏むと加速する」という関係で、これは、スロットルポジョンセンサからの出力と、回転速度センサや加速度センサからの出力とが関連している、というようなことである。ところが、多変量系では一般に、統計的漸近論の成立に必要なデータ数が、センサの個数であるpに指数的に依存する。従って、N→∞の漸近論が、多くの現実的な状況では使えない。
【0010】
一方、自動車、発電設備などの場合、センサを設置される対象は非常に複雑な物理系となっており、システム全体の運動方程式を立てることは、ほぼ絶望である。
【0011】
このような事情から、上記従来技術を、自動車のセンサのデータのような多変量系と見なされるデータに適用することはできない。
【0012】
そこで本願発明者の一人を含む発明者らは、本出願に譲渡された、2007年1月30日出願の米国特許出願第11/668745号明細書において、センサ信号の相関異常の解明を行う発明として、相関行列を元に各センサを、多次元尺度構成法でユークリッド空間に埋め込み、埋め込まれた空間での斥力ポテンシャルを異常度と結びつける方法を提案した。しかし、この技法は、ノイズ除去機能が十分でなく、埋め込み過程が不安定になりがちで、また、算出される異常度が規格化されていない、という点で、上述の問題に当てはめるに十分でない。
【0013】
さらに、本願発明者の一人を含む発明者らは、本出願に譲渡された、2007年12月18日出願の米国特許出願第11/959073号明細書において、近傍性保存原理というアイデアに基づいて、上記の困難を解決することを意図した異常度検出手法を提案した。この手法の特徴は、センサ信号同士の類似度の破れから異常を見出すこと、各センサについて、近傍にあるセンサ以外は考慮しないこと、及び、近傍グラフのタイトさの変化から、異常度を計算することである。
【0014】
この技法は、自動車データの解析や中規模の発電設備の異常検知に利用され、実用的な成功を収めている。しかし、この技法の限界は、センサの近傍をうまく見出す手段をもたないことである。例えば、他のどれとも独立であるような変数では、近傍と呼べる仲間はいない。一方、測定系が多重化されているようなセンサでは、その多重度に応じた仲間を見出せるはずである。しかし、事前にそのようなセンサ個別の相違を解析する手段は未知であり、変数毎の個性を無視して、一律に近傍数kを決めるしかなかった。そのため、とりわけ他と独立性が強いようなセンサで擬陽性(問題でないのに、問題とみなさる)が多発するという問題があった。
【0015】
さらに、異常度の定義がヒューリスティックスに基づいていたため、単一のセンサの陽性反転に基づくエラーが検出できないとか、ノイズが多い状況では検知能力が十分でない、という問題があった。
【0016】
【特許文献1】特開平6−109498号公報
【特許文献2】特開平8−278815号公報
【特許文献3】2007年1月30日出願の米国特許出願第11/668745号明細書
【特許文献4】2007年12月18日出願の米国特許出願第11/959073号明細書
【非特許文献1】J. Friedman, T. Hastie, and R. Tibahirani, Sparse inverse covariance estimation with the graphical lasso. Biostatics, 9(3): 432-441, 2008
【非特許文献2】O. Banarjee, L.E.Ghaoui, and G. Natsoulis, Convex optimization techniques for fitting sparse gaussian graphical models. In in Proceedings of ICML, pages 89-96. Press, 2006.
【非特許文献3】J. Friedman, T. Hastie, H. Hofling and Tibshinari, Pathwise coordinate optimization. Annals of Applied Statistics. I(2):302-332
【発明の開示】
【発明が解決しようとする課題】
【0017】
この発明の目的は、各センサの周りの近接グラフ構造をデータから自動的に推測する機能を提供することによって、上記従来技術の問題点を解決することにある。
【課題を解決するための手段】
【0018】
本発明において、入力として与えられるのは、下記のものである。
(1) テスト・データD = {x(t)|x(t)∈Rp, t = 1,2,...,N}
(2) 正規化定数ρ ここで、0 < ρ < 1であり、その値は、ユーザが適宜選択する。
(3) 参照用正常データD〜 = {x~(t)|x~(t)∈Rp, t = 1,2,...,N}の相関係数行列S〜
【0019】
これによって出力されるのは、各センサの異常度e1, e2,...,epである。
【0020】
本発明に従うアルゴリズムの概要は、次のとおりである。以下の処理はすべて、コンピュータのプログラムによって、自動的に実行されることに留意されたい。まず、corr()という関数表示で、相関係数行列を求める手続きをあらわす。すると、最初のステップは、下記のとおり、テスト・データDの相関係数行列Sを求めることである。
1.S ← corr(D)
2.次のステップは、D、及びD〜に対する精度行列の計算である。精度行列とは基本的に、相関係数行列の逆行列であるが、特に本発明においては、L1ノルムの正規化項を付加した式を最適化するように解くことによって、精度行列が疎行列になるような解を得る。このような最適化の式を解くために好適なアルゴリズムの1つに、graphical lassoがある。それを、glasso()という関数表示であらわすと、
Λ ← glasso(ρ,S)、Λ〜 ← glasso(ρ,S〜)で、テスト・データDの精度行列Λと、参照用正常データD〜の精度行列Λ〜を得る。
3,次のステップは、i = 1,2,...,pに対する特徴量行列の計算である。特徴量行列は、次のようにあらわされる。
【数1】

但し、li(A|B)というのは、negentropy(A,B)のことである。
4.次のステップは、下記の式によって、i = 1,2,...,pに対する異常度を計算することである。
ei = max{li(Λ|S) - li(Λ〜|S),li(Λ|S〜) - li(Λ〜|S〜)}
これは、相対エントロピー、またはカルバック・ライブラー距離として知られているものである。
【発明の効果】
【0021】
以上のように、この発明によれば、精度行列が疎行列になるような処理の工夫を施して、好適にはgraphic lassoを用いてこの最適化の式を解き、各センサについて、カルバック・ライブラー距離が異常度をあらわすようにしたことによって、近傍性保存原理に基づく時系列データの異常検出手法に、各センサの周りの近接グラフ構造をデータから自動的に推測する機能が組み込まれ、さらには、局所的な統計モデルの直接比較に基づいて、理論的に首尾一貫した異常度が与えられる。
【0022】
これによって、擬陽性の少ない、より適切なセンサ時系列データ異常判別技法が提供される。
【発明を実施するための最良の形態】
【0023】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【0024】
図2を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図2において、システム・バス202には、CPU204と、主記憶(RAM)206と、ハードディスク・ドライブ(HDD)208と、キーボード210と、マウス212と、ディスプレイ214が接続されている。CPU104は、好適には、32ビットまたは64ビットのアーキテクチャに基づくものであり、例えば、インテル社のPentium(商標)4、インテル社のCore(商標) 2 DUO、AMD社のAthlon(商標)などを使用することができる。主記憶204は、好適には、512KB以上の容量、より好ましくは、1GB以上の容量をもつものである。
【0025】
ハードディスク・ドライブ208には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。オペレーティング・システムは、Linux(商標)、マイクロソフト社のWindows Vista、Windows XP(商標)、Windows(商標)2000、アップルコンピュータのMac OS(商標)などの、CPU204に適合する任意のものでよい。
【0026】
ハードディスク・ドライブ208にはさらに、センサの基準用の正常の時系列データと、センサのテスト用時系列データとが個別のファイルとして格納されている。異なる状況で記録された複数のデータが、個別のファイルとして保存されていてよい。すると、ユーザは、テスト時に、保存されているファイルのうちの1つを選択することによって、所望の時系列データの異常検知を行うことができる。
【0027】
同様に、基準用の正常の時系列データのファイルも、複数用意してハードディスク・ドライブ208に保存していてもよい。
【0028】
キーボード210及びマウス212は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ214に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード210及びマウス212はまた、異常検知のためのテスト用センサ時系列データが格納されたファイルを指定するためにも使用される。
【0029】
ディスプレイ214は、これには限定されないが、好適には、1024×768以上の解像度をもち、32ビットtrue colorのLCDモニタである。ディスプレイ214は、時系列データの波形や、異常検知の結果を表示したりするために使用される。
【0030】
ハードディスク・ドライブ208にはさらに、本発明に係る異常検知を行うためのプログラムが格納されている。このプログラムは、C++、C#、Java(商標)、Perl、Rubyなどの既存の任意のプログラム言語で書くことができる。オペレーティング・システムとして、Windows Vista、Windows XP(商標)、Windows(商標)2000などを使用する場合には、Win32 APIの機能を利用して、GUIも含むアプリケーション・プログラムとして実装することができる。しかし、本発明に係る異常検知を行うためのプログラムは、CUIとしても実装することが可能である。
【0031】
図3は、センサからのデータの間の関連性を示す図である。図示されているように、本発明の異常検知の仕組みでは、iを1からpまでの間の任意の整数としたとき、センサからのデータxiにつき、データxi以外のデータx1, ..., xj, ...,xi-1,xi+1,...,xpとの間の関係をより際立たせるようなアルゴリズムが適用される。すなわち、弱い関係同士のデータの関連性は無視してしまい、かなり関係の大きいデータ同士の関係性のみが残されるようになされる。このような関係性を行列表示すると、ほとんどの成分が0の疎行列になる。換言すると、このような関係性をあらわす行列である、精度行列が、疎行列であるような解を求めることが、本発明の1つの目標である。図3では、データxiに対して、xjとはある程度関係があり、xi+1とは強い関係があり、それ以外の点線であらわす関係は、無関係とみなすことを示している。
【0032】
なお、精度行列については、C.M. Bishop, "Pattern Matching and Machine Learning". Springer Verlagの2.3.1節などを参照されたい。
【0033】
図4は、本発明に係る処理の概要を示すフローチャートである。このフローチャートを実行するプログラムは、ハードディスク・ドライブ208に保存され、ユーザの操作により、オペレーティング・システムの働きで、主記憶206にロードされて実行可能となる。
【0034】
ステップ402では、手続きcorr()によって、テスト・データDの相関係数行列が計算される。
テスト・データDの定義を再掲すると、 {x(t)|x(t)∈Rp, t = 1,2,...,N}である。ここで、時系列データの次元数pは、例えば50程度で、数百になることもある。Nは、時分割の数で、一般的には100から1000程度である。時分割の刻みの適切な間隔は、適用例によって異なるが、ここでは0.1秒である。但し、後の計算量に効いてくるのは、Nよりも寧ろ、次元数pである。というのは、pが直接、相関係数行列の行数及び列数になるからである。このデータは、ハードディスク・ドライブ208に保存されており、処理のため、本発明の処理プログラムにより、主記憶206に読み出される。
【0035】
テスト・データDの相関係数行列は、次のようにして計算される。先ず、x(t)のi番目の成分を、xi(t)とあらわすことにする。ここで、i∈{1,..,p}である。
【0036】
そこで、処理プログラムは、xi(t)の、t = 1,2,...,Nについての平均miと標準偏差σiとを計算する。そして、処理プログラムは、平均miと標準偏差σiを用いて、次の式により、xi(t)を標準化する。
【数2】

【0037】
こうしておいて、処理プログラムは、次の式により、相関係数行列Sを求める。
【数3】

【0038】
なお、ここでは参照用正常データD〜 = {x~(t)|x~(t)∈Rp, t = 1,2,...,N}の相関係数行列S〜は、所与であると想定しているが、もしまだ計算されていないなら、ここで同様に計算する。
【0039】
ステップ404で、処理プログラムは、下記のように、関数glasso()を用いて、テスト・データDの精度行列Λと、参照用正常データD〜の精度行列Λ〜とを計算する。glassoとは、graphical lassoアルゴリズムを意味する。
Λ = glasso(ρ,D)
Λ〜 = glasso(ρ,D〜)
【0040】
精度行列Λとは、定義によれば、相関係数行列のSの逆行列である。しかし、Sの逆行列を計算することは一般に不可能である。なぜならSは一般に正則ではないからである。これは例えば、ある程度強い相関がある変数の対が存在する場合にそうなる。センサー系の時系列データではそのような状況は常に起こっていると考えなければならない。仮に、幸運にもSが正則だったとしても、単純に逆行列を計算して精度行列Λを求めればよいかというと否である。それでは、精度行列Λが疎行列にならず、近傍を自動で選択するという本発明の狙いを満たさないためである。そのための工夫は後で説明するとして、疎行列である精度行列Λが求まったとしよう。すると、グラフィカルモデリングの理論によれば、精度行列Λの(i,j)成分(i≠j)が0であれば、xiとxjは、これら以外の全ての変数を与えたときに条件付独立である。すなわち、
【数4】

【0041】
本発明は、この条件付き独立性を、近傍探索に利用する。すなわち、統計的に独立でないと判断されれば近傍とみなし、そうでなければ近傍でないとする。
例えば、x2について、精度行列Λ2,j ≠ 0となるjが4と9だけであれば、x2の近傍がx4とx9だけ、ということが分かる。従って、多くの行列要素がゼロであるような疎行列として精度行列Λを最適に決定することは、近傍の自動選択と等価である。
【0042】
さて、前にも述べたように、センサ・データ自体が多変量正規分布に従うという保証はない。そこで寧ろ、近傍か否かを決める基準として、多変量ガウスモデルを援用することにする。そこで今は、平均ゼロを前提としているので、データに当てはめようとしているモデルは、平均ゼロ、精度行列Λのp次元ガウス分布である。それは、下記の式のようにあらわされる。
【数5】

ここで、detは行列式をあらわす。
【0043】
ここで、特定の(i,j)、例えば、(i,j) = (1,2)に着目する。そして、x1とx2以外に適当な数字として、例えば、0をいれてみる。すると、指数関数の肩は、次のようになる。
【数6】

【0044】
従って、Λ1,2 = 0であれば、x1とx2を結ぶ交差項はなく、すると、それらは、他の全てのデータを止めた時に独立となることが分かる。
【0045】
そこで、精度行列Λの疎性(sparsity)の議論に移る。疎性を一旦離れて、精度行列をデータから素朴に最尤推定することを試みる。すると、テスト・データDの対数尤度は、次のようになる。
【数7】

【0046】
ここで、trは行列の対角和である。従って、尤度を最大にする精度行列を求めるためには、上記の式の{ }内を最大化すればよいことになる。
【0047】
しかし生憎、このようにして求めた精度行列は、一般に疎にならない。そこで、本発明は、L1ノルムに基づく正規化項を付与して最尤推定すると疎行列が得られるという性質を利用する。このようにL1正規化項を付して疎な解を得る手法が統計学の分野でlasso (Least absolute shrinkage and selection operator)と呼ばれることが、ここで使うgraphical lassoの名前の所以である。
【0048】
そこで、L1ノルムを付与した関数f(Λ;S,ρ)を次のように定義する。
【数8】

ここで、|Λi,j|は、行列Λの(i,j)要素の絶対値をあらわす。
【0049】
すると、この関数f(Λ;S,ρ)を用いて、Λを求めることは、下記ような最適化問題を解くことに帰着される。
【数9】

【0050】
この最適化問題を解くための好適な方法は、graphical lassoというアルゴリズムである。これの詳しい説明は、J. Friedman, T. Hastie, and R. Tibahirani, Sparse inverse covariance estimation with the graphical lasso. Biostatics, 9(3): 432-441, 2008 などにある。
【0051】
正規化項
【数10】

の存在によって、Λの多くの行列要素は、正定値性を失わない範囲で厳密にゼロになる。定数ρは、直感的に言うと、どの程度相関係数を無視するかの尺度であり、0 < ρ < 1の範囲でユーザが与える。graphical lassoの場合の好適な1つの値は、ρ = 0.3である。ρが1に近いと、得られる近接グラフは非常に小さくなり、ρ = 0だと、基本的に全てのセンサが結合した完全グラフが得られる。
【0052】
なお、graphical lassoのアルゴリズムについては、後で、もう少し詳しく説明する。
【0053】
このようにして、ステップ404で、テスト・データDの精度行列Λと、参照用正常データD〜の精度行列Λ〜とが求められると、ステップ406での負のエントロピー(ネゲントロピー)の行列の計算と、ステップ408での異常度スコアの計算に移行する。ステップ406及びステップ408は、i = 1,2,...,pについて順次実行される。
【0054】
ところで、テスト・データDと、参照用正常データD〜との間に本質的な違いがなければ、それぞれから得られる精度行列ΛとΛ〜とが表す近接グラフの様子には大差はないはずである。すなわち、精度行列を求めるためのアルゴリズムに鑑みると、近接グラフ自体が、図1に示すような時系列データの見かけ上の相違とは関係なく求まるはずである。逆に言えば、ある変数xiに着目したとき、その周りの近接グラフに大きな変化がおきていれば、その変数に何か異常が生じている公算が高い。
【0055】
さて、いまやテスト・データDの精度行列Λと、参照用正常データD〜の精度行列Λ〜とが得られているので、
テスト・データDの確率モデルp(x) = N(x|0,Λ-1)と、
テスト・データD〜の確率モデルp~(x) = N(x|0,Λ〜-1)とが得られる。そこで、これらを勘案して、変数xiの異常度を計算するに当たっては、xi以外の全ての変数x1,x2,...,xi-1, xi+1,...,xpを与えたときのxiの条件付き分布p(xi|rest)と、p~(xi|rest)の違いを評価するのが自然である。ここで、restというのは、xi以外の全ての変数x1,x2,...,xi-1, xi+1,...,xpのことである。そこで、記法の便宜上、xi以外の全ての変数x1,x2,...,xi-1, xi+1,...,xpをzi∈Rp-1とすると、ネゲントロピーの関数は、下記のような式となる。
【数11】

ここで、< .. >Dという表示は、データDでの経験分布をあらわす。
これらの式が、前述のガウス分布の式から見導かれることは、この分野の当業者に明らかであろう。これらの式に基づき、ステップ406で、個々のi=1,...,pにつき、負のエントロピーが計算される。
【0056】
これらの結果に基づき、下記の式を用いて、処理プログラムは、i=1,2,...,pにつき、異常度eiの計算を行う。
【数12】

この結果は、見て取れるように、相対エントロピー、すなわちカルバック・ライブラーの距離である。
そして、ei ≡ max(d1,d2)により、i番目のデータの異常度が求められる。なお、前述の2007年12月18日出願の米国特許出願第11/959073号明細書に記載の技法では、相違度行列Dの要素di,jが、- ln|Si,j|で定義されていたので、相関係数の符合反転を検知することができなかったが、本発明の技法には、そのような制約はない。
【0057】
いくつかの実験で、本発明の技法は、ノイズが大きく、いくつかのセンサに断線が生じているような状況でも、高い精度で異常度が検知できることが分かった。これは、疎な精度行列としてテスト・データDと、参照用正常データD〜を比較した場合、ノイズや断線の効果が、かなりの程度抑えられるからであろうと考察される。
【0058】
<grahical lassoの計算に関する補足説明>
前述のように、grahical lassoにより解くべき問題は、下記の式を最大にする行列Λを求めることであった。
【数13】

そこで、この式をΛで偏微分する。このとき、下記の公式に留意する。
【数14】

【0059】
すると、Λでの偏微分の結果の勾配の式は、下記のようになる。
【数15】

ここで、sign(Λ)とは、符号関数sign()を、行列の要素に適用した結果を要素とする行列である。すなわち、行列sign(Λ)の(i,j)要素は、Λi,j≠0のときsign(Λi,j)であり、Λi,j=0であるなら、[-1,1]の何らかの値を返すように定義される。
【0060】
上記勾配の式をゼロ行列と等値してΛを求めることになるが、Λはその性質から、対角要素は全て正であり、よって、sign(Λ)の対角要素は全て1となる。
【0061】
これから、Σi,j = Si,j + ρと、対角要素は厳密に求まる。ここで、Σ≡Λ-1と定義した。
【0062】
以上のように対角要素は厳密に求まるが、非対角要素は簡単には求まらない。そこで、ブロック勾配法という技法が使われる。ブロック勾配法については、"O. Banarjee, L.E.Ghaoui, and G. Natsoulis, Convex optimization techniques for fitting sparse gaussian graphical models. In in Proceedings of ICML, pages 89-96. Press, 2006."及び"J. Friedman, T. Hastie, H. Hofling and Tibshinari, Pathwise coordinate optimization. Annals of Applied Statistics. I(2):302-332"などにも記載がある。
ブロック勾配法では、次のように行列が分解される。
【数16】

【0063】
ここで、L及びWは、(p-1)×(p-1)の行列であり、λとσはスカラーである。従って、wとlは、(p-1)次元のベクトル、ということになる。
【0064】
ブロック勾配法は、ここでは、一つの列ベクトルであるwとlを未知、他のλ、σ、L、Wを既知として最適化問題を解くものである。
【0065】
このように決めたwに対して、数15がゼロになるという条件は、下記の式と等価である。βは、あるベクトル・パラメータ変数である。
【数17】

但し、
【数18】

である。また、sは、相関係数行列Sにおける、wに対応する位置のベクトルである。この式から見て取れるように、βは、L1正規化項付きの2次計画問題を解くことで求まる。よってβは、一般的な2次計画ソルバーを使っても解けるが、好適な解法があり、それについては、後述する。
【0066】
数15がゼロに等しいという条件の、Σ≡Λ-1におけるwに対応する位置のベクトルでの部分の式は、w - s - sign(l) = 0と書ける。
【0067】
そこで、ΣΛを計算してみると、次のようになる。
【数19】

この式の右上のブロックから得られる l = -λW-1wを使い、また、β≡W-1wとおけば、
Wβ - s +ρsign(β) = 0
数17の偏微分を実行することによって、この式に等しくなることが確認できる。
【0068】
上の説明では、第p変数についてブロック勾配法を適用するものであったが、より一般に次のようなステップであると言える。
(1) 最初に例えば、Σ = S + ρ1pと置く。
(2) i = 1から始めて、第i変数について、行と列を並べ替えて、i行目が第p行目、i列目が第p列目に来るようにする。
(3) lとλを最適に決めた後、行と列の配列を戻す。
(4) 元の行列と違いが小さければ終了。そうでなければ、iを1つ増やす。iがpを超えたなら、iを1にする。
(5) ステップ(2)に戻る。
【0069】
このとき、lとλを最適に決めるステップであるが、数19の右下部分から、wTl+σλ=1が得られ、これと、l = -λW-1wとから、下記の式が得られる。
【数20】

【0070】
ここで、結果的に使われる式には、W-1が陽に表れていないことに留意されたい。すなわち、相関係数行列がランク落ちしている場合、一般的にW-1を求めることができない。その意味で、逆行列を使わないこの計算方法は、ランク落ちしている相関係数行列にも対応できる点で、有利である。
【0071】
さて、数17に対応する最適化問題を書き下す。
【数21】

この目的関数をg(β;W,ρ)と書き、βiで偏微分すると、
【数22】

が成り立つ。これに基づく最適化条件を次の2つの場合に分けて考える。
【0072】
(1) βi > 0のとき、数22が0という条件は、βm (m≠i)を与えた下で、
【数23】

と解ける。但し、
【数24】

と置いた。数23で、Ai - ρ < 0 であれば、もともとの条件βi > 0と矛盾する。このときは、
【数25】

のように単調であることから、定義域の左端、すなわち、βi → 0が解となる。
【0073】
(2) βi < 0のとき、数22が0という条件は、
【数26】

と、解ける。但し、Ai + ρ > 0であれば、もともとの条件βi < 0と矛盾する。このときは、
【数27】

のように単調であることから、定義域の左端、すなわち、βi → 0が解となる。
【0074】
以上、2つの場合を纏めると、数21の最適化問題は、p-1個のiそれぞれについて、
【数28】

という置換を繰り返せばよい。添え字iが最後の変数まで行ったら、また最初に戻って、収束するまで繰り返す。
【0075】
なお、Σi,j = Si,j + ρという式から見てとれるように、Wi,iは必ず正であり、この解に特異性はない。また、上述したgraphical lassoの2つの記述法は、簡単な反復公式で記述でき、計算効率が高い。らに、前述のように、Σがランク落ちしていも、その逆行列を計算に使う必要がないので、安定して計算を実行することができる。
【0076】
以上の例は、自動車のセンサから取得したデータを異常検知する場合であったが、これには限定されず、発電所や、プラントなど、測定データが多次元時系列データとあらわされる、任意の場合に適用可能である。
【図面の簡単な説明】
【0077】
【図1】参照用正常時系列データと、テスト用時系列データの波形の例を示す図である。
【図2】本発明を実施するためのハードウェアのブロック図である。
【図3】変数間の近傍関係を示す図である。
【図4】本発明の処理のフローチャートを示す図である。

【特許請求の範囲】
【請求項1】
コンピュータにより、多次元時系列データの異常度を計算するためのシステムであって、
第1の多次元時系列データと、該第1の多次元時系列データと同次元の第2の多次元時系列データとを入力する手段と、
前記第1の多次元時系列データの共分散行列の逆行列である第1の精度行列と、前記第2の多次元時系列データの共分散行列の逆行列である第2の精度行列とを、各々の精度行列が疎行列になるように、計算する手段と、
前記第1の精度行列に基づく多変量確率分布モデルと、第2の精度行列に基づく多変量確率分布モデルによって、前記多次元時系列データの各次元毎の負のエントロピーを計算する手段と、
前記計算された負のエントロピーに基づく、相対エントロピー距離に基づき、各次元毎の異常度を計算する手段とを有する、
多次元時系列データの異常度計算システム。
【請求項2】
前記第1の第多次元時系列データが参照用正常データであり、前記第2の第多次元時系列データが、異常を検知すべきテスト・データである、請求項1のシステム。
【請求項3】
前記多変量確率分布モデルが、多変量ガウスモデルである、請求項1のシステム。
【請求項4】
前記精度行列が疎行列になるように計算する手段は、L1ノルムの正規化項を付加した式を最適化することにより計算を行う、請求項1のシステム。
【請求項5】
前記精度行列が疎行列になるように計算する手段は、graphical lassoのアルゴリズムを用いる、請求項4のシステム。
【請求項6】
前記多次元時系列データが、自動車の複数のセンサから取得されたデータであり、前記多次元の個々の要素が、個々のセンサに対応する、請求項1のシステム。
【請求項7】
コンピュータにより、多次元時系列データの異常度を計算するための方法であって、
第1の多次元時系列データと、該第1の多次元時系列データと同次元の第2の多次元時系列データとを入力するステップと、
前記第1の多次元時系列データの共分散行列の逆行列である第1の精度行列と、前記第2の多次元時系列データの共分散行列の逆行列である第2の精度行列とを、各々の精度行列が疎行列になるように、計算するステップと、
前記第1の精度行列に基づく多変量確率分布モデルと、第2の精度行列に基づく多変量確率分布モデルによって、前記多次元時系列データの各次元毎の負のエントロピーを計算するステップと、
前記計算された負のエントロピーに基づく、相対エントロピー距離に基づき、各次元毎の異常度を計算するステップとを有する、
多次元時系列データの異常度計算方法。
【請求項8】
前記第1の第多次元時系列データが参照用正常データであり、前記第2の第多次元時系列データが、異常を検知すべきテスト・データである、請求項7の方法。
【請求項9】
前記多変量確率分布モデルが、多変量ガウスモデルである、請求項7の方法。
【請求項10】
前記精度行列が疎行列になるように計算するステップは、L1ノルムの正規化項を付加した式を最適化することにより計算を行う、請求項7の方法。
【請求項11】
前記精度行列が疎行列になるように計算するステップは、graphical lassoのアルゴリズムを用いる、請求項10のシステム。
【請求項12】
前記多次元時系列データが、自動車の複数のセンサから取得されたデータであり、前記多次元の個々の要素が、個々のセンサに対応する、請求項7の方法。
【請求項13】
コンピュータにより、多次元時系列データの異常度を計算するためのプログラムであって、
前記コンピュータに、
第1の多次元時系列データと、該第1の多次元時系列データと同次元の第2の多次元時系列データとを入力するステップと、
前記第1の多次元時系列データの共分散行列の逆行列である第1の精度行列と、前記第2の多次元時系列データの共分散行列の逆行列である第2の精度行列とを、各々の精度行列が疎行列になるように、計算するステップと、
前記第1の精度行列に基づく多変量確率分布モデルと、第2の精度行列に基づく多変量確率分布モデルによって、前記多次元時系列データの各次元毎の負のエントロピーを計算するステップと、
前記計算された負のエントロピーに基づく、相対エントロピー距離に基づき、各次元毎の異常度を計算するステップとを実行させる、
プログラム。
【請求項14】
前記第1の第多次元時系列データが参照用正常データであり、前記第2の第多次元時系列データが、異常を検知すべきテスト・データである、請求項13のプログラム。
【請求項15】
前記多変量確率分布モデルが、多変量ガウスモデルである、請求項13のプログラム。
【請求項16】
前記精度行列が疎行列になるように計算するステップは、L1ノルムの正規化項を付加した式を最適化することにより計算を行う、請求項13のプログラム。
【請求項17】
前記精度行列が疎行列になるように計算するステップは、graphical lassoのアルゴリズムを用いる、請求項16のプログラム。
【請求項18】
前記多次元時系列データが、自動車の複数のセンサから取得されたデータであり、前記多次元の個々の要素が、個々のセンサに対応する、請求項13のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−78467(P2010−78467A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2008−247380(P2008−247380)
【出願日】平成20年9月26日(2008.9.26)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】