The Weibull Distribution: Difference between revisions

From ReliaWiki
Jump to navigation Jump to search
(Replaced content with "{{template:LDABOOK|8|The Weibull Distribution}} The Weibull distribution is one of the most widely used lifetime distributions in reliability engineering. It is a versatile distribution that can take on the characteristics of other types of distributions, based on the value of the shape parameter, <math> {\beta} \,\!</math>. This chapter provides a brief background on the Weibull distribution, presents and derives most of the applicable equations and presents example...")
Tags: Replaced Reverted
Line 1: Line 1:
{{template:LDABOOK|8|The Weibull Distribution}}
{{template:LDABOOK|8|The Weibull Distribution}}
The Weibull distribution is one of the most widely used lifetime distributions in reliability engineering. It is a versatile distribution that can take on the characteristics of other types of distributions, based on the value of the shape parameter, <math> {\beta} \,\!</math>. This chapter provides a brief background on the Weibull distribution, presents and derives most of the applicable equations and presents examples calculated both manually and by using ReliaSoft's [https://koi-3QN72QORVC.marketingautomation.services/net/m?md=Rw01CJDOxn%2FabhkPlZsy6DwBQ%2BaCXsGR Weibull++ software].  
The Weibull distribution is one of the most widely used lifetime distributions in reliability engineering. It is a versatile distribution that can take on the characteristics of other types of distributions, based on the value of the shape parameter, <math> {\beta} \,\!</math>. This chapter provides a brief background on the Weibull distribution, presents and derives most of the applicable equations and presents examples calculated both manually and by using ReliaSoft's [https://koi-3QN72QORVC.marketingautomation.services/net/m?md=Rw01CJDOxn%2FabhkPlZsy6DwBQ%2BaCXsGR Weibull++ software].
 
== Weibull Probability Density Function ==
===The 3-Parameter Weibull===
{{three-parameter weibull distribution}}
 
===The 2-Parameter Weibull ===
The 2-parameter Weibull ''pdf'' is obtained by setting
<math> \gamma=0 \,\!</math>, and is given by:
 
:<math> f(t)={ \frac{\beta }{\eta }}\left( {\frac{t}{\eta }}\right) ^{\beta -1}e^{-\left( { \frac{t}{\eta }}\right) ^{\beta }} \,\!</math>
 
=== The 1-Parameter Weibull===
The 1-parameter Weibull ''pdf'' is obtained by again setting
<math>\gamma=0 \,\!</math> and assuming <math>\beta=C=Constant \,\!</math> assumed value or:
 
::<math> f(t)={ \frac{C}{\eta }}\left( {\frac{t}{\eta }}\right) ^{C-1}e^{-\left( {\frac{t}{ \eta }}\right) ^{C}} \,\!</math>
 
where the only unknown parameter is the scale parameter, <math>\eta\,\!</math>.
 
Note that in the formulation of the 1-parameter Weibull, we assume that the shape parameter <math>\beta \,\!</math> is known ''a priori'' from past experience with identical or similar products. The advantage of doing this is that data sets with few or no failures can be analyzed.
 
==Weibull Distribution Functions==
{{:Weibull Distribution Functions}}
 
== Characteristics of the Weibull Distribution ==
{{:Weibull Distribution Characteristics}}
 
== Estimation of the Weibull Parameters ==
The estimates of the parameters of the Weibull distribution can be found graphically via probability plotting paper, or analytically, using either least squares (rank regression) or maximum likelihood estimation (MLE).
 
=== Probability Plotting ===
One method of calculating the parameters of the Weibull distribution is by using probability plotting. To better illustrate this procedure, consider the following example from Kececioglu  [[Appendix:_Life_Data_Analysis_References|[20]]].
 
Assume that six identical units are being reliability tested at the same application and operation stress levels. All of these units fail during the test after operating the following number of hours: 93, 34, 16, 120, 53 and 75. Estimate the values of the parameters for a 2-parameter Weibull distribution and determine the reliability of the units at a time of 15 hours.
 
 
'''Solution'''
 
The steps for determining the parameters of the Weibull representing the data, using probability plotting, are outlined in the following instructions. First, rank the times-to-failure in ascending order as shown next.
 
{| border="1" align="center" style="border-collapse: collapse;" cellpadding="5" cellspacing="5"
|-
! valign="middle" scope="col" align="center" | Time-to-failure, <br>hours
! valign="middle" scope="col" align="center" | Failure Order Number <br>out of Sample Size of 6
|-
| valign="middle" align="center" | 16
| valign="middle" align="center" | 1
|-
| valign="middle" align="center" | 34
| valign="middle" align="center" | 2
|-
| valign="middle" align="center" | 53
| valign="middle" align="center" | 3
|-
| valign="middle" align="center" | 75
| valign="middle" align="center" | 4
|-
| valign="middle" align="center" | 93
| valign="middle" align="center" | 5
|-
| valign="middle" align="center" | 120
| valign="middle" align="center" | 6
|}
 
Obtain their median rank plotting positions. Median rank positions are used instead of other ranking methods because median ranks are at a specific confidence level (50%). Median ranks can be found tabulated in many reliability books. They can also be estimated using the following equation:
 
::<math> MR \sim { \frac{i-0.3}{N+0.4}}\cdot 100 \,\!</math>
 
where <math>i\,\!</math> is the failure order number and <math>N\,\!</math> is the total sample size. The exact median ranks are found in Weibull++ by solving:
 
::<math>\sum_{k=i}^N{\binom{N}{k}}{MR^k}{(1-MR)^{N-k}}=0.5=50%
\,\!</math>
 
for <math>MR\,\!</math>, where <math>N\,\!</math> is the sample size and <math>i\,\!</math> the order number. The times-to-failure, with their corresponding median ranks, are shown next.
 
{|border="1" align="center" style="border-collapse: collapse;" cellpadding="5" cellspacing="5"
|-
! Time-to-failure, hours
! Median Rank,%
|-
| 16
| 10.91
|-
| 34
| 26.44
|-
| 53
| 42.14
|-
| 75
| 57.86
|-
| 93
| 73.56
|-
| 120
| 89.1
|}
 
 
On a Weibull probability paper, plot the times and their corresponding ranks. A sample of a Weibull probability paper is given in the following figure.
 
