Learn R Programming

VGAM (version 0.8-2)

cauchy: Cauchy Distribution Family Function

Description

Estimates either the location parameter or both the location and scale parameters of the Cauchy distribution by maximum likelihood estimation.

Usage

cauchy(llocation="identity", lscale="loge", elocation=list(),
       escale=list(), ilocation=NULL, iscale=NULL,
       iprobs = seq(0.2, 0.8, by=0.2),
       method.init=1, nsimEIM=NULL, zero=2)
cauchy1(scale.arg=1, llocation="identity",
        elocation=list(), ilocation=NULL, method.init=1)

Arguments

llocation, lscale
Parameter link functions for the location parameter $a$ and the scale parameter $b$. See Links for more choices.
elocation, escale
List. Extra argument for each link. See earg in Links for general information.
ilocation, iscale
Optional initial value for $a$ and $b$. By default, an initial value is chosen internally for each.
method.init
Integer, either 1 or 2 or 3. Initial method, three algorithms are implemented. The user should try all possible values to help avoid converging to a local solution. Also, choose the another value if convergence fails, or use ilocation
iprobs
Probabilities used to find the respective sample quantiles; used to compute iscale.
zero, nsimEIM
See CommonVGAMffArguments for more information.
scale.arg
Known (positive) scale parameter, called $b$ below.

Value

  • An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

Warning

It is well-known that the Cauchy distribution may have local maxima in its likelihood function; make full use of method.init, ilocation, iscale etc.

Details

The Cauchy distribution has density function $$f(y;a,b) = \left{ \pi b [1 + ((y-a)/b)^2] \right}^{-1}$$ where $y$ and $a$ are real and finite, and $b>0$. The distribution is symmetric about $a$ and has a heavy tail. Its median and mode are $a$ but the mean does not exist. The fitted values are the estimates of $a$. Fisher scoring is the default but if nsimEIM is specified then Fisher scoring with simulation is used.

If the scale parameter is known (cauchy1) then there may be multiple local maximum likelihood solutions for the location parameter. However, if both location and scale parameters are to be estimated (cauchy) then there is a unique maximum likelihood solution provided $n > 2$ and less than half the data are located at any one point.

References

Evans, M., Hastings, N. and Peacock, B. (2000) Statistical Distributions, New York: Wiley-Interscience, Third edition.

Barnett, V. D. (1966) Evaluation of the maximum-likehood estimator where the likelihood equation has multiple roots. Biometrika, 53, 151--165.

Copas, J. B. (1975) On the unimodality of the likelihood for the Cauchy distribution. Biometrika, 62, 701--704.

Efron, B. and Hinkley, D. V. (1978) Assessing the accuracy of the maximum likelihood estimator: Observed versus expected Fisher information. Biometrika, 65, 457--481.

See Also

Cauchy, cauchit, studentt.

Examples

Run this code
# Both location and scale parameters unknown
cdata1 <- data.frame(x = runif(nn <- 1000))
cdata1 <- transform(cdata1, loc = exp(1+0.5*x), scale = exp(1))
cdata1 <- transform(cdata1, y = rcauchy(nn, loc, scale))
fit <- vglm(y ~ x, cauchy(lloc="loge"), cdata1, trace = TRUE)
coef(fit, matrix = TRUE)
head(fitted(fit))  # Location estimates
summary(fit)

# Location parameter unknown
set.seed(123)
cdata2 <- data.frame(x = runif(nn <- 500))
cdata2 <- transform(cdata2, loc = 1+0.5*x, scale = 0.4)
cdata2 <- transform(cdata2, y = rcauchy(nn, loc, scale))
fit <- vglm(y ~ x, cauchy1(scale = 0.4), cdata2, trace = TRUE, crit = "c")
coef(fit, matrix = TRUE)

Run the code above in your browser using DataLab