Using the Weibull and Lognormal JMP Templates

 

 

I – Template Purpose

The Weibull and Lognormal Templates are JMP worksheets designed to use the method of maximum likelihood estimation to analyze reliability time to failure data. The templates will handle multi-censored and/or readout data and also fit acceleration models with Arrhenius temperature and/or voltage terms. The voltage acceleration model can be either the Power Law model or an exponential voltage term model. The templates make use of the JMP Non-Linear Fit platform to do these analyses, and a good choice of starting values for the unknown parameters is often critical.

After fitting either the Weibull or lognormal life distribution model, the templates can be used to calculate projected cumulative failures (CDF’s) at user selected times (and for user selected stresses, if an acceleration model has been fit). In addition, the templates can next be used to calculate approximate confidence bounds for these CDF projections. The Weibull Template calculates bounds on CDF’s directly, while the Lognormal Template projects CDF’s but calculates confidence bounds in terms of the normal Z values that correspond to these CDF’s.

Note: The JMP Survival Platform (Parametric Regression option) will also fit Weibull and lognormal models and acceleration models if the data contain only exact failure times and censoring times. Both the templates and the JMP Survival Platform will give the same answers for these kinds of data. The JMP Survival Platform, however, will not accommodate readout (also known as “interval”) data and does not calculate CDF’s .

II– Template Description

Each Template has 33 columns with the same column headings. In a typical application, however, a user will only input numbers in somewhere between 6 to 13 columns and run the non-linear fit platform on 2 calculated columns. The extra template columns are there to accommodate any of 4 user chosen acceleration models, as well as a choice of “no model”.

 

 

Column Heading

Weibull Analysis Notes

Lognormal Analysis Notes

 

 

 

(1) Start Time

Mandatory – enter exact failure times or censor times or start time of a readout interval

Same as Weibull

(2) Stop Time

Only used for readout data – enter end of readout interval

 

Same as Weibull

(3) Censor

Mandatory

0 = exact failure time

1 = censoring time

2 = readout interval

Same as Weibull

(4) Freq

Mandatory – enter number of failures or censored units at that “Start Time” or during the readout interval

Same as Weibull

(5) Temp in C

Use for Arrhenius model and several temperature cells

Same as Weibull

(6) Volt

Use for Voltage model and several voltage cells

Same as Weibull

(7) 1/kT

Calculated by Template

Same as Weibull

(8) ln V

Calculated by Template

Same as Weibull

(9) Loss(w/o Stress)

Calculated by Template – calculates Weibull “Charlife” and “shape”

Same as Weibull – but calculates a “mu” = ln T50 and “shape” = sigma

(10) Loss (w/Temp)

Calculated by Template – use when working with temperature stress cells and an Arrhenius model

Same as Weibull

(11) Loss (w/Ln Volt)

Calculated by Template – use when working with voltage stress cells and an inverse Power Law model (V**Beta term)

Same as Weibull

(12) Loss (w/Volt)

Calculated by Template - use when working with voltage stress cells and an exponential voltage term model (Exp V*Beta)

Same as Weibull

(13) Loss (Temp/Ln Volt)

Calculated by Template – use when working with both temperature and voltage cells and an Arrhenius/Inverse Power Law model

Same as Weibull

(14) Loss (Temp/Volt)

Calculated by Template – use when working with both temperature and voltage cells and an Arrhenius/exponential voltage model

Same as Weibull

(15) Use Time

User input for CDF calculations

Same as Weibull

(16) Use Temp

User input for use temp CDF projections after fitting Arrhenius model

Same as Weibull

(17) Use Volts

User input for use voltage CDF projections after fitting voltage model

Same as Weibull

(18) constant

User input for CDF calculations – either the constant term after fitting a model or the (natural) log of the Char. Life for “no model” calculations

 

Same as Weibull – but input the (natural) log of the T50 for “no model” calculations

(19) Delta H

User input for use temperature CDF projections after fitting an Arrhenius model

Same as Weibull

(20) Beta

User input for use voltage CDF projections after fitting voltage model

Same as Weibull

(21) Shape

User input of Weibull shape parameter

User input of lognormal shape = sigma

(22) Use CDF (no Model)

Calculates CDF’s at user inputted times when “constant” = log Char. Life and “Shape” have been entered

Calculates CDF’s at user inputted times when “constant” = log T50 Life and “Shape” = sigma have been entered