[[Image:WB.8 example of paper.png|center|450px| Example of Weibull probability plotting paper. ]]
The points of the data in the example are shown in the figure below. Draw the best possible straight line through these points, as shown below, then obtain the slope of this line by drawing a line, parallel to the one just obtained, through the slope indicator. This value is the estimate of the shape parameter <math> \hat{\beta } \,\!</math>, in this case <math> \hat{\beta }=1.4 \,\!</math>.
 
[[Image:WB.8 probability plotting.png|center|350px| Probability plot of data in Example 1.]]
 
At the <math> Q(t)=63.2%\,\!</math> ordinate point, draw a straight horizontal line until this line intersects the fitted straight line. Draw a vertical line through this intersection until it crosses the abscissa. The value at the intersection of the abscissa is the estimate of <math> \hat{\eta } \,\!</math>. For this case, <math> \hat{\eta }=76 \,\!</math> hours. This is always at 63.2% since:
 
::<math> Q(t)=1-e^{-(\frac{t}{\eta })^{\beta }}=1-e^{-1}=0.632=63.2% \,\!</math>
 
Now any reliability value for any mission time <math>t\,\!</math> can be obtained. For example, the reliability for a mission of 15 hours, or any other time, can now be obtained either from the plot or analytically. To obtain the value from the plot, draw a vertical line from the abscissa, at hours, to the fitted line. Draw a horizontal line from this intersection to the ordinate and read <math> Q(t)\,\!</math>, in this case <math> Q(t)=9.8%\,\!</math>. Thus, <math> R(t)=1-Q(t)=90.2%\,\!</math>. This can also be obtained analytically from the Weibull reliability function since the estimates of both of the parameters are known or:
 
::<math> R(t=15)=e^{-\left( \frac{15}{\eta }\right) ^{\beta }}=e^{-\left( \frac{15}{76 }\right) ^{1.4}}=90.2% \,\!</math>
 
====Probability Plotting for the Location Parameter, Gamma====
 
The third parameter of the Weibull distribution is utilized when the data do not fall on a straight line, but fall on either a concave up or down curve. The following statements can be made regarding the value of <math>\gamma \,\!</math>:
 
*'''Case 1:''' If the curve for MR versus <math>{{t}_{j}}\,\!</math> is concave down and the curve for MR versus <math>{({t}_{j}-{t}_{1})}\,\!</math> is concave up, then there exists a <math>\gamma \,\!</math> such that <math>0< \gamma < t_{1}\,\!</math>, or <math>\gamma \,\!</math> has a positive value.
 
*'''Case 2''': If the curves for MR versus <math>{{t}_{j}}\,\!</math> and MR versus <math>{({t}_{j}-{t}_{1})}\,\!</math> are both concave up, then there exists a negative <math>\gamma \,\!</math> which will straighten out the curve of MR versus <math>{{t}_{j}}\,\!</math>.
 
*'''Case 3''': If neither one of the previous two cases prevails, then either reject the Weibull  as one capable of representing the data, or proceed with the multiple population (mixed Weibull) analysis. To obtain the location parameter, <math>\gamma \,\!</math>:
 
::*Subtract the same arbitrary value, <math>\gamma \,\!</math>, from all the times to failure and replot the data.
::*If the initial curve is concave up, subtract a negative <math>\gamma \,\!</math> from each failure time.
::*If the initial curve is concave down, subtract a positive <math>\gamma \,\!</math> from each failure time.
::*Repeat until the data plots on an acceptable straight line.
::*The value of <math>\gamma \,\!</math> is the subtracted (positive or negative) value that places the points in an acceptable straight line.
 
The other two parameters are then obtained using the techniques previously described. Also, it is important to note that we used the term subtract a positive or negative gamma, where subtracting a negative gamma is equivalent to adding it. Note that when adjusting for gamma, the x-axis scale for the straight line becomes <math>{({t}-\gamma)}\,\!</math>.
 
=== Rank Regression on Y ===
Performing rank regression on Y requires that a straight line mathematically be fitted to a set of data points such that the sum of the squares of the vertical deviations from the points to the line is minimized. This is in essence the same methodology as the probability plotting method, except that we use the principle of least squares to determine the line through the points, as opposed to just eyeballing it. The first step is to bring our function into a linear form. For the two-parameter Weibull distribution, the  (cumulative density function) is:
 
::<math> F(t)=1-e^{-\left( \frac{t}{\eta }\right) ^{\beta }}  \,\!</math>
 
Taking the natural logarithm of both sides of the equation yields:
 
::<math>\ln[ 1-F(t)] =-( \frac{t}{\eta }) ^{\beta } \,\!</math>
 
::<math> \ln{ -\ln[ 1-F(t)]} =\beta \ln ( \frac{t}{ \eta }) \,\!</math>
 
or:
 
::<math>\begin{align}
\ln \{ -\ln[ 1-F(t)]\} =-\beta \ln (\eta )+\beta \ln (t)
\end{align}\,\!</math>
 
Now let:
 
::<math>\begin{align}
y = \ln \{ -\ln[ 1-F(t)]\}
\end{align}\,\!</math>
 
::<math>\begin{align}
a = - \beta \ln(\eta)
\end{align}\,\!</math>
 
and:
 
::<math>\begin{align}
b= \beta
\end{align}\,\!</math>
 
which results in the linear equation of:
 
::<math>\begin{align}
y=a+bx
\end{align}\,\!</math>
 
The least squares parameter estimation method (also known as ''regression analysis'') was discussed in [[Parameter Estimation]], and the following equations for regression on Y were derived:
 
::<math> \hat{a}=\frac{\sum\limits_{i=1}^{N}y_{i}}{N}-\hat{b}\frac{ \sum\limits_{i=1}^{N}x_{i}}{N}=\bar{y}-\hat{b}\bar{x} \,\!</math>
 
and:
 
::<math> \hat{b}={\frac{\sum\limits_{i=1}^{N}x_{i}y_{i}-\frac{\sum \limits_{i=1}^{N}x_{i}\sum\limits_{i=1}^{N}y_{i}}{N}}{\sum \limits_{i=1}^{N}x_{i}^{2}-\frac{\left( \sum\limits_{i=1}^{N}x_{i}\right) ^{2}}{N}}} \,\!</math>
 
In this case the equations for <math>{{y}_{i}}\,\!</math> and <math>{{x}_{i}}\,\!</math> are:
 
::<math> y_{i}=\ln \left\{ -\ln [1-F(t_{i})]\right\} \,\!</math>
 
