Imputatıon - Eksik Verilerin Tamamlanması - Woman Engineer
Data ScienceGeneral

Imputatıon – Eksik Verilerin Tamamlanması

Araştırmacılar, her ne kadar eksiksiz veri elde etmek isteselerde veriler bazı dış kaynaklı veya yazılımsal nedenlerden dolayı istenildiği gibi eksiksiz bir şekilde toplanamayabilir. Özellikle büyük veri çalışmaları üzerinde yapılan işlerde  eksiksiz veri setlerinin elde edilmesi neredeyse imkansızdır. Bu yüzden eksik verilerin tamamlanması için değişik yöntemler ortaya atılmıştır.  Genelde verinin hatalı okunması, veri kaynağında yaşanan bozulma,  bazı verilere erişim zorluğu gibi sorunlar eksik verilere sebep olabilmektedir. Ben de  bu yazımda sizlere eksik verilerin tamamlanması yöntemlerinden bahsedeceğim. Çalışma içerisinde yer alan yanlış ve ya eksik bilgiler var ise lütfen yorum ile iletişime geçiniz.


Imputation Yöntemleri

  • Mean substitution
  • Imputation by regression
  • Hot deck imputation
  • Cold deck imputation
  • Expectation maximization (EM)
  • Maximum likelihood
  • Multiple imputations
  • Bayesian analysis

Mean Substitution (yerine ortalamayı koyma)

Bu yöntem, veri setinde kayıp verinin olduğu alandaki diğer verilerin ortalamasını alarak kayıp olan verilerin yerine bu değeri yazarak  doldurmaya yarayan yöntemdir. Veri aralığı düşük olan verilerde kullanıldığında yararlı olabilir. Aksi halde çok değişkenli veri setinde  hata oranını arttırır.

Yerine ortalamayı koyma yöntemi ile ilgili bir python örneği yapalım.

Spyder üzerinden oluşturmuş olduğumuz .csv dosyamızı okuyarak başlayalım, daha sonra Imputer kütüphanesini çağıralım. Imputer metodunu tanımlarkende kullanmak istediğimiz metodu strategy=”mean” şekline tanımlayalım.

ımputerr

Veri setimizi okuduğumuzda sadece yaş kolonu içerisinde NaN değerler görmekteyiz. Bu eksik olarak tanımlanmış alanları doldurmak isteyelim. Ekran Resmi 2018 12 19 22.23.58

Imputation yöntemi yalnızca sayısal veriler üzerinde çalışmaktadır. Bizde Yaş kolonu üzerindeki eksik verileri tamalamak için yaş sütununun ortalamasını alarak eksikleri dolduralım.

İlk olarak iloc ile dataFrame içerisinde ki Yas kolonunun yerini işaretleyip belirtelim.

 

Ekran Resmi 2018 12 19 22.30.15

Daha sonra fit metodu ile imputer işlemini uygulayalım.

Ekran Resmi 2018 12 19 22.30.55

Tüm bu işlem adımlarından sonra print komutu ile yas kolonunu yazdırdığımızda NaN değerlerin yerini ortalamanın aldığını görelim. Mean ile eksik verilerin tamamlanması sadece bir yöntem dilerseniz en çok tekrar eden değeri yazabilirsiniz, dışarıda tanımladığınız bir değeri yerleştirebilirsiniz 0 atayabilirsiniz veya tamamen o satırları silebilirsiniz tüm bu seçimler sizin işlem akışınıza ve modelinize göre değişecektir. Amaç temiz bir veri seti elde ederek modelin başarılı çalışmasını sağlamak.

Ekran Resmi 2018 12 19 22.35.05


Imputatin by Regression

Bu yöntem, değerler arasındaki ilişkileri tahmin etmek için kullanılan istatistiksel bir tekniktir. Bu teknik kullanımında önemli nokta, bağımsız değişkenlerin bağımlı değişkenleri açıklama oranının yüksek olması gerekmektedir. Birçok bağımsız değişkenden oluşan bir çoklu regresyon modeli tahmin ettiğimizi varsayalım bu değişkenlerden biri, kayıp gözlemler içeren X olsun. Böyle bir modelde tahmin edilen tüm X gözlemleri diğer bağımsız değişkenler kullanılarak tahmin edilmiştir. Bu yöntemde tahmin edilen regresyon modeli, kayıp gözlemleri tahmin etmede bir araç olarak kullanılmaktadır. Veriler Tamamen Rassal Olarak kayıp varsayımını sağladığında ve atamalar kayıp gözlem içermeyen diğer bağımsız değişkenlere bağlı olduğunda en küçük kareler katsayıları tutarlıdır yani büyük örneklemlerde bu işlem neredeyse yansız sonuç verir. En küçük kareler yöntemi, birbirine bağlı olarak değişen iki fiziksel büyüklük arasındaki matematiksel bağlantıyı, mümkün olduğunca gerçeğe uygun bir denklem olarak yazmak için kullanılan, standart bir regresyon yöntemidir. Bir başka deyişle bu yöntem, ölçüm sonucu elde edilmiş veri noktalarına “mümkün olduğu kadar yakın” geçecek bir fonksiyon eğrisi bulmaya yarar.imputationregresyon

