Randomisation simple ou pas

Les randomisations par blocs de permutation, de tailles fixe ou aléatoire, sont très utilisées dans les essais cliniques randomisés, qu’ils soient en aveugles ou en ouverts. Il arrive souvent que la randomisation soit stratifiée sur un ou plusieurs facteurs, tels que le centre ou des facteurs pronostiques, multipliant ainsi les listes de randomisation. D’un point de vue théorique, ces méthodes réduisent les déséquilibres en effectif entre les groupes (et sous-groupes) et améliorent la stabilité des estimateurs, conduisant à une meilleure puissance statistique. Malheureusement, il semblerait que le gain de puissance soit minime et qu’il y ait un risque de biais d’allocation, dans les études en ouvert.

Nous décrirons d’abord, un point de vue épistémologique, puis fournirons les détails statistiques permettant d’apprécier le gain de puissance et la perte de validité

Point de vue épistémologique

Avant d’utiliser la randomisation, d’autres moyens d’allocation pseudo-aléatoire de traitements avaient été utilisés, notamment l’inclusion dans le groupe A les jours pairs du calendrier et l’inclusion dans le groupe B les jours impairs. Cette méthode, semble, à première vue, fournir des groupes comparables, puisqu’il n’y a aucune raison que les caractéristiques du patient puissent être corrélées à la parité du jour. Néanmoins, cette méthode avait le défaut d’être prévisible. En situation où de grands espoirs sont portés sur le nouveau traitement, notamment lorsque le traitement de référence est peu efficace, la maladie sévère, et les bénéfices potentiellement perçus du traitement innovants sont importants, alors l’investigateur est susceptible d’utiliser cette information pour forcer le pseudo-hasard dans le sens qu’il souhaite. Souhaitant faire bénéficier du traitement innovant le patient dont le pronostic sous traitement de référence est péjoratif, il pourra décaler la consultation afin de s’assurer que celle-ci tombe un jour favorable. Dès lors qu’une information partielle ou totale sur le groupe dans lequel le patient se retrouverait existe avant l’inclusion, le destin peut être modifié par la volonté humaine. Dans le pire des cas, l’inclusion est différée et une nouvelle consultation est programmée. Si ce destin est modifié de manière répétée, un déséquilibre apparaît entre les deux groupes : il ne sont plus comparables. Le biais d’indication des études observationnelles ré-apparaît partiellement ou pleinement.

Le seul moyen d’éviter ce biais est la parfaite imprévisibilité de la séquence d’allocation. La randomisation, c’est-à-dire l’allocation au hasard, garantit cette imprévisibilité car le hasard n’est corrélé à aucune variable observée ou inobservée. La randomisation par blocs, ne répond pas à cette définition de hasard. Elle a une auto-corrélation négative et est donc prévisible dès lors que la randomisation est ouverte. Un investigateur incluant 4 patients d’affilée dans le même groupe peu parier que le prochain patient sera alloué dans l’autre groupe. L’algorithme est tellement simple, que son exploitation peut être inconsciente.

Gain de puissance

Le code R ci-dessous calcule la perte de puissance due à un déséquilibre des groupes en randomisation 1:1 avec une unique liste de randomisation:

power_for_n1=function(power_for_n, sig.level, n1, N) {
# On recrute N sujets en randomisation simple
# On observe n1 sujets dans le groupe A
# On veut connaître la puissance (conditionnelle à n1)
df = (N-2)
# espérance de la statistique T de Student pour n = N/2
# (randomisation par blocs -> équilibre parfait des groupes)
T_for_n = qt(power_for_n,df=df) + qt(1-sig.level/2,df=df)

# taille de n2 sachant que n1+n2 = N
n2 = N-n1
n  = N/2
# espérance de la statistique T de Student
# pour la randomisation simple (conditionnelle à n1)
T_for_n1 = T_for_n * sqrt((1/n + 1/n)/(1/n1 + 1/n2))

# puissance pour la randomisation simple (conditionnelle à n1)
pt(T_for_n1 - qt(1-sig.level/2,df=df), df=df)
}
# n1 suit une loi binomiale
power_for_nrandom=function(power_for_n, sig.level=0.05, N=100) {
x = 1:(N-1) # valeurs possibles pour n1
d = dbinom(x, N, 0.50) # probabilités associées
p = power_for_n1(power_for_n, sig.level, x, N) # puissances conditionnelles
sum (d * p) # puissance inconditionnelle
}

