BMTfit.mle {BMT}R Documentation

Maximum Likelihood Fit of the BMT Distribution to Non-censored Data.


Fit of the BMT distribution to non-censored data by maximum likelihood estimation (mle).


BMTfit.mle(data, start = list(p3 = 0.5, p4 = 0.5, p1 = min(data) - 0.1, p2 =
  max(data) + 0.1), fix.arg = NULL, type.p.3.4 = "t w",
  type.p.1.2 = "c-d", optim.method = "Nelder-Mead", custom.optim = NULL,
  silent = TRUE, ...)



A numeric vector with the observed values for non-censored data.


A named list giving the initial values of parameters of the BMT distribution or a function of data computing initial values and returning a named list. (see the 'details' section of mledist).


An optional named list giving the values of fixed parameters of the BMT distribution or a function of data computing (fixed) parameter values and returning a named list. Parameters with fixed value are thus NOT estimated. (see the 'details' section of mledist).


Type of parametrization asociated to p3 and p4. "t w" means tails weights parametrization (default) and "a-s" means asymmetry-steepness parametrization.


Type of parametrization asociated to p1 and p2. "c-d" means domain parametrization (default) and "l-s" means location-scale parametrization.


"default" (see the 'details' section of mledist) or optimization method to pass to optim.


A function carrying the optimization (see the 'details' section of mledist).


A logical to remove or show warnings when bootstraping.


Further arguments to be passed to generic functions or to the function "mledist". See mledist for details.


This function is not intended to be called directly but is internally called in BMTfit when used with the maximum likelihood method.

BMTfit.mle is based on the function mledist from the package fitdistrplus but it focuses on the maximum likelihood parameter estimation for the BMT distribution (see BMT for details about the BMT distribution and mledist for details about maximum likelihood fit of univariate distributions).


BMTfit.mle returns a list with following components,


the parameter estimates.


an integer code for the convergence of optim/constrOptim defined as below or defined by the user in the user-supplied optimization function.

0 indicates successful convergence.

1 indicates that the iteration limit of optim has been reached.

10 indicates degeneracy of the Nealder-Mead simplex.

100 indicates that optim encountered an internal error.


the log-likelihood value.


a symmetric matrix computed by optim as an estimate of the Hessian at the solution found or computed in the user-supplied optimization function. It is used in BMTfit to estimate standard errors.


the name of the optimization function used for maximum likelihood.


when optim is used, the name of the algorithm used, NULL otherwise.


the named list giving the values of parameters of the named distribution that must kept fixed rather than estimated or NULL if there are no such parameters.

the function used to set the value of fix.arg or NULL.


the vector of weigths used in the estimation process or NULL.


A two-element integer vector giving the number of calls to the log-likelihood function and its gradient respectively. This excludes those calls needed to compute the Hessian, if requested, and any calls to log-likelihood function to compute a finite-difference approximation to the gradient. counts is returned by optim or the user-supplied function or set to NULL.


A character string giving any additional information returned by the optimizer, or NULL. To understand exactly the message, see the source code.


Camilo Jose Torres-Jimenez [aut,cre]


Based on the function mledist of the R package: fitdistrplus

Delignette-Muller ML and Dutang C (2015), fitdistrplus: An R Package for Fitting Distributions. Journal of Statistical Software, 64(4), 1-34.


Torres-Jimenez, C. J. (2017, September), Comparison of estimation methods for the BMT distribution. ArXiv e-prints.

Torres-Jimenez, C. J. (2018), The BMT Item Response Theory model: A new skewed distribution family with bounded domain and an IRT model based on it, PhD thesis, Doctorado en ciencias - Estadistica, Universidad Nacional de Colombia, Sede Bogota.

See Also

See BMT for the BMT density, distribution, quantile function and random deviates. See BMTfit.mme, BMTfit.qme, BMTfit.mge, BMTfit.mpse and BMTfit.mqde for other estimation methods. See optim and constrOptim for optimization routines. See BMTfit and fitdist for functions that return an objetc of class "fitdist".


# (1) basic fit by maximum likelihood estimation
x1 <- rBMT(n=100, p3 = 0.25, p4 = 0.75)

# (2) how to change the optimisation method?
BMTfit.mle(x1, optim.method="L-BFGS-B") 
BMTfit.mle(x1, custom.optim="nlminb")

# (3) estimation of the tails weights parameters of the BMT 
# distribution with domain fixed at [0,1]
BMTfit.mle(x1, start=list(p3=0.5, p4=0.5), fix.arg=list(p1=0, p2=1))

# (4) estimation of the asymmetry-steepness parameters of the BMT 
# distribution with domain fixed at [0,1]
BMTfit.mle(x1, start=list(p3=0, p4=0.5), type.p.3.4 = "a-s", 
           fix.arg=list(p1=0, p2=1))

[Package BMT version Index]