Şekil de birbiri ile ilişkili iki alana girilen değerlerden oluşacak, regresyon fonksiyonun oluşturulmasını ve yeni değerin tahmin edilmesini sağlar.


Hot Deck imputation

Hot Deck Imputation ile eksik veri değerlerini doldururken benzerlik tahmininde bulunmak için k-en yakın komşu yöntemi en çok tercih edilen metodudur.

Diğer bir deyişle eksik veri bulunduran satır ile tamamlanmış satır arasındaki uzaklık hesabı için k-en yakın komşu metoduyla yapılabilir. Bunun için aşağıdaki adımlar uygulanır.

1.) Veriler tamamlanmış ve tamamlanmamış (eksik) veri kümeleri olmak üzere ikiye bölünür.

2.) Xi tamamlanmış veri kümesinin matrisidir. Xij, i.durumun j.değişkenini ifade eder. Yi tamamlanmamış veri kümesinin matrisidir. Yij i.durumun j.değişkenini ifade eder.

3.) Her eksik veri içeren satır için öklid uzaklığı hesaplanır.

öklid

Hot-Deck atama, veriler arasındaki mesafeye bakarak sabit bir sayıyı boş alanlara eklediği için hata payı oldukça yüksek çıkan bir algoritmadır. Avantajı, uygulamasının kolay olması ve az veri kaybında hatayı fazla etkilememesidir. Kayıp veri içeren veri seti, Ortalama, Regresyon ve Hot Deck Yöntemleri ile tamamlanan veri setleri öncelikle betimsel olarak incelenmiştir. Bunun sonucunda Hot Deck yönteminin diğer yöntemlere göre veri setinin iç tutarlılığını daha iyi koruduğu, diğer bir ifade ile değişkenler arası ilişki yapısını diğerlerine göre daha az bozduğu tespit edilmiştir. Ayrıca her bir veri setine Kümeleme Analizi uygulanarak küme yapılarının anlamlılıkları da incelenmiştir.


Cold Deck imputation

Bu yöntem, Bu yöntemde önceki çalışmalardan, aynı çalışmanın bir  önceki uygulamasından ya da dış kaynaklardan elde edilen sabit bir değer ilgili değişkendeki tüm eksik değerler yerine atanır. Araştırmacı dış kaynaklardan elde edilen değeri eldeki veriler yardımıyla elde edilecek ortalama gibi bir değerden daha geçerli olabileceğinden emin olmalıdır. Örneğin, bir hasta anketinin bir hastanede uygulandığını ve beş kişinin bir maddeye yanıt vermediğini varsayalım. Daha önce yürütülen bir ankette benzer bir sorudan gelen yanıtları kullanmak örnek verilebilir.


Expectation maximization (EM) Beklenti Maksimizasyonu

EM (Expectation Maximization) Algoritması bir objenin hangi kümeye ait olduğunu belirlemede kesin mesafe ölçütlerini kullanmak yerine tahminsel ölçütleri kullanmayı tercih eder. Maksimum benzerlik prensibine dayanan Beklenti Maksimizasyonu (BM) algoritması ilk olarak Dempster, Laird ve Rubin tarafından 1977 yılında ortaya konulmuştur. EM yöntemi eksik veri probleminin çözümünde kullanılan etkin yöntemlerden biridir. Regresyon atamasının iteratif süreçli bir halidir ve 2 iteratif adımdan oluşur.

EM

EM algoritması son yıllarda bir çok araştırmada kullanılan popüler bir yaklaşım olmuştur. EM algoritması, tam olmayan veri problemlerini çözmek için maksimum olasılık tahminleri, yapan tekrarlı bir algoritmadır. EM algoritmasının her tekrarı iki adımda olur. Bu adımlar bekleneni bulma (E-Adımı) ve maksimizasyon (M adımı) dır. E-Adımında gözlenen verilerin parametrelerine ait kestirimler kullanılarak bilinmeyen (kayıp) veri ile ilgili en iyi olasılıklar tahmin edilirken, M adımında tahmin edilen kayıp veri yerine konulup bütün veri üzerinden maksimum olabilirlik hesaplanarak parametrelerin. Yeni kestirimleri elde edilir.


