recnormal1 {VGAM}R Documentation

Upper Record Values from a Univariate Normal Distribution

Description

Maximum likelihood estimation of the two parameters of a univariate normal distribution when the observations are upper record values.

Usage

recnormal1(lmean="identity", lsd="loge",
           imean=NULL, isd=NULL, method.init=1, zero=NULL)

Arguments

lmean, lsd Link functions applied to the mean and sd parameters. See Links for more choices.
imean, isd Numeric. Optional initial values for the mean and sd. The default value NULL means they are computed internally, with the help of method.init.
method.init Integer, either 1 or 2 or 3. Initial method, three algorithms are implemented. Choose the another value if convergence fails, or use imean and/or isd.
zero An integer vector, containing the value 1 or 2. If so, the mean or standard deviation respectively are modelled as an intercept only. Usually, setting zero=2 will be used, if used at all. The default value NULL means both linear/additive predictors are modelled as functions of the explanatory variables.

Details

The response must be a vector or one-column matrix with strictly increasing values.

Value

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

Note

This family function tries to solve a difficult problem, and the larger the data set the better. Convergence failure can commonly occur, and convergence may be very slow, so set maxit=200, trace=TRUE, say. Inputting good initial values are advised.

This family function uses the BFGS quasi-Newton update formula for the working weight matrices. Consequently the estimated variance-covariance matrix may be inaccurate or simply wrong! The standard errors must be therefore treated with caution; these are computed in functions such as vcov() and summary().

Author(s)

T. W. Yee

References

Arnold, B. C. and Balakrishnan, N. and Nagaraja, H. N. (1998) Records, New York: John Wiley & Sons.

See Also

normal1, dcnormal1.

Examples

n = 10000
mymean = 100
# First value is reference value or trivial record
rawy = c(mymean, rnorm(n, me=mymean, sd=16))

# Keep only observations that are records
delete = c(FALSE, rep(TRUE, len=n))
for(i in 2:length(rawy))
    if(rawy[i] > max(rawy[1:(i-1)])) delete[i] = FALSE
(y = rawy[!delete])

fit = vglm(y ~ 1, recnormal1, trace=TRUE, maxit=200)
coef(fit, matrix=TRUE)
Coef(fit)
summary(fit)

[Package VGAM version 0.7-7 Index]