Le test exact de Fisher est une méthode statistique appropriée à l’analyse des relations entre deux variables binaires dans de petits échantillons.
Il existe de nombreuses situations où nous pouvons souhaiter repérer s’il existe une relation entre deux variables binaires.Imaginons par exemple un tableau avec deux colonnes. Dans la première, nous aurions la mention Homme ou Femme, et dans la deuxième une variable exprimant la propriété d’un animal avec deux valeurs possibles : oui ou non. Une telle matrice est appelée un tableau de contingence.
Un tableau de contingence affiche dans ses cellules les fréquences ou proportions de combinaisons de deux variables catégoriques.
Pour évaluer les statistiques liées à un tel tableau, et donc déterminer si des associations significatives existent entre les deux catégories, on utilise un outil mathématique : le test de Fisher.
En d’autres termes, le test de Fisher sert à évaluer l’association entre deux variables binaires dans un tableau de contingence. Dans l’exemple ci-dessus, il pourrait par exemple faire ressortir que davantage de femmes ont un animal.
Qu’est-ce que le test exact de Fisher ?

Le test exact de Fisher est une méthode statistique appropriée à l’analyse des relations entre deux variables binaires dans de petits échantillons. Il s’applique à un tableau de contingence 2×2 pour tester l’indépendance entre la variable de ligne et celle de colonne, et fournit une p‑value exacte, quelle que soit la taille de l’échantillon. C’est aussi une notion clé en formation Data Analyst.
Un tableau de contingence affiche, dans ses cellules, les fréquences des combinaisons de deux variables catégorielles. Lorsque certains effectifs attendus sont faibles (par exemple inférieurs à 5), les approximations du chi‑carré peuvent être imprécises : le test exact de Fisher est alors recommandé. Il repose sur la loi hypergéométrique et calcule la probabilité d’observer des données au moins aussi extrêmes sous l’hypothèse nulle d’indépendance.
Exemple : on souhaite savoir si la proportion de personnes ayant un animal de compagnie diffère selon le sexe. On construit un tableau 2×2 Sexe (Femme/Homme) × Animal (Oui/Non), puis on applique le test exact de Fisher. Si la p‑value est inférieure au seuil choisi (par exemple 0,05), on conclut à une association entre le sexe et la possession d’un animal ; sinon, les écarts observés sont compatibles avec le hasard.
À ne pas confondre : qu’est-ce que le test de Fisher‑Snedecor ?
Le test exact de Fisher (pour tableaux 2×2, variables binaires, p‑value exacte) ne doit pas être confondu avec le test de Fisher‑Snedecor (F‑test), utilisé avec des données quantitatives pour comparer des variances et, par extension, dans l’ANOVA pour comparer des moyennes.
- Objet : Fisher exact teste l’indépendance dans un tableau 2×2 ; Fisher‑Snedecor compare des variances et sert de base à l’ANOVA.
- Type de données : Fisher exact → variables catégorielles binaires (comptes) ; Fisher‑Snedecor → variables quantitatives supposées gaussiennes.
- Hypothèse nulle : Fisher exact → indépendance ligne/colonne ; Fisher‑Snedecor → égalité des variances (et, en ANOVA, égalité des moyennes).
- Sortie : Fisher exact → p‑value exacte issue de l’hypergéométrique ; Fisher‑Snedecor → statistique F et p‑value associée.
- Quand l’utiliser : Fisher exact → petits effectifs ou valeurs attendues faibles ; Fisher‑Snedecor/ANOVA → comparaison de variances ou de moyennes sur données continues.
Création du test de Fisher

