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)
newn <- 10
newX <- matrix(rnorm(newn*p),newn)
predict(smooth_model, newX)
Run the code above in your browser using DataLab