Veri Madenciliği 3 – Veri Hazırlama Bölüm 1

Neden veriyi hazırlıyoruz?

Bütün veri madenciliği araçları için biraz veri hazırlama işlemi yapmak gerekir. Buradaki ana amaç veri setlerinin bilgi içeriklerinin veri madenciliği araçları tarafından en iyi şekilde analiz edilmesini sağlamak için veriyi bir takım dönüşüm işlemlerinden geçirmektir. Veri hazırlama işlemi yapıldıktan sonra hatalı tahmin oranlarının hazırlanma işleminden öncekine oranla düşmüş (ya da en kötü aynı oranda kalmış) olması gerekir.

Veri hazırlığı aynı zamanda veri madenciliği yapan kişiyi de daha iyi ve daha hızlı modeller üretebilmesi için hazırlar. GIGO (Garbage In Garbage Out) konseptini hatırlayacak olursak verimli modeller üretebilmenin ön koşulu iyi bir veriye sahip olmaktır.

Verinin kullanılan yazılım aracına uygun şekilde formatlanması gerekir. Ayrıca kullanılan metoda göre elinizin altında yeterli miktarda veri bulunmalıdır. Teoride her şey çok mükemmelmiş gibi gözükse de pratikte veri ne yazık ki son derece kirli olarak karşımıza çıkıyor:

Eksik (incomplete) Veri: Pratikte eksik veriyle çok sık karşılaşıyoruz. Bazı değişkenlerin ve/veya değerlerin eksik olması, ihtiyaç duyulan değerlerin bulunmaması, veya spesifik değil de toplam değerlerin bulunması eksik veriye örnek olarak verilebilir. Örneğin,
occupation = “”

Gürültülü (noisy) Veri: Gene aynı şekilde pratikte karşılaşılan veriler çok fazla gürültü içeriyor. Hatalı veya aykırı (outlier) veriler gürültülere birer örnek olarak verilebilir. Örneğin,
Salary=”-10″,
Age=”222″

Tutarsız (inconsistent) Veri: Veri içerisindeki tutarsızlıklara da çok sık rastlıyoruz. Kodlamada ya da isimlendirmede birbirleriyle uyuşmayan veriler buna örnek olarak verilebilir. Örneğin,
Age=”42, Birthday=”03/07/1997″
Eskiden “1,2,3” olarak yapılan değerlendirmenin artık “A,B,C” olarak yapılması
Kayıtların kopyalarının aslıyla uyuşmaması

Veri Hazırlığındaki Ana İşler

Veri Temizleme (data cleaning): Eksik değerleri doldurma; gürültülü, kirli ve pürüzlü veriyi pürüzsüz hale getirme(yumuşartma: smoothing); aykırı gözlemleri belirleme veya ayıklama ve tutarsızlıkları giderme işlemleridir.
Veri Entegrasyonu (data integration): Birden fazla veritabanının, veri küpünün (data cube), tablonun veya dosyanın entegrasyonu işlemidir.
Veri Dönüşümü (data transformation): Normalizasyon ve yığınlama (aggregation) işlemleridir. Bu aşamada veri standart hale getirilmeye çalışılır.
Veri Azaltma (data reduction): Veriyi orijinal halini temsil edecek ve aynı veya benzer analitik sonuçları üretecek şekilde hacimsel olarak küçültme, azaltma işlemleridir. Azaltılan veri, normal veriyi temsil etme özelliğini korumalıdır.
Veri Ayrıştırma (data discretization): Veri azaltma (data reduction) işleminin bir parçasıdır ve özellikle numerik verilerde dikkatle uygulanmalıdır.

Bilgi Keşfi Süreci’nin bir parçası olarak Veri Hazırlığı

Aşağıdaki şekildeki Selection, Preprocessing ve Transformation adımları veri hazırlığının aşamalarıdır. Görebileceğiniz üzere veri hazırlığı bütün bilgi keşfi sürecin büyük bir kısmını oluşturur. Yani bu aşama veriyi temizleme, entegre etme, seçme ve dönüştürme işlemlerinden oluşur.

Knowledge Discovery Process

CRISP – DM (Cross Industry Standard Process for Data Mining)

CRISP – DM kapsamlı bir veri madenciliği metodolojisi ve süreç modelidir ve yeni başlayanından uzmanına kadar her kişi için veri madenciliği projesi yürütme işinde tam bir yol haritası görevi görür. Bu model işin anlaşılmasıyla başlar. Hedefin ne olduğunu, iş ihtiyacının ne olduğunu ve neyi bulmaya çalıştığımızı bu aşamada netleştirmeliyiz. Daha sonra süreç bu iş için gerekli verilerin toplanıp kavranmasıyla devam eder.  Bu iki aşama birbirini geri bildirimli olarak çalışır. Daha sonra kavranan veri, hazırlanma aşamasına geçirilir. Hazırlanan veri de modellemede kullanılır; dolayısıyla bu iki aşama da birbirlerini besleyecek ve geliştirecek şekilde geri bildirimli çalışır. Modelleme tamamlandığında değerlendirme aşamasına geçilir ve bu aşamada da yapılan modelin istatistiksel olarak ne kadar geçerli olduğu, doğru sonuçlar üretip üretmediği ve iş ihtiyacını ne kadar karşılayıp karşılamadığı ölçülür. Geçerliliği kanıtlanan modellerde konuşlandırma aşamasına aktarılır ve analizler için kullanılabilir hale getirilir.

2779128

Cross Industry Standard Process for Data Mining

CRISP-DM’in Aşamaları ve Görevleri

Aşağıdaki görselde CRISP-DM’in aşamalarını ve bu aşamaların içerdiği görevleri görebilirsiniz. Bu yazının konusu olan veri hazırlama işlemi aşağıdaki şekilde Veriyi Anlama ve Veri Hazırlığı aşamalarını kapsar. Bu aşamaların görevlerini incelerseniz hepsinin veriyi hazırlamaya yönelik olduğunu görebilirsiniz.

2779091

CRISP – DM: Veriyi Anlama0a

Veriyi anlama aşaması veri toplama işlemiyle başlar ve veriye aşina olma, veri kalitesi problemlerini belirleme, veriden ilk iç görüleri çıkartma veya ilginç alt setleri belirleyip gizli bilgilerin keşfi için hipotez oluşturma işlemleriyle devam eder. Bu aşamada eldeki ilk verideki ilginç bilgilerin neredeyse %80’i SQL kullanılarak keşfedilebilir. SQL ile keşfedilen bu ilginç bilgiler hipotezler oluşturmamıza ve bunlardan modeller oluşturup veri madenciliği yapmamıza temel oluşturabilir. Bu aşamadaki her bir adımın açıklaması ve içeriği şu şekildedir:

Veriyi Topla: Elde edilen veri setlerini listeleme (lokasyon, elde etmek için kullanılan metod, karşılaşılan problemler ve ulaşılan çözümler)
Veriyi Açıkla: Toplanan verilerin yüzeysel olarak özelliklerinin incelenmesi ve sonuçların raporlanması, elde edilen verinin formatını, türünü, miktarını (örneğin bir tablodaki satır veya kayıt sayısı), değişken adlarını(tablodaki sütunları), ve diğer yüzeysel özelliklerini keşfetme; elde edilen verinin gereklilikleri sağlayıp sağlamadığının değerlendirilmesi

Veriyi Keşfet: lginç Sorgulama, görselleştirme ve raporlama tekniklerini kullanarak veri madenciliği sorularını çözümleme sürecidir. Bu süreç korelasyonları belirleme, her bir değişkenin ve değerlerinin iş terimi olarak anlamlarının anlaşılması, her bir değişken için temel istatistiklerin (örneğin dağılım, ortalama, maksimum, minimum, standart sapma, varyans, ortanca değer, eğiklik (skewness)) hesaplanması, değişkenlerin özelliklerinin detaylıca incelenmesi; dağılım, ikili veya daha fazla değişken arasındaki ilişkiler, önemli alt popülasyonların özellikleri, basit istatistiksel analizler
Veri Kalitesini Doğrula: Özel değerlerin belirlenmesi ve anlamlarının kataloglanması, gerekli olan bütün verileri içeriyor mu? Hata var mı, varsa yüzde kaç?, eksik değişkenlerin ve boş alanların belirlenmesi, eksik verinin anlamı, değişkenlerin anlamlarıyla almış olduğu değerler birbirleriyle örtüşüyor mu? değerlerin yazım kontrolünün yapılması (aynı değerin bazen küçük harfle bazen de büyük harfle başlaması), değerlerin akla yatkınlığının denetlenmesi

