Guest User

Untitled

a guest
Feb 25th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. set.seed(5)
  2. beta0<--8
  3. beta1<-0.03
  4. gamma<-0.0105
  5. #n is sample size
  6. n<-50
  7. N<-2000
  8. beta0hat1<-NULL
  9. beta1hat1<-NULL
  10. gammahat1<-NULL
  11. cp<-NULL
  12. for (i in 1:N)
  13. {
  14. u<-runif(n)
  15. x<-rnorm(n)
  16. c<-rexp(n,1/725)
  17. t1<-(1/gamma)*log(1-((gamma/exp(beta0+beta1*x))*log(1-u)))
  18. t<-pmin(t1,c)
  19. delta<-1*(t1>c)
  20. cp[i]<-length(delta[delta==1])/n
  21. delta[delta==1]<-ifelse(rbinom(length(delta[delta==1]),1,0.75),1,2)
  22. dat=data.frame(t,delta,x)
  23. dat$interval[delta==2] <- as.character(cut(dat$t[delta==2], breaks=seq(0, 600, 50)))
  24. labs <- cut(dat$t[delta==2], breaks=seq(0, 600, 50))
  25. dat$lower[delta==2]<-as.numeric( sub("\((.+),.*", "\1", labs) )
  26. dat$upper[delta==2]<-as.numeric( sub("[^,]*,([^]]*)\]", "\1", labs) )
  27. data0<-dat[which(dat$delta==0),]#uncensored data
  28. data1<-dat[which(dat$delta==1),]#right censored data
  29. data2<-dat[which(dat$delta==2),]#interval censored data
  30. library(maxLik)
  31. ll1<-function(para)
  32. {
  33. b0<-para[1]
  34. b1<-para[2]
  35. g<-para[3]
  36. e<-sum((b0+b1*data0$x)+g*data0$t+(1/g)*exp(b0+b1*data0$x)*(1-exp(g*data0$t)))
  37. r<-sum((1/g)*exp(b0+b1*data1$x)*(1-exp(g*data1$t)))
  38. i<-sum(log(exp((1/g)*exp(b0+b1*data2$x)*(1-exp(g*data2$lower)))-exp((1/g)*exp(b0+b1*data2$x)*(1-exp(g*data2$upper)))))
  39. l<-e+r+i
  40. return(l)
  41. }
  42. mle1<-maxLik(logLik=ll1,start=c(para<-c(-8,0.03,0.0105)))
  43. beta0hat1[i]<-mle1$estimate[1]
  44. beta1hat1[i]<-mle1$estimate[2]
  45. gammahat1[i]<-mle1$estimate[3]
  46. }
  47.  
  48. biasbeta0hat1<-abs(mean(beta0hat1)-beta0)
  49. biasbeta0hat1
  50. biasbeta1hat1<-abs(mean(beta1hat1)-beta1)
  51. biasbeta1hat1
  52. biasgammahat1<-abs(mean(gammahat1)-gamma)
  53. biasgammahat1
Add Comment
Please, Sign In to add comment