Saya memiliki serangkaian tanggapan yang dinyatakan sebagai interval seperti contoh di bawah ini.
> head(left)
[1] 860 516 430 1118 860 602
> head(right)
[1] 946 602 516 1204 946 688
di mana kiri adalah batas bawah dan kanan adalah batas atas dari respons. Saya ingin memperkirakan parameter sesuai dengan distribusi lognormal.
Untuk sementara ketika saya mencoba menghitung kemungkinan secara langsung, saya bergumul dengan fakta bahwa karena kedua batas tersebut didistribusikan di antara seperangkat paramat yang berbeda, saya mendapatkan beberapa nilai negatif seperti di bawah ini:
> Pr_high=plnorm(wta_high,meanlog_high,sdlog_high)
> Pr_low=plnorm(wta_low, meanlog_low,sdlog_low)
> Pr=Pr_high-Pr_low
>
> head(Pr)
[1] -0.0079951419 0.0001207749 0.0008002343 -0.0009705125 -0.0079951419 -0.0022395514
Saya tidak bisa benar-benar mencari cara untuk menyelesaikannya dan memutuskan untuk menggunakan titik tengah interval sebagai gantinya yang merupakan kompromi yang baik sampai saya menemukan fungsi mledist yang mengekstrak kemungkinan log dari respons interval, ini adalah ringkasan yang saya dapatkan:
> mledist(int, distr="lnorm")
$estimate
meanlog sdlog
6.9092257 0.3120138
$convergence
[1] 0
$loglik
[1] -152.1236
$hessian
meanlog sdlog
meanlog 570.760358 7.183723
sdlog 7.183723 1112.098031
$optim.function
[1] "optim"
$fix.arg
NULL
Warning messages:
1: In plnorm(q = c(946L, 602L, 516L, 1204L, 946L, 688L, 1376L, 1376L, :
NaNs produced
2: In plnorm(q = c(860L, 516L, 430L, 1118L, 860L, 602L, 1290L, 1290L, :
NaNs produced
Nilai parameter tampaknya masuk akal dan kemungkinan loglikel lebih besar daripada metode lain yang saya gunakan (distribusi titik tengah atau distribusi salah satu dari batas).
Ada pesan peringatan yang tidak saya mengerti sehingga dapatkah seseorang memberi tahu saya jika saya melakukan hal yang benar dan apa arti pesan ini?
Hargai bantuannya!
sumber
fitdistrplus
.Jawaban:
Sepertinya Anda mungkin tidak menghitung kemungkinan dengan benar.
Ketika semua yang Anda tahu tentang suatu nilaix Apakah itu
Itu diperoleh secara independen dari suatu distribusiFθ dan
Itu terletak di antaraa dan b>a inklusif (di mana b dan a independen dari x ),
maka (menurut definisi) kemungkinannya adalah
Sebagai contoh, berikut ini adalaha b Fθ b>a b≠a
R
implementasi di mana nilai berada di vektor , nilai di vektor , dan adalah Lognormal. (Ini bukan solusi untuk tujuan umum; khususnya, ini mengasumsikan bahwa dan untuk semua data.)left
right
Untuk menemukan kemungkinan log maksimum, kita memerlukan sekumpulan nilai awal yang masuk akal untuk log mean dan mencatat standar deviasi . Estimasi ini menggantikan setiap interval dengan rata-rata geometris dari titik akhir:μ σ
Mari kita buat beberapa data acak yang didistribusikan secara lognormal dan masukkan ke dalam interval:
Pemasangan dapat dilakukan oleh pengoptimal multivariat tujuan umum. (Yang ini adalah minimizer secara default, jadi itu harus diterapkan pada kemungkinan log yang negatif.)
Estimasi adalah , tidak jauh dari nilai yang dimaksudkan , dan estimasi adalah , tidak jauh dari nilai yang dimaksudkan : tidak buruk untuk hanya nilai. Untuk melihat seberapa baik kecocokannya, mari kita plot fungsi distribusi kumulatif empiris dan fungsi distribusi yang pas. Untuk membangun ECDF, saya hanya menyisipkan secara linear melalui setiap interval:μ 6.12 6 σ 0.40 0.5 12
Karena penyimpangan vertikal secara konsisten kecil dan bervariasi naik dan turun, sepertinya cocok.
sumber