Learn R Programming

weibulltools (version 2.0.0)

rank_regression: Rank Regression for Parametric Lifetime Distributions

Description

This function fits an x on y regression to a linearized two- or three-parameter lifetime distribution for complete and (multiple) right censored data. The parameters are determined in the frequently used (log-)location-scale parameterization.

For the Weibull, estimates are additionally transformed such that they are in line with the parameterization provided by the stats package (see Weibull).

Usage

rank_regression(x, ...)

# S3 method for wt_cdf_estimation rank_regression( x, distribution = c("weibull", "lognormal", "loglogistic", "normal", "logistic", "sev", "weibull3", "lognormal3", "loglogistic3"), conf_level = 0.95, ... )

Value

Returns a list with classes wt_model, wt_rank_regression and wt_model_estimation containing the following elements:

  • coefficients : A named vector of estimated coefficients (parameters of the assumed distribution). Note: The parameters are given in location-scale-parameterization.

  • confint : Confidence intervals for parameters. If distribution is "lognormal3" or "loglogistic3" no confidence interval for the threshold parameter is computed.

  • varcov : Provided, if distribution is not "weibull" or "weibull3". Estimated heteroscedasticity-consistent variance-covariance matrix for the (log-)location-scale parameters.

  • shape_scale_coefficients : Only included if distribution is "weibull" or "weibull3" (parameterization used in stats::Weibull).

  • shape_scale_confint : Only included if distribution is "weibull" or "weibull3". Approximated confidence intervals for scale \(\eta\) and shape \(\beta\) (and threshold \(\gamma\)) if distribution is "weibull3".

  • r_squared : Coefficient of determination.

  • data : A tibble with class wt_cdf_estimation returned from estimate_cdf.

  • distribution : Specified distribution.

If more than one method was specified in estimate_cdf, the resulting output is a list with class wt_model_estimation_list. In this case each list element has classes wt_rank_regression and

wt_model_estimation and the items listed above, are included.

Arguments

x

Object of class wt_cdf_estimation returned from estimate_cdf.

...

Further arguments passed to or from other methods. Currently not used.

distribution

Supposed distribution of the random variable.

conf_level

Confidence level of the interval. If distribution is "weibull" this must be one of 0.9, 0.95 or 0.99.

Details

If distribution is "weibull" or "weibull3", the approximated confidence intervals for the parameters can only be estimated on the following confidence levels (see 'References' (Mock, 1995)):

  • conf_level = 0.90,

  • conf_level = 0.95,

  • conf_level = 0.99.

If the distribution is not the Weibull, the confidence intervals of the parameters are computed on the basis of a heteroscedasticity-consistent covariance matrix. Here it should be said that there is no statistical foundation to determine the standard errors of the parameters using Least Squares in context of Rank Regression. For an accepted statistical method use maximum likelihood.

References

  • Mock, R., Methoden zur Datenhandhabung in Zuverlässigkeitsanalysen, vdf Hochschulverlag AG an der ETH Zürich, 1995

  • Meeker, William Q; Escobar, Luis A., Statistical methods for reliability data, New York: Wiley series in probability and statistics, 1998

Examples

Run this code
# Reliability data preparation:
## Data for two-parametric model:
data_2p <- reliability_data(
  shock,
  x = distance,
  status = status
)

## Data for three-parametric model:
data_3p <- reliability_data(
  alloy,
  x = cycles,
  status = status
)

# Probability estimation:
prob_tbl_2p <- estimate_cdf(
  data_2p,
  methods = "johnson"
)

prob_tbl_3p <- estimate_cdf(
  data_3p,
  methods = "johnson"
)

prob_tbl_mult <- estimate_cdf(
  data_3p,
  methods = c("johnson", "kaplan")
)

# Example 1 - Fitting a two-parametric weibull distribution:
rr_2p <- rank_regression(
  x = prob_tbl_2p,
  distribution = "weibull"
)

# Example 2 - Fitting a three-parametric lognormal distribution:
rr_3p <- rank_regression(
  x = prob_tbl_3p,
  distribution = "lognormal3",
  conf_level = 0.99
)

# Example 3 - Fitting a three-parametric loglogistic distribution if multiple
# methods in estimate_cdf were specified:
rr_lists <- rank_regression(
  x = prob_tbl_mult,
  distribution = "loglogistic3",
  conf_level = 0.90
)

Run the code above in your browser using DataLab