Jerome Cornfield a écrit:
L'un des meilleurs fruits de la révolution des pêcheurs a été l'idée de la randomisation, et les statisticiens qui sont d'accord sur peu d'autres choses sont au moins d'accord là-dessus. Mais malgré cet accord et malgré l'utilisation généralisée des procédures d'allocation aléatoire en clinique et dans d'autres formes d'expérimentation, son statut logique, c'est-à-dire la fonction exacte qu'il remplit, est encore obscur.
Cornfield, Jerome (1976). "Contributions méthodologiques récentes aux essais cliniques" . American Journal of Epidemiology 104 (4): 408–421.
Tout au long de ce site et dans une variété de littérature, je vois constamment des affirmations confiantes sur les pouvoirs de la randomisation. Une terminologie forte telle que «cela élimine le problème des variables confondantes» est courante. Voir ici , par exemple. Cependant, plusieurs fois, des expériences sont effectuées avec de petits échantillons (3 à 10 échantillons par groupe) pour des raisons pratiques / éthiques. Ceci est très fréquent dans la recherche préclinique utilisant des animaux et des cultures cellulaires et les chercheurs rapportent généralement des valeurs de p à l'appui de leurs conclusions.
Cela m'a amené à me demander quelle est la qualité de la randomisation pour équilibrer les confusions. Pour ce graphique, j'ai modélisé une situation comparant les groupes de traitement et de contrôle avec une confusion qui pourrait prendre deux valeurs avec une chance de 50/50 (par exemple type1 / type2, masculin / féminin). Il montre la distribution du «% non équilibré» (différence en nombre de type1 entre les échantillons de traitement et de contrôle divisés par la taille de l'échantillon) pour les études d'une variété de petites tailles d'échantillon. Les lignes rouges et les axes de droite montrent l'ecdf.
Probabilité de divers degrés d'équilibre sous randomisation pour de petits échantillons:
Deux choses ressortent clairement de cette intrigue (sauf si je me suis trompé quelque part).
1) La probabilité d'obtenir des échantillons parfaitement équilibrés diminue à mesure que la taille de l'échantillon augmente.
2) La probabilité d'obtenir un échantillon très déséquilibré diminue à mesure que la taille de l'échantillon augmente.
3) Dans le cas de n = 3 pour les deux groupes, il y a 3% de chances d'obtenir un ensemble de groupes complètement déséquilibré (tous de type1 dans le contrôle, tous de type2 dans le traitement). N = 3 est courant pour les expériences de biologie moléculaire (par exemple, mesurer l'ARNm avec PCR ou les protéines avec western blot)
Lorsque j'ai examiné le cas n = 3 plus loin, j'ai observé un comportement étrange des valeurs de p dans ces conditions. Le côté gauche montre la distribution globale des valeurs de p calculant à l'aide de tests t dans des conditions de moyennes différentes pour le sous-groupe de type2. La moyenne pour le type 1 était de 0 et sd = 1 pour les deux groupes. Les panneaux de droite montrent les taux de faux positifs correspondants pour les «seuils de signification» nominaux de 0,05 à 0001.
Distribution des valeurs de p pour n = 3 avec deux sous-groupes et des moyennes différentes du deuxième sous-groupe par comparaison via le test t (10000 passages de monte carlo):
Voici les résultats pour n = 4 pour les deux groupes:
Pour n = 5 pour les deux groupes:
Pour n = 10 pour les deux groupes:
Comme on peut le voir sur les graphiques ci-dessus, il semble y avoir une interaction entre la taille de l'échantillon et la différence entre les sous-groupes qui se traduit par une variété de distributions de valeurs p sous l'hypothèse nulle qui ne sont pas uniformes.
Pouvons-nous donc conclure que les valeurs de p ne sont pas fiables pour des expériences correctement randomisées et contrôlées avec de petits échantillons?
Code R pour le premier tracé
require(gtools)
#pdf("sim.pdf")
par(mfrow=c(4,2))
for(n in c(3,4,5,6,7,8,9,10)){
#n<-3
p<-permutations(2, n, repeats.allowed=T)
#a<-p[-which(duplicated(rowSums(p))==T),]
#b<-p[-which(duplicated(rowSums(p))==T),]
a<-p
b<-p
cnts=matrix(nrow=nrow(a))
for(i in 1:nrow(a)){
cnts[i]<-length(which(a[i,]==1))
}
d=matrix(nrow=nrow(cnts)^2)
c<-1
for(j in 1:nrow(cnts)){
for(i in 1:nrow(cnts)){
d[c]<-cnts[j]-cnts[i]
c<-c+1
}
}
d<-100*abs(d)/n
perc<-round(100*length(which(d<=50))/length(d),2)
hist(d, freq=F, col="Grey", breaks=seq(0,100,by=1), xlab="% Unbalanced",
ylim=c(0,.4), main=c(paste("n=",n))
)
axis(side=4, at=seq(0,.4,by=.4*.25),labels=seq(0,1,,by=.25), pos=101)
segments(0,seq(0,.4,by=.1),100,seq(0,.4,by=.1))
lines(seq(1,100,by=1),.4*cumsum(hist(d, plot=F, breaks=seq(0,100,by=1))$density),
col="Red", lwd=2)
}
Code R pour les parcelles 2-5
for(samp.size in c(6,8,10,20)){
dev.new()
par(mfrow=c(4,2))
for(mean2 in c(2,3,10,100)){
p.out=matrix(nrow=10000)
for(i in 1:10000){
d=NULL
#samp.size<-20
for(n in 1:samp.size){
s<-rbinom(1,1,.5)
if(s==1){
d<-rbind(d,rnorm(1,0,1))
}else{
d<-rbind(d,rnorm(1,mean2,1))
}
}
p<-t.test(d[1:(samp.size/2)],d[(1+ samp.size/2):samp.size], var.equal=T)$p.value
p.out[i]<-p
}
hist(p.out, main=c(paste("Sample Size=",samp.size/2),
paste( "% <0.05 =", round(100*length(which(p.out<0.05))/length(p.out),2)),
paste("Mean2=",mean2)
), breaks=seq(0,1,by=.05), col="Grey", freq=F
)
out=NULL
alpha<-.05
while(alpha >.0001){
out<-rbind(out,cbind(alpha,length(which(p.out<alpha))/length(p.out)))
alpha<-alpha-.0001
}
par(mar=c(5.1,4.1,1.1,2.1))
plot(out, ylim=c(0,max(.05,out[,2])),
xlab="Nominal alpha", ylab="False Postive Rate"
)
par(mar=c(5.1,4.1,4.1,2.1))
}
}
#dev.off()
Réponses:
Vous avez raison de souligner les limites de la randomisation dans le traitement des variables de confusion inconnues pour de très petits échantillons. Cependant, le problème n'est pas que les valeurs P ne sont pas fiables, mais que leur signification varie en fonction de la taille de l'échantillon et de la relation entre les hypothèses de la méthode et les propriétés réelles des populations.
Mon point de vue sur vos résultats est que les valeurs de P ont très bien fonctionné jusqu'à ce que la différence dans les moyennes des sous-groupes soit si grande que tout expérimentateur sensé sache qu'il y avait un problème avant de faire l'expérience.
L'idée qu'une expérience peut être réalisée et analysée sans référence à une bonne compréhension de la nature des données est erronée. Avant d'analyser un petit ensemble de données, vous devez en savoir suffisamment sur les données pour pouvoir défendre en toute confiance les hypothèses implicites dans l'analyse. Ces connaissances proviennent généralement d'études antérieures utilisant le même système ou un système similaire, des études qui peuvent être des travaux officiels publiés ou des expériences «préliminaires» informelles.
la source
Dans la recherche écologique, l'attribution non aléatoire de traitements à des unités expérimentales (sujets) est une pratique standard lorsque la taille des échantillons est petite et qu'il existe des preuves d'une ou plusieurs variables confondantes. Cette affectation non aléatoire «intercale» les sujets à travers le spectre de variables potentiellement confondantes, ce qui est exactement ce que l'assignation aléatoire est censée faire. Mais pour des échantillons de petite taille, la randomisation est plus susceptible de mal fonctionner (comme démontré ci-dessus) et il peut donc être une mauvaise idée de s'y fier.
Étant donné que la randomisation est fortement préconisée dans la plupart des domaines (et à juste titre), il est facile d'oublier que l'objectif final est de réduire les biais plutôt que d'adhérer à une randomisation stricte. Cependant, il incombe au (x) chercheur (s) de caractériser efficacement la suite de variables confondantes et de réaliser l'attribution non aléatoire d'une manière défendable qui est aveugle aux résultats expérimentaux et utilise toutes les informations et le contexte disponibles.
Pour un résumé, voir pp. 192-198 dans Hurlbert, Stuart H. 1984. Pseudoreplication and the design of field experiences. Monographies écologiques 54 (2) pp.187-211.
la source