CRISP – DM: Veriyi Hazırlama0b

Bu aşama toplanan ilk veriden final veri setini (daha sonradan oluşturacağımız modelleri bu final veri seti besleyecektir) oluşturmak için gereken bütün aktiviteleri kapsar. Bu aktiviteler büyük olasılıkla birçok kez tekrarlanacak ve tekrarlanma biçimleri tamamen probleme özgü olacaktır. Tablo, kayıt ve değişken (veya kolon veya attribute) seçimi ve modelleme araçları için bu verilerin dönüştürülmesi ve temizlenmesi işlemleri aktivitelere örnek olarak verilebilir. Bu aşamadaki her bir adımın açıklaması ve içeriği şu şekildedir:

Veri Seç: Veri seçimi kriterlerinin yeniden gözden geçirilmesi, hangi veri setlerinin kullanılacağına karar verme, ihtiyaç duyulan ek verilerin toplanması (kurum içi ya da kurum dışı), örnekleme tekniklerini kullanmayı gözden geçirme, neden bazı verilerin eklenip bazılarının dışarıda bırakıldığını açıklama
Veriyi Temizle: Gürültüyü düzeltme, silme veya görmezden gelme, özel değerlerle ve anlamlarıyla nasıl ilgilenilmesi gerektiğini kararlaştırma (örneğin medeni durum için 99 değeri), gruplama seviyesi, eksik değerler, aykırı gözlemlerin tespiti
Veriyi İnşa Et: Türetilmiş değişkenler (derived attributes: bu değişkenler mevcut olarak bulunan bir veya daha fazla değişken kullanılarak oluşturulan değişkenlerdir, örneğin area = length * width ), eksik değerlerin nasıl inşaa edileceğini veya nasıl bir yaklaşık değer verileceğini belirleme
Veriyi Entegre Et: Kaynakları entegre etme ve sonuçları depolama (yeni tablolar ve kayıtlar vs), birbirleriyle ilişkili iki veya daha fazla tablonun birleştirilmesi
Veriyi Formatla: Değişkenleri yeniden düzenlemek (bazı araçların değişken sıralamasında bazı şartları vardır, mesela ilk değişkenin birincil anahtar (primary key) olması veya son değişkenin tahmin edilmeye çalışılan değişken olması gibi)

Ölçüm (measurement) Türlerini Hatırlayalım

İstatistikte bazı ölçüm türlerini hatırlamamızda fayda var.

Nitel Ölçümler
Bu ölçümlerin sayısal bir değeri yoktur; bu değişkenlerle sayısal bir hesaplama yapılmaz.

Nominal Ölçüm: ID numaraları, insanların isimleri vb.
Kategorik Ölçüm: Göz rengi, posta kodu vb.
Sıralı(ordinal) Ölçüm: sıralamalar (örneğin bir yiyeceğin lezzetinin 1 ile 10 arasında derecelendirilmesi), rütbeler, puanlar, uzunluk (kısa, orta, uzun)

Nicel Ölçümler
Bu ölçümler sayısal ölçümlerdir ve bu ölçümlerle matematiksel işlemler yapılır. Ayrık ve sürekli olmak üzere iki çeşidi olduğunu bir önceki yazıda görmüştür.

Aralıklı(interval) Ölçüm: tarih aralıkları, sıcaklık aralıkları, IQ puanları vb.
Oran(ratio) Ölçümü: Sıcaklık, uzunluk, zaman, vb.

2779500

Veri Dönüşümü

Bazı veri madenciliği araçlar nominal değerlerle işlem yapabilir; fakat bazı araçlar da tüm alanların numerik olmasını gerektirebilir. Sıralı değerlerde matematiksel işlemler ve/veya karşılaştırmalar (küyüktür, küçüktür gibi) yapabilmek için bu değerleri numerik verilere dönüştürmek gerekiyor. Örneğin üniversite yıl sonu ağırlıklı puanı (GPA) şu şekilde numerik verilere dönüştürülür:

A+  –> 4.0
A-   –> 3.7
B+  –> 3.3
B     –> 3.0

Bu sayede kategorik puanlar numerik değerlere dönüştürüldüğünden matematiksel işlemler yapılabilir.

.

Sürekli Değişkenleri (Continuous Variable) Kesikli Hale Getirme(Ayrıklaştırma: Discretization)

Ayrıklaştırma veya ingilizce adıyla discretization(veya binning) numerik verilerin kategorik karşılıklarına dönüştürülmesi işlemine verilen addır. Örneğin Age değişkeninin değerlerini 20-39, 40-59 ve 60-79 gibi aralıklara gruplama işlemi buna bir örnek olarak verilebilir. Numerik değişkenler genellikle sıklık dağılımlarına göre ayrıklaştırılır. Ayrıca bu işlem verideki gürültüyü ve doğrusalsızlığı (non-linearity) azaltarak tahminleme modelinin kesinliliğini artırabilir. Ve şunu da söylemeden geçmeyelim: bu yöntem aykırı gözlemlerin tespitini, geçersiz veya eksik numerik değerlerin tespitini kolaylaştırır.

Bazı veri madenciliği algoritmaları, örneğin Naive Bayes ve CHAID’ın çoğu versiyonu, ayrık değerler gerektirir. Ayrıca bu işlem sonucunda veri boyutu önemli ölçüde azalabilir ve bu sayede veri sonraki analizler için hazırlanmış olur. Bu yöntem eldeki verinin özetini oluşturmak için son derece kullanışlı ve yararlı bir yöntemdir. İngilizcesi “discretization” dır ve aynı zamanda “binning” olarak da adlandırılır. “Binning” kelimesi Türkçeye “veri gruplama” olarak çevrilebilir.

Discretization veya Binning iki türde olabilir: gözetlenmeyen(unsupervised) veya gözetlenen(supervised)

Gözetlenmeyen(unsupervised) Ayrıklaştırma

Bu yöntem numerik değişkenleri kategorik karşılıklarına gönüştürür fakat bunu yaparken hedef sınıfın (target class) bilgilerini kullanmaz. Eşit genişlikte gruplama ve eşit derinlikte gruplama gözetlenmeyen ayrıklaştırmanın iki metodudur.

Eşit Genişlikte Gruplama (Equal-width Binning)

Bu gruplama yönteminde sürekli bir değişken eşit genişlikteki N aralığa bölünür. Eğer bir değişkenin aldığı en küçük değer ve en büyük değer sırasıyla A ve B ise ve N aralığa bölünmek isteniyorsa genişlik şu formülle hesaplanır: W = (B-A) / N

0d

Eşit genişlikte gruplama yöntemi bazı avantajlara ve dezavantajlara sahip. Uygulanması son derece basit ve kolaydır. Verinin mantıklı bir soyutlamasını oluşturur. Fakat diğer yandan denetlenmeyen (unsupervised) bir yöntem olması, N sayısının ne kadar olması gerektiğinin tam olarak bilinememesi ve aykırı gözlemlere son derece hassas olması dezavantajlarıdır. Örneğin aşağıdaki örnekte bir şirketteki çalışanların maaşlarının bu yöntemle aralıklara bölünmesiyle elde edilen sonucu görebilirsiniz. Bu sonuçta 1,800,000-2,000,000 aralığında bir aykırı gözlem vardır ve maaşların çoğu 0-200,000 aralığında olduğundan pek yararlı bir yöntem olmamıştır.

0e

Eşit Derinlikte(ya da Yükseklikte) Gruplama (Equal-depth Binning)

Bu yöntemde değerler yaklaşık olarak eşit sayıda eleman içeren N aralığa bölünür. Kümelenmeyi önlediği için ve pratikte “neredeyse eşit” yükseklikte gruplama daha sezgisel kesim noktaları verdiğinden özellikle tercih edilir.

Bu yöntemde dikkat edilmesi gereken hususlar:

  • Sık değerleri farklı haznelere (bölmelere) dağıtmayın
  • Özel değerler için ayrı bölmelere oluşturun
  • Okunabilir kesim noktaları belirleyin (örneğin yuvarlanmış sayılar)

Örneğin elimizde sıcaklık verileri olsun:
64 65 68 69 70 71 72 72 75 75 80 81 83 85

Bu verileri eşit derinlikte gruplama yöntemi kullanarak grupladığımızda aşağıdaki sonucu elde ederiz:

0f

Burada eşit yükseklikler 4 olup son grup için değer 2 olmuştur. Aralıkların bir önceki yöntemde olduğu gibi eşit genişlikte olmak zorunda olmadığını belirtelim.

Gözetlenen (Supervised) Ayrıklaştırma

Bu ayrıştırma yöntemi numerik verileri kategorik karşılıklarına dönüştürür ve ayrım noktalarını seçerken hedef sınıfın (target class) bilgisini kullanır. Entropi temelli ayrıştırma bu yöntemin bir örneğidir.

Entropi Temelli Ayrıklaştırma (Entropy Based Discretization)

Entropi kelime anlamı olarak “düzensizlik”, “karışıklık”(impurity) demektir. Bu metot bölme yaklaşımını kullanır. Entropi ( veya bilgi içeriği) sınıf etiketlerine dayanarak hesaplanır. Sezgisel olarak, her bir grubun mümkün olduğunda saf(pure) olabilmesi, yani her bir gruptaki değerlerin aynı sınıf etiketine karşılık gelmesi için, en iyi ayrım noktalarını bulmaya çalışır. Maksimum bilgi kazanımı (information gain) getiren ayrımları bulmakla karakterize edilir.

Entropi hesaplamanın formülü şu şekildedir:

Entropi

Evet, yanlış görmediniz. Entropi hem H ile hem de E ile ifade edilebiliyor.

Entropi ingilizce olarak “impurity” demektir; yani Türkçeye kirlilik ve katışıklık olarak çevirebiliriz. Ancak buradaki kirlilik şu anlama gelmektedir: bir grup içerisinde farklı özelliklere sahip çok fazla veri bulunması, çeşitlilik. Aşağıdaki görselde de görebileceğiniz üzere fazla kirli ve katışık grupların entropisi yüksektir; sıfır kirlilik ve katışıklığa sahip grupların entropisi sıfırdır.

0h4

Entropi hesaplanırken önce tahminlenmeye çalışılan hedef değer için entropi hesaplanır. Daha sonra belirli ayrım noktaları için entropi değeri hesaplanır. En son olarak da bilgi kazanımı (information gain) hesaplanarak en iyi ayrım noktası belirlenir. Şimdi bütün bu adımları bir örnekte açıklayalım.

0gYandaki gibi bir veri setimizin olduğunu düşünelim. Bir sporu yapmanın fahrenayt cinsinden hava sıcaklığına bağlı olarak nasıl değiştiğini belirlemek istiyoruz. Bize en iyi ayrımı veren, yani bir insanın bu söz konusu sporu yapıp yapmayacağını en iyi tahminleyebilen, hava sıcaklığı değeri nedir? Bu sorunun cevabını entropi yöntemini kullanarak hesaplayalım.

İlk adım olarak tahminlemek istediğimiz değişkenin, yani sporu yapıp yapmadığının, entropisini hesaplayalım. Bu veri setinde bu sporu yapan ve yapmayan insanların sayısı aşağıdaki gibidir.

Yes = 9, No = 5

Toplam olarak 14 değer vardır. Entropiyi hesaplarken bu değerlerin yüzdelerine ihtiyacımız var. Y için yüzde değer 9/14 = 0.64 iken N için yüzde değer 5/14 = 0.36’dır.

E (Play) = E(9, 5) = E(0.64, 0.36) = -0.64 x log2(0.64) – 0.36 x log2(0.36) = 0.942

Bu bulduğumuz değer hedef değerin entropisidir. Şimdi bu veri setini diyelim ki 71.5 ve 77 dereceleri için ikiye bölmek istiyoruz. Hangisi daha fazla bilgi kazanımı sağlıyor? Hemen hesaplayalım.

Verimizi 71.5 ayrım noktasıyla ikiye ayıralım. Bu değere eşit bir değer olmadığından bütün değerler ya bundan küçüktür ya da bundan büyüktür. Aşağıdaki tabloda bu değerden küçük ve bu değerden büyük için söz konusu sporu yapma sayılarını görebilirsiniz.

0g1

Bu ayrım noktası için entropiyi şu şekilde hesaplarız:

0h

Bir de farklı bir değer için, mesela 77, entropi hesaplaması yapalım.

0g2

0h1

Şimdi her iki değer için de bilgi kazanımını hespalayalım:

Information Gain = E(S) – E(S,A)

 71.5 için kazanç = 0.942 – 0.939 = 0.003

77 için kazanç     = 0.942 – 0.915  = 0.027

Yukarıdaki hesaplamaya göre veriyi 77 ayrım noktasından ikiye bölersek 71.5 ayrım noktasından ikiye bölmeye kıyasla 9 kat daha fazla bilgi kazanımı sağlarız. Dolayısıyla veriyi 77 den ikiye bölmek daha karlıdır.

Hedeflemek istediğimiz veri setinin entropisini (0.942) hesaplamadan da en iyi ayrımı bulabilirdik; çünkü her bir ayrım noktası için hesapladığımız entropiyi her seferinde sabit bir değer olan 0.942’den çıkartarak bilgi kazanımını bulduğumuz için en küçük entropiye sahip olan ayrım noktası bilgi kazanımını maksimize edecektir. Bu örnekte de 0.915, 0.939’dan daha küçük olduğundan bilgi kazanımını daha çok arttırır.

Entropi metodu mümkün olan bütün ayrımlar için entropi hesaplanması ve bulunan değerlerden en küçüğünün seçilmesine dayanır. 

Bu ayrıklaştırma yönteminin belirli bir durma noktası(kriteri) olması gerekir. En yaygın durma kriteri Minimum Description Length Principle(MDLP) olarak adlandırılan prensibe dayanan bir durma kriteridir. Bu prensip Karar Ağacı ve Naive Bayes algoritmaları için başarılı ayrım noktaları üretmesine rağmen diğer yöntemler için aynı başarıyı gösteremiyor. MDLP’den kısaca şu şekilde bahsedebiliriz:

S: veri setini, A: değişkeni, T: ayrım noktasını gösteriyor olsun. Bu S veri setinin A değişkeni için T ayrım noktasının entropisinin  E (A,T;S) olarak hesaplanacağını yukarıda görmüştük. Bir A değişkeni için, MDLP metodu bütün ayrım olasılıkları içerisinden minimum entropiyi üreten ayrım noktası olan T(a)’yı bulur. Daha sonra bu veri setinin A değişkenini T(a) noktasından ikiye böler ve her bir parça için tekrar bütün ayrım olasılıklarını hesaplayıp içlerinden minimum entropiyi üreten ayrım noktasını bulur. Bunu veriyi sürekli bulduğu ayrım noktasından ikiye bölerek yapar ta ki aşağıdaki koşul sağlanana kadar:

0h3

Bu koşulda N sayısı S’in içindeki veri sayısı, Gain(A; T ; S) = Ent(S) – E(A; T ; S), (A; T ; S) = log2(3^k – 2) – [kEnt(S) – k1Ent(S1) – k2Ent(S2)] ve k,k1 ve k2 S,S1 ve S2’de temsil edilen sınıf sayısıdır.

Bu konuda daha ayrıntılı bilgi için: http://www.cse.yorku.ca/~aan/research/paper/pakdd99.pdf

Ayrıklaştırmada Dikkat Edilmesi Gereken Konular

Gözetlenmeyen yöntemler

Eşit Genişlik yöntemi çok daha kolaydır ve birçok sınıf için uygundur. Eşit olmayan dağılımlar için korkunç derecede hatalı sonuçlar üretebilir.

Eşit Derinlik (yükseklik) yöntemi daha iyi ve kaliteli sonuçlar verir.

Gözetlenen yöntemler

Bu yöntemler sınıflandırma (classification) için çok daha iyi ve uygundur.

