Censored Gumbel Distribution
Maximum likelihood estimation of the 2-parameter Gumbel distribution when there are censored observations. A matrix response is not allowed.
cens.gumbel(llocation = "identitylink", lscale = "loglink", iscale = NULL, mean = TRUE, percentiles = NULL, zero = "scale")
llocation, lscale |
Character.
Parameter link functions for the location and
(positive) scale parameters.
See |
iscale |
Numeric and positive. Initial value for scale. Recycled to the appropriate length. In general, a larger value is better than a smaller value. The default is to choose the value internally. |
mean |
Logical. Return the mean? If |
percentiles |
Numeric with values between 0 and 100.
If |
zero |
An integer-valued vector specifying which linear/additive predictors
are modelled as intercepts only. The value (possibly values) must be
from the set {1,2} corresponding respectively to location and
scale. If |
This VGAM family function is like gumbel
but handles observations
that are left-censored (so that the true value would be less than
the observed value) else right-censored (so that the true value would be
greater than the observed value). To indicate which type of censoring,
input extra = list(leftcensored = vec1, rightcensored = vec2)
where vec1
and vec2
are logical vectors the same length
as the response.
If the two components of this list are missing then the logical
values are taken to be FALSE
. The fitted object has these two
components stored in the extra
slot.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.
Numerical problems may occur if the amount of censoring is excessive.
See gumbel
for details about the Gumbel distribution.
The initial values are based on assuming all uncensored observations,
therefore could be improved upon.
T. W. Yee
Coles, S. (2001). An Introduction to Statistical Modeling of Extreme Values. London: Springer-Verlag.
# Example 1 ystar <- venice[["r1"]] # Use the first order statistic as the response nn <- length(ystar) L <- runif(nn, 100, 104) # Lower censoring points U <- runif(nn, 130, 135) # Upper censoring points y <- pmax(L, ystar) # Left censored y <- pmin(U, y) # Right censored extra <- list(leftcensored = ystar < L, rightcensored = ystar > U) fit <- vglm(y ~ scale(year), data = venice, trace = TRUE, extra = extra, fam = cens.gumbel(mean = FALSE, perc = c(5, 25, 50, 75, 95))) coef(fit, matrix = TRUE) head(fitted(fit)) fit@extra # Example 2: simulated data nn <- 1000 ystar <- rgumbel(nn, loc = 1, scale = exp(0.5)) # The uncensored data L <- runif(nn, -1, 1) # Lower censoring points U <- runif(nn, 2, 5) # Upper censoring points y <- pmax(L, ystar) # Left censored y <- pmin(U, y) # Right censored ## Not run: par(mfrow = c(1, 2)); hist(ystar); hist(y); extra <- list(leftcensored = ystar < L, rightcensored = ystar > U) fit <- vglm(y ~ 1, trace = TRUE, extra = extra, fam = cens.gumbel) coef(fit, matrix = TRUE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.