Ajuste de una distribución lognormal a datos truncados en R

Para un breve resumen de los antecedentes, estoy interesado en describir una distribución de tamaños de incendios, que se presume que sigue una distribución lognormal (muchos incendios pequeños y pocos incendios grandes). Para mi aplicación específica, solo me interesan los incendios que caen dentro de un cierto rango de tamaños (> min, <max). Por lo tanto, estoy intentando ajustar una distribución lognormal a un conjunto de datos que ha sido censurado en ambos extremos. En esencia, quiero encontrar los parámetros de la distribución lognormal (mu y sigma) que mejor se adapten a la distribución completa antes de la censura. ¿Puedo ajustar la distribución teniendo en cuenta que sé que solo estoy buscando una parte de la distribución?

He hecho algo de experimentación, pero me he quedado perplejo. Aquí hay un ejemplo:

# Generate data #
D <- rlnorm(1000,meanlog = -0.75, sdlog = 1.5)
# Censor data #
min <- 0.10
max <- 20
Dt <- D[D > min]
Dt <- Dt[Dt <= max]

Si encajo los datos no censurados (D) usando fitdistr (MASS) o fitdist (fitdistrplus), obviamente obtengo aproximadamente los mismos valores de parámetros que ingresé. Pero si encajo los datos censurados (Dt), los valores de los parámetros no coinciden, como se esperaba. La pregunta es cómo incorporar la censura conocida. He visto algunas referencias en otras partes sobre el uso de upper y lower dentro de fitdistr, pero encuentro un error que no estoy seguro de cómo resolver:

> fitt <- fitdist(Dt, "lognormal", lower = min, upper = max)
Error in fitdist(Dt, "lognormal", lower = min, upper = max) : 
The  dlognormal  function must be defined 

Apreciaré cualquier consejo, primero sobre si esta es la forma adecuada de ajustarse a una distribución censurada y, de ser así, cómo definir la función dnognormal para que pueda hacer que esto funcione. ¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta