Eksik Veri ile Başa Çıkma: Silme, Doldurma ve Karar Kriterleri
Beceri rehberi

Eksik Veri ile Başa Çıkma: Silme, Doldurma ve Karar Kriterleri

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

Eksik verinin türleri, keşfi, silme ve doldurma yöntemleri, veri sızıntısı uyarısı ve karar rehberi. Veri analizi yapanlar için uygulamalı anlatım.

Eksik veri nedir ve neden sorundur?

Eksik veri, bir gözlem için beklenen bir değerin kayıtta bulunmamasıdır. Bir müşteri formunda boş bırakılan yaş alanı, çalışmayan bir sensörün atladığı ölçüm ya da birleştirilen tablolardan birinde karşılığı olmayan kayıt eksik veri doğurur. Gerçek hayattaki hemen her veri seti eksik değer içerir.

Eksiklik şu yollarla zarar verebilir. Birincisi örneklem küçülür: eksik satırları silmek veri hacmini azaltır. İkincisi önyargı doğar: eksiklik rastgele değilse, kalan veri popülasyonu temsil etmeyebilir. Üçüncüsü bazı yöntemler çalışmaz: birçok istatistik ve makine öğrenmesi algoritması boş değer kabul etmez.

Bu nedenle eksik veriye yaklaşım, sadece teknik bir temizlik değil analiz kararıdır. Yanıtı "sileyim mi doldurayım mı?" sorusundan önce şu sorular belirler: ne kadarı eksik, neden eksik, hangi değişkenlerde eksik ve analizin amacı nedir? Kısa yol olarak her boş değeri sıfırla doldurmak ya da satırları körlemesine silmek, sessizce hatalı sonuç üretir.

Eksikliğin türü: rastgele mi, sistematik mi?

İstatistik literatürü eksikliği mekanizmasına göre sınıflandırır. Tamamen rastgele eksiklikte (MCAR) boş kalma olasılığı hiçbir değişkenle ilişkili değildir; örneğin bir ölçümün rastgele bir teknik arıza yüzünden kaybolması. Rastgele eksiklikte (MAR) boş kalma olasılığı gözlenen başka değişkenlere bağlıdır; örneğin yaşça büyük katılımcıların gelir alanını daha sık boş bırakması ve yaşın kayıtlı olması. Rastgele olmayan eksiklikte (MNAR) boş kalma olasılığı eksik değerin kendisine bağlıdır; örneğin yüksek gelirlilerin geliri açıklamak istememesi.

Ayrım pratikte önemlidir çünkü her mekanizmada güvenli çözüm farklıdır. MCAR'da silme önyargı üretmez ama bilgi kaybı yaratır. MAR'da gözlenen değişkenlerden yararlanan doldurma yöntemleri yaklaşık doğru sonuç verir. MNAR'da basit yöntemler yetmez; eksikliğin kendisini modellemek, alan bilgisine başvurmak ya da duyarlılık analizi yapmak gerekir.

Mekanizmayı kesin kanıtlamak çoğunlukla mümkün değildir, ama ipuçları vardır: eksikliğin diğer değişkenlerle ilişkisini incelemek, eksik olanlar ile olmayanları karşılaştırmak ve veri toplama sürecini sorgulamak. Veriyi toplayan kişiyle konuşmak çoğu zaman istatistik testten daha fazla bilgi verir.

Önce eksikliği keşfet

Müdahaleden önce eksikliğin haritası çıkarılır. Her sütun için eksik oranı hesaplanır; hangi değişkenlerin birlikte eksik olduğu, eksikliğin zamanla ya da bir gruba göre değişip değişmediği incelenir. Eksik değer matrisi ve ısı haritası gibi görseller örüntüyü hızlı gösterir. Python'da pandas ile boş değer sayımı için isna ve toplam sayım, satır bazlı eksiklik için sayım kombinasyonları kullanılır.