Le test exact de Fisher a été développé dans les années 1920 par le britannique Ronald A. Fisher, un pionnier des statistiques. Il a été conçu pour analyser les données de petits échantillons, en particulier dans le cadre des études en biologie. Sa motivation historique est illustrée par l’expérience de la « dame dégustant du thé », où Fisher formalise un test d’indépendance pour de très petits jeux de données. Sur le plan mathématique, il s’appuie sur la loi hypergéométrique avec marges fixées pour calculer une probabilité exacte sous l’hypothèse nulle d’indépendance.
En pratique, le test exact de Fisher s’applique aux tableaux de contingence 2 x 2 afin de décider s’il existe une association entre deux variables binaires quand les effectifs attendus sont faibles. Il fournit une valeur p exacte, quelle que soit la taille d’échantillon, et peut être posé en unilatéral ou en bilatéral. On le privilégie lorsque au moins une cellule attendue est inférieure à 5, et l’on rapporte souvent en complément un rapport de cotes pour quantifier l’ampleur de l’association, tandis que pour de plus grands échantillons le test du khi-deux peut suffire.
Principe: pourquoi un calcul exact (hypergéométrique) ?
Le test exact de Fisher calcule la probabilité d’obtenir un tableau 2×2 au moins aussi extrême que celui observé, en supposant l’indépendance entre les deux variables binaires. Le calcul est dit exact car il s’appuie sur la loi hypergéométrique et énumère tous les tableaux possibles partageant les mêmes marges (totaux de lignes et de colonnes), plutôt que d’utiliser une approximation comme le khi‑deux. Cette approche est particulièrement fiable dans les petits échantillons, où les effectifs attendus sont faibles.
Exemple : imaginons un total de 12 individus, avec 6 « succès » au total et 6 « échecs ». Le groupe A1 contient 5 individus, et l’on observe 5 succès chez A1. Sous l’hypothèse nulle et avec ces marges fixées, la probabilité exacte d’observer ce tableau vaut P = C(6,5) × C(6,0) / C(12,5) = 6 / 792 ≈ 0,0076. La p‑value unilatérale (vers des effets « plus grands ») est donc environ 0,0076. La p‑value bilatérale additionne aussi l’extrémité symétrique (0 succès chez A1), soit environ 0,015.
Comment se calcule la p‑value d’un tableau 2×2 ?
Intuition : sous l’hypothèse d’indépendance et avec marges fixes, le nombre de succès observés dans la première ligne suit une loi hypergéométrique. On calcule d’abord la probabilité du tableau observé, puis on additionne les probabilités de tous les tableaux « au moins aussi extrêmes » au regard de l’hypothèse testée.
- Fixer les marges : totaux de lignes r1, r2, de colonnes c1, c2, et n = r1 + r2 = c1 + c2.
- Noter x l’effectif de la cellule en haut à gauche.
- Probabilité hypergéométrique du tableau observé :
P(X = x) = [C(c1, x) × C(c2, r1 − x)] / C(n, r1). Formule équivalente :P(X = x) = [C(r1, x) × C(r2, c1 − x)] / C(n, c1). - Définir la ou les queues selon l’hypothèse (unilatérale ou bilatérale) et la notion de « plus extrême ».
- Sommer les probabilités hypergéométriques de tous les tableaux admissibles qui sont au moins aussi extrêmes que le tableau observé. Le résultat est la p‑value.
Unilatéral, bilatéral et mid‑p: que choisir ?
– Unilatéral : à utiliser si une direction d’effet est prédéfinie (par exemple, un traitement ne peut qu’augmenter la probabilité de succès). Il est plus puissant dans cette direction, mais inadapté si la direction est choisie après coup.
– Bilatéral exact : additionne les probabilités des tableaux au moins aussi extrêmes dans les deux directions. Il est conservateur à cause de la discrétisation, ce qui garantit un taux de faux positifs au plus égal à α, au prix d’une puissance parfois réduite.
– Mid‑p : approche intermédiaire qui ajoute la moitié de la probabilité du tableau observé à la somme des probabilités plus extrêmes. Elle réduit le caractère conservateur et augmente la puissance, mais le contrôle de l’erreur de type I peut dépasser légèrement α. En pratique, on l’utilise surtout pour des analyses exploratoires ou lorsqu’une légère libéralisation est acceptable.
| Option | Calcul de la p‑value | Atout principal | Limite / précaution |
|---|---|---|---|
| Unilatéral | Somme d’une seule queue (selon la direction posée a priori) | Meilleure puissance dans la direction spécifiée | Doit être justifié avant de regarder les données |
| Bilatéral exact | Somme des deux queues pour des tableaux au moins aussi extrêmes | Contrôle conservateur de l’erreur de type I | Moins puissant lorsque les effectifs sont très faibles |
| Bilatéral mid‑p | Somme des probabilités plus extrêmes + 0,5 × P(observé) de chaque côté | Moins conservateur, plus puissant | L’erreur de type I peut légèrement dépasser α |
Quelles hypothèses et conditions d’utilisation ?