and:
::<math>\begin{align}
x_{i}=\ln(t_{i})
\end{align}\,\!</math>
 
 
The <math> F(t_{i})\,\!</math> values are estimated from the median ranks.
 
Once <math> \hat{a} \,\!</math> and <math> \hat{b} \,\!</math> are obtained, then <math> \hat{\beta } \,\!</math> and <math> \hat{\eta } \,\!</math> can easily be obtained from previous equations.
 
'''The Correlation Coefficient'''
 
The correlation coefficient is defined as follows:
 
::<math> \rho ={\frac{\sigma _{xy}}{\sigma _{x}\sigma _{y}}} \,\!</math>
 
where <math>\sigma_{xy}\,\!</math> = covariance of <math>x\,\!</math> and <math>y\,\!</math>, <math>\sigma_{x}\,\!</math> = standard deviation of <math>x\,\!</math>, and <math>\sigma_{y}\,\!</math> = standard deviation of <math>y\,\!</math>. The estimator of <math>\rho\,\!</math> is the sample correlation coefficient, <math> \hat{\rho} \,\!</math>, given by:
 
::<math> \hat{\rho}=\frac{\sum\limits_{i=1}^{N}(x_{i}-\overline{x})(y_{i}-\overline{y} )}{\sqrt{\sum\limits_{i=1}^{N}(x_{i}-\overline{x})^{2}\cdot \sum\limits_{i=1}^{N}(y_{i}-\overline{y})^{2}}}\,\!</math>
 
====RRY Example====
 
