Anomali ve Anomali Tespiti Nedir?
Verinin raporlanması sürecine gelene değin pek çok farklı aşamada veri setine müdahalelerde bulunmamız gerekir. Bu verinin edinilmesi ile başlayıp temizlenerek düzenli bir hale getirilmesi ile devam eder. Ancak, bu aşamada anormallikleri de göz önünde bulundurmamız gerekir.
Eksiklikler var ise uygun bir şekilde bu eksiklikleri doldurmalı ya da sınırı geçen değerler var ise bunların nedenselliğini göz önünde bulundurmalıyız. Elbette, nedenselliği tespit edebilmemiz için öncelikle bu ani değişimlerin (artışlar, azalış, sapma vb.) ne ifade ettiğine bakmamız gerekir.
Anomali
Anomali (anomaly, outlier) veya anormallik, en temel ifade ile beklenen bir duruma/akışa uymayan bir şeyi ifade eder. Öncelikle belirtmekte fayda var ki, düzensizlik ile anormallik tamamen aynı şeyler değillerdir. Veri akışındaki düzensizlik ifadesi için düzensiz olan bir akış gerekirken, anormallik beklenen durumlara uymayan geçici bir durumu nitelendirir. Örneğin, aşağıda da grafik olarak görüldüğü üzere, web sitenizdeki sayfa görüntüleme sayısının zamana bağlı olarak belli bir oranda devam ettiğini ve/veya artış gösterdiğini düşünelim.
Bu grafik üzerinden ilerleyelim. Görüldüğü üzere zamana bağlı olarak artış tutarlı diyebileceğimiz bir şekilde gerçekleşmekte. Beklentimiz de yine bu şekilde, örüntülere dayalı gelişimdir.
Sayfa temelinde görüntüleme yaparak ilerleyelim. Görüldüğü üzere grafikte dönemsellik ve mevsimsellik gibi durumları da yakalayabileceğimiz bir zaman aralığı seçili. Ancak, Ocak ayı zamana bağlı değişime uymayacak bir sayfa görüntüleme değerine sahip. İşte bu gibi kısa süren ve tekrarı olmayan durumları anomali olarak ifade etmekteyiz. Konuyu biraz daha netleştirmek adına aşağıda 2 farklı grafik daha paylaşacağım.
Bu grafik eğitim müfredatı ve okul dönemine bağlı olarak, sınav dönemlerinde sıklıkla görüntülenen bir sayfanın sayfa görüntüleme değerini vermekte. Görüntülenen sayfa Şubat-Temmuz arasında, her yıl tekrarlanmak üzere benzer bir görüntüleme almakta. Ancak, yılın diğer aylarında stabil diyebileceğimiz bir akış işe devam etmekte. Buradaki değişim anomali değil dönemsellik ile ifade edilmelidir.
Bu grafik ise yılın belli dönemlerinde ortaya çıkan ve bir böcek türü ile ilişkilidir. Mart sonu gibi gözlemlenen bu böcek türü ilgi çekiciliği ve neden olduğu alerjik reaksiyonlar sebebiyle her yıl aynı dönemde benzer bir etki oluşturmaktadır. Trend yani eğilim kavramına dair de kısa bir not düşmekte fayda var. Eğilim (trend), bir zaman serisi oluşturan değerlerde zamana bağlı olarak ortaya çıkan artış veya azalış olarak tanımlanabilir. Eğilim ifadesi demografik, sosyolojik ya da iktisadi olaylarla ilişkili açıklamalarda kullanılabilmektedir. Zaman serisi ise kronolojik sırayla elde edilen veri noktalarını ifade eder. Bu tanımları farklı başlıklar altında detaylandıracağım. Şimdi ana konumuza geri dönelim1.
Google Analytics web ve mobil uygulaması üzerinden erişebileceğimiz Analiz bölümü altında sayfaların sahip olduğu anormal değişiklikleri görmek mümkün2.
Bu sayede değişimleri takip edip SEO ve/veya sunucu performansına yönelik aksiyonlar almak da mümkün olacaktır.
Anomali ve Gürültü
Anomali ile gürültü arasındaki ilişkiye de kısaca bir bakalım. Gürültü (noise) yanlış etiketlenmiş veya öznitelik değerlerindeki hataları ifade ederken anomali yalnızca hataları değil uyumsuz verileri de içeren daha kapsayıcı bir kavram olarak ele alınmalıdır. Anomaliler bu değişimin altında yatan nedenselliğe dair ilginç ve faydalı bilgiler edinebilmemizi sağlayabilirler. Kredi kartı örneği üzerinden ilerleyecek olursak, dolandırıcılık kontrolü, hava tahmini, tıbbi teşhis gibi süreçlerde anomalilerin tespit edilip değerlendirilmesi süreçlerinden sıklıkla faydalanmaktadırlar.
Anomalilerin tespitinde kullanılan algoritmalar farklılıkların (outlierness) ölçümünde puanlamalar kullanırlar; yoğunluk, en yakın komşu kümeleme veya istatistiksel çıkarım gibi. Puanlama sonucunda anomaliler gürültülerden daha yüksek puanlar alarak ayrılırlar. Gürültü hatadır. Araya karışan ya da rastlantısal olarak ortaya çıkan değerleri ifade eder, ilginç değildir. Anormali ise bir gürültü sonucuda ortaya çıkmamış ise ilginç olabilir. Yazının giriş bölümünde hep sayfa görüntüleme üzerinden ilerlemiştik. Yine sayfa görüntüleme üzerinden anomali ve gürültü arasıdaki farkı açıklayacak olursak, bir kod (donma sonrası sayfa yenileme, yönlendirme sorunu vb.) ya da donanım hatası (erişim hatası veya çökme nedeniyle sayfaların görüntülenememesi vb.) sebebiyle bazı sayfaların kullanıcı dışı ve yoğun olmayan görüntüleme ya da görüntülenme kaybı gürültü olarak nitelendirilebilir.
Anomali (Anomaly Detection) Tespiti
Verilerin yorumlanması sürecinde anomalileri ayrıca göz önünde bulundurmamız gerekmektedir. Bu işlem hariç tutma ya da sadece anomalileri tespit etme üzerine gerçekleştirilebilir. Anomaliler ise nokta anomalileri, bağlamsal anomaliler ve toplu anomaliler olmak üzere üç tip üzerinden ifade edilebilir3.
Nokta anomaliler (point anomalies) belli bir veri üzerindeki anormal durumu niteler. Nokta anomalilerde farklılık belli bir niteliğe (attribute) bağlıdır. Örnek olarak kredi kartı harcamaları ele alınabilir. Tatil dönemlerindeki değişimler de göz önünde bulundurulduğunda, sezonsallık dışındaki bir uç harcama anomali olarak nitelendirilecektir4 5.
Bağlamsal anomaliler (contextual anomalies) bir bağlam içindeki anomaliyi niteler, koşullu anomaliler olarak da adlandırılabilirler.
Toplu anomali (collective anomaly) birbiriyle ilişkili veri örneklerinin tüm veri setinde anomali oluşturduğu durumları ifade eder.
Anomali Tespitinin Önemi
İlerleyen zaman içerisinde, öncelik R ile olmak üzere anomali tespitine dair örnek uygulamalar paylaşacağım. Ancak, öncesinde anomali tespitinin önemine dair bir anekdot paylaşmak istiyorum6.
1985 yılında, Halley Araştırma İstasyonu7 tarafından toplanan veriler Antartika için ozon seviyesinin %10 altına düşmüş olduğunu göstermektedir. Ancak, ozon seviyesini kayıt eden Nimbus 78 uydusu ise bu kayıtlara sahip olmadığı ortaya çıkmıştır. Çünkü, bilgisayar programı bu değişimi anomali olarak değerlendirip kayıt altına almamıştır. Görüldüğü üzere ne arandığına bağlı olarak anomaliler oldukça kritik anlamlar taşıyabilmektedirler2.
- Eğilim. Wikipedia. Erişim: 29 Mart 2020 ↩
- Nikolaj Bomann Mertz. (2018). Anomaly Detection in Google Analytics — A New Kind of Alerting ↩ ↩
- Oğuz Kırçiçek. (2018). A’dan Z’ye Anomaly Detection ↩
- Örnek, Ö., Vatan, S., Sarıoğlu, S. ve Yazıcı, A., 2018. Trafik Ağlarında Anomali Tespiti. Eskişehir Osmangazi Üniversitesi Mühendislik ve Mimarlık Fakültesi Dergisi 26(5), pp.132-138. Dergipark. ↩
- Aggarwal, C. C. (2017). Applications of Outlier Analysis. Outlier Analysis, 466. doi: 10.1007/978-3-319-47578-3. Springer ↩
- Dr. Öğr. Üyesi Uzay ÇETİN. (2020). Yapay Öğrenme ile Anomali Tespiti: Siyah Kuğuları Yakalamak ↩
- Antarktika'daki araştırma istasyonlarının listesi. Wikipedia ↩
- Nimbus 7. Wikipedia ↩