Le test exact de Fisher s’emploie surtout quand l’on étudie l’association entre deux variables catégorielles binaires dans un tableau de contingence 2 x 2, en particulier avec de petits échantillons. Il fournit une p‑valeur exacte, là où le χ² repose sur une approximation sensible aux faibles effectifs.
- Variables catégorielles et binaires organisées en tableau 2 x 2. (Recommandation générale de base.)
- Indépendance des observations et échantillonnage aléatoire à partir d’échantillons indépendants.
- Marges fixes ou approximativement fixes sous l’hypothèse nulle (totaux de lignes et de colonnes considérés comme donnés). Lorsque cette hypothèse est discutable, le test exact de Barnard peut être envisagé sur 2 x 2.
- Petits effectifs ou données clairsemées : Fisher reste valable et exact, même en présence de comptes très faibles.
- Nature binaire et non appariée des données. Si les données sont appariées, privilégier le test de McNemar.
Rappel des hypothèses testées : H0, pas d’association entre les deux variables, contre H1, existence d’une association. Pour des échantillons plus grands, le χ² peut convenir si ses conditions sont remplies.
Effectifs attendus: quand le χ² est-il inadapté ?
Le χ² d’indépendance devient peu fiable lorsque les effectifs attendus sont faibles. Dans ces situations, le test exact de Fisher est préférable.
- Au moins une cellule attendue < 1 : éviter le χ².
- Plus de 20 % des cellules avec un effectif attendu < 5 : le χ² peut donner des p‑valeurs inexactes, privilégier Fisher.
- Tableaux très déséquilibrés ou présence de zéros observés : Fisher est robuste.
- Très petit N (par exemple, quelques dizaines d’observations ou moins en 2 x 2) : Fisher fournit une p‑valeur exacte.
En pratique, sur un tableau 2 x 2, adoptez Fisher dès que vous anticipez des comptes attendus faibles, ou que la taille d’échantillon est réduite. Le χ² peut rester utile pour des tailles plus grandes, avec des effectifs attendus suffisants.
Et pour des tableaux >2×2 ?
Le test exact de Fisher s’étend aux tableaux r x c via l’extension de Freeman‑Halton, mais le coût de calcul croît vite avec la taille du tableau. Les logiciels proposent souvent un calcul exact lorsque c’est possible, ou une approximation par Monte‑Carlo lorsque le calcul exact devient prohibitif.
- Options exactes : extension de Freeman‑Halton (p‑valeur exacte), éventuellement avec tirages Monte‑Carlo pour accélérer.
- Alternatives approximatives : test du χ² d’indépendance ou test du rapport de vraisemblance, adaptés aux grands échantillons.
- Interprétation : sur r x c, il n’existe pas un unique indicateur de taille d’effet comme l’odds ratio du 2 x 2. On examine souvent les résidus standardisés, ou des comparaisons 2 x 2 ciblées avec correction des tests multiples. Un regroupement raisonné de modalités peut être envisagé si cela a un sens substantiel.
Comment appliquer le test pas à pas ?

