Learn R Programming

VGAMextra (version 0.0-6)

rayleighMlink: Link functions for the mean of 1--parameter continuous distributions: The Rayleigh and the Maxwell distributions.

Description

The rayleighMlink and the maxwellMlink transformations, their inverse and the first two derivatives.

Usage

rayleighMlink(theta, bvalue = NULL, inverse = FALSE,
                 deriv = 0, short = TRUE, tag = FALSE) 
                    
   maxwellMlink(theta, bvalue = NULL, inverse = FALSE,
                deriv = 0, short = TRUE, tag = FALSE)

Value

For deriv = 0, the corresponding transformation of

theta when inverse = FALSE. If inverse = TRUE, then theta becomes \(\eta\), and the inverse transformations

I) exp(theta) * sqrt(2) / gamma(0.5)

for rayleighMlink, and

II) \(8\) * exp(-2 * theta) / gamma(0.5)\(^2\) for

maxwellMlink,

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.

Arguments

theta

Numeric or character. It is \(\theta\) by default, but it may be \(\eta\) depending upon other parameters. See Links for further details.

bvalue, inverse, deriv, short, tag

See Links.

Author

V. Miranda and Thomas W. Yee.

Details

rayleighMlink and maxwellMlink 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 {\tt{theta}} \) plus an offset. Specifcally, $$ {\tt{rayleighMlink}}(b) = \log ( b * \gamma(0.5) / sqrt{2} ),$$ where \(b > 0\) is a scale parameter as in rayleigh; and $$ {\tt{maxwellhMlink}}(b) = \log ( a^{-1/2} * sqrt{8 / \pi} ).$$

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.

See Also

maxwell, rayleigh Links.

Examples

Run this code
 ##  The link and its inverse ##
    theta <- 0.1 + 1:10
    eta   <- maxwellMlink(maxwellMlink(theta = theta), inverse  =TRUE)
    summary(eta - theta)     # Zero
    
    eta   <- rayleighMlink(rayleighMlink(theta = theta), inverse  =TRUE)
    summary(eta - theta)     # Zero


 ## Modelling the mean of the Maxwell distribution  ##
    set.seed(17010401)
    
    rate <- maxwellMlink(theta = 2, inverse = TRUE)   # ~ 0.046
    mdata <- data.frame(y = rmaxwell(1000, rate = rate ))
    
    fit <- vglm(y ~ 1, maxwell(link = "maxwellMlink"), 
                data = mdata, trace = TRUE, crit = "coef")
    
    coef(fit, matrix = TRUE)
    Coef(fit)
 

Run the code above in your browser using DataLab