Maximum Likelihood

Bir olasılık dağılım fonksiyonundan elde edilen tahminlerin, gerçek değerlerine benzerliklerinin hesaplanmasıyla desteklenen bir tahmin yöntemidir. Bu önerilen modele göre de sistemin istenildiği gibi sorgulanmasına izin verir. Örneğin bir çağrı merkezine gelen çağrıların yoğunluğunu tahmin etmek istiyoruz, belirli bir zaman aralığında ölçüm yaparak tahmin işlemini geçekleştirebiliriz.

Multiple Imputations (Çoklu Atama)

Her veri kümesinin hata miktarı hesaplanır. Ardından bu veri kümelerinin ortalama değerleri alınarak nihai veri kümesi elde edilir. Buradaki tek ayrıntı standart hatanın (standard error) hesaplanması sırasında iki veri kümesinin birleştirilmesi için iki standart hata miktarı toplanıp karekökleri alınır. Kısacası çoklu imputation, daha iyi sonuç elde etmek için istatistiksel imputation yönteminin birden fazla kere çalıştırılması olarak düşünülebilir.  Çoklu atama yöntemi bir çok araştırmacı tarafından tek bir yöntemle elde edilen tahmin yöntemlerine göre daha güvenilir bulunmaktadır. Anlaşılırbir yöntemdir,Dezavantajı ise atama işleminin uzun sürmesidir.


Bayesian Analysis  

18. yüzyıl İngiliz matematikçisi Thomas Bayes’in adını verdiği koşullu olasılığı belirlemek için kullanılan matematiksel bir formüldür.
bayes
•P(A|B) = B olayı gerçekleştiğinde A olayının gerçekleşme olasılığı
•P(A) = A olayının gerçekleşme olasılığı
•P(B|A) = A olayı gerçekleştiğinde B olayının gerçekleşme olasılığı
•P(B) = B olayının gerçekleşme olasılığı
Her bir sınıf için olasılıkları hesaplar ve her bir örnek için olasılığı en yüksek sınıfı bulma eğilimindedir.
Olasılıksal yöntemleri kullandığı için tüm veriyi kullanır.
Koşullu olasılıktır bir olasılık olduktan sonra diğerinin olma ihtimali gibi.
Gerçekleşen olayın yeri değişebiliyor.
Yeni taşınan bir adam iskiye su açtırmaya geliyor.
Suyu açtıran adam iskiye gelebilir mi ?

Temelde doğru olasılıkları hesaplayıp çarpma mantığına dayanır bu yüzde nverilerin normalize edilmesi gerekir.  Naive Bayes sınıflandırıcı Bayes karar teorisine dayanan basit bir olasılıksal sınıflandırıcıdır. Herbir sınıf için olasılıkları hesaplar ve her bir örnek için olasılığı en yüksek sınıfı bulma eğilimindedir. Popüler olmasının sebebi sadece iyi performansı değil basit yapısı yüksek hesaplama hızı ve eksik verilere olan duyarsızlığıdır. NBI Naive Bayesian Classifier kullanan tamamlama metodudur. Genellikle veritabanlarında kayıp değer taşıyan özellik sayısı 1 den fazla olur. Bu durumda;

  1. Tamamlama yapılacak ilk özellik tespit edilmeli.
  2. Tamamlanacak özellikler için tamamlanma sıraları göz önünde bulundurulmalı.

3 farklı NBI stratejisi vardır.

1.Order Irrelevant Strategy (NBI-OI):

Tamamlanacak özellikler tanımlandıktan sonra verikümesi eksik değerlerinin tamamlanmasının sırasıylailgisi yoktur. Tamamlanmış özelliklerin değerleri daha sonraki özellikler için kullanılmaz. Kayıp değerleri tamamlanmış veri kümeleri tüm farklı tamamlama sıraları için aynıdır.

2.Order Relevant Strategy (NBI-OR):

Tamamlanacak veri kümesi eksik değerlerinin tamamlanma sırasıyla ilgilidir. Tamamlanmış özelliklerin değerleri daha sonraki özellikler için kullanılır. Kayıp değerleri tamamlanmış veri kümeleri tüm farklı tamamlama sıraları için farklıdır.

 3.Hybrid Strategy (NBI-Hm):

ilk iki stratejinin birleşimidir. Birinci özellik tamamlama adımında sıralı stratejiyi kullanır kalanında sırasız stratejiyi kullanır.

NBI bu üç stratejiden de anlaşılacağı üzere 2 adımdan oluşur:

l.adım, tamamlanacak özellikleri ve sırasını tanımlamak. Kayıp değerlere sahip özellikler birden fazla olabilir. Bu kayıp değerlerle özellikler arasında önceliğe iki açıdan bakılabilir. Birincisi kayıp değerlerin oranı(missing proportion), ikincisi özelliğin önem faktörü(important factor) dür.

2.adım, kayıp veriler için NBI modelini kullanmak. Sıralı stratejide her adımda tamamlanan kayıp değerler ile değişen veri kümesi kullanılır.

Naive Bayes yöntemi, olasılıksal yöntemleri kullandığı için tüm veriyi kullanır. Bayes bir değerler arasındaki anlamlılığı artırır. Az sayıdaki verilerde hata oranı yüksektir.


Algoritmalar


cluster

Top-k Case Matching (TKCM)

Algoritmanın temel fikri, mevcut duruma en çok benzeyen zaman serileri üzerindeki  verilerde k-durum’ları aramak ve bu zaman noktalarındaki örüntülerden eksik değerleri elde etmektir. Akan zaman serileri  çoğu zaman eksik değerlere sahip olabilmektedir. Bizim hedefimiz, zaman bazlı  akan  durumlar  arasındaki korelasyonu kullanarak en son ölçümü doğru bir şekilde bulmaktır.
k1
Örneğin; Saat14:20’deki eksik değer tahmin edilmek istensin.
Imputation Adımları:
  1. En son değerler üzerinde sorgu deseni çizilir.
  2. En benzer örtüşmeyen kalıplar bulunur.
  3. En çok benzer desenleri kullanarak  ise eksik değer tahmin edilir.

k2

10 dakikalık bir zaman diliminde d = 2 referans zaman serisi  {r1, r2} üzerinden P(14:20) zaman dilimi için bir örüntü  tanımlayalım.

k3

•İki en benzer örüntüler P (14:00) ve P (13:35) saat dilimlerinde bulunur.

k5

Eksik değer hesabı yapılır.
sˆ(14:20) = 1/2 (s (14:00) + s (13:35)) = 21.85  s değeri 21.85 olarak bulunur.
Sonuç olarak, TKCM, referans zaman dizisini kullanarak bir akan veri setindeki mevcut eksik değeri yok etmek için kullanılan bir imputation yöntemidir.

Singular Value Decomposition(SVD)

SVD, niceliksel, kategorik veya karışık verileri tamamlamak için kullanılacak çok düzeyli veriler için sunulmuş bir matris faktorizasyon yöntemidir.
Google, Netflix, Facebook, Youtube gibi küresel şirketlerin temelini oluşturan birçok öneri ve Boyut azaltma sistemlerinin merkezinde yer alan en yaygın kullanılan Denetimsiz öğrenme algoritmalarından biridir.
Son zamanlarda makine öğrenimi, veri madenciliği ve teorik bilgisayar bilimi alanlarında da kullanılmaktadır.
Yüksek boyutlu, çok değişkenli veri setini alıp, küçük boyutlu bir alana indirgemeye yarayan kararlı ve etkili bir yöntemdir.
A = USV^T 
Bir matrisin üç farklı matrise ayrıştırılması için sunulan bir yöntemdir:
A, m × n matrisidir
U bir m × n ortogonal matristir
S bir n × n köşegen matrisidir
V bir n × n ortogonal matristir
(Transpozesi ile tersi birbirine eşit olan matrise ortogonal matris denir)
svd
SVD yöntemi, kare veya kare dışında bir matrisi alır ve onu iki ortogonal matris ve bir diyagonal matris olmak üzere 3 bölüme ayırır.
SVD Nasıl çalışır ?
V1 veV2 vektörleri ile temsil edilen iki boyutlu bir daire düşünelim.
svd1
•A = USV ^T   matris çarpımı işlemlerinden sonra,
Bir matrisin bir vektörü basitçe uzattığını ve sonra döndürdüğünü söyleyebiliriz. Bu yöntemde verilerin dağılımına bağlı olarak vektör çarpımı ve boyut indirgeme işlemleri ile veri dağılımı boyunca bir şekil alabilmektedir.
svd2

4 Yorum

  1. Merhaba ben abdullah doğan. Tezimde kayıp veri konusunu çalışıyorum izniniz olursa veri setinizi kullanmak isterim?

  2. Merhaba Zeynep Hanım, Yürütmekte olduğum bir projede kayıp veri konusu üzerinde çalışıyorum. Örneği sizinle paylaşarak desteğinizi talep etmek isterim. E-posta adresinizi öğrenebilir miyim?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Başa dön tuşu