Objectif : déterminer s’il existe une association entre deux variables binaires dans un petit échantillon à l’aide du test exact de Fisher, depuis la préparation des données jusqu’au reporting clair des résultats.
- Formuler la question de recherche et l’hypothèse alternative attendue.
- Structurer un tableau de contingence 2 × 2 propre et cohérent.
- Choisir le sens du test : unilatéral ou bilatéral, avant d’examiner les résultats.
- Exécuter le test dans R, Python ou Minitab.
- Lire la sortie : valeur de p, sens du test, rapport de cotes et intervalle de confiance.
- Interpréter et rapporter : décision, taille d’effet et visualisation claire.
Préparer les données et choisir le sens du test
Un tableau de contingence affiche, dans ses cellules, les effectifs des combinaisons de deux variables catégorielles. Pour Fisher, organisez un tableau 2 × 2 avec lignes = groupes et colonnes = issue binaire, en veillant à des observations indépendantes.
- Structurer le tableau 2 × 2 :
• Lignes : groupe A, groupe B (exemple : Traitement, Témoin).
• Colonnes : Succès, Échec.
• Remplir les 4 cases avec des effectifs entiers non négatifs. - Définir la question : association quelconque ou effet attendu dans un sens précis.
- Choisir le sens du test à l’avance :
• Bilatéral si l’on cherche toute association possible.
• Unilatéral si l’on s’attend à « plus de succès » dans A que B, ou l’inverse. - Vérifier les conditions : variables binaires, indépendance des observations, marges considérées comme fixées sous H0. Le test de Fisher est recommandé quand des effectifs attendus sont faibles.
Comment l’exécuter en R, Python, Minitab ?
- R : fonction minimale et lecture
- Python (SciPy) : fonction minimale et lecture
- Minitab : chemin et options essentielles
Dans Minitab, aller à Stat > Tableaux > Tableau à entrées multiples et Khi deux, sélectionner votre tableau 2 × 2 puis cliquer sur Autres statistiques et cocher Test exact de Fisher. Pour un rapport complet, activer les mesures d’association afin d’afficher le rapport de cotes et un IC à 95 %. Choisir un test bilatéral ou unilatéral selon votre hypothèse.
Repères de lecture de la sortie :
• p-value : probabilité d’observer des données aussi extrêmes sous H0. Exacte pour Fisher.
• Odds ratio (OR) : mesure d’effet, interprétable pour 2 × 2. Un OR = 1 suggère aucune association.
• IC à 95 % de l’OR : renseigne sur la précision et la significativité pratique.
Comment interpréter et rapporter les résultats ?
- Lire la p-value par rapport à α (souvent 0,05) : si p ≤ α, rejeter H0, sinon ne pas rejeter.
- Examiner l’OR et son IC à 95 % : si l’IC n’inclut pas 1, l’association est compatible avec un effet statistiquement significatif. Préciser le sens de l’association.
- Vérifier la cohérence avec l’hypothèse unilatérale ou bilatérale choisie.
- Rédaction recommandée :
« Test exact de Fisher [bilatéral/unilatéral], p = 0,032, OR = 2,4, IC95 % [1,1 ; 5,6]. Données organisées en tableau 2 × 2, analyse réalisée sous R 4.x avec fisher.test. » - Bonnes pratiques : rapporter aussi le tableau de contingence, la taille d’échantillon totale et toute décision méthodologique utile (sens du test, niveau α).
Comment présenter et visualiser un tableau de contingence ?
Présentez d’abord un tableau formaté avec totaux de lignes et de colonnes, puis ajoutez des pourcentages lisibles. Pour les supports ou publications, privilégiez des visuels simples qui mettent l’accent sur les écarts relatifs.
- Tableau clair : quatre cellules, totaux en marge, pourcentages par ligne ou par colonne, légende précise.
- Barres côte à côte ou empilées : comparer les pourcentages de succès par groupe.
- Mosaïque : surface proportionnelle aux effectifs, utile pour percevoir les écarts.
- Heatmap des pourcentages : lisible sur de petits effectifs si l’échelle est bien choisie.
- Bonnes pratiques : indiquer N total, préciser le sens du pourcentage, éviter les palettes trompeuses, ajouter la valeur de p et l’OR avec IC95 % en annotation.
Quelle mesure d’effet rapporter (odds ratio, IC) ?