Kaynaklar:

  • ‘Data preparation for data mining’, Dorian Pyle, 1999
  •  ‘Data Mining: Concepts and Techniques’, Jiawei Han and Micheline Kamber, 2000
  • http://www.the-modeling-agency.com/crisp-dm.pdf
  •  ‘Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations’, Ian H. Witten and Eibe Frank, 1999
  •  ‘Data Mining: Practical Machine Learning Tools and Techniques second edition’, Ian H. Witten and Eibe Frank, 2005

Veri Madenciliği 2 – Kısa Bir İstatistik Tekrarı

Veri madenciliğine daha fazla girmeden önce istatistik bilgilerimizi tazelememiz gerekiyor. Burada bütün istatistik konularını anlatmam tabii ki imkansız; ancak bazı temel kavramların üzerinden geçmeye çalışacağım.

Herbert George Wells, İngiliz yazar, 1940 yılında şöyle demiş:
“Statistical thinking will one day be as necessary for efficient citizenship as the ability to read and write”

Günümüzde bu cümlenin ne kadar geçerli ve doğru olduğuna şahit oluyoruz. E hadi başlayalım o zaman!

Kısa Bir İstatistik Tekrarı

Bir değişken herhangi bir aralıkta veya sonsuzlukta birden fazla değer alabilen miktara verilen isimdir. Örneğin nüfus bir değişkendir çünkü ne sabittir ne de değişmezdir; değeri zamanla değişebilir. İşsizlik oranı bir değişkendir çünkü %0 ile %100 arasında herhangi bir değer alabilir.

Rassal değişken (random variable) her incelendiğinde değişen bilinmez bir değer olarak düşünülebilir. Rassal bir değişken ya ayrık (discrete) ya da sürekli (continuous) olabilir. Bir değişkenin olası değerleri zıplamalar ya da keskin aralar içeriyorsa bu değişken ayrık bir değişkendir. Örneğin, nüfus ayrık bir değişkendir; çünkü değeri her zaman tam sayı olarak ölçülür: 1, 2, 3… Fakat bir değişkenin olası değerleri zıplamalar ya da keskin aralar içermiyorsa bu değişken sürekli bir değişkendir. Örneğin, işsizlik sürekli bir değişkendir; çünkü tam birimlerle ölçülmesi gerekmez: %1.77, %8.99, gibi.

Betimleyici istatistikler (descriptive statistics) bir veri koleksiyonunun özelliklerini nicel (quantitative) terimlerle açıklamak için kullanılır. Betimleyici istatistikler bir veri setini nicel olarak özetlemeyi hedefler. Bazı istatistiki özetler betimleyici analizlerde özellikle yaygındırlar: frekans dağılımı (frequency distribution), merkezi eğilim (central tendency), saçılım (dispersion), birliktelik (association), vb.

Her veri seti belirli değerlerin ne kadar sıklıkta görüldüğüne göre açıklanabilir. İstatistikte, frekans dağılımı bir veya birden fazla değişkenin aldığı değerlerin sıklıklarının tablolaştırılarak sunulmasıdır.

Örneğin aşağıdaki tablo diyelim ki bir şirketin aylara göre hisse başına TL fiyatını göstersin.

SeeThru1408x640

Tek değişkenli frekans dağılımları (univariate frequency distributions) genellikle her bir değerin ne kadar sıklıkla bulunduğunu gösterir. Bir frekans dağılımı isteğe göre gruplanabilir ya da gruplanmayabilir. Küçük veri setleri için gruplanmamış frekans dağılımları daha uygunken büyük veri setleri için gruplanmış frekans dağılımları daha uygundur.

2

3

Merkezi Eğilim (central tendency)

Merkezi eğilim, istatistikte nicel (sayısal) bir verinin “merkezi bir değer” etrafında toplanma yatkınlığını ölçme işlemidir. Bir merkezi eğilim ölçümü bu merkezi değeri tanımlayan birçok yoldan biridir. Merkezi eğilim ölçümünü veren üç önemli betimleyici istatistik vardır:

  • Ortalama (mean)
  • Orta değer (median)
  • Tepe değer (mod)

Ortalama (mean)

Aritmetik ortalama en sık kullanılan ortalama tipidir ve genellikle basitçe “ortalama” olarak ifade edilir. Matematik ve istatistikte aritmetik ortalama (veya basitçe ortalama (mean) ) bir veri setindeki bütün elemanların toplamının eleman sayısına bölümüyle elde edilir. Eğer veri seti bir istatistiki popülasyonsa, ortalama popülasyon ortalaması (population mean) olarak adlandırılır. Eğer veri seti bir örnek (sample) ise, oralama örneklem ortalaması (sample mean) olarak adlandırılır. Eğer bir dizi veriyi

X = (x1, x2, …, xn)

şeklinde ifade edecek olursak örneklem ortalaması x̄ olarak gösterilir. Bir Yunan alfabesi harfi olan μ ise komple popülasyonun ortalamasını gösterir.

Orta Değer (median)

İstatistikte, bir örneklemin ya da popülasyonun daha büyük değerlere sahip yarısını daha küçük değerlere sahip öbür yarısından ayırmak için kullanılan sayısal bir değerdir. Sınırlı bir numaralar serisinin orta değeri, serinin küçükten büyüye sıralandıktan sonra tam ortasındaki değerin alınmasıyla bulunabilir. Eğer bu seri çift sayıda değer içeriyorsa o zaman orta kısımda bir değer bulunmayacaktır. Bu durumda ortadaki iki değerin ortalaması orta değer olarak alınır. Örneğin yukarıdaki hisse fiyatlarını artan şekilde sıralayacak olursak:

67.05, 66.89, 67.45, 67.45, 68.39, 68.39, 70.10

orta değer 67.45 olacaktır.

Çekreklikler Q1 ve Q3 (Quartiles)

Çeyreklikleri bulmak için veri setini küçükten büyüğe sıralarız ve veri setinin orta değerini (buna global orta değer diyelim) bu sıra üzerinde yerleştiririz. Birinci çeyrek (first quartile – Q1), global orta değerin solunda kalan (yani ondan küçük olan) değerlerin orta değeridir. Üçüncü çeyrek ise, global orta değerin sağında kalan (yani ondan büyük olan) değerlerin orta değeridir.

Tepe Değer (mod)

İstatistikte tepe değer bir veri listesinde en çok gözlemlenen değerdir. Tepe değer tek bir değer olmak zorunda değilidir; aynı sıklığa sahip birden fazla değer olabilir. Gene hisse fiyatlarımızı artan şekilde sıralarsak,

67.05, 66.89, 67.45, 67.45, 68.39, 68.39, 70.10

en çok gözlemlenen iki tepe değer vardır: 67.45 ve 68.39. Bu yüzden bu veri setinin tepe değeri tek değil iki tanedir. Bu veri setine çift tepe değerli (bimodal) denir. Bir popülasyon ya da örneğin bir, iki, veya ikiden fazla tepe değeri olabilir.

İstatistiki Saçılım (Statistical Dispersion)

İstatistikte istatistiki saçılım (ayrıca istatistiki değişkenlik, veya çeşitlilik) olasılık dağılımındaki yada değişkenlikteki dağınıklık (yayılım) olarak adlandırılır. Özellikle, bir saçılımlık ölçümü veri setindeki değerlerin ne kadar dağınık olduğunu ölçümlemede kullanılır. Yaygın olarak kullanılan istatistiki saçılım ölçümü şunlardır:

  • Varyans (variance)
  • Standart Sapma (standard deviation)

Saçılımlık merkezi yatkınlıkla birlikte dağılımın en çok kullanılan özellikleridir.

Varyans (variance)

İstatistikte varyans, rassal bir değişkenin veya dağılımın her bir değerinin ortalama değerden farkının karesinin ortalaması olarak ifade edilir. Bu yüzden varyans verinin ortalama değerden ne kadar saptığının bir ölçüsüdür.

Eğer rassal bir değişken olan X’in beklenen değeri (expected value = mean) E[X]=μ ise, X’in varyansı:

4

formulü ile ifade edilir.

