P-value

#.Blog

Extrait d’une discussion sur Facebook

I don’t think many people have a good sense for just how much sampling variability there is in the p-value in all but high power situations.

Effectivement, c’est un peu compliqué pour le lecteur non averti de se faire une idée de la distribution de la « fameuse » valeur de p, et de la façon que celle-ci a de danser plus ou moins frénétiquement en fonction de la présence ou non d’un effet. Lors d’une discussion avec des étudiants de Master autour de l’article de Simmons et collaborateurs (2011), j’ai essayé de leur en faire la démonstration avec une simple simulation sur R. Nous discutions de la pratique (questionnable) qui consiste a augmenter la taille de l’échantillon jusqu’à l’obtention d’un effet significatif, l’optional stopping. Je voulais leur faire comprendre qu’en l’absence d’un effet, la valeur de p se distribue de manière uniforme et qu’il est aussi probable d’obtenir un p d’une valeur comprise entre .01 et .02 qu’un p d’une valeur comprise entre .98 et .99. Par conséquent, s’arrêter de collecter des données aussitôt que p passe sous le seuil fatidique de .05 est risqué.

Pour ce faire, j’ai créé une simulation qui fait varier la taille de l’échantillon de 5 à 100, et qui « dessine » la valeur de p, en l’absence d’un effet, en fonction de la taille de l’échantillon.

Pour ce premier essai, on voit que la valeur de p passe sous le seuil de .05 quand n=21, pour remonter autour de .80 quand n=22, puis redescendre en dessous de .05 à n=26, etc.

On peut retenter l’expérience plusieurs fois, en ne modifiant aucun paramètre de celle-ci, et voir qu’à chaque fois l’échantillon nécessaire (nMIN) pour obtenir un p < .05 change.

Si on introduit un effet de taille modérée (d = .5), la forme de la distribution change un peu.

Les valeurs de p extrêmement hautes se font plus rares, et les valeurs inférieures à .05 plus fréquentes, au delà de 30-40 participants.

La distribution change encore davantage quand on introduit un effet de taille importante (d = .80).

Afin d’aborder le problème différemment, j’ai décidé de fixer une taille d’échantillon (n = 100) et de refaire l’expérience un grand nombre de fois (100 fois) pour voir comment la valeur de p réagit.

Encore une fois, on voit que la valeur de p se promène dans tout l’espace compris entre 0 et 1, quand il n’y a pas d’effet.

Je peux faire beaucoup plus que 100 essais (par exemple 10000), pour que ce soit encore plus parlant.

On voit bien avec ces simulations ce que veut dire que, en l’absence d’effet, la distribution de la p-value est uniforme. Une autre représentation consiste à faire un histogramme de la fréquence de la distribution de la valeur de p.

On peut maintenant se demander ce qu’il se passe quand on introduit un effet, de taille faible, moyenne, ou importante, sur la distribution de p.

Pour un effet faible (r = .10) :

Pour un effet moyen (r = .20) :

Pour un effet important (r = .30) :

Comme la dernière fois, je vous mets le code (un peu brut de décoffrage) ci-dessous. N’hésitez pas à me dire si j’ai fait une erreur dans celui-ci, ou à me laisser un commentaire si besoin.

# Optional stopping


d <- 0


n_range <- 5:100


# --- Ne rien modifier sous cette ligne --- 



p <- as.matrix(n_range)

for(n in n_range) {

    p[n-4] <- t.test(rnorm(n,0, 1), y = rnorm(n, d, 1))$p.value

}


plot(n_range, p, type="l", ylim=c(0, 1))
abline(h=.05, col="red")



# P-curve


b <- 0

n <- 100

nSims <-  10000



# --- Ne rien modifier sous cette ligne --- 


B <- NULL

P <- NULL
for(i in 1:nSims) {

    set.seed(NULL)

    x <- rnorm(n)

    y <- rnorm(n,b*x, sqrt(1-b^2))

    m<- summary(lm(y~x))

    B[i] <- m$coefficients[2,1]

    P[i] <- m$coefficients[2,4]

  }



trial <- 1:nSims


plot(trial,P, xlab="Trial #", ylab="p-value", ylim = c(0,1))

abline(h=.05, col="blue")



hist(P, breaks=100)

abline(h=nSims/100, col="blue")



Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s