Dans un tableau de contingence 2×2, la taille d’effet privilégiée est le rapport de cotes (odds ratio, OR). En notant a, b, c, d les effectifs du tableau (lignes = exposition ou groupe, colonnes = événement oui/non), on calcule OR = (a×d)/(b×c). Un OR égal à 1 traduit l’absence d’association, un OR supérieur à 1 indique des cotes plus élevées de l’événement dans le groupe exposé, un OR inférieur à 1 suggère un effet protecteur. Il est recommandé de rapporter l’OR avec son intervalle de confiance, idéalement à 95 %, obtenu soit par une méthode exacte conditionnelle adaptée au test exact de Fisher, soit par l’approximation log de l’OR: IC95 % = exp[ln(OR) ± 1,96×SE], avec SE = √(1/a + 1/b + 1/c + 1/d). La valeur p seule ne mesure pas l’importance de l’effet, il faut la coupler à l’OR et à son IC, en précisant si le test est unilatéral ou bilatéral. Les logiciels usuels (par exemple R via fisher.test pour les tableaux 2×2) fournissent ces éléments.
Exemple. Supposons un essai avec un petit effectif: amélioration oui/non selon traitement. Tableau 2×2: a = 12 (traitement et amélioration), b = 3 (traitement et pas d’amélioration), c = 5 (contrôle et amélioration), d = 10 (contrôle et pas d’amélioration). L’odds ratio vaut OR = (12×10)/(3×5) = 8,0. Par l’approximation log, SE = √(1/12 + 1/3 + 1/5 + 1/10) ≈ 0,85, donc IC95 % ≈ exp[ln(8,0) ± 1,96×0,85] = [1,5 ; 42,0]. L’effet estimé est important mais l’incertitude reste large, ce qui illustre pourquoi il faut toujours présenter ensemble p‑value, taille d’effet et IC. En présence d’une cellule à zéro, on peut appliquer une petite correction (par exemple ajouter 0,5 à chaque cellule) pour stabiliser l’OR et l’IC.
Fisher, χ², Barnard, McNemar: quand choisir quel test ?

