Dear R-helpers,

I am trying to fit my data to a 4-parameter lognormal distribution (aka
Johnson Sb dist) with fitdist function from the library(fitdistrplus). So
far, I have learnt that with "mle" method it's not always possible to
estimate the gamma and delta parameters even if the bounding estimates are
"known"/"guessed".

Therefore, I tried to fit it with the "mme" method giving:

#xi = xi
#lambda =l
#delta =d
#gamma = g

data1 <- rlnorm(10000,-2.79,0.598)  ## the parameters have been estimated
for a 2-parms lognormal dist.

 djohn <- function(x,xi,l,d,g) {  ## probability density function of
Johnson SB distribution (source:
http://www.ntrand.com/johnson-sb-distribution/)
  (d/(l*sqrt(2*pi)*((x-xi)/l)*(1-((x-xi)/l))))*exp(-0.5*(g +
d*log(((x-xi)/l)/(1-((x-xi)/l))))^2)
  }
  pjohn <- function(x,xi,l,d,g) {
   pnorm(g + d*log(((x-xi)/l)/(1-((x-xi)/l))))
  }
  qjohn <- function(p,xi,l,d,g) {
   qnorm(xi + (l*exp((qnorm(p) - g)/d))/(1 + exp((qnorm(p) - g)/d)))
 }
  
  library(moments)
  memplog <- function(x,order) {
   ifelse(order==1, mean(x), moment(x,order,central=TRUE)) 
  }

 fjsb <-
fitdist(c(data1),"john",method="mme",order=c(1,2),memp="memplog",start=list
(xi=0,l=max(data1),d=1,g=1))

But it results in:

>   fjsb <-
fitdist(c(data1),"john",method="mme",order=c(1,2),memp="memplog",start=list
(xi=0,l=max(data1),d=1,g=1))
Error in mmedist(data, distname, start = start, fix.arg = fix.arg, ...) : 
  wrong dimension for the moment order to match.

And I just can't figure out where the mistake is. Thank you very much for
your help in advance.
Regards,
Tanya   

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to