R/confidence_intervals.R
confint_fisher.default.Rd
This function computes normal-approximation confidence intervals for quantiles and failure probabilities.
# S3 method for default
confint_fisher(
x,
status,
dist_params,
dist_varcov,
distribution = c("weibull", "lognormal", "loglogistic", "sev", "normal", "logistic",
"weibull3", "lognormal3", "loglogistic3", "exponential", "exponential2"),
b_lives = c(0.01, 0.1, 0.5),
bounds = c("two_sided", "lower", "upper"),
conf_level = 0.95,
direction = c("y", "x"),
...
)
A numeric vector which consists of lifetime data. Lifetime data could be every characteristic influencing the reliability of a product, e.g. operating time (days/months in service), mileage (km, miles), load cycles.
A vector of binary data (0 or 1) indicating whether a unit is a right censored observation (= 0) or a failure (= 1).
The parameters (coefficients
) returned by ml_estimation.
The variance-covariance-matrix (varcov
) returned by
ml_estimation.
Supposed distribution of the random variable. Has to be in line with the specification made in ml_estimation.
A numeric vector indicating the probabilities \(p\) of the \(B_p\)-lives (quantiles) to be considered.
A character string specifying the bound(s) to be computed.
Confidence level of the interval.
A character string specifying the direction of the confidence
interval. "y"
for failure probabilities or "x"
for quantiles.
Further arguments passed to or from other methods. Currently not used.
A tibble with class wt_confint
containing the following columns:
x
: An ordered sequence of the lifetime characteristic regarding the
failed units, starting at min(x)
and ending up at max(x)
. With
b_lives = c(0.01, 0.1, 0.5)
the 1%, 10% and 50% quantiles are additionally
included in x
, but only if the specified probabilities are in the range of
the estimated probabilities.
prob
: An ordered sequence of probabilities with specified b_lives
included.
std_err
: Estimated standard errors with respect to direction
.
lower_bound
: Provided, if bounds
is one of "two_sided"
or "lower"
.
Lower confidence limits with respect to direction
, i.e. limits for
quantiles or probabilities.
upper_bound
: Provided, if bounds
is one of "two_sided"
or "upper"
.
Upper confidence limits with respect to direction
, i.e. limits for
quantiles or probabilities.
cdf_estimation_method
: A character that is always NA_character
. Only
needed for internal use.
Further information is stored in the attributes of this tibble:
distribution
: Distribution which was specified in ml_estimation.
bounds
: Specified bound(s).
direction
: Specified direction.
The basis for the calculation of these confidence bounds are the standard errors obtained by the delta method.
The bounds on the probability are determined by the z-procedure. See 'References' for more information on this approach.
Meeker, William Q; Escobar, Luis A., Statistical methods for reliability data, New York: Wiley series in probability and statistics, 1998
# Vectors:
obs <- seq(10000, 100000, 10000)
status_1 <- c(0, 1, 1, 0, 0, 0, 1, 0, 1, 0)
cycles <- alloy$cycles
status_2 <- alloy$status
# Model estimation with ml_estimation():
ml <- ml_estimation(
x = obs,
status = status_1,
distribution = "weibull",
conf_level = 0.90
)
ml_2 <- ml_estimation(
x = cycles,
status = status_2,
distribution = "lognormal3"
)
# Example 1 - Two-sided 95% confidence interval for probabilities ('y'):
conf_fisher_1 <- confint_fisher(
x = obs,
status = status_1,
dist_params = ml$coefficients,
dist_varcov = ml$varcov,
distribution = "weibull",
bounds = "two_sided",
conf_level = 0.95,
direction = "y"
)
# Example 2 - One-sided lower/upper 90% confidence interval for quantiles ('x'):
conf_fisher_2_1 <- confint_fisher(
x = obs,
status = status_1,
dist_params = ml$coefficients,
dist_varcov = ml$varcov,
distribution = "weibull",
bounds = "lower",
conf_level = 0.90,
direction = "x"
)
conf_fisher_2_2 <- confint_fisher(
x = obs,
status = status_1,
dist_params = ml$coefficients,
dist_varcov = ml$varcov,
distribution = "weibull",
bounds = "upper",
conf_level = 0.90,
direction = "x"
)
# Example 3 - Two-sided 90% confidence intervals for both directions using
# a three-parametric model:
conf_fisher_3_1 <- confint_fisher(
x = cycles,
status = status_2,
dist_params = ml_2$coefficients,
dist_varcov = ml_2$varcov,
distribution = "lognormal3",
bounds = "two_sided",
conf_level = 0.90,
direction = "y"
)
conf_fisher_3_2 <- confint_fisher(
x = cycles,
status = status_2,
dist_params = ml_2$coefficients,
dist_varcov = ml_2$varcov,
distribution = "lognormal3",
bounds = "two_sided",
conf_level = 0.90,
direction = "x"
)