Veri setim var. Çok fazla eksik değer var. Bazı sütunlarda eksik değer -999 ile değiştirildi, ancak diğer sütunlarda eksik değer 'NA' olarak işaretlendi.
Eksik değeri değiştirmek için neden -999'u kullanalım?
Veri setim var. Çok fazla eksik değer var. Bazı sütunlarda eksik değer -999 ile değiştirildi, ancak diğer sütunlarda eksik değer 'NA' olarak işaretlendi.
Eksik değeri değiştirmek için neden -999'u kullanalım?
Yanıtlar:
Bu, bilgisayar yazılımı sayısal vektörleri sayısal vektörler olarak sakladığında, önceki zamanlardaki bir sonuçtur. Hiçbir gerçek sayı "Ben özlüyorum" anlamını taşımaz. Dolayısıyla, erken istatistik yazılımı "doğru" sayılarla eksik değerler arasında ayrım yapmak zorunda kaldığında, -999 veya -9999 gibi geçerli bir sayı olmayan "açıkça" bir şey koyuyorlardı.
Tabii ki, -999 veya -9999, eksik bir değer için durdu, "açık" değil. Oldukça sık, kesinlikle geçerli bir değer olabilir. Bu tür değerleri açıkça kontrol etmediğiniz sürece , analizlerinizde her türlü "ilginç" hataları görebilirsiniz.
Günümüzde, eksik değerleri içerebilen sayısal vektörler, dahili olarak "zenginleştirilmiş" sayısal vektörler, yani, hangi değerlerin eksik olduğuna dair ek bilgi içeren sayısal vektörler olarak temsil edilir. Bu elbette çok daha iyidir, çünkü o zaman eksik değerler bu şekilde ele alınacak ve yanlışlıkla geçerli olarak kabul edilmeyecektir.
Ne yazık ki, bazı yazılımlar belki de uyumluluk için hala böyle bir kural kullanıyor. Bazı kullanıcılar bu konvansiyonu gayri resmi osmoz ile ıslattılar ve yazılımları eksik değerlere dikkatlice girmeyi destekleseler bile NA yerine -999 yazdılar.
Ahlaki: yok -999 olarak eksik değerleri kodlamak.
Bu tür değerler veritabanları içindir. Uzun zaman önce ve çoğu günümüzde çoğu veritabanı, tamsayı değerli veriler için sabit sayıda basamak ayırdı. -999 gibi bir sayı, dört karakterde, -9999, beş karakterde vb. Saklanabilen en küçük sayıdır.
(Tanım gereği - sayısal bir alan "NA" gibi alfanümerik karakterleri saklayamayacağını söylemeye gerek olmadan gider. Bazı sayısal kodların eksik veya geçersiz verileri göstermek için kullanılması gerekir.)
Kayıp bir değeri belirtmek için depolanabilecek en negatif sayı neden kullanılmalı? Çünkü yanlış bir şekilde geçerli bir sayı olarak kabul ediyorsanız, sonuçların çarpıcı biçimde yanlış olmasını istersiniz. Eksik değerlere ilişkin kodlarınız ne kadar fazla gerçekçi olursa, o kadar güvende olursunuz, çünkü büyük ölçüde yanlış giriş genellikle çıktıyı bozar. (Sağlam istatistiksel yöntemler önemli istisnalar!)
Böyle bir hata nasıl olabilir? Bu, sistemler arasında veri alışverişinde bulunduğunda her zaman gerçekleşir. -9999'un eksik bir değeri temsil ettiğini varsayan bir sistem, verileri CSV gibi çoğu biçimde yazdığınızda bu değeri çıktı olarak verir. CSV dosyasını okuyan sistem, eksik gibi değerleri değerlendirmek için “bilmeyebilir” (veya “söylenmeyebilir”).
Bir başka neden de, iyi istatistiksel veri ve bilgi işlem platformlarının birçok farklı eksik değer türünü tanımasıdır: NaN'ler, gerçekten eksik değerler, taşmalar, aşağı akışlar, yanıt vermeyenler, vb. 9998, -9997, vb) bunlara, tüm eksik değerleri herhangi bir tablodan veya diziden sorgulamayı kolaylaştırırsınız.
Bir diğeri ise, bu tür değerlerin genellikle grafiksel göstergelerde aşırı aykırı değerler olarak gösterilmesidir. Bir grafikte göze çarpmayı seçebileceğiniz tüm değerler arasında, mümkün olan en olumsuz olanı verilerinizden uzakta olma olasılığınızın en yüksek olduğu anlamına gelir.
Yararlı çıkarımlar ve genellemeler var:
Yeni durumlarda NoData kodlarını icat etmeyi kolaylaştırmak için bu tür standart bir kural benimseyin (kendi veritabanı yazılımınızı tasarlarken).
Yazılımınızı ve sistemlerinizi, hiç başarısız olmadıklarında önemli ölçüde başarısız olacak şekilde tasarlayın. En kötü böcek, aralıklı, rastgele veya minik olanlardır, çünkü tespit edilemezler ve avlanmaları zor olabilir.
Kayıp değerleri kodlamak için her şeyi kullanabilirsiniz . R gibi bazı yazılımlar, eksik verileri kodlamak için özel değerler kullanır, ancak aynı zamanda eksik veriler için özel kodları olmayan SPSS gibi yazılım paketleri de vardır. İkinci durumda , bu tür değerler için keyfi bir seçim yapmanız gerekir . Herhangi bir şeyi seçebilirsiniz , ancak verilerinizden gözle görülür şekilde farklı bir değer seçmek genellikle iyi bir fikirdir (örneğin, verileriniz 0-100 aralığında yüzdedir, bu nedenle eksik verileri kodlamak için 999'u seçersiniz veya verileriniz insan yaşıdır ve eksik gözlemler için negatif değerler kullanırsınız). Bunun arkasındaki fikir, böyle yaparak bir şeyin yanlış gittiğini ve rakamların toplanmadığını fark edebilmeniz gerektiğidir.
Bununla birlikte, bu tür kodlamayla ilgili sorun, özel kodlamayı gerçekten fark edemediğiniz ve çöp sonuçlarına varamadığınızdır.
Veri kümesinde hesaplanmış değişkenler var mı? Yoksa bu birleştirilmiş / sıralanmış verilerden oluşan bir analitik veri seti mi? Bazı yazılımlar eksik verileri belirtmek için çok büyük negatif değerler kullanır. Ancak diğer yazılımlar NA veya ile eksik değerler oluşturur .
. Tutarsız olduklarında, genellikle bazı işlem sonrası işlemler anlaşmazlıklara yol açmıştır.