Binned verilerin üçüncü çeyreği nasıl tahmin edilir?


12

Üçüncü çeyreği, nüfusun dörtte birinden fazlasını içeren açık bir aralığa aitse belirlemek için herhangi bir teknik hile var mı (bu nedenle aralığı kapatamıyorum ve standart formülü kullanamıyorum)?

Düzenle

Bir şeyi yanlış anladığımda az çok tam bağlam sunacağım. İki sütun ve 6 satırlı bir tabloda düzenlenmiş verilerim var. Her sütun ile bir aralığa (ilk sütunda) ve o aralığa "ait" bir miktar nüfusa karşılık gelir. Son aralık açıktır ve nüfusun% 25'inden fazlasını içerir. Tüm aralıklar (sonuncusu hariç) aynı aralığa sahiptir.

Örnek veriler (sunum için aktarılmıştır):

Column 1: (6;8),(8;10),(10;12),(12;14),(14;16),(16;∞)
Column 2:    51,    65,     68,     82,     78,   182 

İlk sütun gelir düzeyi aralığı olarak yorumlanmalıdır. İkincisi, geliri aralığa ait olan çalışan sayısı olarak yorumlanacaktır.

Düşündüğüm standart formül Q3=xQ3+3N4i=1k1ninQ3rQ3.


Kutulu verilerle kantilleri tahmin etmeye çalışırken yaygın bir varsayım, kutular içinde tekdüzelik varsaymaktır. Ancak, verilerin nasıl dağıtılacağına dair bir şey bildiğinizde (doğru eğrili gelirlerde olduğu gibi), bu bilgiyi yansıtan varsayımlar daha iyi olma eğilimindedir. Başka bir alternatif, bunun pürüzsüz olduğunu varsaymak ve daha sonra verileri (KDE veya bazı monte edilmiş dağıtım yoluyla olsun) pürüzsüzleştirmek, kutuları modele göre yeniden dağıtmak [& muhtemelen yeniden tahmin etmek (bir şekilde EM benzeri bir şekilde), & tekrar bölmelere dağıtın] ve bundan sonra kantilleri tahmin edin.
Glen_b

Yanıtlar:


16

Bu ikili verileri bir dağıtım modeline sığdırmanız gerekir , çünkü üst çeyreğe ekstrapolasyon yapmanın tek yolu budur.

Bir örnek

Tanım olarak, bu tip bir model ile verilmektedir cadlag fonksiyonu yükselen 0 ile 1 . Herhangi aralığına atar olasılık ( a , b ] olan F ( b ) - F ( a ) . Oturmasını sağlamak için, bir (vektör) parametresi tarafından dizine olası fonksiyonları bir aileyi varsaymak gerekir İçeride ISTV melerin RWMAIWi'nin , { F θ } Numunenin, belirli (ancak bilinmeyen) bazı F tarafından tanımlanan bir popülasyondan rastgele ve bağımsız olarak seçilen bir insan topluluğunu özetlediği varsayılarak θF01(a,b]F(b)F(a)θ{Fθ}Fθ, örneğin olasılığı (veya olasılık , ) bireysel olasılıkların ürünüdür. Örnekte,L

L(θ)=(Fθ(8)-Fθ(6))51(Fθ(10)-Fθ(8))65(Fθ()-Fθ(16))182

çünkü kişiden birinin ilişkili olasılıkları F θ ( 8 ) - F θ ( 6 ) , 65'inin olasılığı F θ ( 10 ) - F θ ( 8 ) vb.51Fθ(8)-Fθ(6)65Fθ(10)-Fθ(8)

Modelin verilere uyumu

Maksimum Olabilirlik tahmin arasında üst düzeye çıkaran bir değerdir L (eşdeğer ya da logaritması L ).θLL

