#				
## Simulated data to test variance  - random treatment, 2 intervals (comparing at my covariance with (3.14))
#				

rm(list=ls())
library(MASS)

n.sim <- 1000
n.sample <- c(250,500,1000)#seq(250,1000,50)
source("gestCov_txRand_PUR.R")
  
psi10 <- 1.6	
psi11 <- 0	
psi20 <- -3	
psi21 <- 2
psi22 <- 1	
psi23 <- 0	

bias.mat <- NULL

psi<-c(psi10,psi11,psi20,psi21,psi22,psi23)
results <- psi
alpha<-c(.5,.5)
get.vess <- 0
get.zipi <- 0
get.pur <- 1

#for(psi23 in seq(-1,1,.1)) {
bias.vec <- NULL
for(n in n.sample) {
   psi<-c(psi10,psi11,psi20,psi21,psi22,psi23)
   results <- psi
   psi.est90 <- var.est90 <- NULL
   psi.est95 <- var.est95 <- NULL
   psi.est99 <- var.est99 <- NULL
   psi.estPUR <- var.estPUR <- NULL
   psi.estJR <- var.estJR <- NULL
   wrong.rule <- NULL
   for(j in 1:n.sim) {
#if(j %in% seq(200,n.sim,200)) print(j)
      L1 <- rnorm(n,0,3)
      A1 <- rbinom(n,1,alpha[1])  
      L2 <- round(rnorm(n,.75,.5))
      A2 <- rbinom(n,1,alpha[2])  
      L <- cbind(L1,L2)
      A <- cbind(A1,A2)
      Y.opt <- rnorm(n,1,1) 
      Y <- Y.opt - abs(psi10 + psi11*L1)*(A1 - as.numeric(psi10 + psi11*L1>0))^2 - abs(psi20 + psi21*L2 + psi22*A1 + psi23*L2*A1)*(A2 - as.numeric(psi20 + psi21*L2 + psi22*A1 + psi23*L2*A1>0))^2      

      if(get.pur) {
       temp <- PUR_rand.fcn(Y,L,A,return.U=F) 
       psi.estPUR <- cbind(psi.estPUR,c(temp$psi.hat[2,1:2],temp$psi.hat[1,]))   
       var.estPUR <- cbind(var.estPUR,c(temp$psi.var[2,1:2],temp$psi.var[1,])) 
      }
   }

   print(paste("n = ",n,sep=""))
   t1p <- apply(psi.estPUR,1,mean)
   t0p <- apply(psi.estPUR,1,sd)
   t2p <- apply(sqrt(var.estPUR),1,mean) # calculated SE
   t3p <- apply(sqrt(var.estPUR + (psi.estPUR - psi)^2),1,mean)  # rMSE
   t4p <- apply((psi.estPUR - 1.96*sqrt(var.estPUR) < psi) & (psi.estPUR + 1.96*sqrt(var.estPUR) > psi),1,sum)/n.sim*100 # Wald CI coverage
#   bias.vec <- c(bias.vec,t1p[1] - psi10)

   results <- cbind(results,cbind(t1p,t2p,t3p,t4p))
   print(round(results,3))
#}
#bias.mat <- cbind(bias.mat,bias.vec)
}
#bias.mat <- abs(bias.mat)

#postscript("bias_by_psi23pur2.eps")
#filled.contour(seq(250,1000,50),seq(-1,1,.1),bias.mat,xlab="n",ylab=expression(psi[23]),col=rainbow(35),levels=seq(0,.07,.0025))
#dev.off()

