SrCnnAnomalyEstimator Sınıf

Tanım

Spektral Artık (SR) algoritmasını kullanarak zaman serisindeki anomalileri algılama

public sealed class SrCnnAnomalyEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.TimeSeries.SrCnnAnomalyDetector>
type SrCnnAnomalyEstimator = class
    inherit TrivialEstimator<SrCnnAnomalyDetector>
Public NotInheritable Class SrCnnAnomalyEstimator
Inherits TrivialEstimator(Of SrCnnAnomalyDetector)
Devralma

Açıklamalar

Bu tahmin aracını oluşturmak için DetectAnomalyBySrCnn kullanın

Tahmin Aracı Özellikleri

Bu tahmin aracının parametrelerini eğitmek için verilere bakması gerekiyor mu? No
Giriş sütunu veri türü Single
Çıkış sütunu veri türü 3 öğeli vektörDouble
ONNX'e aktarılabilir No

Arka Plan

Microsoft olarak müşterilerin zaman serisini sürekli izlemesine ve olası olaylar için zamanında uyarı vermesine yardımcı olan bir zaman serisi anomali algılama hizmeti geliştirdik. Zaman serisi anomali algılama sorununu çözmek için Spektral Artık (SR) ve Kıvrımlı Sinir Ağı'nı (CNN) temel alan yeni bir algoritma öneriyoruz. SR modeli, görsel tükürük algılama etki alanından zaman serisi anomali algılamaya kadar ödünç alınır. Ve burada öncelikle bu SR algoritmasını ekledik.

Spektral Artık (SR) algoritması denetimsizdir, yani SR kullanılırken eğitim adımı gerekmez. Üç ana adımdan oluşur: (1) Log genlik spektrumunu almak için Fourier Dönüşümü; (2) spektral artıkların hesaplanması; (3) Diziyi uzamsal etki alanına dönüştüren Ters Fourier Dönüşümü. Matematiksel olarak, $\mathbf{x}$ dizisi verilip, $$A(f) = Genlik(\mathfrak{F}(\mathbf{x}))\P(f) = Phrase(\mathfrak{F}(\mathbf{x}))\L(f) = log(A(f))\AL(f) = h_n(f) \cdot L(f)\R(f) = L(f) - AL(f)\S(\mathbf{x}) = \mathfrak{F}^{-1}(exp(R(f) + P(f))^)^{2})$$ burada $\mathfrak{F}$ ve $\mathfrak{F}^{-1}$ sırasıyla Fourier Dönüşümü ve Ters Fourier Dönüşümü'ne karşılık gelir. $\mathbf{x}$ şekil $n × 1$ olan giriş dizisidir; $A(f)$, $\mathbf{x}$ dizisinin genlik spektrumudur; $P(f)$, $\mathbf{x}$; dizisinin karşılık gelen aşama spektrumudur; $L(f)$ $A(f)$; ve $AL(f)$, giriş dizisinin $h_n(f)$ tarafından birleştirilerek yaklaşık olarak hesaplanabilen ortalama $L(f)$ spektrumudur. burada $h_n(f)$ şu şekilde tanımlanmış bir $n × n$ matrisidir: $$n_f(f) = \begin{bmatrix}1&1&1&\cdots&1\1&1&1&\cdots&1\\vdots&\vdots&\vdots&\ddots&\vdots\1&1&1&\cdots&1\ end{bmatrix}$$ $R(f)$ ortalama günlük spektrumunu $AL(f)$ çıkaran günlük spektrumu $L(f)$ spektral artıkdır. Spektral artık, dizinin sıkıştırılmış bir gösterimi olarak görev yaparken, özgün dizinin yenilik kısmı daha önemli hale gelir. Sonunda sırayı Inverse Fourier Transform aracılığıyla uzamsal etki alanına geri aktarıyoruz. $S(\mathbf{x})$ sonuç dizisine saliency eşlemesi adı verilir. $S(\mathbf{x})$, $O(\mathbf{x})$ çıkış dizisi şu şekilde hesaplanır: $$O(x_i) = \begin{cases}1, if \frac{S(x_i)-\overline{S(x_i)}}{S(x_i)} > \tau\0,otherwise,\end{cases}$$ burada $x_i$ $\mathbf{x}$; $S(x_i)tükürük eşlemesinde karşılık gelen noktayı $is; $\overline{S(x_i)}$ ise önceki $ noktalarının yerel ortalamasıdırS(x_i)$.

SR algoritması için çeşitli parametreler vardır. İyi performansa sahip bir model elde etmek için önce windowSize ve eşik ayarlarını yapmanızı öneririz. Bunlar SR için en önemli parametrelerdir. Ardından windowSize değerinden büyük olmayan uygun bir judgementWindowSize araması gerçekleştirebilirsiniz. Kalan parametreler için de varsayılan değeri doğrudan kullanabilirsiniz.

Daha fazla ayrıntı için lütfen Microsoft'ta Zaman Serisi Anomali Algılama Hizmeti makalesine bakın.

Yöntemler

Fit(IDataView)

Spektral Artık (SR) algoritmasını kullanarak zaman serisindeki anomalileri algılama

(Devralındığı yer: TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

Spektral Artık (SR) algoritmasını kullanarak zaman serisindeki anomalileri algılama

Uzantı Metotları

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

Tahmin aracı zincirine bir 'önbelleğe alma denetim noktası' ekler. Bu, aşağı akış tahmincilerinin önbelleğe alınan verilere karşı eğitilmesini sağlar. Birden çok veri geçişi alan eğitmenlerden önce bir önbelleğe alma denetim noktası olması yararlıdır.

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

Tahmin aracı verildiğinde, çağrıldıktan sonra Fit(IDataView) temsilci çağıracak bir sarmalama nesnesi döndürün. Tahmin aracının neyin uygun olduğu hakkında bilgi döndürmesi genellikle önemlidir. Bu nedenle Fit(IDataView) yöntem yalnızca genel ITransformerbir nesne yerine özel olarak yazılan bir nesne döndürür. Bununla birlikte, aynı zamanda, IEstimator<TTransformer> genellikle birçok nesneye sahip işlem hatları halinde oluşturulur, bu nedenle transformatör almak istediğimiz tahmin aracının EstimatorChain<TLastTransformer> bu zincirde bir yere gömülü olduğu bir tahmin aracı zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla sığdır çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz.

Şunlara uygulanır

Ayrıca bkz.