Bu yazımızda, veri madenciliği
çalışmalarında sıkça karşılaşılan "büyük
miktarda veri içinde nadir görülen olayların keşfedilmesi"
problemlerini çözerken dikkat etmemiz gereken önemli bir konuyu ele alacağız. İstatistik
literatüründe çoklu
karşılaştırma problemi, çoklu hipotez testi gibi isimlerle
anılan bu problemler veri madenciliği alanında aktif araştırma konuları içinde
yer almaktadır [1].
Değişik uygulama alanları olmakla birlikte, biz burada bir örnek üzerinden
temel problemi anlatmaya çalışacağız.
Büyük veri içinde nadir görülen
olayların konu bağlamında incelenmesinin güzel bir örneğini, Devasa Veri Setlerinde
Madencilik [2] kitabında
görüyoruz. Dünya süper gücü olan bir devletin, bütün dünyayı bir
çok veri toplama yöntemi ile sürekli izlediğini varsayalım. Toplanan bu
veriler işlenmekte, kişilerin ne yaptığı konusunda veri madenciliği yöntemleri
ile otomatik çıkarımlar yapılmakta, çıkan sonuçlar olası tehdit
değerlendirmeleri olarak istihbarat servisine aktarılmaktadır.
İstihbarat servisi çıkan bu
bilgilere dayanarak elindeki imkanları belirlenen
kişileri yakın takibe almak için kullanmaktadır. Böylelikle olası tehditlerin
gerçekleşmeden önlenebilmesi için önemli bir kazanım elde edildiği
düşünülmektedir.
Bu tarz bir sistemin çalışmasında
elimizde büyük veri işleme imkan ve kabiliyetleri var
ise nasıl bir çıkarım mekanizması kurulabilir? Bu çıkarım mekanizması bizi
gerçekten faydalı bir sonuca götürebilir mi? Yani
olası tehditleri gerçekleştirecek kişiler listesine. Yoksa masum insanları
şüpheli konumuna düşürme, dolayısı ile hem bu kişileri rahatsız etme, belki de
gözetim altına alma, hem de imkanların boş yere
harcanması şeklinde istenmeyen bir sonuca varabilir miyiz? Cevap, aradığımız
aktivitelerin tanımını ne kadar daralttığımıza bağlıdır. Bunun teorik bir arka
planı da vardır.
Bonferroni prensibi
Elimizde bir miktar veri var ve
bu verinin içinde belli tipteki olayların gerçekleşip gerçekleşmediğini
araştırıyoruz. Elimizdeki bu veri tamamen rastgele üretilmiş bir veri olsa
bile, aradığımız tipte olayların bu verinin içinde olma olasılığı vardır ve
verinin boyutu büyüdükçe aradığımız tipte olayların bu verinin içinde bulunma
sayılarının artmasını beklemek yanlış olmaz. Bu şekilde tespit edilen gerçeklemeler
teknik olarak aldatmaca olarak
nitelendirilir ve bazı az rastlanan özelliklerin önemli olarak gözükebileceği,
fakat tamamen rastgele olan verilerde bu tip durumların şans eseri olabileceği
düşüncesi ile önemsiz olduğu kabul edilir. İstatistikte Bonferroni düzeltmesi olarak geçen teorem kullanılarak, buradaki aldatmacalı
pozitif dönüşlerin önemli bir kısmından kurtulmak mümkündür. Yani veri içindeki
rastgele oluşmuş bulunan olayların gerçek olaylarmış gibi ele alınmasına engel
olacak bir yöntemden bahsediyoruz.
Bunun için, verinin rastgele
olduğu kabulü altında, araştırdığımız olayların beklenen vuku bulma sayıları
hesaplanır. Eğer bu sayı gerçek veri içinde bulunmasını beklediğiniz sayıdan
ciddi bir manada büyükse, bu durumda bulduğumuz her şeyin önemli bir kısmının
aldatıcı olduğunu düşünebiliriz. Bu yorum Bonferroni prensibi olarak anılan yöntemin özünü oluşturmaktadır.
Kötü niyetli kişiler listesine
geri dönecek olursak, herhangi bir zamanda çok az sayıda kötü niyetli kişi
olmasını bekleyebiliriz. Bonferroni prensibi bize bu
kişileri bulmanın çok nadir görülen ve rastgele verinin içinde olması adeta
beklenmeyen olaylara dayandırılması gerektiğini söyler.
Uygulama
örneği
Varsayalım ki gerçekten az sayıda
niyetleri kötü olan kişiler var ve biz bu kişileri tespit etmek istiyoruz. Yine
varsayalım ki, bu kişiler kötü niyetlerine erişmek amacı ile düzenli olarak bir
otelde toplanıp kararlar alıyorlar. Problemin boyutunu belirlemek için; şu
kabulleri yapalım.
Kabullerimiz
- Muhtemel kötü kişiler bir milyar insan arasından çıkabilir.
- Herkes 100 günde bir otele gider.
- Her bir otel ortalama 100 kişiyi ağırlayabilir diye kabul edelim. Dolayısı ile 1 milyar kişinin %1 ini herhangi bir gün ağırlamak için 100,000 otelin var olduğunu kabul ediyoruz.
- Oteller kayıtlarını 1000 günlük geçmişi tutacak şekilde saklıyor ve bu kayıtlara erişebiliyoruz.
Veri içinde aradığımız örüntüyü, iki farklı
gün aynı otelde kalan insanlar olarak tanımlıyoruz.
Karşılaşabileceğimiz
olası bir durum, gerçekte elimizdeki verinin içinde hiç kötü niyetli kişi
olmamasıdır. Yani herkes tamamen rastgele davranarak 0.01 olasılıkla herhangi
bir gün 105 otel içinden bir oteli rastgele seçerek ziyaret
edebilir.
Eldeki büyük
veride hiç kötü niyetli kişiler olmasa bile, veri madenciliği çalışması sonucu,
şüpheli kişilerin bulunduğu söylenebilir mi? Basit hesaplamalar yaparak
yukarıda yaptığımız kabuller altında bu soruyu cevaplamaya çalışalım.
Hesaplamalar
Herhangi iki
kişinin aynı gün bir oteli ziyaret etme olasılığı 0.0001
dir. Bu otelin aynı otel olma olasılığı ise bu olasılığın
otel sayısına yani 105 e bölümü ile çıkan sayıdır. Bu durumda bu iki
kişinin aynı oteli aynı gün ziyaret etme olasılığı 10-9 dur. Bunun
iki kere tekrar etme olasılığı ise 10-18 dir.
Şimdi kaç olayın
tanımladığımız örüntü kapsamında kötü niyetli olay kapsamına girebileceğini
hesaplayalım. Bu kapsamda olayı, iki farklı kişinin, aynı iki günde, aynı
otellerde olması olarak ele alalım. Hesaplamalarda basitlik sağlamak için, n popülasyondaki
kişi sayısı olmak üzere binom katsayılardan
bildiğimiz üzere nC2 ( yani n nin 2 li
kombinasyonları) sayısı büyük n değerleri
için asimptotik formülasyondan [3]
nC2 ≤ n2 / 2!
olduğundan n2 / 2 olarak
alacağız. Bu yaklaşık değeri alarak hesaplamalarımızı yapacak olursak;
Herhangi iki kişi sayısı yaklaşık 109C2
= 5 x 1017 = K
Herhangi iki gün sayısı yaklaşık 103C2
= 5 x 105 = G
Örüntü = Herhangi iki kişi ve herhangi iki
günün aradığımız davranışın bir örneği olma ihtimali
ham P-değeri = 10-18
Belirlediğimiz olay tipinin gerçeklenme beklenen değeri = K x G x (ham P-değeri)
m örüntü sayısı olmak üzere,
m = 5×1017 ×5×105 ×10-18 = 250,000
elimizdeki veride istatistiksel olarak anlamlı olmasını beklediğimiz örüntü
sayısını verir.
Sonuçların
Yorumlanması
Kötü niyetli
kişiler olmamasına rağmen elimizdeki veriden 250,000 kişilik bir olası kötüler
listesi çıkarmış olduk. Bu uygulanabilir bir sonuç da çıkarmadı aynı zamanda.
10 kişi olsaydı bile bu 250,000 kişi arasından bu 10 kişiyi bulmak pratik
olarak imkansız olacaktır.
Bu sayı başta
belirlediğimiz popülasyon olan 1 milyar kişi içinde
olası olan 5 x 1017 tane ikili dikkate alındığında yüzde olarak 5 x
10-13 ü oluyor. α = 0.05
olarak seçildiğinde 250,000 sayısı bütün mümkün ikilileri gösteriyor anlamına
geliyor.
Bonferroni düzeltmesi
Oysaki Bonferroni düzeltmesini uyguladığımızda α’=
α / 5 x 1017 = 10-19 olarak bulunur. Yani, çıkan p
değeri 5 x 10-13 < 10-19 şartı sağlanmadığından istatistiksel
olarak çıkan ikililerin anlamlı olmadığı sonucunu çıkarabiliriz. Bu şekilde
veri madenciliği sonuçlarına göre yanlış pozitif olarak değerlendirilen
kişilere karşı yapılacak gereksiz işlemlerin önüne geçmiş oluyoruz.
İyileştirme
Aldığımız sonuca
göre başta aldığımız örüntü tanımlarını daha fazla daraltmak gerektiğine
hükmedebiliriz. Bu daraltma, örneğin aynı otelde iki gün kalma şartını üç güne
çıkartarak yapılabilir.
Bu örnek çerçevesinde görüldüğü üzere, büyük
veri ile çalışırken eldeki verinin işlenmesinde klasik yöntemlerin kullanılması
sırasında istenmeyen durumlar oluşabilir. Bu durumlar kurum ve şirketlerde
bazen etkisi hissedilmeyen, bazen de etkisi para, zaman veya prestij
kaybına yol açabilen şekillerde de hissedilebilen kararların alınmasına yol
açabilir [4].
Kaynaklar
[1] Multiple Hypothesis Testing in Data Mining, Doctoral Dissertation, Sami Hanhijarvi, Department of
Information and Computer Science, Aalto University, Finland, 2012.
Yorumlar