Learn R Programming

VGAM (version 0.8-2)

rayleigh: Rayleigh Distribution Family Function

Description

Estimating the parameter of the Rayleigh distribution by maximum likelihood estimation. Right-censoring is allowed.

Usage

rayleigh(lscale = "loge", escale = list(), nrfs = 1/3 + 0.01)
crayleigh(lscale = "loge", escale = list(), oim = TRUE)

Arguments

lscale
Parameter link function applied to the scale parameter $b$. See Links for more choices. A log link is the default because $b$ is positive.
escale
List. Extra argument for the link. See earg in Links for general information, as well as CommonVGAMffArguments.
nrfs
Numeric, of length one, with value in $[0,1]$. Weighting factor between Newton-Raphson and Fisher scoring. The value 0 means pure Newton-Raphson, while 1 means pure Fisher scoring. The default value uses a mixture of the two algorithms, and retainin
oim
Logical. For censored data only, TRUE means the Newton-Raphson algorithm, and FALSE means Fisher scoring.

Value

Warning

The theory behind the argument oim is not fully complete.

Details

The Rayleigh distribution, which is used in physics, has a probability density function that can be written $$f(y) = y \exp(-0.5 (y/b)^2)/b^2$$ for $y > 0$ and $b > 0$. The mean of $Y$ is $b \sqrt{\pi / 2}$ and its variance is $b^2 (4-\pi)/2$.

The VGAM family function crayleigh handles right-censored data (the true value is greater than the observed value). To indicate which type of censoring, input extra = list(rightcensored = vec2) where vec2 is a logical vector the same length as the response. If the component of this list is missing then the logical values are taken to be FALSE. The fitted object has this component stored in the extra slot.

References

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

See Also

Rayleigh, genrayleigh, riceff, maxwell.

Examples

Run this code
nn <- 1000; Scale <- exp(2)
rdata <- data.frame(ystar = rrayleigh(nn, scale = Scale))
fit <- vglm(ystar ~ 1, rayleigh, rdata, trace = TRUE, crit = "c")
head(fitted(fit))
with(rdata, mean(ystar))
coef(fit, matrix = TRUE)
Coef(fit)

# Censored data
rdata <- transform(rdata, U = runif(nn, 5, 15))
rdata <- transform(rdata, y = pmin(U, ystar))
par(mfrow = c(1,2)); hist(with(rdata, ystar)); hist(with(rdata, y))
extra <- with(rdata, list(rightcensored = ystar > U))
fit <- vglm(y ~ 1, crayleigh, rdata, trace = TRUE, extra = extra)
table(fit@extra$rightcen)
coef(fit, matrix = TRUE)
head(fitted(fit))

Run the code above in your browser using DataLab