Bu keşifte dikkat edilecek tuzaklar vardır. Birincisi gizli eksiklerdir: bazı sistemler eksik değeri boş bırakmak yerine özel kodla (sıfır, eksi bir, bilinmiyor, tire, çok eski bir tarih) yazar. Bu değerler gerçek veri sanılırsa ortalamalar bozulur. Önce bu kodlar tespit edilip gerçek eksik değere çevrilmelidir. İkincisi anlamlı eksikliktir: bazen boşluk bilgidir. Bir müşterinin "ikinci telefon" alanının boş olması eksik veri değil, ikinci telefonun yokluğudur. Bu durumda alan "var mı yok mu" göstergesine dönüştürülür.

Keşif sonunda her değişken için karar notu yazılır: eksik oranı, olası neden, önerilen yöntem ve riski.

Silme yöntemleri ve ne zaman uygundur?

Satır silme (listwise deletion), bir veya daha çok eksik değeri olan satırı tümüyle çıkarmaktır. Basittir ve eksiklik rastgele ve az olduğunda kabul edilebilir. Ancak eksiklik yaygınsa çok sayıda satır kaybedilir ve eksiklik rastgele değilse örneklem önyargılı hale gelir.

Çift yönlü silme (pairwise) her analizde yalnız ilgili değişkenlerin dolu olduğu satırları kullanır; korelasyon hesabında yararlıdır ama farklı hesaplarda farklı örneklem kullanıldığı için tutarsızlığa yol açabilir. Sütun silme ise bir değişkenin büyük bölümü eksikse ve analize katkısı sınırlıysa düşünülür.

Silme kararı için pratik sorular: eksik oranı düşük mü, eksiklik rastgele mi, silinen satırların kalan satırlardan farkı var mı, veri bol mu? Yanıtlar olumlu ise silme makul olabilir. Aksi halde doldurma yöntemleri değerlendirilmelidir. Hangi yol seçilirse seçilsin kaç satırın ve hangi koşulla silindiği raporlanır.

Doldurma (imputation) yöntemleri

Basit doldurma yöntemleri sayısal değişkende ortalama veya medyan, kategorik değişkende en sık değer (mod) kullanır. Hızlıdır ama değişkenin yayılımını azaltır ve ilişkileri zayıflatır. Çarpık dağılımda ortalama yerine medyan daha güvenlidir. Zaman serilerinde bir önceki değerle doldurma (forward fill) ya da doğrusal interpolasyon yaygındır; ancak uzun boşluklarda yanıltıcı olabilir.

Gelişmiş yöntemler diğer değişkenlerden yararlanır. En yakın komşu doldurma, benzer kayıtların değerlerinden tahmin yapar. Regresyon tabanlı doldurma, eksik değişkeni diğerlerinden tahmin eden bir model kurar. Çoklu doldurma (multiple imputation) ise belirsizliği hesaba katmak için birden çok olası doldurma seti üretir ve sonuçları birleştirir; istatistiksel çıkarımda tercih edilir. Ağaç tabanlı bazı modeller eksik değeri kendi içinde işleyebilir ve ayrı doldurma gerektirmeyebilir.

Eksik göstergesi eklemek de güçlü bir tekniktir: doldurulan her değişken için "bu değer eksikti" diye bir ikili sütun eklenir. Böylece eksik olmanın kendisi bilgi taşıyorsa model bunu kullanabilir.

Makine öğrenmesinde kritik kural: doldurma parametreleri (ortalama, medyan, model) yalnız eğitim verisinden öğrenilir, sonra test verisine uygulanır. Tüm veriden hesaplanan ortalamayla doldurmak veri sızıntısı yaratır ve model başarısını olduğundan iyi gösterir.

Karar rehberi ve sık yapılan hatalar