Consider the same data set from the [[The_Weibull_Distribution#Probability_Plotting|probability plotting example]] given above (with six failures at 16, 34, 53, 75, 93 and 120 hours). Estimate the parameters and the correlation coefficient using rank regression on Y, assuming that the data follow the 2-parameter Weibull distribution.
 
'''Solution'''
 
Construct a table as shown next.
 
{|border="1" align="center" style="border-collapse: collapse;" cellpadding="5" cellspacing="5"
|-
!colspan="8" style="text-align:center"| Least Squares Analysis
|-
!<math>N\,\!</math>
!<math>T_{i}\,\!</math>
!<math>ln(T_{i})\,\!</math>
!<math>F(T_i)\,\!</math>
!<math>y_{i}\,\!</math>
!<math>(ln{T_i})^2\,\!</math>
!<math>{y_i}^2\,\!</math>
!<math>(ln{T_i})y_i\,\!</math>
|-
|1 ||16||2.7726||0.1091||-2.1583||7.6873||4.6582||-5.9840
|-
|2 ||34||3.5264||0.2645||-1.1802||12.4352||1.393||-4.1620
|-
|3 ||53||3.9703||0.4214||-0.6030||15.7632||0.3637||-2.3943
|-
|4 ||75||4.3175||0.5786||-0.146||18.6407||0.0213||-0.6303
|-
|5 ||93||4.5326||0.7355||0.2851||20.5445||0.0813||1.2923
|-
|6 ||120||4.7875||0.8909||0.7955||22.9201||0.6328||3.8083
|-
|<math>\sum\,\!</math>||  ||23.9068|| ||-3.007||97.9909||7.1502||-8.0699
|}
 
 
Utilizing the values from the table, calculate <math> \hat{a} \,\!</math> and <math> \hat{b} \,\!</math> using the following equations:
::<math> \hat{b} =\frac{\sum\limits_{i=1}^{6}(\ln t_{i})y_{i}-(\sum\limits_{i=1}^{6}\ln t_{i})(\sum\limits_{i=1}^{6}y_{i})/6}{ \sum\limits_{i=1}^{6}(\ln t_{i})^{2}-(\sum\limits_{i=1}^{6}\ln t_{i})^{2}/6}
\,\!</math>
 
::<math> \hat{b}=\frac{-8.0699-(23.9068)(-3.0070)/6}{97.9909-(23.9068)^{2}/6} \,\!</math>
 
or:
 
::<math> \hat{b}=1.4301 \,\!</math>
 
and:
 
::<math> \hat{a}=\overline{y}-\hat{b}\overline{T}=\frac{\sum \limits_{i=1}^{N}y_{i}}{N}-\hat{b}\frac{\sum\limits_{i=1}^{N}\ln t_{i}}{N } \,\!</math>
 
or:
 
::<math> \hat{a}=\frac{(-3.0070)}{6}-(1.4301)\frac{23.9068}{6}=-6.19935 \,\!</math>
 
Therefore:
 
::<math> \hat{\beta }=\hat{b}=1.4301 \,\!</math>
 
and:
 
::<math> \hat{\eta }=e^{-\frac{\hat{a}}{\hat{b}}}=e^{-\frac{(-6.19935)}{ 1.4301}} \,\!</math>
 
or:
 
::<math> \hat{\eta }=76.318\text{ hr} \,\!</math>
 
The correlation coefficient can be estimated as:
 
::<math> \hat{\rho }=0.9956 \,\!</math>
<br>
This example can be repeated in the Weibull++ software. The following plot shows the Weibull probability plot for the data set (with 90% two-sided confidence bounds).
 
[[Image:Weibull Distribution Example 3 RRY Confidence Plot.png|center|450px| ]]
 
If desired, the Weibull  ''pdf'' representing the data set can be written as:
 
::<math> f(t)={\frac{\beta }{\eta }}\left( {\frac{t}{\eta }}\right) ^{\beta -1}e^{-\left( {\frac{t}{\eta }}\right) ^{\beta }} \,\!</math>
 
or:
 
::<math> f(t)={\frac{1.4302}{76.317}}\left( {\frac{t}{76.317}}\right) ^{0.4302}e^{-\left( {\frac{t}{76.317}}\right) ^{1.4302}} \,\!</math>
 
You can also plot this result in Weibull++, as shown next. From this point on, different results, reports and plots can be obtained.
 
[[Image:Weibull Distribution Example 3 pdf Plot.png|center|450px]]
 
=== Rank Regression on X ===
Performing a rank regression on X is similar to the process for rank regression on Y, with the difference being that the ''horizontal'' deviations from the points to the line are minimized rather than the vertical. Again, the first task is to bring the reliability function into a linear form. This step is exactly the same as in the regression on Y analysis and all the equations apply in this case too. The derivation from the previous analysis begins on the least squares fit part, where in this case we treat as the dependent variable and as the independent variable. The best-fitting straight line to the data, for regression on X (see [[Parameter Estimation|Parameter Estimation]]), is the straight line:
 
::<math> x= \hat{a}+\hat{b}y \,\!</math>
 
The corresponding equations for <math> \hat{a} \,\!</math> and <math> \hat{b} \,\!</math> are:
 
::<math> \hat{a}=\overline{x}-\hat{b}\overline{y}=\frac{\sum\limits_{i=1}^{N}x_{i}}{N} -\hat{b}\frac{\sum\limits_{i=1}^{N}y_{i}}{N} \,\!</math>
 
and:
 
::<math> \hat{b}={\frac{\sum\limits_{i=1}^{N}x_{i}y_{i}-\frac{\sum \limits_{i=1}^{N}x_{i}\sum\limits_{i=1}^{N}y_{i}}{N}}{\sum \limits_{i=1}^{N}y_{i}^{2}-\frac{\left( \sum\limits_{i=1}^{N}y_{i}\right) ^{2}}{N}}} \,\!</math>
 
where:
 
::<math> y_{i}=\ln \left\{ -\ln [1-F(t_{i})]\right\} \,\!</math>
 
and:
 
::<math>\begin{align}
x_{i}=\ln (t_{i})
\end{align}\,\!</math>
 
 
and the <math>F({{t}_{i}})\,\!</math> values are again obtained from the median ranks.
 
Once <math> \hat{a} \,\!</math> and <math> \hat{b} \,\!</math> are obtained, solve the linear equation for <math>y\,\!</math>, which corresponds to:
 
::<math> y=-\frac{\hat{a}}{\hat{b}}+\frac{1}{\hat{b}}x \,\!</math> Solving for the parameters from above equations, we get:
 
::<math> a=-\frac{\hat{a}}{\hat{b}}=-\beta \ln (\eta )\,\!</math>
 
and
 
::<math> b=\frac{1}{\hat{b}}=\beta\,\!</math>
 
The correlation coefficient is evaluated as before.
====RRX Example====
Again using the same data set from the [[The_Weibull_Distribution#Probability_Plotting|probability plotting]] and [[The_Weibull_Distribution#RRY_Example|RRY]] examples (with six failures at 16, 34, 53, 75, 93 and 120 hours), calculate the parameters using rank regression on X.
 
'''Solution'''
 
The same table constructed above for the [[The_Weibull_Distribution#RRY_Example|RRY example]] can also be applied for RRX.
 
Using the values from this table we get:
 
::<math> \hat{b} ={\frac{\sum\limits_{i=1}^{6}(\ln T_{i})y_{i}-\frac{ \sum\limits_{i=1}^{6}\ln T_{i}\sum\limits_{i=1}^{6}y_{i}}{6}}{ \sum\limits_{i=1}^{6}y_{i}^{2}-\frac{\left( \sum\limits_{i=1}^{6}y_{i}\right) ^{2}}{6}}}
\,\!</math>
 
::<math>\hat{b} =\frac{-8.0699-(23.9068)(-3.0070)/6}{7.1502-(-3.0070)^{2}/6} \,\!</math>
 
or:
 
::<math> \hat{b}=0.6931 \,\!</math>
 
and:
 
::<math> \hat{a}=\overline{x}-\hat{b}\overline{y}=\frac{\sum\limits_{i=1}^{6}\ln T_{i} }{6}-\hat{b}\frac{\sum\limits_{i=1}^{6}y_{i}}{6} \,\!</math>
 
or:
 
::<math> \hat{a}=\frac{23.9068}{6}-(0.6931)\frac{(-3.0070)}{6}=4.3318 \,\!</math>
 
Therefore:
 
::<math> \hat{\beta }=\frac{1}{\hat{b}}=\frac{1}{0.6931}=1.4428 \,\!</math>
 
and:
 
::<math> \hat{\eta }=e^{\frac{\hat{a}}{\hat{b}}\cdot \frac{1}{\hat{ \beta }}}=e^{\frac{4.3318}{0.6931}\cdot \frac{1}{1.4428}}=76.0811\text{ hr} \,\!</math>
 
The correlation coefficient is:
 
::<math> \hat{\rho }=0.9956 \,\!</math>
 
The results and the associated graph using Weibull++ are shown next. Note that the slight variation in the results is due to the number of significant figures used in the estimation of the median ranks. Weibull++ by default uses double precision accuracy when computing the median ranks.
 
[[Image:Weibull Distribution Example 4 RRX Plot.png|center|450px| ]]
 
<br>
 
=== 3-Parameter Weibull Regression ===
When the MR versus <math>{{t}_{j}}\,\!</math> points plotted on the Weibull probability paper do not fall on a satisfactory straight line and the points fall on a curve, then a location parameter, <math>\gamma\,\!</math>, might exist which may straighten out these points. The goal in this case is to fit a curve, instead of a line, through the data points using nonlinear regression. The Gauss-Newton method can be used to solve for the parameters, <math>\beta\,\!</math>, <math>\eta\,\!</math> and <math>\gamma\,\!</math>, by performing a Taylor series expansion on <math>F(t{_{i}};\beta ,\eta, \gamma )\,\!</math>. Then the nonlinear model is approximated with linear terms and ordinary least squares are employed to estimate the parameters. This procedure is iterated until a satisfactory solution is reached.
 
 
(Note that other shapes, particularly ''S'' shapes, might suggest the existence of more than one population. In these cases, the multiple population [[The Mixed Weibull Distribution|mixed Weibull distribution]], may be more appropriate.)
 
 
When you use the 3-parameter Weibull distribution, Weibull++ calculates the value of <math>\gamma\,\!</math> by utilizing an optimized Nelder-Mead algorithm and adjusts the points by this value of <math>\gamma\,\!</math> such that they fall on a straight line, and then plots both the adjusted and the original unadjusted points. To draw a curve through the original unadjusted points, if so desired, select Weibull 3P Line Unadjusted for Gamma from the ''Show Plot Line'' submenu under the ''Plot Options'' menu. The returned estimations of the parameters are the same when selecting RRX or RRY. To display the unadjusted data points and line along with the adjusted data points and line, select ''Show/Hide Items'' under the ''Plot Options ''menu and include the unadjusted data points and line as follows:
 
[[Image:showhideplotitems.png|center]]
 
[[Image:Weibull Distribution Example 4 Show Hide Items.png|center|450px]]
 
The results and the associated graph for the previous example using the 3-parameter Weibull case are shown next:
 
[[Image:Weibull Distribution Example 4 Plot.png|center|450px| ]]
 
=== Maximum Likelihood Estimation ===
As outlined in [[Parameter Estimation]], maximum likelihood estimation works by developing a likelihood function based on the available data and finding the values of the parameter estimates that maximize the likelihood function. This can be achieved by using iterative methods to determine the parameter estimate values that maximize the likelihood function, but this can be rather difficult and time-consuming, particularly when dealing with the three-parameter distribution. Another method of finding the parameter estimates involves taking the partial derivatives of the likelihood function with respect to the parameters, setting the resulting equations equal to zero and solving simultaneously to determine the values of the parameter estimates. ( Note that MLE asymptotic properties do not hold when estimating <math>\gamma\,\!</math> using MLE, as discussed in Meeker and Escobar [[Appendix:_Life_Data_Analysis_References|[27]]].) The log-likelihood functions and associated partial derivatives used to determine maximum likelihood estimates for the Weibull distribution are covered in [[Appendix:_Log-Likelihood_Equations|Appendix D]].
====MLE Example====
One last time, use the same data set from the [[The_Weibull_Distribution#Probability_Plotting|probability plotting]], [[The_Weibull_Distribution#RRY_Example|RRY]] and [[The_Weibull_Distribution#RRY_Example|RRX]] examples (with six failures at 16, 34, 53, 75, 93 and 120 hours) and calculate the parameters using MLE.
<br>
 
'''Solution'''
 
In this case, we have non-grouped data with no suspensions or intervals, (i.e., complete data). The equations for the partial derivatives of the log-likelihood function are derived in [[Appendix:_Log-Likelihood_Equations|an appendix]] and given next:
::<math> \frac{\partial \Lambda }{\partial \beta }=\frac{6}{\beta } +\sum_{i=1}^{6}\ln \left( \frac{T_{i}}{\eta }\right) -\sum_{i=1}^{6}\left( \frac{T_{i}}{\eta }\right) ^{\beta }\ln \left( \frac{T_{i}}{\eta }\right) =0
\,\!</math>
 
And:
 
::<math> \frac{\partial \Lambda }{\partial \eta }=\frac{-\beta }{\eta }\cdot 6+\frac{ \beta }{\eta }\sum\limits_{i=1}^{6}\left( \frac{T_{i}}{\eta }\right) ^{\beta }=0 \,\!</math>
 
Solving the above equations simultaneously we get:
 
::<math> \hat{\beta }=1.933,\,\!</math> <math>\hat{\eta }=73.526 \,\!</math>
 
The variance/covariance matrix is found to be:
 
::<math> \left[ \begin{array}{ccc} \hat{Var}\left( \hat{\beta }\right) =0.4211 & \hat{Cov}( \hat{\beta },\hat{\eta })=3.272  \\
 
\hat{Cov}(\hat{\beta },\hat{\eta })=3.272 & \hat{Var} \left( \hat{\eta }\right) =266.646 \end{array} \right] \,\!</math>
 
The results and the associated plot using Weibull++ (MLE) are shown next.
 
[[Image:Weibull Distribution Example 5 Plot.png|center|450px| ]]
 
You can view the variance/covariance matrix directly by clicking the '''Analysis Summary''' table in the control panel. Note that the decimal accuracy displayed and used is based on your individual Application Setup.
 
[[Image: Weibull Distribution Example 5 Variance Matrix.png|center|450px| ]]
 
====Unbiased MLE <math>\beta \,\!</math>  ====
It is well known that the MLE <math>\beta \,\!</math> is biased. The biasness will affect the accuracy of reliability prediction, especially when the number of failures are small. Weibull++ provides a simple way to correct the bias of MLE <math>\beta \,\!</math>.
 
 
When there are no right censored observations in the data, the following equation provided by Hirose [[Appendix:_Life_Data_Analysis_References|[39]]] is used to calculated the unbiased <math>\beta \,\!</math>.
<math>{{\beta }_{U}}=\frac{\beta }{1.0115+\frac{1.278}{r}+\frac{2.001}{{{r}^{2}}}+\frac{20.35}{{{r}^{3}}}-\frac{46.98}{{{r}^{4}}}}</math>
 
where <math>r\,\!</math> is the number of failures.
 
When there are right censored observations in the data, the following equation provided by Ross [[Appendix:_Life_Data_Analysis_References|[40]]] is used to calculated the unbiased <math>\beta\,\!</math>.
 
<math>{{\beta }_{U}}=\frac{\beta }{1+\frac{1.37}{r-1.92}\sqrt{\frac{n}{r}}}</math>
 
where <math>n\,\!</math> is the number of observations.
 
 
The software will use the above equations only when there are more than two failures in the data set.
<div class="noprint">
{{Examples Box|http://www.weibull.com/hotwire/issue109/relbasics109.htm|<p>For an example on how you might correct biased estimates, see also:</p>
{{Examples Link External|http://www.weibull.com/hotwire/issue109/relbasics109.htm|Unbiasing Parameters in Weibull++}}<nowiki/>
}}
</div>
 
== Fisher Matrix Confidence Bounds ==
One of the methods used by the application in estimating the different types of confidence bounds for Weibull data, the Fisher matrix method, is presented in this section. The complete derivations were presented in detail (for a general function) in [[Confidence Bounds]].
 
=== Bounds on the Parameters ===
One of the properties of maximum likelihood estimators is that they are asymptotically normal, meaning that for large samples they are normally distributed. Additionally, since both the shape parameter estimate, <math> \hat{\beta } \,\!</math>, and the scale parameter estimate, <math> \hat{\eta }, \,\!</math> must be positive, thus <math>ln\beta \,\!</math> and <math>ln\eta \,\!</math> are treated as being normally distributed as well. The lower and upper bounds on the parameters are estimated from Nelson [[Appendix:_Life_Data_Analysis_References|[30]]]:
 
::<math> \beta _{U} =\hat{\beta }\cdot e^{\frac{K_{\alpha }\sqrt{Var(\hat{ \beta })}}{\hat{\beta }}}\text{ (upper bound)} \,\!</math>
 
::<math> \beta _{L} =\frac{\hat{\beta }}{e^{\frac{K_{\alpha }\sqrt{Var(\hat{ \beta })}}{\hat{\beta }}}} \text{ (lower bound)}
\,\!</math>
 
and:
 
::<math> \eta _{U} =\hat{\eta }\cdot e^{\frac{K_{\alpha }\sqrt{Var(\hat{ \eta })}}{\hat{\eta }}}\text{ (upper bound)}
\,\!</math>
 
::<math> \eta _{L} =\frac{\hat{\eta }}{e^{\frac{K_{\alpha }\sqrt{Var(\hat{ \eta })}}{\hat{\eta }}}}\text{ (lower bound)} \,\!</math>
 
where <math> K_{\alpha}\,\!</math> is defined by:
 
::<math> \alpha =\frac{1}{\sqrt{2\pi }}\int_{K_{\alpha }}^{\infty }e^{-\frac{t^{2}}{2} }dt=1-\Phi (K_{\alpha }) \,\!</math>
 
If <math>d\,\!</math> is the confidence level, then <math> \alpha =\frac{1-\delta }{2} \,\!</math> for the two-sided bounds and <math>a = 1 - d\,\!</math> for the one-sided bounds. The variances and covariances of <math> \hat{\beta }\,\!</math> and <math> \hat{\eta }\,\!</math> are estimated from the inverse local Fisher matrix, as follows: 
::<math> \left( \begin{array}{cc} \hat{Var}\left( \hat{\beta }\right) &  \hat{Cov}\left( \hat{ \beta },\hat{\eta }\right) 
\\
\hat{Cov}\left( \hat{\beta },\hat{\eta }\right) & \hat{Var} \left( \hat{\eta }\right) \end{array} \right) =\left( \begin{array}{cc} -\frac{\partial ^{2}\Lambda }{\partial \beta ^{2}} & -\frac{\partial ^{2}\Lambda }{\partial \beta \partial \eta } 
\\
 
-\frac{\partial ^{2}\Lambda }{\partial \beta \partial \eta } & -\frac{ \partial ^{2}\Lambda }{\partial \eta ^{2}} \end{array} \right) _{\beta =\hat{\beta },\text{ }\eta =\hat{\eta }}^{-1} \,\!</math>
 
'''Fisher Matrix Confidence Bounds and Regression Analysis'''
 
Note that the variance and covariance of the parameters are obtained from the inverse Fisher information matrix as described in this section. The local Fisher information matrix is obtained from the second partials of the likelihood function, by substituting the solved parameter estimates into the particular functions. This method is based on maximum likelihood theory and is derived from the fact that the parameter estimates were computed using maximum likelihood estimation methods. When one uses least squares or regression analysis for the parameter estimates, this methodology is theoretically then not applicable. However, if one assumes that the variance and covariance of the parameters will be similar ( One also assumes similar properties for both estimators.) regardless of the underlying solution method, then the above methodology can also be used in regression analysis.
 
 
The Fisher matrix is one of the methodologies that Weibull++ uses for both MLE and regression analysis. Specifically, Weibull++ uses the likelihood function and computes the local Fisher information matrix based on the estimates of the parameters and the current data. This gives consistent confidence bounds regardless of the underlying method of solution,  (i.e., MLE or regression). In addition, Weibull++ checks this assumption and proceeds with it if it considers it to be acceptable. In some instances, Weibull++ will prompt you with an "Unable to Compute Confidence Bounds" message when using regression analysis. This is an indication that these assumptions were violated.
 
=== Bounds on Reliability ===
The bounds on reliability can easily be derived by first looking at the general extreme value distribution (EVD). Its reliability function is given by:
 
::<math> R(t)=e^{-e^{\left( \frac{t-p_{1}}{p_{2}}\right) }} \,\!</math>
 
By transforming <math>t = \ln t\,\!</math> and converting <math> p_{1}=\ln({\eta})\,\!</math>, <math> p_{2}=\frac{1}{ \beta } \,\!</math>, the above equation becomes the Weibull reliability function:
 
::<math> R(t)=e^{-e^{\beta \left( \ln t-\ln \eta \right) }}=e^{-e^{\ln \left( \frac{t }{\eta }\right) ^{\beta }}}=e^{-\left( \frac{t}{\eta }\right) ^{\beta }} \,\!</math>
 
with:
 
::<math> R(T)=e^{-e^{\beta \left( \ln t-\ln \eta \right) }}\,\!</math>
 
set:
 
:: <math> u=\beta \left( \ln t-\ln \eta \right) \,\!</math>
 
The reliability function now becomes:
 
::<math> R(T)=e^{-e^{u}} \,\!</math>
 
The next step is to find the upper and lower bounds on <math>u\,\!</math>. Using the equations derived in [[Confidence Bounds]], the bounds on  are then estimated from Nelson [[Appendix:_Life_Data_Analysis_References|[30]]]:
 
::<math> u_{U} =\hat{u}+K_{\alpha }\sqrt{Var(\hat{u})}
\,\!</math>
 
::<math> u_{L} =\hat{u}-K_{\alpha }\sqrt{Var(\hat{u})}
\,\!</math>
 
where:
 
::<math> Var(\hat{u}) =\left( \frac{\partial u}{\partial \beta }\right) ^{2}Var( \hat{\beta })+\left( \frac{\partial u}{\partial \eta }\right) ^{2}Var( \hat{\eta }) +2\left( \frac{\partial u}{\partial \beta }\right) \left( \frac{\partial u }{\partial \eta }\right) Cov\left( \hat{\beta },\hat{\eta }\right) \,\!</math>
 
or:
 
::<math> Var(\hat{u}) =\frac{\hat{u}^{2}}{\hat{\beta }^{2}}Var(\hat{ \beta })+\frac{\hat{\beta }^{2}}{\hat{\eta }^{2}}Var(\hat{\eta }) -\left( \frac{2\hat{u}}{\hat{\eta }}\right) Cov\left( \hat{\beta }, \hat{\eta }\right). \,\!</math>
 
The upper and lower bounds on reliability are:
 
::<math> R_{U} =e^{-e^{u_{L}}}\text{ (upper bound)}\,\!</math>
 
::<math> R_{L} =e^{-e^{u_{U}}}\text{ (lower bound)}\,\!</math>
 
'''Other Weibull Forms'''
 
Weibull++ makes the following assumptions/substitutions when using the three-parameter or one-parameter forms:
 
*For the 3-parameter case, substitute <math> t=\ln (t-\hat{\gamma }) \,\!</math> (and by definition <math>\gamma\, < t\!</math>), instead of <math>\ln t\,\!</math>. (Note that this is an approximation since it eliminates the third parameter and assumes that <math> Var( \hat{\gamma })=0. \,\!</math>)
*For the 1-parameter, <math> Var(\hat{\beta })=0, \,\!</math> thus:
 
::<math> Var(\hat{u})=\left( \frac{\partial u}{\partial \eta }\right) ^{2}Var( \hat{\eta })=\left( \frac{\hat{\beta }}{\hat{\eta }}\right) ^{2}Var(\hat{\eta }) \,\!</math>
 
Also note that the time axis (x-axis) in the three-parameter Weibull plot in Weibull++ is not <math>{t}\,\!</math> but <math>t - \gamma\,\!</math>. This means that one must be cautious when obtaining confidence bounds from the plot. If one desires to estimate the confidence bounds on reliability for a given time <math>{{t}_{0}}\,\!</math> from the adjusted plotted line, then these bounds should be obtained for a <math>{{t}_{0}} - \gamma\,\!</math> entry on the time axis.
 
=== Bounds on Time ===
The bounds around the time estimate or reliable life estimate, for a given Weibull percentile (unreliability), are estimated by first solving the reliability equation with respect to time, as discussed in Lloyd and Lipow [[Appendix:_Life_Data_Analysis_References|[24]]] and in Nelson [[Appendix:_Life_Data_Analysis_References|[30]]]:
 
::<math> \ln R =-\left( \frac{t}{\eta }\right) ^{\beta }
\,\!</math>
 
::<math> \ln (-\ln R) =\beta \ln \left( \frac{t}{\eta }\right) \,\!</math>
 
::<math>\begin{align}
\ln (-\ln R) =\beta (\ln t-\ln \eta )
\end{align}\,\!</math>
 
or:
 
::<math> u=\frac{1}{\beta }\ln (-\ln R)+\ln \eta \,\!</math>
 
where <math>u = \ln t\,\!</math> .
 
The upper and lower bounds on  are estimated from:
 
::<math> u_{U} =\hat{u}+K_{\alpha }\sqrt{Var(\hat{u})} \,\!</math>
 
::<math> u_{L} =\hat{u}-K_{\alpha }\sqrt{Var(\hat{u})} \,\!</math>
 
where:
 
::<math> Var(\hat{u})=\left( \frac{\partial u}{\partial \beta }\right) ^{2}Var( \hat{\beta })+\left( \frac{\partial u}{\partial \eta }\right) ^{2}Var( \hat{\eta })+2\left( \frac{\partial u}{\partial \beta }\right) \left( \frac{\partial u}{\partial \eta }\right) Cov\left( \hat{\beta },\hat{ \eta }\right) \,\!</math>
 
or:
::<math> Var(\hat{u}) =\frac{1}{\hat{\beta }^{4}}\left[ \ln (-\ln R)\right] ^{2}Var(\hat{\beta })+\frac{1}{\hat{\eta }^{2}}Var(\hat{\eta })+2\left( -\frac{\ln (-\ln R)}{\hat{\beta }^{2}}\right) \left( \frac{1}{ \hat{\eta }}\right) Cov\left( \hat{\beta },\hat{\eta }\right) \,\!</math>
 
The upper and lower bounds are then found by:
 
::<math> T_{U} =e^{u_{U}}\text{ (upper bound)} \,\!</math>
 
::<math> T_{L} =e^{u_{L}}\text{ (lower bound)} \,\!</math>
 
== Likelihood Ratio Confidence Bounds ==
As covered in [[Confidence Bounds]], the likelihood confidence bounds are calculated by finding values for <math>{{\theta}_{1}}\,\!</math> and <math>{{\theta}_{2}}\,\!</math> that satisfy:
 
::<math> -2\cdot \text{ln}\left( \frac{L(\theta _{1},\theta _{2})}{L(\hat{\theta }_{1}, \hat{\theta }_{2})}\right) =\chi _{\alpha ;1}^{2} \,\!</math>
 
This equation can be rewritten as:
 
::<math> L(\theta _{1},\theta _{2})=L(\hat{\theta }_{1},\hat{\theta } _{2})\cdot e^{\frac{-\chi _{\alpha ;1}^{2}}{2}} \,\!</math>
 
For complete data, the likelihood function for the Weibull distribution is given by:
::<math> L(\beta ,\eta )=\prod_{i=1}^{N}f(x_{i};\beta ,\eta )=\prod_{i=1}^{N}\frac{ \beta }{\eta }\cdot \left( \frac{x_{i}}{\eta }\right) ^{\beta -1}\cdot e^{-\left( \frac{x_{i}}{\eta }\right) ^{\beta }} \,\!</math>
 
For a given value of <math>\alpha\,\!</math>, values for <math>\beta\,\!</math> and <math>\eta\,\!</math> can be found which represent the maximum and minimum values that satisfy the above equation. These represent the confidence bounds for the parameters at a confidence level <math>\delta\,\!</math>, where <math>\alpha = \delta\,\!</math> for two-sided bounds and <math>\alpha = 2\delta - 1\,\!</math> for one-sided.
 
Similarly, the bounds on time and reliability can be found by substituting the Weibull reliability equation into the likelihood function so that it is in terms of <math>\beta\,\!</math> and time or reliability, as discussed in [[Confidence Bounds]]. The likelihood ratio equation used to solve for bounds on time (Type 1) is: 
 
::<math> L(\beta ,t)=\prod_{i=1}^{N}\frac{\beta }{\left( \frac{t}{(-\text{ln}(R))^{ \frac{1}{\beta }}}\right) }\cdot \left( \frac{x_{i}}{\left( \frac{t}{(-\text{ ln}(R))^{\frac{1}{\beta }}}\right) }\right) ^{\beta -1}\cdot \text{exp}\left[ -\left( \frac{x_{i}}{\left( \frac{t}{(-\text{ln}(R))^{\frac{1}{\beta }}} \right) }\right) ^{\beta }\right] \,\!</math>
 
The likelihood ratio equation used to solve for bounds on reliability (Type 2) is:
 
::<math> L(\beta ,R)=\prod_{i=1}^{N}\frac{\beta }{\left( \frac{t}{(-\text{ln}(R))^{ \frac{1}{\beta }}}\right) }\cdot \left( \frac{x_{i}}{\left( \frac{t}{(-\text{ ln}(R))^{\frac{1}{\beta }}}\right) }\right) ^{\beta -1}\cdot \text{exp}\left[ -\left( \frac{x_{i}}{\left( \frac{t}{(-\text{ln}(R))^{\frac{1}{\beta }}} \right) }\right) ^{\beta }\right] \,\!</math>
 
== Bayesian Confidence Bounds ==
=== Bounds on Parameters ===
Bayesian Bounds use non-informative prior distributions for both parameters. From [[Confidence Bounds]], we know that if the prior distribution of <math>\eta\,\!</math> and <math>\beta\,\!</math> are independent, the posterior joint distribution of <math>\eta\,\!</math> and <math>\beta\,\!</math> can be written as:
 
::<math> f(\eta ,\beta |Data)= \dfrac{L(Data|\eta ,\beta )\varphi (\eta )\varphi (\beta )}{\int_{0}^{\infty }\int_{0}^{\infty }L(Data|\eta ,\beta )\varphi (\eta )\varphi (\beta )d\eta d\beta } \,\!</math>
 
The marginal distribution of <math>\eta\,\!</math> is:
 
::<math> f(\eta |Data) =\int_{0}^{\infty }f(\eta ,\beta |Data)d\beta  =
\dfrac{\int_{0}^{\infty }L(Data|\eta ,\beta )\varphi (\eta )\varphi (\beta )d\beta }{\int_{0}^{\infty }\int_{-\infty }^{\infty }L(Data|\eta ,\beta )\varphi (\eta )\varphi (\beta )d\eta d\beta }
\,\!</math>
 
where: <math> \varphi (\beta )=\frac{1}{\beta } \,\!</math> is the non-informative prior of <math>\beta\,\!</math>. <math> \varphi (\eta )=\frac{1}{\eta } \,\!</math> is the non-informative prior of <math>\eta\,\!</math>. Using these non-informative prior distributions, <math>f(\eta|Data)\,\!</math> can be rewritten as:
 
::<math> f(\eta |Data)=\dfrac{\int_{0}^{\infty }L(Data|\eta ,\beta )\frac{1}{\beta } \frac{1}{\eta }d\beta }{\int_{0}^{\infty }\int_{0}^{\infty }L(Data|\eta ,\beta )\frac{1}{\beta }\frac{1}{\eta }d\eta d\beta } \,\!</math>
 
The one-sided upper bounds of <math>\eta\,\!</math> is:
 
::<math> CL=P(\eta \leq \eta _{U})=\int_{0}^{\eta _{U}}f(\eta |Data)d\eta \,\!</math>
 
The one-sided lower bounds of <math>\eta\,\!</math> is:
 
::<math> 1-CL=P(\eta \leq \eta _{L})=\int_{0}^{\eta _{L}}f(\eta |Data)d\eta \,\!</math>
 
The two-sided bounds of <math>\eta\,\!</math> is:
 
::<math> CL=P(\eta _{L}\leq \eta \leq \eta _{U})=\int_{\eta _{L}}^{\eta _{U}}f(\eta |Data)d\eta \,\!</math>
 
Same method is used to obtain the bounds of <math>\beta\,\!</math>.
 
=== Bounds on Reliability ===
::<math> CL=\Pr (R\leq R_{U})=\Pr (\eta \leq T\exp (-\frac{\ln (-\ln R_{U})}{\beta })) \,\!</math>
 
From the posterior distribution of <math>\eta\,\!</math> we have:
 
::<math> CL=\dfrac{\int\nolimits_{0}^{\infty }\int\nolimits_{0}^{T\exp (-\dfrac{\ln (-\ln R_{U})}{\beta })}L(\beta ,\eta )\frac{1}{\beta }\frac{1}{\eta }d\eta d\beta }{\int\nolimits_{0}^{\infty }\int\nolimits_{0}^{\infty }L(\beta ,\eta )\frac{1}{\beta }\frac{1}{\eta }d\eta d\beta } \,\!</math>
 
The above equation is solved numerically for <math>{{R}_{U}}\,\!</math>. The same method can be used to calculate the one sided lower bounds and two-sided bounds on reliability.
 
=== Bounds on Time ===
From [[Confidence Bounds]], we know that:
 
::<math> CL=\Pr (T\leq T_{U})=\Pr (\eta \leq T_{U}\exp (-\frac{\ln (-\ln R)}{\beta })) \,\!</math>
 
From the posterior distribution of <math>\eta\,\!</math>, we have:
 
::<math> CL=\dfrac{\int\nolimits_{0}^{\infty }\int\nolimits_{0}^{T_{U}\exp (-\dfrac{ \ln (-\ln R)}{\beta })}L(\beta ,\eta )\frac{1}{\beta }\frac{1}{\eta }d\eta d\beta }{\int\nolimits_{0}^{\infty }\int\nolimits_{0}^{\infty }L(\beta ,\eta )\frac{1}{\beta }\frac{1}{\eta }d\eta d\beta } \,\!</math>
 
The above equation is solved numerically for <math>{{T}_{U}}\,\!</math>. The same method can be applied to calculate one sided lower bounds and two-sided bounds on time.
 
== Bayesian-Weibull Analysis ==
{{:Bayesian-Weibull_Analysis}}
 
==Weibull Distribution Examples==
{{:Weibull Distribution Examples}}

Revision as of 23:49, 7 March 2023

New format available! This reference is now available in a new format that offers faster page load, improved display for calculations and images, more targeted search and the latest content available as a PDF. As of September 2023, this Reliawiki page will not continue to be updated. Please update all links and bookmarks to the latest reference at help.reliasoft.com/reference/life_data_analysis

Chapter 8: The Weibull Distribution


Weibullbox.png

Chapter 8  
The Weibull Distribution  

Synthesis-icon.png

Available Software:
Weibull++

Examples icon.png

More Resources:
Weibull++ Examples Collection

The Weibull distribution is one of the most widely used lifetime distributions in reliability engineering. It is a versatile distribution that can take on the characteristics of other types of distributions, based on the value of the shape parameter, [math]\displaystyle{ {\beta} \,\! }[/math]. This chapter provides a brief background on the Weibull distribution, presents and derives most of the applicable equations and presents examples calculated both manually and by using ReliaSoft's Weibull++ software.