weibull.mle: Maximum likelihood estimates of three-parameter Weibull...

View source: R/weibull.estimate.R

weibull.mleR Documentation

Maximum likelihood estimates of three-parameter Weibull distribution

Description

Calculates the maximum likelihood estimates of three-parameter Weibull distribution.

Usage

weibull.mle(x, threshold, interval, interval.threshold, extendInt="downX", 
            a, tol = .Machine$double.eps^0.25, maxiter = 1000, trace = 0)

Arguments

x

a numeric vector of observations.

threshold

the threshold parameter value.

interval

a vector containing the end-points of the interval to be estimated for the shape parameter.

interval.threshold

a vector containing the end-points of the interval to be estimated for the threshold parameter.

extendInt

character string specifying if the interval c(left,right) should be extended or directly produce an error when f() has no differing signs at the endpoints. The default, "downX", keep lowering the the left end of the interval so that f() has different signs. See uniroot.

a

the offset fraction to be used; typically in (0,1).

tol

the desired accuracy (convergence tolerance).

maxiter

the maximum number of iterations.

trace

integer number; if positive, tracing information is produced. Higher values giving more details.

Details

The three-parameter Weibull distribution has the cumulative distribution function

F(x) = 1 - \exp\Big[ - \Big( \frac{x-\theta}{\beta} \Big)^{\alpha} \Big],

where x>\theta. The shape (\alpha) and scale (\beta) parameters are estimated using the maximum likelihood. The maximum likelihood estimation is performed using the method by Farnum and Booth (1997). If the threshold (\theta) is missing, it is estimated by weibull.threshold. If threshold=0, then weibull.mle calculates the maximum likelihood estimates of the two-parameter Weibull distribution.

If interval is missing, the interval is given by the method in Farnum and Booth (1997).

If interval.threshold is missing, the interval is initally given by (min(x)-sd(x), min(x)). If this interval does not include the estimate, its lower bound is extended (see also uniroot).

The choice of a follows ppoints function.

Convergence is declared either if f(x) == 0 or the change in x for one step of the algorithm is less than tol (see also uniroot).

If the algorithm does not converge in maxiter steps, a warning is printed and the current approximation is returned (see also uniroot).

Value

An object of class "weibull.estimate", a list with two parameter estimates (if threshold is given) or three-parameter estimates.

Author(s)

Chanseok Park

References

Park, C. (2018). A Note on the Existence of the Location Parameter Estimate of the Three-Parameter Weibull Model Using the Weibull Plot. Mathematical Problems in Engineering, 2018, 6056975.
\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1155/2018/6056975")}

Park, C. (2017). Weibullness test and parameter estimation of the three-parameter Weibull model using the sample correlation coefficient. International Journal of Industrial Engineering - Theory, Applications and Practice, 24(4), 376-391.
\Sexpr[results=rd]{tools:::Rd_expr_doi("10.23055/ijietap.2017.24.4.2848")}

Farnum, N. R. and P. Booth (1997). Uniqueness of Maximum Likelihood Estimators of the 2-Parameter Weibull Distribution. IEEE Transactions on Reliability, 46, 523-525.

See Also

weibull.wp for the parameter estimation using the Weibull plot.

weibull.rm for robust parameter estimation using the repeated median method.

weibull.threshold for the estimate of the threshold parameter.

fitdistr for maximum-likelihood fitting of univariate distributions in package MASS.

Examples

library(weibullness)

# Three-parameter Weibull
data = c(355,725,884,462,1092,190,166,172,188,224,267,298,355,471,
        154,101,76,811,80,249,752,305,301,386,667,212,186,127,
        121,214,242,237,355,210,253,400,401,514,211,285)
weibull.mle(data)

# Two-parameter Weibull
weibull.mle(data, threshold=0)

weibullness documentation built on Aug. 8, 2023, 5:12 p.m.