View source: R/igp_frailty_fit.R
| igp_fit | R Documentation |
Fits an Inverse Gaussian Process (IGP) degradation model to longitudinal or repeated-measures degradation data, with optional gamma or inverse Gaussian frailty to account for unobserved unit-to-unit heterogeneity.
igp_fit(
data,
time_col = "t",
deg_col = "increase",
unit_col = "unit",
frailty = c("none", "gamma", "ig"),
mean_fun = "linear",
start = NULL,
method = "BFGS",
control = list()
)
data |
A data frame containing degradation measurements across units over time. |
time_col |
Character string specifying the name of the column in |
deg_col |
Character string specifying the name of the column in |
unit_col |
Character string specifying the name of the column in |
frailty |
Character string specifying the frailty distribution. Options are |
mean_fun |
Character string or custom function specifying the mean degradation function |
start |
Optional numeric vector of initial parameter values. If |
method |
Character string specifying the optimization method to pass to |
control |
Optional list of control parameters forwarded to |
In reliability analysis, degradation paths of high-reliability components are often monitored over time.
The classical Inverse Gaussian Process (IGP) models the degradation increments \Delta D(t) = D(t + \Delta t) - D(t)
as independent Inverse Gaussian random variables:
\Delta D(t) \sim \text{IG}(\Delta g_\theta(t), \eta (\Delta g_\theta(t))^2)
where g_\theta(t) is a monotone increasing mean function and \eta > 0 is the precision/scale parameter.
When experimental units exhibit unobserved heterogeneity, a multiplicative frailty variable z_i > 0 modifies
the conditional hazard of unit i:
h_i(y \mid z_i) = \frac{1}{z_i} h_{\text{IGP}}(y)
Under the **IGP-Gamma** model, z_i \sim \text{Gamma}(1/\xi, \xi) with mean 1 and variance \xi > 0.
Under the **IGP-IG** model, z_i \sim \text{IG}(1, 1/\xi) with mean 1 and variance \xi > 0.
Parameters are estimated via Maximum Likelihood Estimation (MLE) in unconstrained log-parameter space
(\log\theta, \log\eta, \log\xi), guaranteeing strictly positive estimates.
Standard errors and covariance matrices are derived using the Delta method and numerical inversion of the Hessian matrix.
An object of class "igp_fit" containing:
coefficients |
Named numeric vector of estimated parameters (e.g., |
std_errors |
Named numeric vector of asymptotic standard errors. |
vcov |
Variance-covariance matrix of parameter estimates. |
loglik |
Maximised log-likelihood value. |
aic |
Akaike Information Criterion (AIC). |
bic |
Bayesian Information Criterion (BIC). |
frailty |
The frailty distribution used ( |
mean_fun_name |
Name/type of mean function. |
mean_fun |
The mean function evaluated. |
n_units |
Number of unique experimental units. |
n_obs |
Total number of degradation increment observations. |
convergence |
Convergence code returned by |
unit_data |
List of per-unit sorted increments and inspection times. |
data |
Original data frame supplied. |
call |
The matched call. |
Morita, L. H. M., Tomazella, V. L. D., Balakrishnan, N., Ramos, P. L., Ferreira, P. H., & Louzada, F. (2021). Inverse Gaussian process model with frailty term in reliability analysis. Quality and Reliability Engineering International, 37(2), 763-784. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1002/qre.2762")}.
Meeker, W. Q., & Escobar, L. A. (1998). Statistical Methods for Reliability Data. John Wiley & Sons.
individual_frailty, lifetime_dist, lr_test, sim_igp
# Fit Classical IGP, IGP-Gamma, and IGP-IG to laser degradation data
data(laser)
fit_none <- igp_fit(laser, time_col = "t", deg_col = "increase",
unit_col = "unit", frailty = "none")
fit_gamma <- igp_fit(laser, time_col = "t", deg_col = "increase",
unit_col = "unit", frailty = "gamma")
fit_ig <- igp_fit(laser, time_col = "t", deg_col = "increase",
unit_col = "unit", frailty = "ig")
# Summary comparison
summary(fit_none)
summary(fit_gamma)
summary(fit_ig)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.