3 votes

identification de sous-groupes avec un arbre de régression

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)

regression tree

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 ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X