rayleighMeanlink {VGAMextra} | R Documentation |
The rayleighMeanlink
and the maxwellMeanlink
transformations, their inverse and the first two derivatives.
rayleighMeanlink(theta, bvalue = NULL, inverse = FALSE, deriv = 0, short = TRUE, tag = FALSE) maxwellMeanlink(theta, bvalue = NULL, inverse = FALSE, deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. It is theta by default,
but it may be eta depending upon other
parameters.
See |
bvalue, inverse, deriv, short, tag |
See |
rayleighMeanlink
and maxwellMeanlink
are link functions
to model the mean of the Rayleigh distirbution,
(rayleigh
),
and the mean of the Maxwell distribution,
(maxwell
),
respectively.
Both links are somehow defined as the log(theta) plus an offset. Specifcally,
rayleighMeanlink(b) = log ( b * γ(0.5) / sqrt(2) ),
where b > 0 is a scale parameter as in
rayleigh
; and
maxwellMeanlink(b) = log ( a^(-1/2) * sqrt(pi/8) ).
Here, a is positive as in maxwell
.
Non–positive values of a and/or b will result in
NaN
, whereas values too close to zero will return
Inf
or -Inf
.
For deriv = 0
, the corresponding transformation of
theta
when inverse = FALSE
.
If inverse = TRUE
, then theta
becomes η, and
the inverse transformations
I) exp(theta) * sqrt
(2) / gamma(0.5)
for rayleighMeanlink
, and
II) 8 * exp(-2 * theta)
/ gamma(0.5)
^2 for
maxwellMeanlink
,
are returned.
For deriv = 1
,
d eta
/ d theta
when inverse = FALSE
.
If inverse = TRUE
, then
d theta
/ d eta
as a function of
theta
.
When deriv = 2
, the second derivatives in
terms of theta
are returned.
Values of a or b out of range, e.g. when covariates
involved, may cause numerical instability.
Use argument bvalue
to replace them before computing any link.
If theta
is character, then arguments inverse
and
deriv
are ignored. See Links
for further details.
V. Miranda and Thomas W. Yee.
## The link and its inverse ## theta <- 0.1 + 1:10 eta <- maxwellMeanlink(maxwellMeanlink(theta = theta), inverse =TRUE) summary(eta - theta) # Zero eta <- rayleighMeanlink(rayleighMeanlink(theta = theta), inverse =TRUE) summary(eta - theta) # Zero ## Modelling the mean of the Maxwell distribution ## set.seed(17010401) rate <- maxwellMeanlink(theta = 2, inverse = TRUE) # ~ 0.046 mdata <- data.frame(y = rmaxwell(1000, rate = rate )) fit <- vglm(y ~ 1, maxwell(link = "maxwellMeanlink"), data = mdata, trace = TRUE, crit = "coef") coef(fit, matrix = TRUE) Coef(fit)