Я сильно подозреваю, что это потому, что сопоставление моментов не является отличным способом оценки параметров. Я повторил ваш пример, используя сопоставление моментов:
set.seed(100)
x = rlnorm(500, 1, 3)
library(fitdistrplus)
f.x<-fitdist(x,distr = "lnorm",method = "mme")
Оценки параметров были:
> f.x
Fitting of the distribution ' lnorm ' by matching moments
Parameters:
estimate
meanlog 3.012574
sdlog 2.199019
Если я сделаю примерку с максимальной вероятностью:
ll = function(meanlog, sdlog){
sum(dlnorm(x, meanlog, sdlog, log = TRUE))
}
objFun = function(params){
-ll(params[1], params[2])
}
optim(c(0, 1), objFun)
Тогда Я получаю оценки параметров
> optim(c(0, 1), objFun)
$par
[1] 0.8861808 3.0118166
, которые намного ближе к значениям, из которых вы выбирали, я думаю, вы согласитесь. Таким образом, квантили (и процентные точки) будут намного ближе к эмпирическим значениям.