weibullQlink | R Documentation |
Computes the weibullQlink
transformation, its inverse and
the first two derivatives.
weibullQlink(theta, percentile = stop("Enter percentiles."),
shape = NULL, wrt.param = NULL,
bvalue = NULL, inverse = FALSE,
deriv = 0, short = TRUE, tag = FALSE)
theta |
Numeric or character. Same as
|
percentile |
Same as |
shape |
Numeric, positive. The shape parameter, required. |
wrt.param |
Same as in |
bvalue, inverse, deriv, short, tag |
See |
The ordinary
scale–shape Weibull quantiles are directly modelled by this link,
aka weibullQlink
transformation.
It can only be used within
weibullRff
as the first linear predictor, \eta_1
,
and is defined as
\tt{weibullQlink}(\beta; \alpha) = \eta_1(\beta; \alpha) =
\log \{\beta \cdot [(-\log(1 - perc))^{(1/\alpha)}]\},
for given \alpha
('shape' parameter) where
\beta > 0
is the scale parameter.
weibullQlink
is expressly a function of \beta
, i.e.
\theta
, therefore \alpha
(shape)
must be entered at every call.
Numerical values of \alpha
or \beta
out of range may
result in Inf
, -Inf
, NA
or NaN
.
For deriv = 0
, the weibullQlink
transformation of
theta
, i.e. \beta
, when inverse = FALSE
.
If inverse = TRUE
, then \theta
becomes \eta
,
and the inverse, exp[theta
-
(1 / \alpha) log(-log(1 - perc))
]
,
for given \alpha
, is
returned.
When deriv = 1
theta
becomes
\theta = (\beta, \alpha)= (\theta_1, \theta_2)
, and
\eta = (\eta_1, \eta_2)
with
\eta_2 = \log~\alpha
,
and the argument wrt.param
must be
considered:
A) If inverse = FALSE
, then
d
eta1
/ d
\beta
is returned when
wrt.param = 1
, and
d
eta1
/ d
\alpha
if
wrt.param = 2
.
B) For inverse = TRUE
, this link returns
d
\beta
/ d
eta1
and
d
\alpha
/ d
eta1
conformably arranged
in a matrix, if wrt.param = 1
,
as a function of \theta_i
, i = 1, 2
.
When wrt.param = 2
, a matrix with columns
d\beta
/ d
eta2
and
d\alpha
/ d
eta2
is returned.
For deriv = 2
, the second derivatives in
terms of theta
are similarly returned.
See weibullMlink
.
V. Miranda and Thomas W. Yee.
Miranda & Yee (2021) Two–Parameter Link Functions, With Application to Negative Binomial, Weibull and Quantile Regression. In preparation.
weibullRff
,
Q.reg
,
weibullR
,
weibmeanlink
,
Links
.
eta <- seq(-3, 3, by = 0.1) # this is eta = log(Weibull-quantiles).
shape <- exp(1) # 'shape' argument.
percentile <- c(25, 50, 75, 95) # some percentiles of interest.
## E1. Get 'scale' values. Gives a warning (not of the same length) !
theta <- weibullQlink(theta = eta, percentile = percentile,
shape = shape, inverse = TRUE) # Scale
## Not run:
## E2. Plot theta vs. eta, 'shape' fixed, for different percentiles.
plot(theta[, 1], eta, type = "l", lwd = 3,
ylim = c(-4, 4),
main = paste0("weibullQlink(theta; shape = ", round(shape, 3), ")"),
xlab = "Theta (scale)", ylab = "weibullQlink")
abline(h = -3:3, v = 0, col = "gray", lty = "dashed")
lines(theta[, 2], eta, lwd = 3, col = "blue")
lines(theta[, 3], eta, lwd = 3, col = "orange")
lines(theta[, 4], eta, lwd = 3, col = "red")
legend("bottomright", c("25th Perc", "50th Perc", "75th Perc", "95th Perc"),
col = c("black", "blue", "orange", "red"),
lwd = rep(3, 4))
## End(Not run)
## E3. weibullQlink() and its inverse ##
etabis <- weibullQlink(theta = theta, percentile = percentile,
shape = shape, inverse = FALSE)
summary(eta - etabis) # Should be 0 for each colum (percentile)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.