Anomali Algılayıcısı tek değişken API'sini kullanmaya yönelik en iyi yöntemler
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 noktası 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şlem (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 bir 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ı önermiyoruz.
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ğı doğruysa bazı değişiklik noktaları (verilerdeki düşüşler ve ani artışlar) model tarafından kaçırılabilir. Benzer şekilde, veri kümesinin sonraki bölümlerindekinden 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ılamayı sürekli uygulayarak akış verisi izleme 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ın sürekli olarak algılanması sonucu gösterilmektedir. Kırmızı noktalar anomalilerdir.
Aşağıda toplu anomali algılama kullanan veri kümesi aynıdır. İşlem için oluşturulan model dikdörtgenlerle işaretlenmiş birkaç anomaliyi yoksaymıştır.
Veri hazırlama
Anomali Algılayıcısı API'si bir JSON istek nesnesine biçimlendirilmiş zaman serisi verilerini kabul eder. Zaman serisi, zaman içinde sıralı olarak 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 noktadı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 sahip olanlar (Küçük bir örnekleme aralığı) olmak üzere eşit dağıtılmış zaman serisi veri kümelerinde yaygındır. Örneğin, veriler birkaç dakikada bir örnekleniyor). 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ıldıysa, 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 desene sahip olduğunu (düzenli aralıklarla oluşan bir model) biliyorsanız 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 period
bir veri noktası içeren bir zaman serisinin değeri 7
ve saatte bir nokta içeren bir zaman serisinin (aynı haftalık desene sahip) bir period
7*24
değeri olabilir. Verilerinizin desenlerinden emin değilseniz bu parametreyi belirtmeniz gerekmez.
En iyi sonuçlar için dört period
veri 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'sinin izin verilen maksimum 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.