Anomali Algılayıcısı tek değişkenLI API'yi kullanmaya yönelik en iyi yöntemler

Önemli

20 Eylül 2023 tarihinden itibaren yeni Anomali Algılayıcısı kaynakları oluşturamayacaksınız. Anomali Algılayıcısı hizmeti 1 Ekim 2026'da kullanımdan kaldırılıyor.

Anomali Algılayıcısı API'si durum bilgisi olmayan bir anomali algılama hizmetidir. Sonuçlarının doğruluğu ve performansı aşağıdakilerden etkilenebilir:

  • Zaman serisi verilerinizin nasıl hazırlandığı.
  • Kullanılan Anomali Algılayıcısı API parametreleri.
  • API isteğinizdeki veri noktalarının sayısı.

Verileriniz için en iyi sonuçları elde etmek üzere API'yi kullanmaya yönelik en iyi yöntemler hakkında bilgi edinmek için bu makaleyi kullanın.

Toplu iş (tam) veya en son (son) nokta anomali algılaması ne zaman kullanılır?

Anomali Algılayıcısı API'sinin toplu algılama uç noktası, zaman serisi verilerinizin tamamında anomalileri algılamanıza olanak tanır. Bu algılama modunda tek bir istatistiksel model oluşturulur ve veri kümesindeki her noktaya uygulanır. Zaman seriniz aşağıdaki özelliklere sahipse, verilerinizi tek bir API çağrısında önizlemek için toplu algılama kullanmanızı öneririz.

  • Zaman zaman anomalileri olan mevsimsel zaman serisi.
  • Zaman zaman ani artışların/düşüşlerin olduğu düz bir eğilim zaman serisi.

Gerçek zamanlı veri izleme için toplu anomali algılamanın kullanılmasını veya yukarıdaki özelliklere sahip olmayan zaman serisi verilerinde kullanılmasını önermeyiz.

  • Toplu algılama yalnızca bir model oluşturur ve uygular, her nokta için algılama tüm seri bağlamında yapılır. Zaman serisi veri eğilimleri mevsimsellik olmadan yukarı ve aşağı yönlü olursa model bazı değişiklik noktalarını (verilerdeki düşüşler ve ani artışlar) kaçırabilir. Benzer şekilde, veri kümesinde daha sonrakilerden daha az önemli olan bazı değişiklik noktaları modele dahil edilecek kadar önemli olarak sayılamayabilir.

  • Toplu işlem algılama, analiz edilen nokta sayısı nedeniyle gerçek zamanlı veri izleme yaparken en son noktanın anomali durumunu algılamaktan daha yavaştır.

Gerçek zamanlı veri izleme için yalnızca en son veri noktanızın anomali durumunu algılamanızı öneririz. En son nokta algılama sürekli uygulanarak akış veri izlemesi daha verimli ve doğru bir şekilde gerçekleştirilebilir.

Aşağıdaki örnekte bu algılama modlarının performans üzerindeki etkisi açıklanmaktadır. İlk resimde, daha önce görülen 28 veri noktası boyunca anomali durumunun en son noktasını sürekli olarak algılamanın sonucu gösterilmektedir. Kırmızı noktalar anomalilerdir.

En son noktayı kullanarak anomali algılamayı gösteren görüntü

Aşağıda toplu anomali algılama kullanan aynı veri kümesi yer almaktadır. İşlem için oluşturulan model dikdörtgenlerle işaretlenmiş birkaç anomaliyi yoksaymıştır.

Batch yöntemini kullanarak anomali algılamayı gösteren görüntü

Veri hazırlama

Anomali Algılayıcısı API'sinde bir JSON istek nesnesine biçimlendirilmiş zaman serisi verileri kabul eder. Zaman serisi, zaman içinde sıralı sırada kaydedilen herhangi bir sayısal veri olabilir. API'nin performansını geliştirmek için zaman serisi verilerinizin pencerelerini Anomali Algılayıcısı API uç noktasına gönderebilirsiniz. Gönderebileceğiniz en az veri noktası sayısı 12, en fazla 8640 puandır. Ayrıntı düzeyi , verilerinizin örnekleme hızı olarak tanımlanır.