Plusieurs tests existent pour analyser l’association entre deux variables catégorielles. Le test exact de Fisher est privilégié quand les effectifs sont faibles ou les données clairsemées. Le test du χ² d’indépendance convient mieux aux grands échantillons. Le test exact de Barnard offre souvent plus de puissance que Fisher sur des tableaux 2 x 2 indépendants. Le test de McNemar s’applique aux paires appariées (par exemple avant et après sur les mêmes sujets). Pour des échantillons plus grands ou appariés, des outils comme le Chi-carré, le test Z ou le test de McNemar seront généralement plus appropriés.
| Test | Quand l’utiliser | Hypothèses clés | Points forts | Limites et remarques |
|---|---|---|---|---|
| Test exact de Fisher | Tableau 2 x 2, effectifs faibles ou cellules attendues < 5, échantillons indépendants. | Observations indépendantes, variables binaires, marges fixées sous H0. | Valeur p exacte pour tout effectif, robuste quand les données sont rares. En 2 x 2, fournit souvent un odds ratio avec IC. | Peut être conservateur, dépend des totaux marginaux, calcul plus coûteux au-delà de 2 x 2. |
| Test du χ² d’indépendance | Échantillons de grande taille, tableaux 2 x 2 ou plus grands avec effectifs attendus suffisants. | Observations indépendantes, au moins 80 % des cellules avec effectif attendu ≥ 5. | Rapide, standard, s’étend aux tableaux de dimensions supérieures. | Approximation moins fiable si effectifs attendus faibles, sensible à la taille d’échantillon. |
| Test exact de Barnard | Tableau 2 x 2, échantillons indépendants, recherche d’une puissance accrue. | Observations indépendantes, n’impose pas de marges fixes (test exact non conditionnel). | Souvent plus puissant que Fisher sur 2 x 2, p-valeur exacte non conditionnelle. | Moins disponible dans les logiciels, choix technique du paramètre de nuisance et de la statistique, coût de calcul. |
| Test de McNemar | Données binaires appariées 2 x 2 (avant/après, cas-témoin apparié), focalisé sur les paires discordantes. | Paires appariées, dépendance intra-paire prise en compte. | Spécifique aux mesures répétées sur les mêmes sujets, version exacte possible avec peu de discordants. | Inadapté à des échantillons indépendants, ne fournit pas directement une mesure d’effet continue. |
Repères rapides :
- 2 x 2, échantillons indépendants : cellules attendues < 5 ou n petit, choisir Fisher. Avec grands effectifs, préférer χ² (ou test Z des proportions). Besoin de davantage de détection d’effet en 2 x 2, envisager Barnard.
- Données appariées 2 x 2 : utiliser McNemar (exact si peu de paires discordantes).
- Tableaux plus grands que 2 x 2 : utiliser en priorité χ² ; les variantes exactes existent mais sont coûteuses et moins répandues.
Quelques usages pratiques du test de Fisher
Le test exact de Fisher est utile chaque fois que l’on veut trancher, avec de petits effectifs, si deux variables binaires sont associées. Quelques cas typiques :
- Comparer un traitement à un contrôle sur un petit échantillon de patients.
- Évaluer un test diagnostique sur peu de cas, via un tableau positif/négatif par malade/sain.
- Présence ou absence de croissance, de fixation ou d’une espèce selon une condition expérimentale.
- Enrichissement d’une catégorie dans un sous-ensemble par rapport à un fond de référence.
- Association allèle phénotype lorsque les variantes ou les maladies sont rares.
Exemple 2×2 pas à pas : que conclure ?
Contexte concret : 20 patients sont randomisés, 10 reçoivent un traitement et 10 un placebo. On mesure « amélioration : oui/non » après une semaine.
| Amélioration : oui | Amélioration : non | Total | |
|---|---|---|---|
| Traitement | 9 | 1 | 10 |
| Placebo | 3 | 7 | 10 |
| Total | 12 | 8 | 20 |
- Hypothèses : H0 = indépendance traitement/résultat, H1 = association.
- Taille d’effet : rapport de cotes OR = (9×7)/(1×3) = 21, ce qui suggère un effet important en faveur du traitement.
- Valeur p (test exact de Fisher bilatéral) : en utilisant la loi hypergéométrique et les marges fixées (12 « oui », 8 « non », 10 traités), on obtient p ≈ 0,0198.
- Décision : au seuil α = 0,05, on rejette H0. Interprétation : dans cet échantillon, l’amélioration est significativement plus fréquente sous traitement.
Médecine : quelles situations typiques ?
Le test de Fisher va aider à déterminer si un traitement particulier a un effet notable sur un échantillon réduit de patients.
Exemples concrets :
- Essai clinique pilote : amélioration oui/non selon traitement vs contrôle lorsque n est petit ou que certaines cases attendues sont inférieures à 5.
- Événements indésirables rares : présence/absence d’un effet secondaire dans deux bras.
- Diagnostic : tableau 2×2 « test positif/négatif » par « malade/sain » sur un faible nombre de sujets. Remarque : si les mesures sont appariées chez les mêmes patients avant/après, préférer le test de McNemar.
Conseils de reporting :
- Indiquer le type de test (Fisher exact), unilatéral ou bilatéral, et la valeur p exacte.
- Fournir la taille d’effet : OR avec intervalle de confiance à 95 % et les effectifs bruts de chaque cellule.
- Préciser le plan (randomisation, critères d’inclusion) et, en cas de comparaisons multiples, la méthode de contrôle du risque d’erreur.
Biologie : quand privilégier Fisher ?
Il peut aider à vérifier si une espèce végétale est mieux adaptée à un type de sol.
Situations fréquentes où les effectifs sont faibles ou déséquilibrés :
- Expériences présence/absence : croissance d’une souche microbienne avec ou sans nutriment, fixation d’un anticorps sur un support.
- Écologie de terrain : détection d’une espèce rare selon habitat (présente/absente par site et type d’habitat).
- Analyses d’enrichissement simples : sur-représentation de catégories binaires dans un sous-ensemble par rapport au fond.
- Petits N ou cellules attendues < 5 : préférer Fisher au khi deux. Pour des tableaux plus grands, l’extension de type Freeman‑Halton peut s’appliquer, en tenant compte du coût de calcul.
Génétique : quelles analyses d’association ?
Le test pourrait vérifier si la présence d’un gène spécifique est associée à l’apparition de tâches de rousseur.
Usages typiques lorsque les occurrences sont rares :
- Études cas‑témoins : association allèle présent/absent avec maladie oui/non pour un variant peu fréquent.
- Pénétrance ou portage : comparaison du taux d’atteinte entre porteurs et non‑porteurs sur petits effectifs familiaux.
- Screens ciblés : mutation détectée oui/non par groupe expérimental vs contrôle lorsque beaucoup de cases valent 0 ou 1.
- Bonnes pratiques : rapporter OR et IC95 %, préciser si le test est bilatéral, et documenter toute correction pour tests multiples sur de nombreux loci.
En résumé, le test exact de Fisher sera bien utile pour analyser les associations dans des contextes où les données sont rares ou les échantillons restreints.
Calcul exact ou simulation Monte Carlo ?

