時系列データのリアルタイム正規化のアルゴリズム?


12

多数のセンサーストリームから最新のデータポイントのベクトルを取り込み、ユークリッド距離を以前のベクトルと比較するアルゴリズムに取り組んでいます。問題は、異なるデータストリームが完全に異なるセンサーからのものであるため、単純なユークリッド距離をとると、いくつかの値が大幅に強調されることです。明らかに、データを正規化する何らかの方法が必要です。ただし、アルゴリズムはリアルタイムで実行されるように設計されているため、正規化ではデータストリームに関する情報を全体として使用することはできません。これまでのところ、起動段階で各センサーに見られる最大値(最初の500データベクトル)を追跡し、そのセンサーからのすべての将来のデータをその値で除算しました。これは驚くほどうまく機能していますが、非常に洗練されていないように感じます。

このための既存のアルゴリズムを見つけるのにそれほど幸運はありませんでしたが、おそらく適切な場所を探していません。誰か知っていますか?または何かアイデアがありますか?実行平均(おそらくWellfordのアルゴリズムによって計算される)を使用する提案がありましたが、同じ値の複数の読み取り値が同じであると表示されない場合、これはかなり大きな問題のようです何かが欠けています。どんな考えでも大歓迎です!ありがとう!

回答:


1

あなたの質問から、私はあなたが探していることを理解しています:

  1. 各センサーからのデータの寄与を正規化する方法を見つけます。
  2. 新しいデータポイントが以前のポイントと大きく異なるかどうかを確認します。

ここから始めます

1.最初の質問:平均値を削除し、ホワイトニングを探しています。ホワイトニング変換は、すべての機能が同じダイナミックレンジにあることを保証します。

いくつかの単純化された仮定を作成します。これらは完全に関連しているかもしれませんが、基礎となる出発点として完全に適しています。

データが単一モードであると仮定すると、それは単一の顕著な平均を持ちます。まず、データの平均値を引き、ホワイトニング変換を実行しますします(おそらくPCA、データによってはZCA)

リアルタイムでこれを実行したい場合は、移動ウィンドウでホワイトニングを実行する実行中のサンプルカウントを使用します。ホワイトニングを正確に行うために十分なサンプルがあることを確認してください(ホワイトニングでは、共分散行列が可逆的であり、センサーよりも多くの時間サンプルが必要です)。

データがユニモーダルでない場合は、おそらくデータをクラスター化して、モードがどこにあるかを確認します。非常に基本的には、新しいポイントが到着するたびに、適切なクラスターに関連付けてそこから移動します。

2.過去のポイントから効果的に距離を測定するには、マハラノビス距離を使用します。実際には、マハラノビス距離は白色化された空間でのユークリッド距離にほぼ相当します。

要約すると、ホワイトニングとマハラノビスの距離についてお読みください。これらはあなたが求める方向を指し示すと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.