Моя цель - найти каждое наблюдение в моих данных в каждом узле. Я могу только узнать количество наблюдений в каждом узле, тогда я не могу определить, какие наблюдения в узле (например, число (прогнозируется падение узла (0,0)) *
N=500
episolon=rnorm( N, 0, 0.01 )
x1=rnorm(N, 0, sd=1)
x2=rnorm(N, 0, sd=1)
X=data.frame( x1, x2)
eta_x=1/2*x1+x2
Kappa_x=1/2*x1
w=rbinom(N, 1, 0.5)
treatment <- w
makeY=function(eta,Kappa ){
Y=eta+1/2*(2*w-1)*Kappa+episolon
}
Y1=makeY(eta_x, Kappa_x )
Y=eta_x+1/2*(2*w-1)*Kappa_x+episolon
design1 <- data.frame( x1, x2, Y1, treatment )
tree <- causalTree(Y1~x1+x2, data=design1, treatment=design1$treatment,
split.Rule = "TOT", cv.option = "fit", cv.Honest = F,
split.Bucket = T, xval=10, propensity = 0.5, minsize = 25)
opcp <- tree$cptable[,1][which.min(tree$cptable[,4])]
optree <- prune(tree, cp=opcp)
rpart.plot(optree)
number <- rpart.predict.leaves(opTree, newdata = data.frame(x1=0,x2=0), type="where")
Я пробовал другие способы опубликовать 2 года назад, но обнаружил, что результат не является разумным.
Есть ли альтернативные способы получить правильный результат другими способами?