Varyansın özellikleri

  • Varyans her zaman pozitif bir değerdir; çünkü farkların kareleri ya sıfırdır ya da sıfırdan büyüktür.
  • Sabit bir değerin varyansı sıfırdır, ve bir veri setindeki bir değişkenin varyansı eğer bütün elemanlar aynı değere sahip ise sıfırdır.
    Var(a) = 0
  • Bir veri setindeki her bir veri sabit bir sayı (a) kadar artırılır veya azaltılırsa veri setinin varyansı değişmez.
    Var(X + a) = Var(X)
  • Bir veri setindeki her bir veri sabit bir kat sayıyla çarpılırsa veri setinin varyansı eski varyansının, kat sayının karesiyle çarpımına eşittir.
    5

Örneklem Varyansı (Sample Variabnce)

Eğer bir X rassal değişkeninin n tane değerine sahipsek, örneklem varyansı popülasyon varyansını ölçümlemek için kullanılabilir.

X = (x1, x2, x3, …, xn)

Örneklem varyansı şu şekilde hesaplanır:

6

Formüldeki paydada olan (n-1) değeri varyans hesaplamasında “serbestlik derecesi” (degree of freedom) olarak adlandırılır.

Yukarıdaki örnek verimizin örneklem varyansı (sample variance) şu şekilde hesaplanır:

7

Standart Sapma (Standard Deviation)

İstatistikte, rassal bir değişkenin veya dağılımın standart sapması o değişkenin varyansının kareköküne eşittir.

8

Yani, standart sapma σ (sigma) (X − μ)2 değerlerinin ortalamasının kareköküdür.

 Gene örneğimize dönecek olursak standart sapmamız:

9

 olarak hesaplanır.

Ortalama Mutlak Sapma (Mean Absolute Deviation)

Bir X değişkeninin değerlerinin ortalama değerden ortalama olarak ne kadar saptıkları şu şekilde ölçülür:

10

Bu değer her zaman sıfırdır. Pozitif ve negatif sapmalar birbirlerini götürürler ve toplam her zaman sıfır olur. Bu yüzden saçılımı (dispersion) ölçmeye bir yararı yoktur.

Ortalama Mutlak Sapma ise şu şekilde hesaplanır:

11

Farkların mutlak değeri her zaman pozitif olacağından bu değer her zaman sıfır olmak zorunda değildir.

Mutlak değer almaya alternatif olarak farkların karesi de alınabilir ve bu yöntemle elde edilen sapmaya “kareli ortalama sapması” (mean squared deviation – MSD) denir:

12

Farkların karesini aldığımız için tekrar aynı ölçü birimine dönmek için bir de karekökünü aldığımızda bu sapmaya da “kareli ortalamaların kökü sapması” (root mean squared deviation – RMSD) denir:

13

İstatistiksel nedenlerden ötürü, RMSD yerine onun çok hafifçe değiştirilmiş versiyonu olan standart sapma (Sx) ölçümlerde çok daha fazla kullanılır.

14

15

Birliktelik (association)

İki değişkenli istatistik (bivariate statistics) iki değişkenin, birinin diğerine sebep olduğunu ima etmeksizin, birbirleriyle nasıl ilişkili olduklarını incelemek için kullanılabilir.

Çok değişkenli istatistik (multivariate statistics) ikiden fazla değişkenin, birinin diğerlerine sebep olduğunu ima etmeksiniz, birbirleriyle nasıl bir ilişki içerisinde olduğunu incelemek için kullanılabilir.

İki değişkenli ve çok değişkenli istatistiklerin ölçülmesinde iki yaygın ölçümleme vardır:

  • Kovaryans (covariance)
  • Korelasyon Katsayısı (correlation coefficient)

İki değişkenli istatistik 

Aşağıdaki şekilde (a) güçlü ve pozitif korelasyon, (b) sıfır korelasyon, (c) a’ya göre daha az güçlü pozitif korelasyon, (d) güçlü ve negatif korelasyon, ve (e) d’ye göre daha az güçlü negative korelasyona örnektir.

16

İki rassal değişken olan X ve Y için;  17   ve 18 olmak üzere kovaryans:

19

olarak hesaplanır.

Cov (X, Y) negatif, sıfır veya pozitif olabilir. Sıfır kovaryana sahip iki değişken ilişkisiz (uncorrelated) veya bağımsız (independent) olarak ifade edilir.

Eğer X ve Y birbirinden bağımsızsa o zaman kovaryansları daima sıfırdır; ancak her kovaryansı sıfır olan değişkenler birinden daima bağımsız olmak zorunda değildirler.

Eğer X ve Y gerçek değerli rassal değişkenler ise ve a ve b sayısaları sabit (rassal olmayan) birer sayıysa o zaman aşağıdaki formüller kovaryans formülünden türetilebilir:

20

Gene aynı şekilde eğer X ve Y gerçek değerli rassal değişkenler ise ve a ve b sayısaları sabit (rassal olmayan) birer sayıysa o zaman aşağıdaki formüller varyans ve kovaryans formüllerinden türetilebilir:

21

İlişkisiz rassal değişkenlerin toplamlarının varyansı, ayrı ayrı varyanslarının toplamına eşittir:

22

Çünkü, eğer X ve Y ilişkisizse kovaryansları 0’dır.

Örneklem Kovaryansı

Kovaryans iki değişken olan X ve Y’nin değerlerinin birbirleriyle ne kadar yakın bir ilişkide değiştiklerinin bir ölçüsüdür. Popülasyon kovaryansı örneklem kovaryansı ile tahmin edilebilir. Örneklem kovaryansı şu şekilde hesaplanır:

23

Korelasyon Katsayısı (correlation coefficient)

Kovaryansın dezavantajı büyüklüğünün (magnitude) kolayca yorumlanamamasıdır; çünkü kovaryans X ve Y değişkenlerinin ölçü birimlerine bağlıdır. Ortalama değerden sapmaları standardize ederek bu dezavantajı gideren ve bu yüzden daha sık kullanılan ölçüm korelasyon katsayısı olarak adlandırılır.

24

Korelasyon katsayısı simetriktir, yani:

25

Örneklem korelasyon katsayısı şu şekilde hesaplanır:

26

Korelasyon katsasının değeri -1 ile +1 arasında (-1 ve +1 de dahil) bir değerdir.

  • rx,y= 0 ise X ve Y ilişkisizdir (uncorrelated)
  • rx,y= 1 ise X ve Y doğru yönde tamamen ilişkilidir. Biri artarken diğeri de kesinlikle artar veya biri azalırken diğeri de kesinlikle azalır.
  • rx,y= -1 ise X ve Y ters yönde tamamen ilişkilidir. Biri artarken diğeri kesinlikle azalır.

 

Parametre ve İstatistik

Bir parametre (parameter) popülasyonu betimleyen bir sayıdır. Bir parametre sabit bir sayıdır, ama pratikte bu değeri bilmeyiz.

İstatistik (statistic) ise bir örneklemi betimleyen bir sayıdır. Bir istatistiğin değeri örneklemden elde edilir; fakat aynı popülasyonun farklı örneklemleri için farklı değerler elde edilebilir.

İstatistiği (statistic) sıklıkla bilinmeyen bir parametreyi hesaplamak için kullanırız.

Örnek

Ülke çapında rastgele seçilen 2500 yetişkine aşağıdaki ifadeye katılıp katılmadığı soruluyor:

“Yeni kıyafetler almayı seviyorum, fakat alışveriş yapmak çoğunlukla moral bozucu ve çok zaman alıcı”

Diyelim ki bu yetişkinlerden 1650’si bu ifadeye katılıyor.

Örneklemin bu ifadeye katılan insanlarının oranı (proporsiyonu):

27

28= .66 bir istatistiktir (statistic). Buna eş gelen parametre (P) ise bütün ülke nüfusundaki bu ifadeye katılan insanların proporsiyonudur. P parametresinin değerini bilmiyoruz, bu yüzden 28  istatistiğinden bu parametreyi hesaplamaya çalışıyoruz.

Bu araştırmayı yapan şirketin tekrarlan 2500 insandan oluşan rastgele bir örnekleme yaptığını düşünelim. Bu yeni örneklem farklı insanlardan oluşmuş olacak. Neredeyse kesin bir olasılıkla bu örneklemdeki ifadeye katılan insanların sayısı 1650 olmayacak. Yani 28 ’nin değeri örneklemden örnekleme değişecek.

