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 )LR
log(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:
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.00876−8630.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.