eBayの統計的異常検出方法

複雑なシステムでは、多くのコンポーネントで障害が発生する傾向があるため、障害を2つのクラスに分けることは理にかなっています。 最初の原因は、直接チェックによって防止および検出できる繰り返し発生する障害(ハードドライブの障害など)に起因する可能性があります。 2番目のクラスには、予期しない障害が含まれます。



画像



予期しないエラーを検出するツールは統計です。したがって、記事の名前です。 統計異常検出器は、範囲外の特性変化を追跡し、通知を送信します。 異常を判別する統計的方法の主な利点は、それによって以前に満たされていない問題を検出できることです。 欠点には、根本原因を独立して特定する必要があることが含まれます。 これはすべて抽象的すぎるように見えるかもしれないので、具体的な例を挙げます。



主な用語



混乱を避けるために、いくつかの基本的な用語を以下にリストします。





効果的な統計的検出器を作成する上での特定の障害は、誤検知の可能性、つまり存在しない違反の通知です。 異常検出器の誤検知が多すぎる場合、ユーザーは通知をオフにするか、スパムとしてマークするか、単に無視します。 そして、そのような検出器は明らかにあまり効果的ではありません。



この記事では、 eBayで使用される統計的異常検出器について説明します。 同様のスキームは、分析ツールt.onthe.ioでも使用されます。 問題の検索エンジンでは、監視された信号は、一連の参照クエリによって生成された最も反復的な検索結果に基づいています。 統計的異常検出器が機能するには、結果を数値形式に変換する方法が必要です。 この場合、結果にメトリックを適用します。



各参照リクエストは約50のメトリックで処理され、リクエストによって返される要素が結合されます。 たとえば、返されるアイテムの数と返されるアイテムの平均価格の2つのメトリックです。 合計で、3000個の参照クエリと50個のメトリック、つまり150,000個の値が使用されます。 現在、参照リクエストは4時間ごとまたは1日6回発行されているため、1日あたり900,000の値があります。 最近のテラバイトデータベースでは、これはとんでもない量です。 ただし、異常を検出するためのこれらの値の分析は、誤検出率が低い場合でも、かなり難しい作業です。



チャートとグラフを使用して、使用されるアプローチを明確に説明しようとします。 最初の画像は、監視対象の信号、つまりメトリックの値を組み合わせたものを示しています。



画像



各ペア(クエリ、メトリック)は、経時的に追跡できる値を表します。これは本質的には時系列です。 合計で150,000時系列であるため、各4時間の追跡期間中に、少なくとも1つの時系列が異常と識別されると予想するのが妥当です。 各異常時系列について通知することは、多くの誤検知につながるため、あまり意味がないと結論付けることができます。



このアプローチでは、データを蓄積し、プロセスは非常に単純なアクションから始まります。各時系列を調べ、前回の値を外挿することで計算される最後の値と期待値の偏差を計算します。 私はこれを「サプライズ」と呼びます-偏差が大きければ大きいほど、驚きは大きくなります。 以下の画像は、各トリプレット(クエリ、メトリック、時間)の予期しないことを示しています。



画像



異常検出器の本質は次のとおりです。Tデータを受信する各瞬間に、いくつかのトリプレット(クエリ、メトリック、T)に大きな値のサプライズがあると想定しています。 異常値が高い異常に高い数のトリプレットが検出された場合、異常通知が送信されます。 定量化できるようにするために、個々のメトリックの3000個のクエリすべてについて、時間の予期しないTの90パーセンタイルを計算します。 画像



画像



これにより、メトリックごとにTの新しい時系列が得られます。 最初の2つのメトリックの時系列の例を以下に示します。



画像



したがって、150,000の時系列は合計50に削減されました。このような値の組み合わせは、異常を識別するための非常に便利な手法です。



最後に、異常検出器は結合された時系列の単純なチェックを使用します。 50シリーズのいずれかの現在値が、このシリーズの平均値の分散の3倍を超える場合、異常の存在が考慮されます。 平均販売価格の指標でeBayデータを使用する例を次に示します。 異常は、時点T = 88で明らかに顕著です。



画像



アブストラクト



  1. 統計は、異常を検出するためのツールです。
  2. 統計異常検出器は、範囲外の特性変化を追跡し、通知を送信します。
  3. Tデータを受信する各瞬間に、いくつかのトリプレットに大きな驚きがあると想定されています。
  4. 時系列の値を組み合わせることは、異常を識別するための便利な手法です。



All Articles