Rastgele seçimin ilk avantajı yanlılığı(bias) elimine etmesidir. İkinci avantajı ise eğer aynı popülasyondan aynı boyutta birçok örneklem oluşturursak, örneklemler arasındaki varyasyon tahmin edilebilir bir örüntü oluşturacaktır. Bütün istatisksel çıkarımlar tek bir fikir üzerinde toplanır: bir prosedürün ne kadar güvenilir olduğunu görmek için, onu çok kere tekrarlarsak ne olacağını sormak.

Örneklem Dağılımı

Diyelim ki ülke çapındaki tüm yetişkinlerin %60’ı yukarıdaki alışverişle ilgili olan ifadeye katılıyor. Yani P = 0.6 (parametre).

Bu popülasyondan, 100 kişiden oluşan basit rastgele örnekleme (simple random sampling) yaptığımızı düşünelim. Ve bu örneklemdeki ifadeye katılan insanların oranını (28, istatistik) popülasyonun bu parametresini hesaplamada kullanalım.

28’nin dağılımı ne olur?

Bu soruyu cevaplandırmak için, bu popülasyondan her seferinde farklı 100 kişi seçerek bir sürü örneklem oluşturmamız gerekir.

Her bir örneklem için örneklem istatistiği 28 ’yi hesaplamamız ve bu değerlerden oluşan bir histogram yapmamız gerekir.

Oluşan dağılımın şeklini, merkezini, yayılımını, aykırı gözlemlerini ve diğer sapmalarını gözlemleyelim.

Çok sayıda basit rastgele örneklemin sonuçları düzenli bir örüntüye sahiptir.

Mesela aynı popülasyondan 100 kişiden oluşan 1000 örnekleme yaptığımızı düşünelim. Bu örneklemlerinin oranlarının dağılımı aşağıdaki gibi olacaktır:

29

Bir istatistiğin örneklem dağılımı (sampling distribution) aynı popülasyondan aynı boyuttaki bütün olası örneklemlerden elde edilen istatistiklerin dağılımıdır.

Normal Dağılım (Normal Distribution)

Normal olarak adlandırılan eğriler simetriktir, tepe noktalıdır ve çan şeklindedir. Normal eğriler normal dağılımları açıklarlar.

30

Belirli bir normal dağılım için Kesin yoğunluk eğrisi (exact density curve) ortalaması ve standart sapması verilerek açıklanabilir. Ortalama değer (mean) simetrik bir eğrinin tam ortasındaki değerdir ve bu değer aynı zamanda orta değerdir (median). Standart sapma ise normal eğrinin ne kadar yayıldığını gösterir.

31

Standart Normal Dağılım (standard normal distribution) ortalaması 0 olan ve standart sapması 1 olan bir normal dağılım çeşididir.

Eğer bir değişken olan X in ortalaması m ve standart sapması s is ve normal dağılıma sahipse, standardize edilmiş olan

32

değişkeni standart normal dağılıma sahiptir.

Standart Normal Tablo ise z değerine karşılık gelen eğri altındaki alanı verir.

3

Bir örnekle açıklayalım.

Stok endeklerinin yıllık getiri oranı (annual rate of return) yaklaşık olarak normal bir dağılıma sahiptir. 1954’ten beri Standard & Poor’s 500 stok endeksi yıllık ortalama %15 getiri oranına sahip ve standart sapması da %16.5. Bu normal dağılımı uzun bir zaman boyunca yıllık getiri oranlarının dağılımı olarak alalım. Eğer endekslerin getiri oranı sıfırın altında ise market düşüşte demektir. Buna göre marketin düşüşte olduğu yılların oranını bulabilir miyiz?

Problemi şu şekilde ifade edebiliriz:

Yıllık getiri oranını x olarak ifade edelim. X değişkeni ortalaması 12 ve standart sapması 16.5 olan normal bir dağılıma sahip olacaktır. Bizden istenen x değişkeninin 0’dan düşük olduğu yılların tüm yıllara oranı: x < 0

Normalleştirme:

X değişkenini standart normal z skoruna dönüştürmek için normalleştirmeyi bulmak istediğimiz değerden (0’dan) ortalama değeri (12) çıkartıp sonucu standart sapmaya bölerek (16.5) yaparız:

n

Aşağıdaki şekilde bu değerler için normal dağılımı ve bu z skoru için istenilen alanı görebilirsiniz:

b

Z Tablosundan -0.73 değerine bakacak olursak değerin 0.2327 olduğunu görürüz. Yani bu demek oluyor ki bu z değerinin solunda kalan (yani bu değerden küçük olan) değerlerin toplam dağılım içindeki oranı 0.2327. Yani marketin düşüşte olduğu zamanların oranı %23.27’dir.

Peki yıllık getiri oranlarının %12 ile %50 arasında olduğu yılların oranı nedir?

c

Dağılımın şeklini çizelim:

e

Z’nin 0 ile 2.3 değerleri için grafiğin altında kalan alan (mavi bölge), z’nin 2.3’ten küçük olduğu alanlardan z’nin 0’dan küçük olduğu alanin çıkartırlmasıyla bulunabilir.

0.9893 – 0.50 = 0.4893

Şimdiye kadar, örneklem tahminlerini (estimator) popülasyon tahminlerini (estimator) belirlemek için kullandık:

f

Bu tahminleyiciler bazı özelliklere sahip.

İkisi de eğilimsiz (ön yargısız, unbiased) tahminleyicidir. Eğilimsiz bir tahminleyicinin ortalama değeri tahminlemeye çalıştığı parametreye eşittir.

Diyelim ki bir parametreyi hesaplamaya çalışıyoruz ve bunun için bir güven aralığı (confidence interval) oluşturmaya çalışıyoruz. Bu parametreyi örneklem verisinden tahminleyebileceğimizi varsayalım. Bu bilgiyi kullanarak bir güvenlik aralığı oluşturabiliriz.

Bir örnekle açıklayalım.

Amerikan ekonomisinde “community bank” olarak adlandırılan bankalar var. Bu bankalar 1 milyar dolardan az bir varlığa sahiptir. Bu bankalardan Amerika’da yaklaşık olarak 7500 adet bulunmakta. Birçok endüstri çalışmasında bu bankalar 1 milyar dolardan fazla varlığa sahip olan bankalardan ayrı olarak Kabul edilir. Bir milyar dolardan daha fazla varlığa sahip olan bankalar “large institutions” olarak adlandırılır. Amerikan Bankalar Birliği Konseyi yıllık bir “community bank” anketi yapmakta. En son çalışmada örneklem olarak kullanılan 110 bankanın ortalama varlığı  = 220 milyon dolar olarak hesaplanıyor. Amerika’daki bütün “community bank”ların ortalama varlığı, m, için ne söyleyebiliriz?

Örneklem ortalaması olan 555, popülasyon ortalaması olan 5555 (mü diye okunur)’yü tahminlemede kullanılabilir.

Büyük sayılar yasası diyor ki örneklemin boyutu arttıkça örneklem ortalaması popülasyonun ortalamasına yaklaşır.

Bu yüzden, örneklem boyutu olan 110 bütün “community bank”ların ortalamasını tahminlemek için mantıklı gözüküyor. Ama bu tahminleme ne kadar güvenilir?

Değişkenliğini belirtmeksizin yapılan bir tahminleme çok değerli olmayacaktır. Bir tahminlemenin değişkenliği örneklem dağılımlarına bakılarak cevaplanır.

Merkezi Limit Teorem’ine (Central Limit Theorem) göre:

Eğer ülkedeki bütün “community bank”ların varlık ortalaması 5555 ve standart sapması 10 ise, boyutu 110 olan çok sayıda örneklemenin ortalama değeri şu dağılıma sahip olacaktır:

g

Bu yüzden, merkezi limit teoremine göre, tekrarlanan 110 elemanlı örneklemlerin ortalama değerleri yaklaşık olarak normaldir, merkezi bilinmeyen popülasyon ortalaması olan m’dür, standart sapması da

 h

milyon dolardır.

Kaynaklar:

http://faculty.elgin.edu/dkernler/statistics/ch03/

