n <- 500; p <- 3
beta <- c(0.2,1,-0.5,-0.8)*0.7
beta1 <- c(1,-0.5,-0.5,0.5)
set.seed(12345)
X <- matrix(rnorm(n*p),n)
a <- rbinom(n,1,0.7)
mean1 <- exp(cbind(1,X) %*% beta1)
mean2 <- 8/(1 + exp(-cbind(1,X) %*% beta)) - 4
y <- mean1 + a * mean2 + rnorm(n)
smooth_model <- DTR.KernSmooth(X, y, a, prob = 0.3 + 0.4*a)
boots_smooth_model <- DTR.Boots.KernSmooth(X, y, a, prob = 0.3 + 0.4*a, B = 100)
newn <- 1e4
newX <- matrix(rnorm(newn*p),newn)
newa <- rbinom(newn,1,0.5)
newmean1 <- exp(cbind(1,newX) %*% beta1)
newmean2 <- 8/(1 + exp(-cbind(1,newX) %*% beta)) - 4
newy <- newmean1 + newa * newmean2 + rnorm(newn)
obj_value(newX, newy, newa, smooth_model)
obj_value(newX, newy, newa, boots_smooth_model)
obj_value(newX, newy, newa, beta = smooth_model$beta_smooth)
Run the code above in your browser using DataLab