Je suis très intéressé par un article récent intitulé "Tutorial in biostatistics : data-driven subgroup identification and analysis in clinical trials" (DOI : 10.1002/sim.7064), et je souhaite reproduire les résultats de la section "Performance of the tree-based regression approach". Cependant, l'arbre de partitionnement ne semble pas obtenir le résultat que je souhaite.
set.seed(123)
n <- 1000
x1 <- rnorm(n)
x2 <- runif(n)
t <- rbinom(n,1,0.5)
x3 <- rbinom(n,1,0.3)
x4 <- rnorm(n)
z <-1+ 2*x1-1.8*x2+(x1>=-0.3)*(x2>=0.4)*t-(x1< -0.3)*(x2<0.4)*t
pr = 1/(1+exp(-z))
y = rbinom(n,1,pr)
dt <- data.frame(x1,x2,x3,x4,t,y)
library(party)
mb <- mob(y~t-1|x1+x2+x3+x4,
data=dt,
model = glinearModel,
family = binomial(),
control=mob_control(minsplit=100))
plot(mb)
La figure est présentée ci-dessus. Elle est censée se diviser sur x1 et x2 aux valeurs de coupure de -0,3 et 0,4 définies dans la simulation. Cependant, elle ne semble pas le faire.x1 a dominé la partition du nœud et x2 ne semble pas être un déterminant important du processus de partitionnement. Quel est le problème avec le code ?