次の方法で共有


SsaSpikeEstimator クラス

定義

単一スペクトル分析を使用して時系列のスパイクを検出します。

public sealed class SsaSpikeEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaSpikeDetector>
type SsaSpikeEstimator = class
    interface IEstimator<SsaSpikeDetector>
Public NotInheritable Class SsaSpikeEstimator
Implements IEstimator(Of SsaSpikeDetector)
継承
SsaSpikeEstimator
実装

注釈

このエスティメーターを作成するには、DetectSpikeBySsa を使用します

入力列と出力列

入力列は 1 つだけです。 入力列は、 Single 時系列の Single タイムスタンプの値を示す値である必要があります。

3 つの要素を持つベクトルである列が生成されます。 出力ベクトルには、アラート レベル (ゼロ以外の値は変更ポイントを意味します)、スコア、および p 値が順番に含まれています。

推定特性

このエスティメーターは、パラメーターをトレーニングするためにデータを確認する必要がありますか? はい
入力列のデータ型 Single
出力列のデータ型 の 3 要素ベクトル Double
ONNX にエクスポート可能 いいえ

推定特性

機械学習タスク 異常検出
正規化は必要ですか? いいえ
キャッシュは必要ですか? いいえ
Microsoft.ML に加えて必要な NuGet Microsoft.ML.TimeSeries

トレーニング アルゴリズムの詳細

このクラスは、 単一スペクトル分析 (SSA) に基づく一般的な異常検出変換を実装します。 SSA は、時系列を傾向、季節性、ノイズコンポーネントに分解し、時系列の将来の値を予測するための強力なフレームワークです。 原則として、SSA は入力時系列に対してスペクトル分析を実行し、スペクトル内の各コンポーネントが時系列の傾向、季節、またはノイズ コンポーネントに対応します。 単数スペクトル分析 (SSA) の詳細については、 このドキュメントを参照してください。

Anomaly Scorer

タイムスタンプの生スコアが計算されると、そのタイムスタンプで最終的な異常スコアを計算するために異常スコアラー コンポーネントにフィードされます。

p 値に基づくスパイク検出

p 値スコアは、現在のポイントが外れ値 (スパイクとも呼ばれます) であるかどうかを示します。 値が小さいほど、スパイクである可能性が高くなります。 p 値スコアは常に $[0, 1]$ です。

このスコアは、生スコアの分布に従って現在計算された生スコアの p 値です。 ここでは、履歴の特定の深さまでの最新の未加工スコア値に基づいて分布が推定されます。 より具体的には、この分布は、適応帯域幅のガウスカーネルとのカーネル密度推定使用して推定される。

p 値スコアが $1 - \frac{\text{confidence}}{100}$ を超えると、関連付けられたタイムスタンプがスパイク検出で 0 以外のアラート値を取得する可能性があります。つまり、スパイク ポイントが検出されます。 $\text{confidence}$ は DetectIidSpikeDetectSpikeBySsa のシグネチャで定義されていることに注意してください。

使用例へのリンクについては、「参照」セクションを参照してください。

メソッド

Fit(IDataView)

トランスフォーマーをトレーニングして返却します。

GetOutputSchema(SchemaShape)

トランスフォーマーのスキーマ伝達。 入力スキーマが指定されたスキーマと同じ場合は、データの出力スキーマを返します。

拡張メソッド

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

エスティメーター チェーンに 'キャッシュ チェックポイント' を追加します。 これにより、ダウンストリームエスティメーターがキャッシュされたデータに対してトレーニングされます。 複数のデータを受け取るトレーナーが渡す前にキャッシュ チェックポイントを設定すると便利です。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

エスティメーターを指定すると、デリゲートを 1 回 Fit(IDataView) 呼び出すラップ オブジェクトが呼び出されます。 多くの場合、エスティメーターが適合した内容に関する情報を返すことが重要です。そのため Fit(IDataView) 、メソッドは一般的 ITransformerなオブジェクトではなく、具体的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> 多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得するエスティメーターがこのチェーンのどこかに埋もれる場所を介して EstimatorChain<TLastTransformer> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象

こちらもご覧ください