Bagaimana cara memperkirakan kuartil ketiga data yang dibuang?


12

Apakah ada trik teknis untuk menentukan kuartil ketiga jika termasuk dalam interval terbuka yang berisi lebih dari seperempat populasi (jadi saya tidak bisa menutup interval dan menggunakan rumus standar)?

Edit

Jika saya salah memahami sesuatu, saya akan memberikan lebih atau kurang konteks penuh. Saya memiliki data yang disusun dalam tabel dengan dua kolom dan, katakanlah, 6 baris. Dengan masing-masing kolom sesuai dengan interval (di kolom pertama) dan jumlah populasi yang "milik" interval itu. Interval terakhir terbuka dan mencakup lebih dari 25% populasi. Semua interval (kecuali yang terakhir) memiliki rentang yang sama.

Sampel data (dialihkan untuk presentasi):

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

Kolom pertama harus ditafsirkan sebagai kisaran tingkat pendapatan. Yang kedua harus ditafsirkan sebagai jumlah karyawan yang penghasilannya termasuk dalam interval.

Rumus standar yang saya pikirkan adalah .Q3=xQ3+3N4i=1k1ninQ3rQ3


Asumsi umum ketika mencoba memperkirakan kuantil dengan data binned adalah dengan mengasumsikan keseragaman dalam nampan. Tetapi ketika Anda tahu sesuatu tentang cara data kemungkinan akan didistribusikan (seperti halnya dengan pendapatan, yang condong ke kanan) asumsi yang mencerminkan bahwa pengetahuan akan cenderung lebih baik. Alternatif lain adalah dengan mengasumsikan bahwa itu lancar, dan kemudian menghaluskan data (apakah dengan KDE atau distribusi yang sesuai), mendistribusikan kembali poin dalam nampan sesuai dengan model [& mungkin perkiraan ulang (dengan cara yang agak mirip EM) sesuai, & redistribusi dalam nampan lagi] lalu perkirakan kuantil dari itu.
Glen_b -Reinstate Monica

Jawaban:


16

Anda perlu mencocokkan data yang telah disimpan ini dengan beberapa model distribusi, untuk itu adalah satu-satunya cara untuk mengekstrapolasi ke kuartil atas.

Sebuah contoh

Menurut definisi, model seperti itu diberikan oleh fungsi cadlag naik dari ke . Probabilitas yang diberikannya pada interval apa pun adalah . Untuk membuat kecocokan, Anda perlu menempatkan keluarga fungsi yang mungkin diindeks oleh parameter (vektor) , . Dengan asumsi bahwa sampel merangkum kumpulan orang yang dipilih secara acak dan independen dari populasi yang dijelaskan oleh beberapa tertentu (tetapi tidak diketahui) , probabilitas sampel (atau kemungkinan , ) adalah produk dari individu tersebut probabilitas Dalam contoh, itu akan sama0 1 ( a , b ] F ( b ) - F ( a ) θ { F θ } F θ LF01(a,b]F(b)F(a)θ{Fθ}FθL

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

karena orang memiliki probabilitas terkait , memiliki probabilitas , dan seterusnya.F θ ( 8 ) - F θ ( 6 ) 65 F θ ( 10 ) - F θ ( 8 )51Fθ(8)Fθ(6)65Fθ(10)Fθ(8)

Menyesuaikan model dengan data

The perkiraan Kemungkinan Maksimum dari adalah nilai yang memaksimalkan (atau, sama, logaritma ).L LθLL

Distribusi pendapatan sering dimodelkan dengan distribusi lognormal (lihat, misalnya, http://gdrs.sourceforge.net/docs/PoleStar_TechNote_4.pdf ). Menulis , keluarga dari distribusi lognormal adalahθ=(μ,σ)

F(μ,σ)(x)=12π(log(x)μ)/σexp(t2/2)dt.

Untuk keluarga ini (dan banyak lainnya) sangat mudah untuk mengoptimalkan numerik. Sebagai contoh, dalam kita akan menulis sebuah fungsi untuk menghitung dan kemudian mengoptimalkannya, karena maksimum bertepatan dengan maksimum itu sendiri dan (biasanya) lebih mudah untuk menghitung dan lebih stabil secara numerik untuk bekerja dengan:Log L ( L ( θ ) ) Log ( L ) L Log ( L )LRlog(L(θ))log(L)Llog(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]))

Solusi dalam contoh ini adalah , ditemukan dalam nilai .θ=(μ,σ)=(2.620945,0.379682)fit$par

Memeriksa asumsi model

Setidaknya kita perlu memeriksa seberapa baik ini sesuai dengan asumsi lognormalitas, jadi kami menulis fungsi untuk menghitung :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) )

Ini diterapkan pada data untuk mendapatkan populasi bin yang sesuai atau "diperkirakan":

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

Kita dapat menggambar histogram data dan prediksi untuk membandingkannya secara visual, ditunjukkan pada baris pertama plot ini:

