Linear Failure Rate model



   [linearfailure_ex1]
   

   model
   {
      for( i in 1 : N )
      {
      x[i] ~ dlin.fr(alpha, beta)
      }
      
   # Prior distributions of the model parameters   
   
         alpha ~ dunif(0, 0.1)
         beta ~ dunif(0, 0.1)      
   }


The data set is taken from DACS Software Reliability Dataset, Lyu (1996). The data represents the time-between-failures (time unit in miliseconds) of a software. The data given here is transformed from time-between-failures to failure times.

Lyu, M. R. (1996). Handbook of Software Reliability Engineering, IEEE Computer Society Press, http://www.cse.cuhk.edu.hk/~lyu/book/reliability/

The MLE's are alpha = 1.7777e-03, beta=2.7776e-06

Data
list(N=86, x =c(4.79, 7.45, 10.22, 15.76, 26.10, 28.59, 35.52, 41.49, 42.66,
44.36, 45.53, 58.27, 62.96, 74.70, 81.63, 100.71, 102.06, 104.83,110.79, 118.36, 122.73, 145.03, 149.40, 152.80, 156.85, 162.20, 164.97,168.60, 173.82, 179.95, 182.72, 195.72, 203.93, 206.06, 222.26, 238.27, 241.25, 249.99, 256.17, 282.57, 282.62, 284.11, 294.45, 318.86, 323.46, 329.11, 340.30, 344.67, 353.94, 398.56, 405.70, 407.51, 422.36, 429.93,
461.47, 482.62, 491.46, 511.83, 526.64, 532.23, 537.13, 543.06, 560.75, 561.60, 589.96, 592.09, 610.75, 615.65, 630.52, 673.74, 687.92, 698.15, 753.05, 768.25, 801.06, 828.22, 849.97, 885.02, 892.27, 911.90, 951.69, 962.59, 965.04, 976.98, 986.92, 1025.94))
Inits for chain 1
list(alpha=0.001, beta= 0.001)
   
Inits for chain 2
list(alpha=0.02, beta= 0.05)



Results


[linearfailure_ex2]

The model is badly scaled and we get numerical problems when trying to calculate the MAP estimates. If we rescale the model vis:

model
   {
      for( i in 1 : N )
      {
      x[i] ~ dlin.fr(alpha, beta)
      }
      
   # Prior distributions of the model parameters   
         alpha <- a / 1000 a ~ dunif(0, 10)
         beta <- b / 1000000   b ~ dunif(0, 10)
   }

we get the MAP estimates


[linearfailure_ex3]