Zaman Serisi Anomali Algılama
Önemli
Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.
1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.
- Makine öğrenmesi projelerini ML Studio'dan (klasik) Azure Machine Learning taşıma hakkındaki bilgilere bakın.
- Azure Machine Learning hakkında daha fazla bilgi edinin.
ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.
Giriş zaman serisi verilerindeki anomalileri algılar.
Kategori: Zaman Serisi
Not
Şunlar için geçerlidir: yalnızca Machine Learning Studio (klasik)
Benzer sürükle ve bırak modülleri de Azure Machine Learning tasarımcısında kullanılabilir.
Modüle genel bakış
Bu makalede, zaman serisi verilerindeki anomalileri algılamak için Machine Learning Studio'da (klasik) Zaman Serisi Anomali Algılama modülünün nasıl kullanılacağı açıklanmaktadır. Modül, giriş olarak sağladığınız bir zaman serisinin normal çalışma özelliklerini öğrenir ve bu bilgileri normal desenden sapmaları algılamak için kullanır. Modül hem genel eğilimdeki değişiklikleri hem de değer aralığındaki değişiklikleri algılayabilir.
Zaman serisi verilerindeki değişiklikleri algılamanın geniş uygulamaları vardır. Örneğin, algılayıcıların, ağların veya kaynak kullanımının neredeyse gerçek zamanlı olarak izlenmesi için bu özelliği kullanabilirsiniz. Hizmet hatalarını, hizmet kullanımını ve diğer KPI'leri izleyerek kritik anomalilere hızlı bir şekilde yanıt vererek. Diğer uygulamalar sağlık ve finanstır.
Anomali algılama yöntemleri
Anomali algılama, verilerdeki "normal" davranış modeline uymayan desenleri bulma sorunudur. Bu tür değişiklikleri algılamaya yönelik tipik yaklaşımlar, verilerin ortalamadan önemli ölçüde sapmasını belirlemek için basit insan tarafından hesaplanan eşikler veya ortalama ve standart sapma kullanır.
Ancak, bu tür basit yaklaşımlar zaman serisi verilerine kolayca uyarlanmaz:
Çok sayıda yanlış anomali oluşturulur
Yöntemler, veri değerlerini değiştirmek için geçerli değildir
Büyük zaman serisine kolayca ölçeklendirilemiyor
Bu modül, bir zaman serisi eğiliminden varyansı değerlendirmek için iki ek yöntem sağlar:
Yukarı ve aşağı doğru değişikliklerin büyüklüğünü ölçme
Örneğin, bir web hizmetindeki istek sayısı bir süre için en iyi duruma getirilebilir ve ardından önemli ölçüde artabilir.
Eğilimlerin yönünü ve süresini ölçme: pozitif ve negatif değişiklikler
Örneğin, bir hizmet kuyruğunun uzunluğundaki kalıcı bir yukarı doğru eğilim, temel alınan bir sorunu gösterebilir. Genel eğilim tutarlı bir şekilde artsa ve bu nedenle kararlı olarak kabul edilebilse de, eğimdeki bir değişiklik anomali olarak işaretlenebilir. Buna karşılık, bir sunucunun bellek kullanımını izliyorsanız, boş bellek boyutundaki sabit bir azalma bir sorunu gösterebilir.
Zaman serisindeki anormal desen örnekleri
Yukarı ve aşağı düzey değişiklikleri
Örneğin, bir web hizmetine yönelik günlük istek sayısını belirli bir süre boyunca izlediğinizi ve isteklerin sayısının belirli bir aralıkta kaldığını varsayalım. Ancak, web hizmetinde yapılan bir güncelleştirmeden sonra, bu web hizmetine yönelik istek sayısı değişir. Yeni eğilim, özgün eğilimden daha yüksek veya daha düşük olabilir; hem yukarı hem de aşağı doğru ani artışlar algılanabilir.
Pozitif veya negatif eğilim değişiklikleri
Örneğin, bir hizmet destek sitesindeki kuyruğun uzunluğunu izlediğinizi varsayalım. Kalıcı bir yukarı doğru eğilim, temel alınan bir hizmet sorununa işaret edebilir.
Diğer durumlarda, kalıcı bir negatif eğilim anomali olabilir. Örneğin, bir sunucuda bellek kullanımını izliyorsanız, boş bellek boyutu küçülürse, bu olası bir bellek sızıntısına işaret edebilir.
Kaynaklar
Bu yaklaşımı temel alan araştırma hakkında daha fazla bilgi için şu makalelere bakın:
Shen-Shyang Ho; Wechsler, H., "A Martingale Framework for Detecting Data Akışlar by Testing Exchangeability," Pattern Analysis and Machine Intelligence, IEEE Transactions , vol.32, no.12, pp.2113,2127, Dec. 2010
Valentina Fedorova, Alex J. Gammerman, Ilia Nouretdinov, Vladimir Vovk, "Plug-in martingales for testing exchangeability on-line", ICML 2012
Vladimir Vovk, Ilia Nouretdinov, Alex J. Gammerman, "Testing Exchangeability Online", ICML 2003.
Zaman Serisi Anomali Algılamayı yapılandırma
Denemenize Zaman Serisi Anomali Algılama modülünü ekleyin ve zaman serisini içeren veri kümesini bağlayın.
Giriş olarak kullanılan veri kümesi, dize biçiminde tarih saat değerlerini içeren en az bir sütun ve eğilim değerlerini içeren başka bir sütunu sayısal biçimde içermelidir. Diğer sütunlar yoksayılır.
Her satır, o zamandaki değeri temsil eden zaman serisindeki bir veri noktasına karşılık geldiğinden, zaman değerleri benzersiz olmalıdır.
Veri Sütunu: Veri kümenizde sayısal veri değerleri içeren tek bir sütun seçin. Bu değerler, zaman içindeki nüfus toplamları, aylık maliyetler veya bir dönem içindeki sıcaklıklar gibi modellemek istediğiniz eğilimdeki veri noktalarıdır.
Zaman Sütunu: Veri kümenizde ilişkili zaman serisi değerini içeren tek bir sütun seçin.
Sütun geçerli tarih saat değerleri içermelidir; başka bir deyişle tüm tarihler .NET Framework tarafından desteklenen tarih aralığında olmalıdır.
Time sütunu DateTime veri türünü kullanmalıdır. Tarihleriniz dize biçimindeyse, Bunları Dönüştürmeyi Uygula modülünü kullanarak SQL dönüştürebilir veya R Betiği Yürütme modülünü kullanarak dönüştürebilirsiniz. Tarihleriniz tamsayı olarak gösteriliyorsa, değerleri geçerli bir tarih saat biçimi kullanarak göstermek için uygun bir tarih saat dönüştürme işlevi de kullanmanız gerekir.
Örneğin, aşağıdaki SQL deyimi Excel seri tarih değerini tarih saat biçimine değiştirir:
SELECT CAST([SerialDate] AS SmallDateTime) as [NewValidDate] from t1;
Tarih değerleri doğru biçimde olduktan sonra, sütun türünü DateTime olarak ayarlamak için Meta Verileri Düzenle modülünü kullanın.
Martingale Türü: Kullanılacak martingale işlevini seçin.
PowerAvg. Bu seçenek, power martingale'in marjinalleştirilmiş bir uygulamasıdır.
Varsayılan değer, ek parametre içermeyen PowerAvg'dir . Bu seçenek daha kararlı bir anomali algılayıcısı sağlar ve çoğu ihtiyaç için uygun olmalıdır.
Güç. Güç martingalesinin marjinalleştirilmemiş bir uygulaması.
Güç seçeneği, kullanıcılara detektörün duyarlılığını denetlemek için Epsilon parametresi için 0 ile 1 arasında bir değer sağlama seçeneği sağlar. Genellikle, daha yüksek bir epsilon değeri anomalilere daha yüksek duyarlılık ancak daha az kesinlik anlamına gelir.
Martingallerin tanımı ve bu modülde kullanılan yöntemler için bkz. Zaman serisi verilerindeki anormallikleri algılamak için makine öğrenmesini kullanarak anomali algılama
Gariplik İşlev Türü: Bu seçenek belirli anomali türleri için kullanılır. Ek parametre gerektirmeyen üç seçenek desteklenir:
RangePercentile.
Bu varsayılandır ve çoğunlukla düzey değişikliklerini algılamak için kullanılır.
SlowPosTrend. Pozitif eğilim değişikliklerini algılamak için bu seçeneği belirleyin.
SlowNegTrend. Negatif eğilim değişikliklerini algılamak için bu seçeneği belirleyin.
Martingale ve Gariplik Değerlerinin Uzunluğu: Geçmiş penceresinin boyutunu belirtin. Bu pencere, geçmişe bakma geçmişindeki martingale değerlerini hesaplamak için kullanılır.
Varsayılan değer 500'dür, ancak 0 ile 5000 arasında herhangi bir tamsayı belirtebilirsiniz. Büyük zaman serisi için varsayılan değerin düzgün çalışması gerekir. Daha küçük bir zaman serisi için, anormal davranışın beklenen uzunluğu için değeri tahmin etmeyi deneyebilirsiniz.
Bu iki parametreyi genel olarak aynı değere ayarlamanızı öneririz.
Gariplik Değerlerinin Uzunluğu: Her veri noktasında garipliği hesaplamak için kullanılan geçmiş penceresinin uzunluğunu belirtin.
Varsayılan değer 500'dür, ancak 0 ile 5000 arasında herhangi bir tamsayı belirtebilirsiniz.
Bu parametre, Martingale Uzunluğu ile aynı kısıtlamalara sahiptir. Başka bir ifadeyle, değeri "normal" davranışı öğrenmek için gereken tahmini veri noktası sayısına ayarlamanız gerekir.
Varsayılan değer olan 500 çoğu durumda işe yarar, ancak "normalliğin" ölçüldiği ölçek değişirse, Gariplik Değerlerinin Uzunluğu değerini Martingale Uzunluğundan daha büyük bir değer haline getirmek yararlı olabilir.
Örneğin, hataları izliyorsanız ve veri noktalarının 15 dakikalık aralıklarla yakalandığını varsayarsanız, normal eğilimi öğrenmek için gereken süre aydan aya büyük ölçüde değişebilir.
Genel olarak, modülün daha büyük bir veri kümesini öğrenmesi gerekdiğinden, daha büyük bir pencere boyutunun kullanılması performansın yavaşlamasına neden olur.
Bu iki parametreyi genel olarak aynı değere ayarlamanızı öneririz.
Uyarı Eşiği: Anomali puanının bir uyarı oluşturacağı değeri belirtin.
Varsayılan değer 3,25'tir, yani 3,25 veya daha fazla puan içeren her satır için bir uyarı oluşturulur. Y
0 ile 100 arasında herhangi bir kayan nokta numarası belirtebilirsiniz. Ancak eşik seçiminde duyarlılık ve güvenilirlik arasında bir denge vardır:
Daha düşük bir eşik, algılayıcının anomalilere karşı daha hassas olmasını ve daha fazla uyarı oluşturmasını sağlar.
Daha düşük bir eşik, normal değişikliklerin anomali olarak yanlış sınıflandırılmasıyla sonuçlanabilir.
Denemeyi çalıştırın.
Bu modeli ayrı olarak eğitmeniz gerekmediğini unutmayın; algoritma, bu modüle giriş olarak sağladığınız verilerden deseni öğrenir.
Sonuçlar
Eğitim tamamlandığında modül, giriş zaman serisiyle aynı uzunlukta bir zaman serisi verir; ancak, anormal olabilecek değerleri göstermek için iki sütun eklenir.
Anomali Puanı: İlk sütun, zaman serisi değerinin anormal olma olasılığını temsil eden bir puan içerir.
Uyarı: Bu sütun 0 veya 1 değerine sahip bir bayrak içerir; burada 1, anomali algılandığı anlamına gelir. Uyarıyı oluşturmak için eşiği puan sütununa göre ayarlayabilir, ancak Uyarı Eşiği parametresini ayarlayabilirsiniz.
Örnekler
Aşağıdaki örneklerde, anomalileri algılamak için martingale işlevinin nasıl ayarlanacağı ve sonuçların nasıl yorumlanacağı gösterilmektedir.
Düzey değişikliklerini algılama
Farklı ayarların etkisini göstermek için, bu örnekte kullanılan örnek veri kümesi üç düzey değişiklikle birlikte 8870 veri noktasından oluşur. Bu verilere dayanarak aşağıdaki parametreleri kullanarak iki model oluşturduk.
Martingale Türü: PowerAvg
Strangeness işlev türü: RangePercentile
Martingale uzunluğu = 50
Gariplik Değerlerinin Uzunluğu = 50
Model gelen veriler üzerinde eğitildi, ancak Uyarı Eşiği için farklı bir değer uygulandı. Tahmin sonuçları, Model 1 ve Model 2 için aşağıdaki görüntülerde çizilmiştir. Bu grafiklerde mavi çizgiler veri değerlerini, kırmızı çizgiler ise anomali için tetiklenen uyarıları temsil eder.
Uyarı eşiği 0,9
Bu modelde eşik değeri daha düşüktür ve bu nedenle değişiklikler anlık olduğunda bile uyarılar tetiklenir (anomaliler algılanır).
İzlediğiniz zaman serisinin türüne bağlı olarak, bu uyarılardan bazıları yanlış uyarılar olarak kabul edilebilir. Ancak, herhangi bir anomaliyi gözden kaçırmayı göze alamazsanız daha düşük bir eşik tercih edilebilir.
Uyarı eşiği 3,25
Bu modelde uyarı eşiği çok daha yüksekti ve sonuç olarak model yalnızca daha uzun süre kalıcı olan değişiklikleri algılar. Yalnızca daha uzun süreli değişiklikleri yakalamak istediğiniz bir senaryoda uyarı için daha yüksek bir eşik daha fazla tercih edilebilir.
Pozitif eğim değişikliklerini algılama
Anomali algılamaya yönelik bu seçeneği göstermek için 300 veri noktası içeren örnek bir veri kümesi kullandık. Tüm noktalar, iki anomali ile genel olarak pozitif bir eğilim oluşturdu.
Yine, uyarı eşik değeri dışında aynı olan parametreleri kullanarak iki model oluşturduk.
Martingale Türü: PowerAvg
Strangeness işlev türü: SlowPosTrend
Martingale uzunluğu = 50
Gariplik Değerlerinin Uzunluğu = 50
Bu grafiklerde mavi çizgiler veri değerlerini, kırmızı çizgiler ise anomali için tetiklenen uyarıları temsil eder.
Uyarı Eşiği 4,25
Uyarı Eşiği 6.0
Anomali algılama senaryonuza uygun duyarlılık düzeyini bulmak için farklı uyarı eşiği değerleriyle denemeler gerçekleştirmenizi öneririz.
Beklenen girişler
Ad | Tür | Description |
---|---|---|
Zaman damgaları ve değerleri içeren giriş verileri | Veri Tablosu | Tarih-saat damgaları ve değerleri içeren giriş verileri. |
Modül parametreleri
Ad | Tür | Aralık | İsteğe Bağlı | Varsayılan | Description |
---|---|---|---|---|---|
Değer Sütunu | ColumnSelection | Gerekli | İzlenen zaman serisini içeren sütunu seçin | ||
Pencere Boyutu | Tamsayı | Gerekli | Analiz penceresinin boyutunu denetleen bir değer belirtin | ||
Eşik | Float | İsteğe Bağlı | Anomaliyi tanımlamak için puan üzerindeki eşiği belirleyen bir değer belirtin |
Çıkışlar
Ad | Tür | Description |
---|---|---|
Anomali puanları ile açıklama ek açıklamalı zaman serisi | Veri Tablosu | Anomali aralıkları olan veri kümesi. |
Ayrıca bkz.
Anomali Algılama
Tek Sınıf Destek Vektör Makinesi
PCA Tabanlı Anomali Algılama