Histogram

Untuk membandingkannya, kita dapat menghitung statistik chi-squared. Ini biasanya disebut distribusi chi-squared untuk menilai signifikansi :

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

"P-value" cukup kecil untuk membuat banyak orang merasa cocok tidak baik. Melihat plot, masalahnya jelas berfokus pada nampan terendah . Mungkin terminal bawah seharusnya nol? Jika, secara eksploratif, kami harus mengurangi hingga kurang dari , kami akan mendapatkan kecocokan yang ditunjukkan di baris terbawah plot. P-value chi-squared sekarang , menunjukkan (secara hipotetis, karena kita murni dalam mode eksplorasi sekarang) bahwa statistik ini tidak menemukan perbedaan yang signifikan antara data dan fit.6 - 8 6 3 0,400.008768630.40

Menggunakan fit untuk memperkirakan kuantil

Jika kita menerima, maka, bahwa (1) pendapatan kira-kira didistribusikan secara lognormal dan (2) batas bawah pendapatan kurang dari (katakanlah ), maka estimasi kemungkinan maksimum adalah = . Dengan menggunakan parameter ini, kita dapat membalikkan untuk mendapatkan persentil :3 ( μ , σ ) ( 2.620334 , 0.405454 ) F 75 th63(μ,σ)(2.620334,0.405454)F75th

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

Nilainya . (Seandainya kita tidak mengubah batas bawah nampan pertama dari menjadi , kita akan mendapatkan .)6 3 17.7618.066317.76

Prosedur dan kode ini dapat diterapkan secara umum. Teori kemungkinan maksimum dapat dieksploitasi lebih lanjut untuk menghitung interval kepercayaan di sekitar kuartil ketiga, jika itu menarik.


Wow terima kasih! Saya harus mengakui bahwa saya tidak mengharapkan mesin canggih (setidaknya untuk saya) digunakan untuk menemukan solusi.
atad

Mesin tidak harus maju atau canggih, tetapi apa pun yang Anda lakukan harus mengikuti garis umum yang sama dari contoh ini: asumsikan sesuatu tentang distribusi pendapatan, gunakan itu agar sesuai dengan model matematika, periksa model untuk kewajaran, dan jika itu cocok masuk akal, gunakan untuk menghitung kuartil. Sepanjang jalan, gunakan metode grafis karena mereka dapat mengungkapkan pola yang menarik. (Di sini, yang menarik adalah bahwa ada keberangkatan yang jelas dari lognormality di kelompok berpenghasilan rendah : Saya akan bertanya-tanya mengapa itu terjadi dan apa yang mungkin dikatakan tentang populasi ini.)
whuber

+1, jawaban yang bagus. Sepertinya saya masih harus belajar R.
dav

8

Terlalu panjang untuk dikomentari:

jawaban whubers sama bagusnya dengan jawaban yang lain, tetapi dia menganggap kemiringan yang benar dalam model log-normal-nya. Ini mungkin realistis untuk pendapatan di atas populasi umum, tetapi mungkin tidak untuk pendapatan untuk satu majikan pada tingkat tertentu.

Anda juga dapat memilih untuk memodelkan distribusi sebagai kira-kira simetris dalam hal ini Anda dapat menempatkan sekitar ke dalam kisaran 16-18, ke 18-20 dan ke dalam kisaran 22-24 dan ini akan memberi Anda perkiraan kuartil ketiga sekitar .64 50 17.568645017.5

Anda akan memiliki perkiraan yang lebih rendah jika Anda memilih untuk melanjutkan frekuensi sekitar per unit ganda yang akan memberi Anda perkiraan kuartil ketiga sekitar .17.38017.3

Estimasi yang lebih tinggi dimungkinkan dengan asumsi lain. Jadi kesimpulan saya adalah bahwa kuartil ketiga cenderung berada di atas , tetapi Anda benar-benar tidak memiliki cukup data untuk membuat perkiraan yang akurat tanpa mengetahui (atau mengasumsikan) lebih banyak tentang distribusi pendapatan di ujung atas, dan bahwa justru apa yang tidak Anda ketahui.17


1
(+1) Terima kasih telah menekankan (dan menganalisis) ketergantungan jawaban pada asumsi model. Jika (dalam contoh) Anda tidak dapat mengasumsikan apa-apa, maka semua Anda dapat katakan adalah bahwa kuartil ketiga melebihi . Jika Anda berasumsi model, maka setidaknya Anda bisa mengatakan kepada konsumen saran Anda, "jika gambar Anda tentang distribusi pendapatan setidaknya kira-kira seperti yang saya asumsikan, maka Anda dapat menggunakan hasil saya sebagai perkiraan yang masuk akal dari ketiga kuantil. " (Sebagian besar kesimpulan statistik secara implisit kondisional dari jenis ini.)16
whuber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.