(23) Use CDF (Temp)

Calculates CDF’s at user inputted times when “user Temp”, “constant”, “Shape” and “Delta H” have been entered

Same as Weibull

(24) Use CDF (Ln Volt)

Calculates CDF’s at user inputted times when “user Volts”, “constant”, “Shape” and “Beta” have been entered – use for Power law model

Same as Weibull

(25) Use CDF (Volt)

Calculates CDF’s at user inputted times when “user Volts”, “constant”, “Shape” and “Beta” have been entered – use for exponential voltage term model

Same as Weibull

(26) Use CDF (T/Ln Volt)

Calculates CDF’s at user inputted times when “user Temp”,“user Volts”, “constant”, “Shape” and “Beta” have been entered – use for Arrhenius/Power law model

Same as Weibull

(27) Use CDF (T/Volt)

Calculates CDF’s at user inputted times when “user Temp”,“user Volts”, “constant”, “Shape” and “Beta” have been entered – use for Arrhenius/exponential voltage term model

Same as Weibull

(28) CDF Bds (No Model)

Calculates CDF’s with bounds via non-linear platform when “use time”, “Shape” and a good starting CDF estimate have been entered into the non-linear platform. Get a good CDF starting value by running ” Use CDF (no Model)”. 

 

 

 

 

Same as Weibull except instead of a starting CDF value input you must convert the input to a corresponding normal distribution “Z” value (and convert the answers back again)

(29) CDF Bds (Temp Model)

Calculates CDF’s with bounds via non-linear platform when “use time”,  “use Temp”,“Shape”, “Delta H” and a good starting CDF estimate have been entered into the non-linear platform. Get a good CDF starting value by running ” Use CDF (Temp)”. 

Same as Weibull except instead of a starting CDF value input you must convert the input to a corresponding normal distribution “Z” value (and convert the answers back again)

(30) CDF Bds (Ln Volt Model)

Calculates CDF’s with bounds via non-linear platform when “use time”,  “use Volts”,“Shape”, “Beta” and a good starting CDF estimate have been entered into the non-linear platform. Get a good CDF starting value by first running “ Use CDF (Ln Volt)”.  Voltage model is the inverse Power Law.

Same as Weibull except instead of a starting CDF value input you must convert the input to a corresponding normal distribution “Z” value (and convert the answers back again)

(31) CDF Bds (Volt Model)

Calculates CDF’s with bounds via non-linear platform when “use time”,  “use Volts”,“Shape”, “Beta” and a good starting CDF estimate have been entered into the non-linear platform. Get a good CDF starting value by running “ Use CDF (Volt)”.  Voltage model is the exponential term model.

Same as Weibull except instead of a starting CDF value input you must convert the input to a corresponding normal distribution “Z” value (and convert the answers back again)

(32) CDF Bds (T/Ln Volt Model)

Calculates CDF’s with bounds via non-linear platform when “use time”, “use Temp”, “use Volts”,“Shape”, “Delta H”,“Beta” and a good starting CDF estimate have been entered into the non-linear platform. Get a good CDF starting value by first running “ Use CDF (Temp/Ln Volt)”.  Voltage model is the inverse Power Law.

Same as Weibull except instead of a starting CDF value input you must convert the input to a corresponding normal distribution “Z” value (and convert the answers back again)

(33) CDF Bds (T/Volt Model)

Calculates CDF’s with bounds via non-linear platform when “use time”, “use Temp”, “use Volts”,“Shape”, “Delta H”,“Beta” and a good starting CDF estimate have been entered into the non-linear platform. Get a good CDF starting value by running “ Use CDF (Temp/Ln Volt)”.  Voltage model is the exponential term model.

Same as Weibull except instead of a starting CDF value input you must convert the input to a corresponding normal distribution “Z” value (and convert the answers back again)

 

 

 

 

III – Steps for Using The Templates

1.         Load the Template corresponding to your choice of a life distribution model.

2.         Typical Data Entry

i)                    Any kind of censored or truncated or readout data can be entered. The rules are as    follows for the common case of (right) censored reliability data:
 

ii)                   Enter exact failure times in the “Start Time” column, with “0” in the “Censor” column and the number of failures at that exact time in the “Freq” column.

iii)                 Enter temperature in degrees Celsius for the row entry in “Temp in C”, whenever data from several different operating temperatures are present and an Arrhenius model fit is desired.

