addt.fit {ADDT}R Documentation

ADDT Model Fitting

Description

Fits degradation data using the least-squares, maximum likelihood, and semiparametric methods and estimates the thermal indices (TI).

Usage

addt.fit(formula, data, initial.val = 100, proc = "All",
    failure.threshold, time.rti = 1e+05, method = "Nelder-Mead",
    subset, na.action, starts = NULL, fail.thres.vec = c(70, 80),
    semi.control = list(cor = F,...),...)

Arguments

formula

A formula of type Response~Time+Temperature. The order of Time and Temperature cannot be changed.

data

A data frame contains the ADDT data to be analyzed.

initial.val

We need response measurements at time point 0 to compute the initial degradation level in the model. If the data does not contain that information, user must supply the initial.value. Otherwise, the function will give an error message.

proc

The type of analysis to be performed which can be "LS" (least squares), "ML" (maximum likelihood), "SemiPara" (semiparametric), or "All" (the least-squares, maximum likelihood and semiparametric methods).

failure.threshold

The value below which a soft failure occurs. Must be in the form of a percent of the initial value.

time.rti

The time associated with the thermal index (TI) or relative thermal index (RTI). Typically 100,000 hours.

method

An argument passed to optim specifying the optimization procedure. Default is Nelder-Mead.

subset

An optional statement that allows the use of only part of the dataset.

na.action

Indicates the action required when data contain missing values.

starts

A vector of starting values for the maximum likelihood procedure. See fail.thres.vec for alternative.

fail.thres.vec

If the user does not specify “starts” argument, the user may specify a vector of two different failure.thresholds. The least-squares procedure is then used for the two different failure.thresholds to produce starting values for the maximum likelihood procedure.

semi.control

list=(cor=F,...), control parameters related to the semiparametric method. If not specified, default is no correlation. When cor = T in the list is specified, model assumes a correlation term.

...

Optional arguments.

Details

A thermal index (TI) or relative thermal index (RTI) is often used to evaluate long-term performance of polymeric materials. Accelerated destructive degradation testing (ADDT) is widely used to calculate the TI of certain polymeric materials.

The dataset considered in addt.fit function contain repeated measurements of a response, say tensile strength, at some combinations of time and temperature.

The least squares procedure aggregates data into the average of measurements at each combination of time and temperature. Then, polynominal regression is used to interpolate the failure time for each combination. A least squares line is fitted to the failure time data and the TI is then obtained by

TI=\frac{beta1}{log10(time.rti)-beta0}-273.16.

It is important to note that observations are required after failure in order for this procedure to be successful.

The maximum likelihood procedure assumes a degradation path dependent on time and temperature. An example of a parametric form for this path can be found in Vaca-Trigo and Meeker (2009) and is the form currently used here. The error term is assumed to follow a multivariate normal distribution. A TI can be directly estimated from the parameter estimates for the degradation path. The addt.fit function will be generalized to allow other parametric forms of the mean function, and/or other non-Guassian distribution in later versions.

The semiparametric model assembles both parametric model like Arrhenius model for degradation variable extrapolation as well as non-parametric model in order to be more compatible for various materials.

Value

An object of class "addt.fit", which is a list containing:

LS.obj

If least-squares approach is used, a LS.obj will returned. It contains estimates of coefficients in the TI formula, estimated TI, a matrix contains the failure time by polynomial interpolation.

ML.obj

A ML.obj object is returned if maximum likelihood approach is specified.

SemiPara.obj

A SemiPara.obj is returned if SemiPara approach is specified.

dat

The data set used in least square/maximum likelihood approaches.

time.rti

An argument stored to be used for functions related to "addt.fit" object.

initial.val

An argument stored to be used for functions related to "addt.fit" object.

failure.threshold

An argument stored to be used for functions related to "addt.fit" object.

References

Y. Hong, C. B. King, Y. Xie, J. H. Van Mullekom, S. P. Dehart, and P. A. DeFeo (2014). “A Comparison of Least Squares and Maximum Likelihood Approaches to Estimating Thermal Indices for Polymeric Materials,” Journal of Quality Technology, in press, 2016.

I. Vaca-Trigoand, W. Q. Meeker, “A statistical model for linking field and laboratory exposure results for a model coating,” in Service Life Prediction of Polymeric Materials, J. Martin, R. A. Ryntz, J. Chin, and R. A. Dickie, Eds. NY: New York: Springer, 2009, ch. 2.

Y. Xie, C. B. King, Y. Hong, and Q. Yang, “Semi-parametric models for accelerated destructive degradation test data analysis,” Preprint: arXiv:1512.03036, 2015.

See Also

plot.addt.fit, summary.addt.fit

Examples

data(AdhesiveBondB)

## Least Squares
addt.fit.lsa<-addt.fit(Response~TimeH+TempC,data=AdhesiveBondB,proc="LS",
failure.threshold=70)

## Maximum Likelihood
addt.fit.mla<-addt.fit(Response~TimeH+TempC,data=AdhesiveBondB,proc="ML",
failure.threshold=70)

## Semiparametric
## Not run: addt.fit.semi<-addt.fit(Response~TimeH+TempC,data=AdhesiveBondB,proc="SemiPara",
failure.threshold=70)
## End(Not run)

## All LS, ML and Semi-Parametric procedures
## Not run: addt.fit.all<-addt.fit(Response~TimeH+TempC,data=AdhesiveBondB,proc="All",
failure.threshold=70)
## End(Not run)

summary(addt.fit.lsa)
summary(addt.fit.mla)
## Not run: summary(addt.fit.semi)
## Not run: summary(addt.fit.all)

## Not run: plot(addt.fit.all, type="data")
## Not run: plot(addt.fit.all, type="LS")
## Not run: plot(addt.fit.all, type="ML")
## Not run: plot(addt.fit.semi, type="SEMI")

## Not run: addt.confint.ti.mle(addt.fit.mla,conflevel=0.95)

[Package ADDT version 2.0 Index]