Le test exact de Fisher fournit une valeur p exacte pour évaluer l’association entre deux variables binaires dans un tableau de contingence, ce qui est idéal lorsque les effectifs attendus sont faibles. Cependant, l’énumération exacte devient coûteuse dès que les tableaux grandissent (au‑delà du 2 × 2 via l’extension de Freeman‑Halton) ou lorsque l’on explore des probabilités très petites. Dans ces cas, de nombreux logiciels proposent une approximation par simulation Monte Carlo ou permutation conditionnelle sur les marges, qui accélère le calcul au prix d’une petite incertitude numérique.
Idée clé : privilégier le calcul exact quand il est rapide et stable, recourir à Monte Carlo quand l’exact devient impraticable. L’incertitude de Monte Carlo diminue avec le nombre de tirages, environ comme 1/√B (où B est le nombre de simulations), mais elle ne disparaît jamais totalement. Pour des probabilités très extrêmes, il faudra augmenter fortement B pour conserver une précision suffisante.
| Situation | Calcul exact de Fisher | Simulation Monte Carlo | Conseil pratique |
|---|---|---|---|
| Tableau 2 × 2, effectifs faibles | Très fiable et rapide | Inutile | Utiliser l’exact qui donne une valeur p sans approximation |
| Tableau 2 × 2, totaux très grands ou p attendue très petite | Peut devenir lent à énumérer | Rapide, précision dépend de B | Commencer par l’exact, basculer sur Monte Carlo si le temps explose, augmenter B jusqu’à stabilisation |
| Tableaux plus grands (2 × k, 3 × 3, etc.) | Coût qui croît vite avec la taille du tableau | S’adapte bien à des grilles plus grandes | Privilégier Monte Carlo pour un compromis temps/précision |
| Grand nombre de tests (criblage, génétique, A/B multiples) | Temps total parfois prohibitif | Économe en temps par test | Utiliser Monte Carlo, fixer la graine pour la reproductibilité et documenter l’erreur MC |
| Résultats à publier avec traçabilité stricte | Valeur p déterministe | Légère variabilité | Soit rapporter l’exact, soit indiquer pMC, B et l’erreur standard de Monte Carlo |
Bons réflexes avec Monte Carlo : fixer une graine aléatoire pour obtenir les mêmes résultats à chaque exécution, choisir un nombre de tirages suffisant pour la précision visée (par exemple augmenter B jusqu’à ce que la valeur p se stabilise à 0,001 près), et rapporter pMC avec l’estimation de l’incertitude lorsque c’est possible. Lorsque les données sont clairsemées ou fortement déséquilibrées dans des tableaux au‑delà du 2 × 2, Monte Carlo offre souvent le meilleur compromis sans sacrifier l’interprétation du test de Fisher.
Quelles limites et pièges à éviter ?