On peut ainsi calculer qu’une randomisation simple 1:1 avec une seule liste, fait passer une puissance de 80% à 79.8% (réduction de 0.2%) pour une étude avec 200 sujets en tout (~100 par groupe).

Biais d’allocation

Un coût non négligeable existe dans les études en ouvert : le groupe auquel va appartenir le prochain patient potentiellement incluable est partiellement prévisible.
Par exemple, dans une randomisation avec blocs de permutation de taille 4, il ne peut jamais y avoir plus de 4 patients d’affilée dans le même groupe. Cela est possible qu’un bloc est ‘0011’ avec le bloc suivant à ‘1100’. Dans une étude monocentrique, un investigateur qui a inclus 4 fois d’affilée des patients dans le même groupe sait alors dans quel groupe le prochain patient sera affecté. Dans une moindre mesure, si trois patients sont affectés d’affilée dans le même groupe, il y a 70.8% de chances que le prochain patient soit affecté à l’autre groupe. Le code ci-dessous simule ce scenario:

set.seed(2020)
v=as.vector(replicate(1000000,sample(c(1,1,0,0),replace=F)))

count_succ=function(v) {
	w = rep(0, length(v))
	for(i in 2:length(v)) {
		if (v[i] == 1) {
			w[i] = w[i-1]+1
		}
	}
	w
}


w=count_succ(v)

frst=(1:(length(v)-1))
nxt=(2:length(v))
mean((v[nxt])[w[frst]])

L’investigateur n’a même pas besoin de compter précisément les patients. Il lui suffit de se souvenir des derniers patients pour anticiper le prochain. Ce problème existe même en cas de bloc de taille aléatoire, même si le calcul de probabilité n’est plus exact.
Dans les essais multicentriques, avec randomisation centralisée, le problème est réduit par le fait que plusieurs investigateurs peuvent inclure sans communiquer. Même si un investigateur peut avoir inclus 4 patients d’affilée dans le même bras, il est possible que d’autres investigateurs, entre temps, aient inclus des patients, de telle sorte que son information sur la séquence aléatoire est brouillée. Néanmoins, il est fréquent de stratifier la randomisation sur le centre, créant ainsi une liste différente pour chaque centre et laissant donc à l’investigateur autant d’information que dans un essai monocentrique.
La seule randomisation qui garantisse des allocations indépendantes, c’est la randomisation simple !
Autrement, l’information disponible sur le groupe de randomisation dans lequel les premiers patients ont été alloués (accessibles dans un essai en ouvert) permet d’obtenir de l’information sur les patients suivants.

C’est pourquoi, au moins dans les essais ouverts, je conseille d’utiliser la randomisation simple. Le risque de biais est ainsi diminué alors que la puissance n’est presque pas abaissée.

Limites du raisonnement

De même que l’évaluation en aveugle, l’aveugle patient et l’aveugle investigateur, la randomisation n’est qu’un outil de rigueur méthodologique qui n’est pas toujours indispensable. L’article Impact of blinding on estimated treatment effects in randomised clinical trials: meta-epidemiological study ne montre pas une différence majeure (même s’il existe une incertitude non négligeable) d’effet selon la rigueur méthodologie des essais cliniques randomisés. Néanmoins, le cas moyen ne décrit pas le cas particulier. Il me paraît indispensable d’être rigoureux dans les contextes où les investigateurs perdent leur neutralité, comme par exemple, en ce moment (avril 2020) pour l’évaluation thérapeutique de l’hydroxychloroquine dans le traitement du COVID-19. Dans ce cas, la randomisation ouverte est à éviter. La randomisation en double aveugle préservant le secret de la séquence d’allocation, la randomisation par blocs n’est alors pas aberrante.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *