Calcul de la puissance et du nombre de sujets nécessaires

calcul du nombre de sujets

Comme je l’expliquais dans l’article d’introduction à la puissance statistique, cette notion est généralement liée à la problématique du calcul du nombre d’unités expérimentales, ou nombre de sujets nécessaires. En effet, dans de nombreux domaines d’étude, notamment en recherche clinique ou en expérimentation animale, il n’est ni éthiquement, ni financièrement, acceptable de gâcher les unités expérimentales.

 

Pré requis :

 

1. Contexte du calcul de puissance / nombre de sujets nécessaire

En pratique, on rencontre deux situations. Dans la première, le nombre maximal d’unités expérimentales est connu à l’avance, car limité par une contrainte financière, ou logistique. Dans ce cas-là, on va chercher à évaluer la puissance théorique du test statistique que l’on souhaite employer, compte tenu de ce nombre limité d’unités expérimentales, et des autres paramètres qui l’influence. Dans le cadre d’une comparaison de deux moyennes il s’agit de :

  • la différence de moyenne attendue (delta)
  • l’écart type attendu des données (sd)
  • le risque alpha

Dans la seconde situation, on cherche, au contraire, à évaluer le nombre d’unités expérimentales qu’il est nécessaire d’inclure, compte tenu des paramètres cités précédemment (delta, sd, alpha), mais aussi surtout en fixant une puissance théorique. Autrement dit, en fixant un niveau de probabilité que le test soit significatif. Cette puissance est généralement fixée entre 80 et 90%.

 

2. Quelle fonctions pour le calcul de puissance et du nombre de sujets nécessaires ?

2.1 Les fonctions du package stat

Le package stat (chargé par défaut à chaque ouverture de session – vous n’avez donc pas besoin de le charger spécifiquement) contient trois fonctions dédiées au calcul de puissance et au calcul du nombre de sujets nécessaires :

  • power.t.test() : dans le cadre de la comparaison de deux moyennes par un test t
  • power.p.test() : dans le cadre de la comparaison de deux pourcentages
  • power.anova.test(): dans le cadre de la comparaison de plusieurs moyennes avec une anova

 

2.2 Les fonctions du package pwr

Si les trois fonctions ci-dessus ne couvrent pas votre besoin, je vous recommande de consulter le package pwr qui contient des fonctions pour les principaux tests d’hypothèse. Voici la liste :

fonctions du package R pwr

Ce package utilise la notion d’effect size

Vous trouverez la vignette (mode d’emploi de ce package ici ).

 

2.3 Les autres packages dédiés au calcul de puissance ou du nombre de sujets nécessaire

Il existe aussi de nombreux packages, disponibles sur CRAN, dédiées à l’analyse de puissance et au calcul du nombre de sujets nécessaires :

packages dédiées au calcul de puissance et nombre de sujets nécessaires

 

 

Et encore :

 

package pour le calcul du nombre de suejts et de puissance

 

 

3. Exemple d’un calcul de puissance

Imaginons qu’une expérimentation ait pour but d’évaluer l’efficacité d’un traitement dans la baisse de la pression artérielle. Pour cela, des patients sont randomisés dans un groupe placebo et dans un groupe de traitement. Les paramètres attendus sont :

  • 20 patients dans chaque groupe
  • une différence attendue (delta) entre les moyennes des pressions artérielles dans les deux groupes = 5mmHg
  • l’écart type attendu des mesures de pression partielle, identique dans les deux groupe (sd) = 10mmH
  • un risque alpha fixé à 5%

Pour réaliser ce calcul, nous allons utiliser la fonction power.t.test().

Pour plus de détails sur l’utilisation de cette fonction, vous pouvez consulter l’aide :

fonction power.t.test

 

Il suffit alors d’entrer en argument :

  • n = 20
  • delta = 5
  • sd = 10
  • sig.level (c’est alpha) = 0.05

La fonction power.t.test calcule le paramètre manquant, ici la puissance :

 

Le calcul de puissance nous indique que la probabilité de mettre en évidence une différence significative entre les deux moyennes, en employant un test t bilatéral, est théoriquement de 34%. C’est trop peu, pour envisager l’expérimentation tel quel.

 

Remarque : Cet exemple est tiré du livre *Sample Size Table for clinical Studies (3ème édition) de David Machin et al.

4. Exemple d’un calcul du nombre de sujets nécessaires pour atteindre une puissance donnée

Imaginons à présent, que l’on souhaite, toujours avec le même exemple, calculer le nombre de sujets nécessaires pour atteindre une puissance de 80%.

Il suffit alors d’indiquer la puissance désirée et de conserver les autres paramètres (à l’exception de n, évidemment) :

 

Le résultat du calcul montre que 64 patients dans chaque groupe seraient nécessaires pour atteindre une probabilité de 80% de mettre en évidence une différence statistiquement significative entre les deux moyennes si :

  • delta = 5
  • sd=10
  • alpha=0.05.

Pour atteindre 90% de puissance, il serait nécessaire d’inclure 85 patients dans chaque groupe : 

 

5. Pour aller plus loin :

Si le calcul de puissance vous intéresse, je vous recommande l’excellent livre “Sample Size Table for clinical Studies (3ème édition) de David Machin et al” :

 

sample size tables

 

 

Et vous, quelles fonctions ou quels packages utilisez-vous pour réaliser vos calculs de puissance et de nombre de sujets nécessaires ? Indiquez-les moi en commentaire.

 

Et si cet article vous a plus, ou vous a été utile, n’oubliez pas de le partager 😉

 

Crédits photo :  parOpenClipart-Vectors de Pixabay

 

Découvrez d’autres articles:

Partager l'article
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

3 commentaires

  1. Coliasso Répondre

    Bonjour, Claire.
    Merci pour l’article.
    Dans l’exemple, sur quelle base le sd a t-il été choisi?
    Plus généralement, dans le cas d’utilisation de power.t.test(), sur quelle base choisi t-on le sd?
    Merci
    Coliasso

    • Claire Della Vedova Auteur de l’articleRépondre

      Bonjour,

      en principe le sd est choisi sur la base d’une connaissance préalable, soit à partir de la littérature, soit à partir d’une observation faite sur une expérience pilote.
      Bonne continuation

Laisser un commentaire

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