Comme tout test d’hypothèse, le test exact de Fisher exige des conditions strictes. Mal respectées, elles conduisent à des conclusions fragiles. Voici les pièges les plus courants et comment les éviter.
- Indépendance violée : le test suppose des observations sélectionnées aléatoirement à partir d’échantillons indépendants. Les données appariées, en grappes ou répétées brisent cette hypothèse. Que faire : utiliser un test adapté (par exemple McNemar pour données appariées) ou des méthodes tenant compte des grappes.
- Marges non fixes : le test exact de Fisher conditionne sur les totaux des lignes et des colonnes. Si votre plan d’échantillonnage ne fixe pas ces marges, la p‑value peut être trop conservatrice. Que faire : envisager un test exact alternatif pour tableaux 2×2 (par exemple Barnard) ou un test par permutation, et préciser si vous rapportez une p‑value bilatérale classique ou une variante mid‑p.
- Tests multiples et p‑hacking : multiplier les comparaisons, changer l’angle d’analyse après coup, ou « regarder puis arrêter » gonfle le risque de faux positifs. Que faire : pré‑enregistrer l’hypothèse, définir à l’avance un test unilatéral ou bilatéral, appliquer une correction de multiplicité (Bonferroni, Holm, FDR) et rapporter toutes les analyses effectuées.
- Sur‑interprétation des p‑values : une p‑value ne mesure ni la taille de l’effet ni son importance pratique, et elle est sensible à la taille d’échantillon. Que faire : toujours accompagner la p‑value d’un odds ratio et d’un intervalle de confiance à 95 % (pour un tableau 2×2), et rappeler qu’absence de significativité ne signifie pas absence d’effet.
- Choix unilatéral vs bilatéral décidé après coup : sélectionner un test unilatéral parce qu’il « marche mieux » biaise l’inférence. Que faire : justifier le sens attendu avant l’analyse et s’y tenir.
- Échantillons très petits, cellules rares ou nulles : même avec un test exact, la puissance peut être faible et les intervalles de confiance très larges, avec parfois des OR infinis lorsque une cellule vaut zéro. Que faire : planifier une taille d’échantillon suffisante, préférer des IC exacts et documenter toute correction utilisée.
- Au‑delà du 2×2 ou données non binaires : le test de Fisher s’étend à des tableaux plus grands, mais le coût de calcul augmente vite. Que faire : vérifier les effectifs attendus et basculer vers un khi‑deux lorsque c’est pertinent, ou utiliser des variantes exactes adaptées.
- Données d’enquête pondérées : les versions standard du test ignorent souvent les pondérations et la structure d’échantillonnage. Que faire : utiliser des méthodes qui intègrent le plan d’enquête ou analyser des sous‑échantillons probabilistes indépendants.
En pratique, avant d’exécuter le test, vérifiez l’indépendance, la structure du tableau, le statut des marges, définissez à l’avance le type de test et le plan de correction des comparaisons, puis rapportez la p‑value avec l’odds ratio et son intervalle de confiance.
FAQ courte

Le test est-il robuste aux petits échantillons très déséquilibrés ?
Oui, le test exact de Fisher est conçu pour de petits échantillons et reste valide quand des cellules ont des effectifs faibles, y compris inférieurs à 5. Il calcule une p‑value exacte en conditionnant sur les marges d’un tableau 2 x 2.
Limites : lorsque les données sont très déséquilibrées ou qu’une cellule contient un zéro, le test bilatéral peut devenir conservateur et perdre en puissance. En pratique, selon l’objectif, on peut envisager un test unilatéral si l’hypothèse est directionnelle, l’option mid‑p pour atténuer le caractère conservateur, ou des alternatives exactes comme le test de Barnard. Dans tous les cas, rapporter le rapport de cotes et son intervalle de confiance aide à juger la taille d’effet.
Quelle p‑value utiliser pour un test bilatéral ?
En bilatéral, la p‑value de Fisher correspond à la probabilité d’observer des tableaux aussi extrêmes ou plus dans les deux directions d’association, sous l’hypothèse d’indépendance. Cette p‑value exacte est la référence par défaut, mais elle peut être prudente sur échantillons très petits et déséquilibrés.
En pratique : utiliser par défaut la p‑value bilatérale exacte et la documenter clairement. Lorsque la puissance manque et que l’étude est exploratoire, l’option mid‑p peut se justifier, à condition de l’indiquer explicitement dans le rapport. Toujours préciser si le test est bilatéral ou unilatéral, et fournir le rapport de cotes avec un IC à 95 %.
Peut-on ajuster pour des covariables ?
Le test exact de Fisher ne gère pas l’ajustement. Si des facteurs de confusion sont présents, il faut recourir à des modèles qui ajustent explicitement l’association d’intérêt.
- Régression logistique binaire : obtention d’odds ratios ajustés et de leurs intervalles de confiance.
- Régression logistique exacte : adaptée aux très petits échantillons ou aux données clairsemées avec zéros.
- Analyse stratifiée quand il existe peu de variables de confusion clés, avec estimation d’un effet commun entre strates.



