Learn R Programming

VGAM (version 1.1-12)

gensh: Generalized Secant Hyperbolic Regression Family Function

Description

Estimation of the parameters of the generalized secant hyperbolic distribution.

Usage

gensh(shape, llocation = "identitylink",
      lscale = "loglink", zero = "scale",
      ilocation = NULL, iscale = NULL, imethod = 1,
      glocation.mux = exp((-4:4)/2),
      gscale.mux = exp((-4:4)/2),
      probs.y = 0.3, tol0 = 1e-4)

Value

An object of class "vglmff"

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

Arguments

shape

Numeric of length 1. Shape parameter, called \(t\) in Vaughan (2002). Valid values are \(-\pi/2 < t\).

llocation, lscale

Parameter link functions applied to the two parameters. See Links for more choices. See CommonVGAMffArguments for more information.

zero, imethod

See CommonVGAMffArguments for information.

ilocation, iscale

See CommonVGAMffArguments for information.

glocation.mux, gscale.mux

See CommonVGAMffArguments for information.

probs.y, tol0

See CommonVGAMffArguments for information.

Author

T. W. Yee

Details

The probability density function of the hyperbolic secant distribution is given by $$f(y; a, b, s) = [(c_1 / b) \; \exp(c_2 z)] / [ \exp(2 c_2 z) + 2 C_3 \exp(c_2 z) + 1]$$ for shape parameter \(-\pi < s\) and all real \(y\). The scalars \(c_1\), \(c_2\), \(C_3\) are functions of \(s\). The mean of \(Y\) is the location parameter \(a\) (returned as the fitted values). All moments of the distribution are finite.

Further details about the parameterization can be found in Vaughan (2002). Fisher scoring is implemented and it has a diagonal EIM. More details are at Gensh.

References

Vaughan, D. C. (2002). The generalized secant hyperbolic distribution and its properties. Communications in Statistics---Theory and Methods, 31(2): 219--238.

See Also

hypersecant, logistic.

Examples

Run this code
sh <- -pi / 2; loc <- 2
hdata <- data.frame(x2 = rnorm(nn <- 200))
hdata <- transform(hdata, y = rgensh(nn, sh, loc))
fit <- vglm(y ~ x2, gensh(sh), hdata, trace = TRUE)
coef(fit, matrix = TRUE)

Run the code above in your browser using DataLab