Anomali Algılayıcısı API'sine gönderilen veri noktalarının geçerli bir Eşgüdümlü Evrensel Saat (UTC) zaman damgası ve sayısal değeri olmalıdır.

{
    "granularity": "daily",
    "series": [
      {
        "timestamp": "2018-03-01T00:00:00Z",
        "value": 32858923
      },
      {
        "timestamp": "2018-03-02T00:00:00Z",
        "value": 29615278
      },
    ]
}

Verileriniz standart olmayan bir zaman aralığında örnekleniyorsa, isteğinize özniteliğini customInterval ekleyerek belirtebilirsiniz. Örneğin, seriniz 5 dakikada bir örnekleniyorsa, JSON isteğinize aşağıdakileri ekleyebilirsiniz:

{
    "granularity" : "minutely", 
    "customInterval" : 5
}

Eksik veri noktaları

Eksik veri noktaları, özellikle ince ayrıntı düzeyine (küçük bir örnekleme aralığı) sahip olanlar olmak üzere eşit dağıtılmış zaman serisi veri kümelerinde yaygındır. Örneğin, veriler birkaç dakikada bir örneklenmiş). Verilerinizde beklenen nokta sayısının %10'undan azının eksik olması, algılama sonuçlarınızı olumsuz etkilememelidir. Verilerinizdeki boşlukları, önceki bir dönemdeki veri noktalarını değiştirme, doğrusal ilişkilendirme veya hareketli ortalama gibi özelliklerine göre doldurmayı göz önünde bulundurun.

Dağıtılmış verileri toplama

Anomali Algılayıcısı API'si en iyi şekilde eşit dağıtılmış bir zaman serisinde çalışır. Verileriniz rastgele dağıtılmışsa, dakika başına, saatlik veya günlük gibi bir zaman birimine göre toplamanız gerekir.

Mevsimsel desenlere sahip verilerde anomali algılama

Zaman serisi verilerinizin mevsimsel bir deseni olduğunu biliyorsanız (düzenli aralıklarla gerçekleşen veriler), doğruluğu ve API yanıt süresini geliştirebilirsiniz.

JSON isteğinizi oluştururken bir period belirtilmesi anomali algılama gecikme süresini %50'ye kadar azaltabilir. period, bir deseni yinelemek için zaman serisinin kabaca kaç veri noktası aldığını belirten bir tamsayıdır. Örneğin, günde bir veri noktasına sahip period bir zaman serisinin değeri 7ve saat başına bir nokta içeren bir zaman serisinin (aynı haftalık desene sahip) bir period 7*24değeri olacaktır. Verilerinizin desenlerinden emin değilseniz bu parametreyi belirtmeniz gerekmez.

En iyi sonuçlar için dört periodveri noktası değeri ve ek bir veri noktası sağlayın. Örneğin, yukarıda açıklandığı gibi haftalık desene sahip saatlik veriler, istek gövdesinde (7 * 24 * 4 + 1) 673 veri noktası sağlamalıdır.

Gerçek zamanlı izleme için örnekleme verileri

Akış verileriniz kısa bir aralıkta (örneğin saniye veya dakika) örnekleniyorsa, önerilen veri noktası sayısını göndermek Anomali Algılayıcısı API'nin izin verilen en fazla sayısını (8640 veri noktası) aşabilir. Verileriniz kararlı bir mevsimsel desen gösteriyorsa, saat gibi daha büyük bir zaman aralığında zaman serisi verilerinizin bir örneğini göndermeyi göz önünde bulundurun. Verilerinizi bu şekilde örneklemek API yanıt süresini de önemli ölçüde iyileştirebilir.

Sonraki adımlar