Karar akışı şöyle özetlenebilir: önce gizli eksikleri temizle, eksik oranını ve mekanizmasını incele. Eksik az ve rastgeleyse silme düşünülebilir. Eksik orta düzeydeyse ve MAR olasılığı yüksekse basit ya da gelişmiş doldurma uygulanır. Eksik yaygınsa ya da MNAR şüphesi varsa, doldurma sonuçlarını duyarlılık analiziyle sına ve gerekirse veri toplamaya geri dön. Amaç tahmin ise doldurma yöntemini çapraz doğrulama içinde seç; amaç çıkarım ise belirsizliği hesaba katan yöntemleri tercih et.

Sık yapılan hatalar: eksik değerleri sıfırla doldurmak, tüm sütunlara aynı yöntemi uygulamak, eksik oranı yüksek bir sütunu doldurup güvenilir saymak, doldurma sonrası değişkenin dağılımını kontrol etmemek, test verisini doldurma parametresine dahil etmek ve yapılan her işlemi belgelememek.

Son olarak, eksik veri kaynağında önlenebiliyorsa kalıcı çözüm oradadır: formda zorunlu alanları gözden geçirmek, sensör arızalarını erken uyarmak, veri girişinde doğrulama kuralları koymak. Analiz aşaması, temizlik yükünün azaltılabileceği son nokta değil, geri bildirim verilecek ilk noktadır.

Eksik veri yönetimini Mindset programlarında çalışma

Python ile Veri Analizi (Pandas) eğitimi, Veri Temizleme ve Ön İşleme Teknikleri modülünü içerir ve eksik değerlerin pandas ile işlenmesini destekler. Veri Bilimi için İstatistik Eğitimi ise Genel Bilgi, Tanımlayıcı İstatistikler ve Hipotezlerin Sınanması gibi başlıklarla, eksikliğin analiz sonuçlarına etkisini yorumlamak için istatistiksel zemin sağlar. Veri analistleri, raporlama uzmanları ve veri bilimine yönelen profesyoneller için uygundur.

İlgili Mindset programı

Python ile Veri Analizi (Pandas)

Sık sorulanlar

Sık sorulan sorular

Eksik veri silinmeli mi doldurulmalı mı?

Eksik oranı düşük ve rastgele ise silme makul olabilir. Eksiklik yaygın ya da sistematikse silme önyargı yaratır; bu durumda doldurma yöntemleri değerlendirilir. Karar eksik oranına, mekanizmasına ve analizin amacına bağlıdır, tek bir doğru yoktur.

Ortalama ile doldurmak yanlış mı?

Her zaman yanlış değildir ama sınırlıdır. Değişkenin yayılımını daraltır ve değişkenler arası ilişkiyi zayıflatır. Çarpık dağılımda medyan daha güvenlidir. Çok eksik varsa gelişmiş yöntemler ya da eksik göstergesi ile birlikte kullanım daha sağlıklıdır.

MCAR, MAR ve MNAR ne demek?

Eksikliğin mekanizmasını anlatır. MCAR tamamen rastgele eksikliktir. MAR eksikliğin gözlenen başka değişkenlere bağlı olmasıdır. MNAR eksikliğin eksik değerin kendisine bağlı olmasıdır. MNAR'da basit yöntemler yetmez, alan bilgisi ve duyarlılık analizi gerekir.

Makine öğrenmesinde doldurma nasıl yapılmalı?

Doldurma parametreleri yalnız eğitim verisinden öğrenilmeli, sonra test verisine uygulanmalıdır. Tüm veriden hesaplanan değerle doldurmak veri sızıntısına yol açar ve model başarısını abartılı gösterir. Doldurma yöntemi çapraz doğrulama içinde seçilmelidir.

Pandas ile eksik değerler nasıl bulunur?

isna ile boş değerler işaretlenir, toplam sayım ile sütun başına eksik adedi bulunur. dropna silme, fillna doldurma, interpolate ise ara değer tahmini için kullanılır. Gizli eksikleri (özel kodlar) önce gerçek eksik değere çevirmek gerekir.

Eksik Veri Nasıl Ele Alınır? Silme mi, Doldurma mı