iv)                 Enter voltages in “Volt” for each row entry whenever data from several different voltages are present and either an Inverse Power Law model or an exponential term voltage model fit is desired. If both temperatures and voltages are entered for all data rows, a combined two-stress model can be fit.

v)                  Put censor times (where an unfailed units are removed from test, or no longer observed) in  “Start Time” column, and enter  “1” in the “Censor” column. Put the number of censored units in the “Freq” column.

vi)                 If readout (also known as interval) data is present, put the interval “Start time” and “Stop time” in the corresponding columns and “2” in the “Censor” column. Put the number of failures during the interval in the “Freq” column. If the number of failures is zero, it doesn’t matter if you include the interval, or not. 

3.            After all the data have been entered, pick the appropriate “Loss” column and use the Non Linear Fit JMP analysis platform. When using this platform, enter only this column as “Loss”, choose “OK” and choose “Loss is Neg LogLikelihood”.

i)                     The “Loss (w/o Stress)” column is appropriate when only a straight life distribution fit is desired, with no acceleration model. 

ii)                   The “Loss (w/Temp)” column handles an Arrhenius model (no other stress taken into account). The “Loss (w/ Ln Volts)” column handles an Inverse Voltage Power Law model (no other stress taken into account).

iii)                 The “Loss (w/ Ln Volts)” column handles an Inverse Voltage Power Law model (no other stress taken into account).

iv)                 The “Loss (w/Volts)” column handles an exponential Voltage term acceleration model (no other stress taken into account).

v)                  The “Loss (w/Temp/Ln Volts)” column handles a two-stress Arrhenius/Inverse Voltage Power Law model.

vi)                 The “Loss (w/Temp/Volts)” column handles a two-stress Arrhenius/exponential voltage term model.

vii)               You may have to iterate on your choice of starting parameter values in the non-linear platform in order to obtain convergence to acceptable estimates (non-negative, reasonable values for Shape, Beta, Delta H). See the JMP Help for the non-linear platform for additional tips when you have convergence problems. Note that the way the models were set up in the Templates, the Beta parameter should be non-negative.

4.                  If you next want to use the Template to project CDF values at your choice of (Use) time and for your choice of (Use) Temp and/or Voltage (assuming you fit an acceleration model to multi-stress cell data), then you have to put the appropriate inputs obtained for your chosen model in columns 15 through 21 (leave blank those columns not needed for your model). The projected CDF value will appear in whichever of columns 22 to 27 describes your chosen model.

5.                  To obtain confidence bounds for a CDF projection you must choose the “CDF Bd” column that corresponds to your fitted model and use the non-linear platform. Enter only this column as “Loss”, choose “OK” and choose “Loss is Neg LogLikelihood”. Check the starting values and set them to approximately the values you obtained for your model. Set CDF (for the Weibull Template) approximately to the projected value and click “reset” and “go”. The routine should now converge almost exactly the projected CDF value and you can click on “confidence limits” to obtain bounds. For the Lognormal Template you have to first convert the approximate projected CDF value to a normal “Z” value and use this as a starting value. After convergence, you will have to convert Z values (and bounds) back to CDF values using a normal distribution calculator or table.

IV - JMP Template Data Entry For Truncated or Left Censored Weibull or Lognormal Data

Left censored data means all exact times of failure below a lower cut off time T0 are unknown, but the number of these failures is known. Merely enter an interval with start time 0 and stop time T0 on the appropriate template and put “2” in the “Censor” column and the number in the “Freq” column.

Left truncated data means all data points below a lower cut off point T0 are unknown, and even the number of such points is unknown. This situation occurs commonly for measurement data, when the measuring instrument has a lower threshold detection limit at T0. Assume there are n data points (all above T0) actually observed. Enter the n points as you normally would on the appropriate template (“Censor” gets 0 and “Freq” gets 1) and add a start time of T0 with a “Censor” value of 1 and a “Freq” value of -n (yes, minus n!). 

Right truncated data means all data points above an upper cut off point T1 are unknown, and even the number of such points is unknown. Assume there are n data points (all below T1) actually observed. Enter the n points as you normally would on the appropriate template (“Censor” gets 0 and “Freq” gets 1) and add a start time of 0 and a stop time of T1 with a “Censor” value of 2 and a “Freq” value of -n (yes, minus n!)