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!
fitdistrplus
.