ビジネス・アナリティクス - センサーデータ解析
センサーデータ解析
Overview
センシング技術の進歩と、情報管理システムの成熟により、社会のあらゆるところで、さまざまなデータが取られつつあります。各種の物理センサーにより取られたデータは、多くの場合、実数値時系列データという形を取ります。たとえば自動車の車速やエンジンの酸素濃度、あるいはコンピュータシステムのトラフィックがその例です。
「構造データからの学習」プロジェクトのページでは、グラフという構造データが、古典的な機械学習を拡張するという研究動機を与えていることを見ました。時系列データもまた、いくつかの点で古典的なベクトルデータと非常に異なった特徴を持っています。
部分時系列クラスタリングの基礎研究
当初、時系列データの特殊性は、データマイニングの研究者の中でもさほど深刻には捉えられておらず、さまざまな機械学習の技術が無自覚的に使われてきました。この状況を一変させたのが、2003年末に見出されたある実験事実でした。
それは部分時系列クラスタリングという時系列データからのパターン発見手法(下図)に関するものです。これは定番的な時系列マイニングの手法として、90年代後半から広く普及していた手法です。しかし、その報告によれば、この手法で取り出されるパターンは、(一見もっともらしいパターンを与えるものの)実は、入力時系列にほとんど依存せずに決まるということがわかったのです。まさに驚愕の報告だったのですが、なぜそういうことが起こるかという理解はその後ほとんど進んでいませんでした。われわれは2006年に、部分時系列クラスタリングが破綻する真の理由を理論的に明らかにしました(T. Ide, PKDD 2006)。滑走窓により生成された部分系列のクラスタリングは、「並進群」というある特殊な数学的構造に支配されているということを示すことができます。意外なことに、その数学的構造は、クラスタリング結果を完全に決めてしまうほど強いものだったのです。
2003年の実験的報告は、それまで楽観的に考えられていた時系列からのパターン認識の問題を、あらためてスタート地点に引き戻すものでしたが、Ideの研究は、それを克服するための土台を与えるという意味で、工学的にも意義深いものです。
動的なシステムからの異常検知
センサーデータからの知識発見において、おそらく最も実用上重要なタスクが異常検知です。異常検知という問題は、これまで統計学の分野で長い間研究されてきました。データマイニングの文脈でも、例えば主成分分析を利用した手法など、ある程度定番といえる手法があります。
しかしながら、コンピュータシステムや自動車のように、高度に動的で、しかも高次元のシステムから取られたセンサーデータに既存手法を適用するのは一般には困難です。これは要するに、正常時においてもシステムの揺らぎが大きすぎて、異常と判定すべき基準がよくわからないからです。
最近、私たちは、近傍保存原理と名づけた単純なアイディアに基づいて、高度に動的なシステムにおいても、実用レベルでの異常解析が可能であることを示しました(Ide, Papadimitriou, and Vlachos, ICDM 2007)
この方法では、下記のように、多数のセンサーからなるセンサーデータの異常検知の問題を、グラフの比較問題に帰着させます(下図)。最初にセンサー同士の類似度を計算し、センサー同士の関係を表すグラフを構築します。しかしこのグラフは、システムの動的な揺らぎを反映して非常に不安定です。その問題に対処するため、強く類似しているセンサーペアのみに着目して、グラフを局所グラフの集まりに分解します。「仲良しの仲間」を抽出するわけです。そしてその「お仲間度合い」の破れを定量的に評価することで、各センサーの異常度を計算します。
大量データの解析技術
多数のセンサーから自動的にデータが取得できるようになると、大量のデータをどのように効率よく処理すればいいかという問題に直面します。一般的にいえば、大量データ解析の研究には、2つの課題があります。ひとつはデータをいかに効率よく圧縮し、必要な情報だけを手にするかという課題であり、もうひとつが、計算機側の実行環境をいかに最適化するかという課題です。
最初の課題についてのわれわれの最近の仕事として、行列圧縮技術に関する研究があります(下図)。これは具体的には、特異スペクトル変換という時系列データの変化点検出手法(Ide and Inoue, 2005)で使われる主成分分析のステップを、クリロフ部分空間の方法を使って高速化するという試みです。クリロフ部分空間の方法は、さまざまな機械学習の手法と興味深い理論的関連を持つことが近年明らかになっており、更なる研究が待たれます。
ふたつ目の課題に関する最近の我々の仕事として、大規模なコンピュータシステムにおける解析アルゴリズムの並列化に関する研究があります。一般に、巨大な建築物の構造計算や、都市のネットワーク交通シミュレーションのような非線型で多様性のあるシステムの解析は、多くの計算量を必要とします。我々は、このような解析アルゴリズムをIBMのマルチノード・スーパーコンピュータであるBlueGene/L上で高速に実行するためのフレームワークを構築しました(下図)。処理したいアルゴリズムを複数のモジュールに分割し、このフレームワーク上で実行すると、ノードをまたがるモジュール間の通信量などといった計算資源の負荷がモニタリングされ、より処理時間を短縮するように各モジュールが適切なノードに動的に再配置されます。