Using the Weibull and Lognormal JMP Templates
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 .
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 |
Mandatory0
= 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) |
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!)