時系列の異常値の検出:誤検知を減らす方法は?


11

私は、時系列で異常値の検出を自動化しようとしていますここでは、Rob Hyndmanによって提案されたソリューションの修正を使用しました

たとえば、さまざまな国からのWebサイトへの毎日のアクセスを測定します。毎日の訪問が数回または数千回であるいくつかの国では、私の方法は合理的に機能しているようです。

ただし、国が1日に1回または2回しか訪問しない場合、アルゴリズムの制限は非常に狭く(1±0.001など)、2回の訪問は異常値と見なされます。どのようにしてそのようなケースを自動的に検出し、どのようにそれらを処理して異常値を特定できますか?たとえば、1日あたり100回の訪問という手動のしきい値を設定したくありません。

ありがとうございました!


2
(少なくとも部分的には)変動の大きい変動が原因で問題が解決する可能性がある自然でシンプルな方法は、Anscombe変換やFreeman-Tukey変換などの変動安定化変換をデータに適用することです外れ値を探す前に。
whuber

回答:


3

小さな個別のカウントにはあまり期待しないでください。1回から2回の訪問は100%増加し、0回から1回の訪問は無限に増加します。低レベルでは、インフレゼロのモデルを扱っている可能性があり、その下でも非常にうるさい場合があります。

私の経験では、このように大きなカウントと小さなカウントが混在するデータをカウントすると、小さなカウントで2つの問題が発生します。1)データが粗すぎて処理できない、2)データが異なるプロセスによって生成される (地方の小さな郵便局と大都市の郵便局を比較してください)。したがって、モデリングを少なくとも2つに分割する必要があります。カウントが大きい場合に正常に実行していることを実行し、カウントが小さい場合は別の-より粗く、より近似的な-何かを実行します。しかし、小さなカウントの多くを期待しないでください。

良いニュースは、大きなカウントには、当然のことながら、より多くのトランザクションが含まれるため、より良いモデルは、ほとんどのサイトをカバーしない場合でも、より多くのデータをカバーすることです。

(「モデリング」は一般的であると言いますが、もちろん、異常値の検出は特定のモデルを想定し、そのモデルの想定とは非常に異なる可能性のあるポイントを見つけることです。)


1

時系列の各値は、確率分布のサンプルです。最初に確率分布が何であるかを見つけ、次にその分布内でレアという言葉が何を意味するかを定義する必要があります。

したがって、経験累積分布関数を計算し、95%信頼区間を計算します。その地域外で何かが起こったときはいつでも、当然のことながら、それはまれな出来事であることを知っています。


0

特定のレベルの信頼度で外れ値を検出することと、外れ値の受け入れをさらに制限する2番目の仕様を配置することの1つです。「AUTOBOXは、事前に指定された信頼レベルでxxユニットの平均シフトを検出できますか」という質問を一度受けました。基本的に必要なのは、二重テストでした。AUTOBOXは、私が開発を支援したソフトウェアの1つであり、このデュアルテストを実装したフリーソフトウェアがないため、費用対効果が高いと思われるかもしれません。

ニックに感謝:「外れ値」の特定の例として、または一般的に経験的に特定された決定論的影響として、レベルシフトを使用していました。「異常値」の他の形式は、パルス、季節パルス、ローカルタイムトレンド、および新しいレベルへの一時的な変化などの特定の組み合わせです。主なポイントは、統計的有意性と実際の有意性を反映する2つの仮説がある可能性があるということでした。最初にこの問題を私の注意を喚起した顧客は、両方に興味を持っていました。


外れ値は、平均シフトを意味する必要はありません...実際、異なる手段を持つレジーム間の段階的または傾斜した変化は、外れ値をまったく伴う必要はありません。あなたはこれを非常によく知っていますが、私が示唆していることは、あなたの答えを具体化することが他の人にとって最も役立つということです。
Nick Cox

あなたがた両方に感謝します。現実世界の重要性に興味があります。外れ値を特定した後、最終的な重要度を取得するために、たとえば、総訪問数と比較した訪問数の割合で重要度を重み付けします。2回の訪問の場合、その割合は本当に小さいですが、期待値は1±0.001であるため、期待される限界からの実際のポイントの「距離」は非常に高くなります(たとえば、0.002が「iqr」である2 / 0.002)。 。つまり、問題は最終的には非常に重要になります。何か案は?
Stergios 2014年

ここでの「外れ値」の拡張された使用は、多くの文学で一般的である極端な寛大な感覚よりもはるかに広いことを指摘します。熟練した読者は、@ IrishStatが彼の強みである時系列分析に固執していることを知っています。
Nick Cox

0

データが正規分布から離れているため、この問題が発生しています。分布が非常に非対称で、隆起、こぶ、または長すぎる/短すぎるテールがある場合、問題が発生します。メソッドを使用する前に、Box CoxやYeo-Johnsonなどの変換を適用することをお勧めします。あなたの例では、F(x)= log(1 + x)を使用する場合、異なる大きさの問題を回避し、次を使用して変換し直すことができます:exp(z)-1

Box-Cox変換に適したラムダを自動的に見つけるために使用できるいくつかの手順があります。私は個人的に、RのAIDパッケージからのboxcoxnc関数のすべてのメソッドの中央値を使用しています。データが厳密に正数でない場合は、使用する前に1または他の正数を追加する必要があります。

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