https://onlinecourses.science.psu.edu/stat100/

Veri Madenciliği 1 – Veri Madenciliğine Giriş 101

Motivasyon: “Necessity is the Mother of Invention”

Otomatize edilmiş veri toplama araçları ve “olgunlaşmış” veri tabanları; veri tabanlarında, veri ambarlarında ve diğer bilgi depolama alanlarında depolanmış durumda olan çok büyük miktarda veriye sebep oldu. Özellikle dijital medyada kaydedilen ve saklanan verinin boyutu olağan üstü bir şekilde arttı ve git gide de artıyor. Yılda 2 exabite(10^18)’ın üzerinde veri üretiyoruz. Sabit bir fiyattan depolama kapasitesi her 9 ayda bir ikiye katlanıyor. Verinin içinde boğuluyoruz ama bilgi (knowledge) için can atıyoruz.

W.H. Auden’in dediği gibi:

“The greatest problem of today is how to teach people to ignore the irrelevant, how to refuse to know things, before they are suffocated. For too many facts are as bad as none at all.”

Çözüm ise veri ambarı (data warehousing) ve veri madenciliği (data mining).

 1                                                    2

Bazı Büyük Veri (Big Data) Örnekleri

Avrupa’da Very Long Baseline Interferomerty (VLBI) olarak adlandırılan ve radyo astronomide kullanılan bir gök bilimsel interferometre var. VLBI astronomik bir radyo(sinyal) kaynağından gelen sinyalleri, mesela quasar (galaksi dışındaki yıldızımsı gök cisimleri), dünyadaki birden çok radyo teleskop aracılığıyla topluyor ve kaydediyor. VLBI’de kullanılan toplam 16 teleskop var ve bu teleskopların her biri 1 Gigabit/saniye gibi son derece yüksek hızda ve boyutlarda veri üretiyor. Bu verinin depolanması ve analiz edilmesi ne kadar büyük bir problem değil mi?

AT&T her gün milyarlarca arama isteği işliyor. Bu o kadar çok veriye sebep oluyor ki bütün veriler depolanamıyor ve depolanamadığı için de analizler “akan veri”(streaming data) üzerinden yapılmak zorunda. (on the fly).

Alexa internet arşivinde 7 yıllık veri bulunuyor ve bu verinin boyutu 500 Terabyte civarlarında.

Google hergün 4 milyarın üzerinde arama isteğini alıyor ve bu da bir sürü 100 Terabyte demek oluyor.

Internat Archive (www.archive.org) neredeyse 300 terabytle’lık veriye sahip.

Dünyadaki veritabanlarında depolanan veri miktarı her 20 ayda bir iki katına çıkıyor. Diğer büyüme oranları ise bundan daha fazla. Bu verilerden çok küçük bir miktarı insanlar tarafından inceleniyor. Bu yüzden böylesine devasa verilerden anlamlar çıkarmak için Knowledge Discovery’ye ihtiyaç duyuluyor.

Jerome Friedman diyor ki:

“Verinin boyutu her 10 katına çıktığında onu analiz etme biçimimizi tamamen yeniden şekillendirmek zorundayız”

Veri Madenciliği

Veri madenciliği veri tabanı sorgularından (database query) farklıdır. Geleneksel analizde, “X ürününün satışları Kasım ayında arttı mı?”, “X ürününün satışları Y ürününde bir promosyondan dolayı düştü mü?” gibi analizler yaparken veri madenciliğinde ise “X ürününün satışını belirleyen faktörler nelerdir?” gibi daha karmaşık ve sonuç odaklı analizler yaparsınız.

3

  Aristotle Onansis: “The key in business is to know something that nobody else knows.”

 

 

        Sir Isaiah Berlin: “To understand is to perceive patterns.4

Örnek Bir Uygulama

Diyelim ki X kişisi Amazon.com’dan bir kitap aldı.

Görev: Bu kişiye almaya yatkın olabileceği başka kitaplar öner.

Amazon kitap satın alımları üzerinden bir kümeleme (clustering) işlemi yapıyor:

“Advance in Knowledge Discovery and Data Mining” kitabını alan müşteriler ayrıca “Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations” kitabını da aldı.

Öneri sistemleri son derece başarılıdır.

5

Veri Madenciliği Nedir?

Veri tabanında bilgi keşfi (Knowledge Discovery in Databases-KDD) verideki:

  • üstü kapalı (saklı)
  • geçerli (bulunan örüntüler yeni veriler üzerinde de geçerli olacak şekilde)
  • özgün (beklenen değerlere kıyasla)
  • potansiyel olarak kullanışlı (başarılı aksiyonlara neden olabilecek)
  • anlaşılabilir (insanlar açısından)

örüntülerin (pattern) bulunması ve tanımlanması olarak tanımlanabilecek, basit olmayan bir süreçtir.

Veri madenciliği, KDD’nin yalnızca bir adımıdır.

Veri madenciliği için bazı alternatif terimler kullanılabilir:

  • Knowledge discovery (mining) in databases (KDD),
  • Knowledge extraction
  • Data/patterns analysis
  • Data archeology
  • Data dredging
  • Information harvesting
  • Business intellingece, etc.

 

KDD Süreci

Veri Madenciliği ve Bilgi Keşfi (Knowledge Discovery – KD) süreci bazı adımlardan oluşur. Bu adımlar şu şekilde özetlenebilir:

  • Veri Temizliği (data cleaning): eksik değerlerin, gürültülü(noisy) verinin ve tutarsız(çelişkili) verinin temizlenmesi sürecidir.
  • Veri Entegrasyonu (Data integration): Birden fazla veri kaynağından alınan verilerin birleştirilmesi sürecidir.
  • Veri Seçimi (data selection): Yapılacak olan analize uygun(alakalı) verilerin seçilmesi sürecidir.
  • Veri Dönüşümü (data transformation): Veriyi toplama (örneğin günlük satışları haftalık ya da aylık satışlara dönüştürme), veya genelleştirme (sokağı şehire; yaşı genç, orta, ve yaşlıya dönüştürme) gibi işlemler sürecidir.
  • Veri Madenciliği (data mining): Elde edilen veriye akıllı algoritmalar uygulayarak örüntüleri (patterns) keşfetme sürecidir.
  • Örüntü Değerlendirme (pattern evaluation): Elde edilen örüntülerin değerlendirilmesi ve hipotezlerin geçerliliğinin test edilmesi sürecidir.
  • Bilgi Sunumu (knowledge presentation): Bulunan bilgileri (knowledge) görselleştirme (visualisation) ve sunum (representation) tekniklerini kullanarak kullanıcılara sunma sürecidir.

6

Bir KDD sürecinin %60-80 gibi bir dilimi yalnızca veriyi hazırlamak için harcanırken geriye kalan %20’lik kısmı veri madenciliği için kullanılır.

Bir veri madenciliği projesi daima verinin geleneksel sorgulama araçları (traditional query tools) ile analizinden başlamalıdır. İlginç bilgilerin %80’i SQL kullanılarak çıkartılabilir. Örneğin “Her ay kaç tane işlem 15 numaralı ürünü içeriyor?” ve “Mertricks tarafından alınan bütün ürünleri bana göster” gibi. Geriye kalan %20’lik kısmının keşfi ise ileri tekniklerin kullanımını gerektirir. Örneğin “hangi ürünler sık olarak birlikte alınıyor?” ve “müşterilerimi nasıl sınıflandırmalıyım ki gelecekte kredi başvurusu yaparlarsa kime kredi verip kime vermemem gerektiğini bileyim” gibi.

İstatistik, Otomatik Öğrenme (Machine Learning) ve Veri Madenciliği

İstatistik daha çok teori odaklıdır ve hipotezlerin test edilmesine (hypotheses testing) odaklanır.

Otomatik Öğrenme, daha deneyimseldir (heuristic) ve öğrenme ajanının performansını iyileştirmeye odaklanır. Aynı zamanda robotik (robotics) ve gerçek zamanlı öğrenme (real-time learning) gibi alanları da kapsar ama bu alanlar veri madenciliği dışındaki alanlarıdır.