Gelir dağılımları genellikle lognormal dağılımlarla modellenir (örneğin, bkz . Http://gdrs.sourceforge.net/docs/PoleStar_TechNote_4.pdf ). Yazma , lognormal dağılımları ailesidirθ=(μ,σ)

F(μ,σ)(x)=12π-(günlük(x)-μ)/σtecrübe(-t2/2)dt.

Bu aile (ve diğerleri için) sayısal olarak optimize etmek kolaydır . Örneğin, günlüğü ( L ( θ ) ) hesaplamak için bir işlev yazacağız ve sonra onu optimize edeceğiz , çünkü maksimum günlük ( L ) maksimum L ile çakışıyor ve (genellikle) günlük ( L ) hesaplamak daha kolay ve sayısal olarak çalışmak için daha kararlı:LRgünlük(L(θ))günlük(L)Lgünlük(L)

logL <- function(thresh, pop, mu, sigma) {
  l <- function(x1, x2) ifelse(is.na(x2), 1, pnorm(log(x2), mean=mu, sd=sigma)) 
                        - pnorm(log(x1), mean=mu, sd=sigma)
  logl <- function(n, x1, x2)  n * log(l(x1, x2))
  sum(mapply(logl, pop, thresh, c(thresh[-1], NA)))
}

thresh <- c(6,8,10,12,14,16)
pop <- c(51,65,68,82,78,182)
fit <- optim(c(0,1), function(theta) -logL(thresh, pop, theta[1], theta[2]))

Bu örnekte çözüm değerinde bulunan, .θ=(μ,σ)=(2.620945,0.379682)fit$par

Model varsayımlarını kontrol etme

En azından bunun varsayılan lognormallikle ne kadar iyi uyduğunu kontrol etmemiz gerekiyor, bu yüzden hesaplamak için bir fonksiyon yazıyoruz :F

predict <- function(a, b, mu, sigma, n) {
  n * ( ifelse(is.na(b), 1, pnorm(log(b), mean=mu, sd=sigma)) 
        - pnorm(log(a), mean=mu, sd=sigma) )

Takılan veya "öngörülen" kutu popülasyonlarını elde etmek için verilere uygulanır:

pred <- mapply(function(a,b) predict(a,b,fit$par[1], fit$par[2], sum(pop)), 
               thresh, c(thresh[-1], NA))

Verilerin histogramlarını ve bu grafiklerin ilk satırında gösterilen görsel olarak karşılaştırma tahminini çizebiliriz:

histogramlar

Bunları karşılaştırmak için, ki kare şeklinde bir istatistik hesaplayabiliriz. Bu, anlamlılığı değerlendirmek için genellikle ki kare dağılımına atıfta bulunur :

chisq <- sum((pred-pop)^2 / pred)
df <- length(pop) - 2
pchisq(chisq, df, lower.tail=FALSE)

0.00876-8630.40

Miktarları tahmin etmek için uygunluğu kullanma

63(μ,σ)(2.620334,0.405454)F75inci

exp(qnorm(.75, mean=fit$par[1], sd=fit$par[2]))

18.066317.76

Bu prosedürler ve bu kod genel olarak uygulanabilir. Eğer ilgiliyse, üçüncü çeyrek çevresinde bir güven aralığını hesaplamak için maksimum olasılık teorisinden daha fazla faydalanılabilir.


Vay canına, teşekkürler! İtiraf etmeliyim ki böyle gelişmiş bir makinenin (en azından benim için) çözüm bulmak için kullanılmasını beklemiyordum.
atad

Makinelerin gelişmiş veya sofistike olması gerekmez, ancak ne yaparsanız yapın bu örneğin aynı genel hatlarını izlemelisiniz: gelir dağılımı hakkında bir şey varsayalım, bunu matematiksel bir modele sığdırmak için kullanın, modeli makul olup olmadığını kontrol edin ve makul bir uyum, çeyrek hesaplamak için kullanın. Yol boyunca, ilginç yöntemler ortaya çıkarabildiği için grafiksel yöntemler kullanın. (Burada ilgi, düşük gelir diliminde lognormallikten belirgin bir şekilde ayrılmasıdır : Bunun neden olduğunu ve bu nüfus hakkında ne söyleyebileceğini merak ediyorum.)
whuber

+1, harika cevap. Görünüşe göre henüz R öğrenmem gerekecek.
dav

8

Yorum yapmak için çok uzun:

whubers'ın cevabı her zamanki gibi iyidir, ancak log-normal modelinde sağ çarpıklığı varsayar. Bu, genel bir nüfus üzerindeki gelirler için gerçekçi olabilir, ancak belirli bir seviyede tek bir işverenin gelirleri için olmayabilir.

68645017.5

8017.3

17


1
16
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.