Learn R Programming

Reliability (version 0.0-2)

duane: Maximum Likelihood estimation of mean value function for Duane model

Description

duane computes the Maximum Likelihood estimates for the parameters rho and theta of the mean value function for the Duane model.

Usage

duane(t, init = c(1, 1), method = "Nelder-Mead", maxit = 10000, ...)

Arguments

t
time between failure data
init
initial values for Maximum Likelihood fit of the mean value function for the Duane model.
method
the method to be used for optimization, see optim for details.
maxit
the maximum number of iterations, see optim for details.
...
control parameters and plot parameters optionally passed to the optimization and/or plot function. Parameters for the optimization function are passed to components of the control argument of <

Value

  • A list containing following components:
  • rhoMaximum Likelihood estimate for rho
  • thetaMaximum Likelihood estimate for theta

Details

This function estimates the parameters rho and theta of the mean value function for the Duane model. With Maximum Likelihood estimation one gets the following equations, which have to be minimized. This is $$equation_1 := \rho - \frac{n}{t_n^{\theta}} = 0$$ and $$equation_2 := \theta - \frac{n}{\sum_{i = 1}^{n - 1}(\log(t_n / t_i))} = 0.$$ Where $t$ is the time between failure data and $n$ is the length or in other words the size of the time between failure data. So the simultaneous minimization of these equations happens by minimization of the equation $$equation_1^2 + equation_2^2 = 0.$$

References

J.D. Musa, A. Iannino, and K. Okumoto. Software Reliability: Measurement, Prediction, Application. McGraw-Hill, 1987. Michael R. Lyu. Handbook of Software Realibility Engineering. IEEE Computer Society Press, 1996. http://www.cse.cuhk.edu.hk/~lyu/book/reliability/

See Also

duane.plot, mvf.duane

Examples

Run this code
# time between-failure-data from DACS Software Reliability Dataset
# homepage, see system code 1. Number of failures is 136.
t <- c(3, 30, 113, 81, 115, 9, 2, 20, 20, 15, 138, 50, 77, 24,
       108, 88, 670, 120, 26, 114, 325, 55, 242, 68, 422, 180,
       10, 1146, 600, 15, 36, 4, 0, 8, 227, 65, 176, 58, 457,
       300, 97, 263, 452, 255, 197, 193, 6, 79, 816, 1351, 148,
       21, 233, 134, 357, 193, 236, 31, 369, 748, 0, 232, 330,
       365, 1222, 543, 10, 16, 529, 379, 44, 129, 810, 290, 300,
       529, 281, 160, 828, 1011, 445, 296, 1755, 1064, 1783, 
       860, 983, 707, 33, 868, 724, 2323, 2930, 1461, 843, 12,
       261, 1800, 865, 1435, 30, 143, 108, 0, 3110, 1247, 943,
       700, 875, 245, 729, 1897, 447, 386, 446, 122, 990, 948,
       1082, 22, 75, 482, 5509, 100, 10, 1071, 371, 790, 6150,
       3321, 1045, 648, 5485, 1160, 1864, 4116)
      
duane(t)

Run the code above in your browser using DataLab