Veri madenciliği ve bilgi keşfi, teoriyi(istatistik) ve deneyimi(otomatik öğrenme) birleştirir ve bilgi keşfinin bütün süreçleri olan veri temizliği, öğrenme, entegrasyon ve görselleştirme alanlarını içerir.

Bu kavramların arasındaki sınırlar son derece belirsizdir.

Veri madenciliği bazen “ikincil veri analizi” olarak adlandırılır. Veri madenciliğinde kullanılan algoritmaların çoğu istatistikçiler ve veri madencileri tarafından ortaklaşa kullanılır. Veri madenciliği örüntü tespitini (pattern detection) hedeflerken istatistik bulunan örüntülerin gerçekliğini belirlemeyi hedefler. Örneğin, aynı hastalıktan muzdarip olan insanlar kümesinin bulunması, fakat bu hastalığın tamamen rastgele olup olmadığının tespiti.

Rhine Paradoksu

Rhine Paradoksu bir bilimsel araştırmanın nasıl yapılmaması gerektiğinin harika bir örneği.

David Rhine bir parapsikologdu. 1950 yılında bir hipotez geliştirdi ve hipotezi de şuydu: Bazı insanlar 6. Hisse (Extra-Sensory Percetion-ESP) sahiptir.

Bunu test etmek için bir deney tasarladı ve deneklere 10 adet kartın arka yüzlerinde kırmızı mı yoksa mavi renk mi olduğunu tahmin etmelerini istedi. Deneyinin sonucunda gördü ki neredeyse her 1000 kişiden 1’i 6. hisse sahipti, çünkü 10 kartın 10’unun da rengini doğru bilmişti!

Daha sonra bu testi geçen insanlara 6. Hislerinin olduğunu söyledi ve onları tekrar test etmek için farklı bir deneye davet etti. Fakat bu sefer fark etti ki bu deneyde deneklerin neredeyse hepsi 6. Hislerini kaybetmişti. Ve testi nasıl mı sonuçlandırdı?

“İnsanlara 6. Hisleri olduğunu söylememelisiniz; çünkü bu 6. Hislerini kaybetmelerine neden oluyor.”

Peki gerçekte ne oldu?

Kırmızı veya mavi renklerden oluşan 10 kartın tam olaram 1024(2^10) kombinasyonu vardır. Bu yüzden her 1000 kişiden 1’inin 10 kartın rengini doğru tahmin etme olasılığı 1000/1024 = 0.98 yani %98’dir! Sanırım daha fazla açıklamaya gerek yok 🙂

Veri Madenciliği Uygulamaları

Pazar analizi ve yönetimi

  • Hedef kitle seçimi, müşteri ilişkileri yönetimi, pazar basket analizi, çapraz satış, pazar segmentasyonu, vb.
  • Aynı karakteristiklere sahip olan (örneğin ilgi alanı, gelir seviyesi, harcama alışkanlıkları, vs.) müşterileri bulma ve kümeleme
  • Zaman boyunca müşterilerin satın alma örüntülerini (purchasing pattern) belirleme

Risk analizi ve yönetimi

  • Tahminleme (forecasting), müşteri tutumu (customer retention), kalite kontrolü, rekabet analizi, kredi puanlama

Sahtekarlık tespiti ve yönetimi

Geçmişte gerçekleştirilen sahtekarlık işlemlerini kullanarak model geliştirme ve belirli davranışlarda bulunan müşterileri önceden tahminleme.

  • Araba sigortası: sigorta parası almak için “sahte olarak” kaza yapan insanların tespiti
  • Kara para aklama: şüpheli para transferlerini tespit etme
  • Telefon araması modeli: aramanın hedefi, süresi, günü, saati, vs. Beklenen normlardan sapan örüntülerin analizi.

British Telecom’un başına bununla ilgili bir olay gelmiş. Olayda, belirli kişilerden oluşan bir takım grup sürekli mobil telefonlarından grup içindeki kişileri arayarak birkaç milyon dolarlık bir kaçakçılık gerçekleştirmişler. Mesela, hapisanedeki mahkumlardan biri dışarıdaki bir arkadaşına terk edilmiş bir ev için telefon hattı kurdurtuyor. Aramalar mahkumun 3 eyalet ötedeki kız arkadaşına yönlendiriliyor. Bu sayede telefon şirketi bunu 90 gün sonra fark edinceye kadar bedava telefon görüşmesi yapıyorlar.

Veri Madenciliğinin Görevleri

Burada veri madenciliğinin görevlerinden kısaca bahsedeceğim. Çok ayrıntıya inmiyorum çünkü gelecek yazılarda hepsini ayrıntılı olarak ele alacağım.

Birliktelik (association)

Karşılıklı ilişki (correlation) ve nedensellik (causality)

Çok boyutlu veya tek boyutlu birlikteliklerin tespit edilmesi. Örneğin;

yaş(X,”20..29″) ^ gelir(X,”20..29K”) –> satın_alır(X, “PC”)
[support = %2, confidence = %60]*

veya

satın_alır(T, “bilgisayar”) –> satın_alır(x, “software”)
[support = %1, confidence = %75]*

*support ve confidence kavramları daha sonraki yazılarda açıklanacaktır.

Sınıflandırma (classification) ve Tahminleme (prediction)

Sınıfları veya konseptleri tanımlayan ve ayrıştıran modellerin(fonksiyonları) bulunması. Örneğin, iklime göre ülkeleri sınıflandırma, kilometre başına yakıt tüketimine göre arabaları sınıflandırma, vb.

Sunum: karar ağacı (decision tree), sınıflandırma kuralı, yapay sinir ağları (neural network)

Tahminleme: bazı bilinmeyen veya eksik olan sayısal verilerin tahminlenmesi.

Aşağıdaki tablo bir “öğretici küme” (training set) örneğini temsil ediyor. Bu veri üzerinde karar ağacı sınıflandırma algoritmasını uyguladığımızı düşünelim.

8

Elde edeceğimiz sonuç aşağıdaki gibi bir sonuç olacak. Yani aşağıdaki sonuçlar diyor ki yaş faktörü bilgisayar alınmasındaki en önemli faktör. Yaşı 31..40 arasında olanların hepsi bilgisayar alıyor. Yaşı 30’dan küçük olan insanlar için ikinci bir ayrım yapılıyor ve öğrenci olup olmadığı sorgulanıyor. Eğer öğrenciyse bilgisayar alıyor; öğrenci değilse bilgisayar almıyor. Yaşı 40’tan büyük olan insanlar ise kredi derecelendirmelerine göre ayrıma uğratılıyor. Kredi derecesi mükemmel olanlar bilgisayar almazken normal düzeyde olanlar bilgisayar alıyor.

7

Küme Analizi (Cluster analysis)

Sınıflandırma’nın aksine küme analizinde kümelerin etiketleri (label) bilinmiyor. Küme analizi genellikle sınıfların belirlenmesi ve tanımlanması için kullanılıyor. Kümeleme (clustering) işlemi şu prensip ile çalışıyor: bir sınıf (class) içindeki benzerlikleri maksimize et ve sınıflar arasındaki benzerliği minimize et.9

 

Aykırı Gözlem (Outlier) Tespiti   

Verinin genel davranışına uymayan örneklere aykırı gözlem (outlier) adı veriliyor. Bunlar gürültü (noise) veya istisna (exception) olarak düşünülebilir; fakat sahtekarlık gibi nadir olayların (aykırılıkların) analizinde oldukça kullanışlıdırlar.

10628591_10152636063464277_8277957579391294586_n

Trend ve değişim (evrim, evolution) Analizi

Trend ve sapma analizleri: regresyon analizi (regression analysis)

Sıraları örüntü madenciliği (sequential pattern mining), dönemsellik analizi

Benzerlik tabanlı analiz

Görselleştirmenin Gücü

Tüm işlemler sonucu elde ettiğimiz sonuçları görselleştirmemiz gerekmektedir. Aşağıda görselleştirmenin birkaç güzel örneğini görebilirsiniz.

11

12

13

10

Kaynaklar:

*Data Mining: Concepts and Techniques. Jiawei Han and Micheline Kamber. Morgan Kaufmann Publishers
*Data Mining: Practical Machine learning tools with JAVA implementations. Ian H. Witten and Eibe Frank. Morgan Kaufmann Publishers