Dans le champ contemporain des sciences comportementales, de la neuropsychologie et de la psychométrie appliquée, la modélisation rigoureuse des protocoles à mesures répétées constitue l’un des piliers méthodologiques les plus critiques. Les chercheurs sont fréquemment confrontés à des devis expérimentaux intra-sujets au sein desquels une même cohorte de participants subit de multiples conditions expérimentales, des évaluations longitudinales ou des variantes thérapeutiques distinctes. Si l’analyse de variance à mesures répétées (ANOVA) a longtemps constitué l’outil d’inférence privilégié, sa validité repose sur des postulats distributionnels particulièrement restrictifs : normalité multidimensionnelle des résidus, homoscédasticité et, par-dessus tout, la stricte sphéricité des matrices de covariance (critère de Mauchly). Or, dans la réalité clinique et expérimentale, les données psychologiques récoltées reposent quasi systématiquement sur des échelles de type Likert, des inventaires cliniques ordinaux, des scores bornés ou des latences de réaction caractérisées par une asymétrie marquée, violant de fait les exigences fondamentales des modèles paramétriques.
Face à ces contraintes distributionnelles, le recours à la statistique non paramétrique devient un impératif méthodologique incontournable. Le test de Friedman s’impose alors comme l’alternative classique pour éprouver l’hypothèse globale d’équivalence entre plusieurs conditions appariées. Néanmoins, l’obtention d’une statistique de test omnibus significative à l’issue de cette procédure soulève immédiatement une impasse décisionnelle : si le test de Friedman permet de rejeter l’hypothèse nulle selon laquelle l’ensemble des traitements produit des effets statistiquement identiques, il est par nature incapable d’isoler précisément quelles paires de conditions diffèrent significativement les unes des autres. Se précipiter sur des comparaisons bivariées non corrigées exposerait l’investigateur à un péril statistique majeur : l’inflation dramatique de l’erreur de première espèce (le risque alpha global), conduisant à documenter des pseudo-découvertes scientifiques.
C’est précisément à cette jonction critique de l’analyse inférentielle qu’intervient le test post-hoc de Nemenyi. Conçu spécifiquement pour faire suite au test de Friedman dans les plans en blocs complets randomisés, le test de Nemenyi propose une procédure rigoureuse d’ajustement simultané pour comparaisons multiples par paires, fondée sur la distribution de l’étendue studentisée. Au sein de l’écosystème open-source moderne, le langage Python, enrichi par des bibliothèques scientifiques de pointe telles que SciPy, Pingouin et scikit-posthocs, offre désormais un environnement de calcul performant et reproductible pour implémenter cette analyse avancée. Cet article propose une exploration exhaustive, théorique et appliquée, du test de Nemenyi en Python, guidant le chercheur depuis la formalisation mathématique des rangs jusqu’à la restitution des résultats selon les normes académiques les plus strictes.
1. Introduction au test post-hoc de Nemenyi dans la recherche psychologique
1.1 Le rôle des tests post-hoc dans les protocoles à mesures répétées
Dans la conduite de protocoles expérimentaux en psychologie cognitive ou clinique, la structuration intra-sujets (mesures répétées) présente des avantages statistiques indéniables, au premier rang desquels figure la neutralisation de la variance interindividuelle résiduelle. En mesurant chaque sujet à travers l’ensemble des niveaux d’une variable indépendante, le chercheur réduit drastiquement le bruit de mesure associé aux différences individuelles stables telles que l’intelligence fluide, les traits de personnalité ou les facteurs génétiques sous-jacents. Cependant, lorsqu’une procédure non paramétrique omnibus telle que l’analyse de variance par rangs de Friedman signale un effet global significatif, la portée heuristique de ce résultat demeure inachevée. Rejeter l’hypothèse nulle globale indique uniquement qu’au moins une condition produit des rangs différents des autres, sans fournir la moindre indication sur la topographie de ces divergences.
La nécessité de dépasser l’analyse globale implique donc de tester des contrastes par paires (pairwise comparisons). Toutefois, la réalisation naïve de multiples tests d’hypothèses sur un même jeu de données engendre le phénomène redouté de l’inflation de l’erreur de première espèce, désigné sous le terme technique de taux d’erreur par famille d’hypothèses (Family-Wise Error Rate, FWER). Si un chercheur évalue quatre conditions thérapeutiques distinctes sans contrôle de l’aléa, le nombre de combinaisons par paires s’élève à six. En appliquant le seuil conventionnel alpha de 0,05 à chaque comparaison isolée, la probabilité cumulée de commettre au moins une erreur de type I s’élève mathématiquement à 1 – (1 – 0,05)^6, soit environ 26,5 %. Plus d’une chance sur quatre existe alors d’affirmer à tort l’existence d’une supériorité thérapeutique purement artefactuelle.
Cette préoccupation méthodologique est particulièrement aiguë dans le champ des sciences psychologiques, où la réplicabilité des résultats fait l’objet d’une vigilance épistémologique accrue. Les variables psychométriques récoltées ne satisfont presque jamais les postulats gaussiens : les échelles composites d’anxiété (comme le score HAM-A), de dépression (BDI-II), ou les évaluations subjectives sur échelles ordinales d’appréciation cognitive présentent structurellement des planchers, des plafonds ou des asymétries prononcées. Dans ces contextes où la métrique sous-jacente est ordinale et les distributions résolument non normales, l’application d’un test post-hoc conçu spécifiquement pour le traitement des rangs appariés s’avère l’unique garantie d’une inférence valide.
1.2 Positionnement épistémologique du test de Nemenyi
Sur le plan de l’histoire de la statistique théorique, la procédure de Nemenyi a été formalisée par Peter Nemenyi dans sa thèse de doctorat soutenue à l’Université de Princeton en 1963, intitulée Distribution-free Multiple Comparisons. Les travaux de Nemenyi s’inscrivent dans l’âge d’or du développement des méthodes statistiques non paramétriques, mené conjointement par des pionniers tels que Frank Wilcoxon, Milton Friedman et John Tukey. L’ambition fondamentale de Nemenyi était de combler un vide méthodologique flagrant : alors que John Tukey avait magistralement établi sa procédure de la différence honnêtement significative (Tukey HSD) pour les comparaisons multiples paramétriques basées sur l’étendue studentisée, aucune solution rigoureusement symétrique n’existait pour les protocoles en blocs complets randomisés non paramétriques.
Le test post-hoc de Nemenyi se positionne ainsi, d’un point de vue structural, comme l’équivalent direct du test HSD de Tukey pour les données traitées selon la logique de classement par rangs de Friedman. Contrairement aux approches par permutations a posteriori ou aux adaptations empiriques basées sur des approximations asymptotiques locales, la procédure de Nemenyi formalise une statistique de distance critique commune applicable à l’ensemble des contrastes possibles. Ce cadre théorique postule que l’ensemble des conditions est évalué sur les mêmes unités expérimentales, garantissant ainsi un traitement uniforme de la dépendance sérielle inhérente aux protocoles à mesures répétées.
Dans la recherche contemporaine en neurosciences cognitives, en psychopharmacologie et en modélisation comportementale, l’approche de Nemenyi jouit d’une légitimité épistémologique prépondérante. Lorsque des chercheurs mesurent les performances attentionnelles d’un groupe sous trois molécules distinctes ou évaluent l’activation neuronale dans des régions d’intérêt au cours de quatre tâches exécutives consécutives, la structure des données impose une robustesse sans faille face aux déviations de distribution. L’utilisation du test de Nemenyi atteste d’une démarche scientifique rigoureuse, soucieuse de ne pas contraindre artificiellement des données psychométriques dans des modèles gaussiens inadaptés tout en maintenant un verrouillage mathématique étanche sur le risque d’erreur de première espèce.
1.3 Objectifs et structure générale de l’article
L’objectif de cet article est de doter les chercheurs, analystes de données et cliniciens d’un guide méthodologique et pratique complet pour conduire le test post-hoc de Nemenyi dans l’écosystème computationnel Python. Bien que la littérature statistique internationale fournisse les principes abstraits du test, son opérationnalisation concrète soulève fréquemment des difficultés techniques : manipulation de formats de données complexes, sélection judicieuse des bibliothèques, gestion des ex-aequo, et restitution narrative conforme aux exigences de l’American Psychological Association (APA).
Afin d’offrir une couverture exhaustive, la structure de ce guide s’articule autour de quatre axes majeurs :
- La formalisation théorique et mathématique : Nous expliciterons la mécanique du classement par rangs intra-sujets, la dérivation analytique de la différence critique (Critical Difference) et la comparaison systématique avec les procédures concurrentes (Wilcoxon-Bonferroni, Conover-Iman).
- Le protocole préalable et l’ingénierie des données : Nous aborderons l’exécution impérative du test de Friedman, l’architecture des environnements virtuels Python et la préparation des matrices de données du format large (wide) au format long (tidy).
- L’implémentation algorithmique pas à pas : Nous détaillerons l’usage de la bibliothèque
scikit-posthocs, la comparaison avec des calculs matriciels purs sous NumPy/Pandas et l’extraction des matrices de p-valeurs. - L’interprétation clinique, la visualisation et la diffusion : Nous présenterons la construction de diagrammes de différence critique (CD diagrams), la cartographie thermique des contrastes, ainsi que l’application intégrale d’un cas clinique en psychothérapie évalué selon les normes de publication académique.
2. Fondements théoriques et mathématiques du test de Nemenyi
2.1 Principe du classement par rangs intra-sujets
Le point de départ algorithmique du test de Nemenyi repose sur le protocole de transformation par rangs initié par le test de Friedman. Considérons une matrice de données expérimentales comportant N sujets (les blocs) évalués sous k conditions expérimentales ou traitements. Contrairement à une procédure non paramétrique pour échantillons indépendants (telle que celle de Kruskal-Wallis, qui classe l’ensemble des observations de façon globale du rang 1 à N × k), le classement de Friedman et Nemenyi s’opère strictement à l’intérieur de chaque sujet individuel, c’est-à-dire ligne par ligne.
Pour chaque participant i (avec i variant de 1 à N), les scores observés à travers les k conditions sont ordonnés de manière croissante. Le score le plus faible au sein de la ligne reçoit le rang 1, le score immédiatement supérieur le rang 2, jusqu’au score le plus élevé qui se voit attribuer le rang k. Ce classement intra-sujet neutralise instantanément l’amplitude absolue des scores du sujet ainsi que son niveau moyen de base : un individu présentant un biais systématique de réponse (par exemple, une tendance à noter systématiquement haut sur une échelle psychométrique) est ramené exactement à la même échelle ordinale normalisée que les autres participants de la cohorte.
Une fois cette opération de substitution matricielle effectuée pour les N blocs, le test calcule pour chaque condition expérimentale j (avec j variant de 1 à k) la somme de ses rangs, notée Rj, puis la moyenne de ses rangs, désignée par R̄j = Rj / N. En vertu des propriétés arithmétiques des permutations, la somme théorique de tous les rangs attribués à l’échelle d’un sujet est invariante et égale à k(k + 1) / 2. La moyenne théorique des rangs sous l’hypothèse nulle d’absence de différence entre les conditions est ainsi rigoureusement identique pour chaque traitement et vaut (k + 1) / 2. Une propriété fondamentale de cette métrique est son invariance absolue face à toute transformation monotone croissante des scores d’origine : que la variable psychométrique soit exprimée en valeurs brutes, en logarithmes ou soumise à une dilatation non linéaire, le résultat inférentiel demeure parfaitement inchangé.
2.2 Formulation mathématique de la différence critique
Le cœur opératoire de la procédure de Nemenyi réside dans la définition d’un seuil métrique unique au-delà duquel la divergence entre deux rangs moyens est jugée statistiquement significative à un risque alpha prédéterminé. Cette valeur seuil est formellement appelée la différence critique (Critical Difference, notée CD). Deux conditions expérimentales A et B présentent une divergence significative si et seulement si la valeur absolue de la différence de leurs rangs moyens respectifs est strictement supérieure à cette valeur seuil :
| R̄A – R̄B | > CD
L’expression analytique exacte de la différence critique est régie par l’équation suivante :
CD = qα, k, ∞ × √ [ (k × (k + 1)) / (6 × N) ]
Dans cette formulation mathématique, chaque paramètre reflète une dimension précise du devis expérimental :
- k désigne le nombre total de conditions expérimentales ou de traitements comparés.
- N représente le nombre d’unités expérimentales indépendantes (sujets ou blocs complets).
- Le terme √ [ (k(k + 1)) / (6N) ] correspond à l’écart-type de la distribution d’échantillonnage de la différence entre deux rangs moyens sous l’hypothèse nulle. Cette variance est directement dérivée des propriétés de la loi uniforme discrète régissant les permutations de rangs.
- Le coefficient qα, k, ∞ est la valeur critique tabulée issue de la distribution de l’étendue studentisée (Studentized Range Distribution), fixée pour un niveau de confiance 1 – α, pour un nombre de groupes égal à k, et pour des degrés de liberté infinis (reflétant le fait que la variance des rangs sous l’hypothèse nulle est mathématiquement constante et connue d’avance, ne nécessitant pas d’estimation d’un paramètre d’échelle résiduel sur les données).
Il est fondamental de noter que l’amplitude de la différence critique se contracte à mesure que la taille d’échantillon N croît, conférant au test une puissance accrue pour discriminer des variations subtiles d’effets dans les cohortes volumineuses. À l’inverse, une augmentation du nombre de conditions k accroît la valeur critique q ainsi que le numérateur sous la racine, traduisant le coût statistique inhérent à la multiplication des combinaisons explorées.
2.3 Comparaison avec d’autres procédures post-hoc non paramétriques
Face à la nécessité de conduire des comparaisons par paires après un test de Friedman, le chercheur dispose d’alternatives méthodologiques dont les fondements diffèrent profondément du test de Nemenyi. La stratégie la plus fréquemment rencontrée dans la pratique consiste à exécuter une série de tests des rangs signés de Wilcoxon pour chaque paire possible de conditions, en appliquant manuellement une procédure d’ajustement de la p-valeur de type Bonferroni ou Holm. Bien qu’intuitive, cette approche présente une rupture épistémologique : les tests de Wilcoxon réassignent de nouveaux rangs basés exclusivement sur les différences observées au sein de chaque paire isolée, ignorant totalement la matrice globale des rangs établie lors de l’analyse omnibus. De surcroît, la correction classique de Bonferroni est réputée pour son hyper-conservatisme, accroissant notablement le risque de commettre des erreurs de deuxième espèce (bêta).
Une seconde alternative réside dans le test post-hoc de Conover-Iman (1979). Ce test repose sur une logique d’approximation par la loi de t de Student appliquée directement aux rangs de Friedman, tout en intégrant la variance d’erreur résiduelle du modèle global. La méthode de Conover-Iman s’avère considérablement plus puissante (plus libérale) que celle de Nemenyi. Cependant, cette puissance statistique supérieure s’accompagne d’une vulnérabilité accrue aux faux positifs dès lors que les hypothèses d’homogénéité des variances de rangs entre conditions sont mises à mal.
Le test de Nemenyi se distingue par son conservatisme intrinsèque et sa cohérence structurelle avec l’esprit du test de Tukey HSD : il évalue l’ensemble des contrastes sous une unique métrique d’étendue conjointe, régulant de manière inflexible le FWER sur l’ensemble de la famille des comparaisons. En recherche clinique et en neuropsychologie confirmatoire, ce conservatisme représente une garantie essentielle pour prévenir la prolifération de revendications thérapeutiques infondées.
3. Le prérequis fondamental : Le test de Friedman pour mesures répétées
3.1 Hypothèses et conditions d’application de Friedman
L’exécution légitime du test post-hoc de Nemenyi est strictement conditionnée par la validation préalable du test omnibus de Friedman. Conçu par l’économiste Milton Friedman en 1937, ce test constitue l’extension non paramétrique de l’ANOVA à un facteur intra-sujets pour plans en blocs aléatoires complets. Avant de mobiliser cette architecture d’analyse, le chercheur doit scrupuleusement auditer le respect de trois conditions méthodologiques indispensables :
- L’appariement des observations : Les données doivent être structurées en blocs mutuellement exclusifs où chaque bloc représente un sujet individuel soumis à l’ensemble des k conditions expérimentales. Le protocole interdit formellement les attributions indépendantes de sujets à des groupes séparés dans cette configuration.
- La nature ordinale de la variable dépendante : L’échelle de mesure doit se situer au minimum à un niveau ordinal, autorisant une opération de tri strict (inférieur, supérieur ou égal). Les données continues (intervalles ou ratios) sont éligibles car elles se prêtent naturellement au reclassement par rangs, tandis que les données purement catégorielles non ordonnées (nominales) sont formellement exclues.
- L’indépendance mutuelle des blocs : Si les observations réalisées à l’intérieur d’un même sujet sont dépendantes par construction, les blocs entre eux doivent être rigoureusement indépendants. La réponse fournie par le sujet A ne doit avoir aucune influence sur celle du sujet B, excluant les situations de contagion sociale, de passation collective non contrôlée ou de dyades interactives.
3.2 Formulation des hypothèses nulle et alternative
Dans le cadre formalisé du test de Friedman, les hypothèses d’inférence statistique se définissent non pas sur les moyennes arithmétiques ou les écarts-types des distributions (inopérants en analyse non paramétrique), mais sur les rangs moyens théoriques ou les médianes sous-jacentes. L’hypothèse nulle (H0) stipule qu’il n’existe aucune divergence systématique entre les conditions expérimentales au sein de la population parente :
H0 : θ1 = θ2 = … = θk (les distributions associées aux k traitements sont interchangeables et possèdent des rangs moyens théoriques identiques équivalents à (k + 1) / 2).
À l’inverse, l’hypothèse alternative (H1) ne postule pas une direction ordonnée globale, mais affirme l’existence d’une rupture d’homogénéité :
H1 : Il existe au moins une condition j dont la distribution des rangs diffère systématiquement des autres conditions.
La statistique de test de Friedman, désignée traditionnellement par Q ou χ2F, suit asymptotiquement une loi du Chi-deux à k – 1 degrés de liberté lorsque la taille d’échantillon N est suffisamment grande. La règle de décision inférentielle est unilatérale : si la probabilité associée à la statistique observée sous H0 (la p-valeur) descend sous le seuil d’erreur alpha conventionnel (typiquement 0,05), l’hypothèse nulle est rejetée. Cette décision statistique formelle constitue le feu vert méthodologique autorisant l’investigateur à déployer l’analyse post-hoc de Nemenyi.
3.3 Risques méthodologiques liés à l’omission du test omnibus
Dans la pratique contemporaine de l’analyse de données, une dérive fréquente consiste à s’affranchir du test omnibus de Friedman pour engager immédiatement des comparaisons par paires ciblées, sous prétexte d’hypothèses théoriques préalables (a priori). Bien que l’approche des contrastes planifiés soit théoriquement défendable dans un cadre paramétrique linéaire sous certaines conditions d’orthogonalité stricte, son extrapolation brute aux classements par rangs non paramétriques comporte des périls statistiques majeurs.
L’omission du test omnibus expose l’analyste au risque systémique de découverte fortuite consécutive au dragage de données (data dredging ou p-hacking involontaire). En explorant l’espace des différences relatives sans vérifier préalablement que la dispersion globale des rangs excède ce que le pur hasard de permutation peut générer, le chercheur fragilise considérablement la validité interne de son protocole. Dans les revues scientifiques à comité de lecture en psychologie expérimentale et en neurosciences, l’évaluation par les pairs sanctionne systématiquement l’absence de test omnibus : la significativité préalable de Friedman est l’ancrage indispensable qui justifie le partitionnement subséquent de la variance des rangs.
4. Configuration de l’environnement Python et bibliothèques requises
4.1 Sélection des packages d’analyse statistique et de manipulation
Le déploiement d’un pipeline d’analyse non paramétrique robuste en Python requiert une combinaison ciblée de bibliothèques spécialisées assurant le traitement matriciel, le calcul inférentiel et la restitution graphique. Pour mener à bien le test de Friedman et sa suite de Nemenyi, quatre outils logiciels constituent l’ossature computationnelle de référence :
- NumPy : La bibliothèque fondamentale pour le calcul scientifique vectorisé, indispensable à la manipulation de matrices multidimensionnelles et au tri rapide des rangs.
- Pandas : Le moteur d’ingénierie des données par excellence en Python, permettant d’ingérer, d’indexer, de filtrer et de transformer les structures de données psychométriques entre formats tabulaires hétérogènes.
- SciPy (sous-module scipy.stats) : La référence internationale pour l’inférence statistique en Python, fournissant l’implémentation standardisée de la statistique du Chi-deux de Friedman via la fonction
friedmanchisquare. - scikit-posthocs : Conçue par Maksim Terpilowski, cette bibliothèque de pointe comble un vide historique de l’écosystème Python en offrant un éventail complet de procédures post-hoc non paramétriques, dont le test de Nemenyi pour blocs complets.
- Pingouin : Un package statistique moderne orienté vers les sciences comportementales et biomédicales, particulièrement précieux pour calculer instantanément les tailles d’effet associées (W de Kendall).
4.2 Installation et gestion des dépendances
Afin de garantir la parfaite reproductibilité des calculs et de prévenir tout conflit de dépendances entre bibliothèques mathématiques, il est vivement recommandé d’isoler l’environnement analytique à l’aide d’un gestionnaire d’environnements virtuels tel que venv ou conda. L’installation des packages s’exécute de manière séquentielle via le gestionnaire de paquets standard pip au sein de votre terminal système :
pip install numpy pandas scipy scikit-posthocs pingouin matplotlib seaborn
Lors de l’initialisation de votre script ou de votre carnet interactif (Jupyter Notebook), il convient de procéder à l’importation propre et explicite des modules en consignant scrupuleusement leurs alias canoniques :
import numpy as np
import pandas as pd
import scipy.stats as stats
import scikit_posthocs as sp
import pingouin as pg
import matplotlib.pyplot as plt
import seaborn as sns
Une bonne pratique en psychométrie computationnelle consiste à vérifier et tracer systématiquement les numéros de version des packages engagés (notamment scipy.__version__ et scikit_posthocs.__version__) afin d’assurer qu’une réexécution ultérieure du code ne subira aucune altération consécutive à une mise à jour d’API.
4.3 Outils de visualisation complémentaires
L’interprétation statistique ne saurait être complète sans une restitution graphique de haute précision facilitant la lecture visuelle des contrastes d’hypothèses. Le package matplotlib sert de moteur de rendu de bas niveau pour moduler les paramètres vectoriels (dpi, typographie, axes numériques, boîtes d’encadrement), condition indispensable pour préparer des figures destinées aux revues indexées.
En complément, seaborn apporte une couche d’abstraction stylistique et statistique hautement sophistiquée, optimisée pour le traçage des matrices de covariance et des diagrammes de dispersion. Enfin, scikit-posthocs intègre des routines graphiques spécialisées, notamment pour générer nativement les diagrammes de différence critique conceptualisés par Janez Demšar, lesquels représentent le standard absolu de restitution visuelle pour le test de Nemenyi.
5. Structuration et préparation des données psychométriques
5.1 Modélisation d’une étude en psychopharmacologie cognitive
Afin d’ancrer notre démarche dans un réalisme expérimental tangible, nous modéliserons une étude fictive mais scientifiquement rigoureuse menée en psychopharmacologie cognitive. L’investigation s’intéresse à l’effet de modulateurs de l’éveil sur la vitesse de traitement de l’information auprès d’une cohorte de patients adultes présentant un trouble du déficit de l’attention avec hyperactivité (TDAH). La cohorte est constituée de N = 12 participants inclus dans un protocole en cross-over (mesures répétées complètes avec contrebalancement de l’ordre de passation et périodes de sevrage thérapeutique intermédiaires de type wash-out).
Chaque patient est soumis successivement à trois conditions pharmacologiques distinctes :
- Condition Placebo : Administration d’une gélule inerte d’aspect identique.
- Condition Molécule A : Administration d’un psychostimulant classique à libération prolongée.
- Condition Molécule B : Administration d’un nouvel agoniste non stimulant ciblant sélectivement les récepteurs noradrénergiques.
La variable dépendante mesurée correspond au temps de réaction médian (exprimé en millisecondes) lors d’une tâche d’attention soutenue sur ordinateur (Continuous Performance Task). Les temps de réaction dans ce type de paradigme sont bien connus pour leur asymétrie positive persistante et leur vulnérabilité aux micro-décrochages attentionnels, rendant l’emploi de statistiques non paramétriques particulièrement justifié.
5.2 Formatage des données : format large (wide) versus long (tidy)
La manipulation des données en Python confronte systématiquement le chercheur à deux structures d’organisation tabulaire fondamentales : le format large (wide format) et le format long (long format ou tidy data). La maîtrise de leur conversion réciproque est un impératif technique car différentes fonctions statistiques exigent l’un ou l’autre de ces paradigmes.
Dans le format large, chaque ligne représente un sujet unique (un bloc indépendant), et chaque condition expérimentale fait l’objet d’une colonne dédiée. Cette structure correspond à la vue matricielle mathématique naturelle du devis en blocs complets :
data_wide = pd.DataFrame({
'Sujet': [f'S{i:02d}' for i in range(1, 13)],
'Placebo': [450, 480, 520, 410, 490, 560, 430, 510, 470, 530, 440, 500],
'Molecule_A': [380, 410, 430, 370, 420, 460, 390, 440, 400, 450, 380, 420],
'Molecule_B': [410, 440, 470, 390, 450, 500, 410, 470, 430, 490, 400, 460]
})
À l’inverse, le format long (standardisé par Hadley Wickham) organise la table de telle sorte que chaque ligne contienne une seule observation unitaire. La table comporte alors trois colonnes : l’identifiant du sujet, le libellé de la condition expérimentale, et la valeur mesurée. La conversion du format large vers le format long s’opère élégamment en Pandas via la méthode melt() :
data_long = data_wide.melt(id_vars=['Sujet'], var_name='Condition', value_name='Temps_Reaction')
Tandis que la fonction scipy.stats.friedmanchisquare attend des vecteurs de colonnes isolés ou des matrices larges, des packages tels que pingouin ou seaborn requièrent impérativement le format long pour paramétrer leurs arguments fonctionnels.
5.3 Traitement des valeurs manquantes et des ex-aequo (ties)
Deux perturbations métrologiques majeures peuvent survenir lors de la constitution de la matrice expérimentale : la survenue de données manquantes (missing data) et l’apparition de scores identiques au sein d’un même sujet (ex-aequo ou ties). Le test classique de Friedman ainsi que la procédure post-hoc de Nemenyi reposent sur le postulat d’un plan expérimental en blocs complets équilibrés. La présence d’une seule valeur manquante au sein d’une ligne rend caduque l’attribution ordinale normalisée pour ce sujet.
Si un sujet présente une omission de mesure sur l’une des conditions, la procédure standard impose soit l’exclusion de l’ensemble du bloc (listwise deletion via data_wide.dropna()), soit le recours à des algorithmes d’imputation multiple non paramétrique spécifiquement adaptés aux rangs. Dans le cadre de protocoles cliniques où chaque patient est précieux, l’exclusion aveugle doit être évitée si le taux d’attrition est important, conduisant le chercheur vers des modèles mixtes pour données ordinales (voir section 12).
Concernant les ex-aequo, lorsque deux scores observés au sein d’un bloc présentent exactement la même valeur métrique, l’algorithme leur attribue le rang moyen des positions qu’ils auraient occupées conjointement. Par exemple, si deux scores se partagent la deuxième et la troisième place, ils reçoivent chacun le rang 2,5. Si la présence d’ex-aequo modifie légèrement la variance théorique sous-jacente des rangs, le test de Nemenyi demeure robuste dès lors que la proportion de rangs partagés reste modérée face au volume global des données.
6. Exécution du test de Friedman préalable en Python
6.1 Implémentation avec scipy.stats.friedmanchisquare
La bibliothèque scipy.stats offre l’accès le plus direct et universel pour vérifier l’hypothèse omnibus de Friedman. L’interface de la fonction friedmanchisquare nécessite de lui passer en arguments positionnels les différents vecteurs ou séries de données correspondant à chaque traitement expérimental. En reprenant notre jeu de données formaté sous forme de DataFrame large, l’exécution s’articule comme suit :
stat, p_value = stats.friedmanchisquare(
data_wide['Placebo'],
data_wide['Molecule_A'],
data_wide['Molecule_B']
)
Pour notre cohorte de 12 patients, la fonction extrait la statistique de Friedman (dénotée conventionnellement Q ou χ2) et calcule la probabilité asymptotique associée basée sur k – 1 = 2 degrés de liberté. Supposons que l’exécution renvoie stat = 24.0 et p_value = 6.14e-06. La p-valeur se situant infiniment en deçà du seuil critique α = 0,05, nous sommes fondés à rejeter l’hypothèse nulle d’équivalence des distributions de rangs entre les trois conditions pharmacologiques.
6.2 Alternative via la bibliothèque Pingouin
Bien que SciPy soit extrêmement efficace, son rapport de sortie est minimaliste, ne retournant que deux scalaires bruts. Pour les chercheurs en psychologie soucieux d’obtenir une restitution méthodologique exhaustive incluant les degrés de liberté et les indicateurs de magnitude de l’effet, la bibliothèque Pingouin s’avère particulièrement adaptée. Sa fonction friedman() exploite directement le format long (tidy) des données :
res_friedman = pg.friedman(
data=data_long,
dv='Temps_Reaction',
within='Condition',
subject='Sujet'
)
Le DataFrame structuré résultant fournit instantanément la statistique de test Q, les degrés de liberté (ddl = 2), la p-valeur exacte, mais également le coefficient de concordance W de Kendall. Le W de Kendall constitue la taille d’effet standard associée au test de Friedman, variant rigoureusement de 0 (absence totale de concordance des rangs entre sujets) à 1 (concordance absolue, chaque sujet classant les traitements exactement dans le même ordre relatif). Obtenir un W supérieur à 0,70 dénote une taille d’effet substantielle, fournissant un contexte clinique indispensable que la seule p-valeur ne saurait refléter.
6.3 Validation formelle de la condition d’enchaînement post-hoc
La règle méthodologique présidant à la transition vers les tests post-hoc doit être formalisée avec une rigueur absolue au sein du pipeline d’analyse computationnelle. Un embranchement logique strict doit être programmé :
if p_value < 0.05:
print("Test de Friedman significatif (p < 0.05). Exécution légitime du test de Nemenyi autorisée.")
# Appel de la procédure post-hoc
else:
print("Test de Friedman non significatif. Rétention de H0. Les contrastes post-hoc sont proscrits.")
Si la statistique de Friedman n’atteint pas le seuil de rejet fixé, l’enquête inférentielle s’arrête impérativement à ce stade. Tenter de sonder a posteriori des comparaisons par paires en dépit d’un test omnibus non significatif constitue une entorse méthodologique majeure, exposant l’analyste à la détection d’artefacts sans aucune validité populationnelle.
7. Implémentation pas à pas du test post-hoc de Nemenyi avec scikit-posthocs
7.1 Choix de la fonction appropriée dans scikit-posthocs
La bibliothèque spécialisée scikit-posthocs concentre une collection étendue d’algorithmes post-hoc non paramétriques. Il est crucial pour le praticien de sélectionner la fonction rigoureusement adaptée au design à mesures répétées en blocs. Deux fonctions portent des dénominations proches mais répondent à des paradigmes expérimentaux radicalement différents :
posthoc_nemenyi(): Cette fonction est dédiée aux comparaisons multiples pour échantillons indépendants, venant se greffer à la suite d’un test omnibus de Kruskal-Wallis. Elle classe les données de façon conjointe sur l’ensemble des groupes.posthoc_nemenyi_friedman(): C’est la fonction spécifique dédiée aux mesures répétées appariées (blocs complets), constituant le complément direct du test de Friedman. Elle applique le classement intra-sujet ligne par ligne et mobilise la distribution de l’étendue studentisée adaptée aux blocs dépendants.
L’utilisation erronée de posthoc_nemenyi à la place de posthoc_nemenyi_friedman biaiserait entièrement le calcul en négligeant l’appariement des sujets, conduisant à une sous-estimation dramatique de la puissance du test en ignorant la suppression de la variance interindividuelle.
7.2 Exécution du test sur les données expérimentales
L’exécution de la fonction posthoc_nemenyi_friedman sur nos données expérimentales est d’une grande fluidité. La fonction peut ingérer une matrice NumPy bidimensionnelle, un DataFrame au format large contenant exclusivement les colonnes des conditions, ou un tableau au format long via la spécification explicite des variables.
En exploitant notre matrice de données large, le code s’exprime ainsi :
matrice_conditions = data_wide[['Placebo', 'Molecule_A', 'Molecule_B']].to_numpy()
resultats_nemenyi = sp.posthoc_nemenyi_friedman(matrice_conditions)
Pour assurer une parfaite lisibilité de la matrice de sortie, nous indexons les lignes et les colonnes avec les dénominations textuelles explicites de nos traitements expérimentaux :
conditions_labels = ['Placebo', 'Molecule_A', 'Molecule_B']
resultats_nemenyi.index = conditions_labels
resultats_nemenyi.columns = conditions_labels
print(resultats_nemenyi)
L’objet retourné est un DataFrame Pandas carré symétrique de dimensions k × k. Chaque cellule (i, j) contient la p-valeur ajustée exacte de Nemenyi associée au contraste par paire entre la condition de la ligne i et la condition de la colonne j. La diagonale principale, confrontant chaque condition à elle-même, est conventionnellement garnie de valeurs unitaires (1.000).
7.3 Calcul manuel alternatif des rangs pour validation
Afin de démystifier le fonctionnement de la boîte noire algorithmique et de consolider la compréhension métrologique du processus, il est hautement instructif de programmer manuellement sous Python le calcul des rangs moyens et l’évaluation de la différence critique. Cette décomposition analytique s’effectue en quelques lignes de calcul vectoriel transparentes :
# 1. Extraction et transformation des scores bruts en rangs intra-sujets
# L'argument axis=1 ordonne les scores le long de chaque ligne (intra-sujet)
rangs_individuels = stats.rankdata(matrice_conditions, axis=1)
# 2. Calcul des rangs moyens par colonne (condition)
rangs_moyens = np.mean(rangs_individuels, axis=0)
for cond, rm in zip(conditions_labels, rangs_moyens):
print(f"Rang moyen - {cond} : {rm:.4f}")
# 3. Paramètres expérimentaux pour le calcul de CD
N_sujets = matrice_conditions.shape[0] # N = 12
k_traitements = matrice_conditions.shape[1] # k = 3
alpha = 0.05
# 4. Extraction de la valeur critique de l'étendue studentisée q
# Pour k = 3 et ddl infinis au seuil 0.05, q_alpha est approximativement de 3.314
# Dans scipy.stats, la distribution studentisée est disponible via stats.studentized_range
q_val = stats.studentized_range.ppf(1 - alpha, k_traitements, np.inf)
# 5. Calcul analytique de la Différence Critique (CD)
ecart_type_rangs = np.sqrt((k_traitements * (k_traitements + 1)) / (6 * N_sujets))
difference_critique = q_val * ecart_type_rangs / np.sqrt(2)
print(f"Différence Critique (CD) calculée : {difference_critique:.4f}")
En confrontant directement les différences arithmétiques observées entre les rangs moyens calculés (par exemple, | R̄Placebo – R̄Molecule_A |) à la valeur de la différence critique CD, l’analyste retrouve exactement le verdict binaire fourni par les p-valeurs de scikit-posthocs. Si l’écart observé franchit le seuil CD, la p-valeur associée dans la matrice est strictement inférieure à 0,05.
8. Interprétation statistique et matrices des p-valeurs
8.1 Lecture et décryptage de la matrice symétrique
L’analyse approfondie de la matrice de sortie issue du test de Nemenyi constitue l’étape centrale de la prise de décision statistique. Considérons les résultats empiriques fictifs obtenus à la suite de notre expérimentation psychopharmacologique sur le temps de réaction :
| Condition | Placebo | Molecule_A | Molecule_B |
|---|---|---|---|
| Placebo | 1.000000 | 0.000120 | 0.041500 |
| Molecule_A | 0.000120 | 1.000000 | 0.089200 |
| Molecule_B | 0.041500 | 0.089200 | 1.000000 |
La lecture de ce tableau s’opère par intersection ligne-colonne. Trois contrastes par paires distincts structurent l’espace décisionnel :
- Placebo versus Molécule A : La p-valeur ajustée s’établit à p = 0,00012. Étant largement inférieure au seuil conventionnel de 0,05, nous concluons à une différence hautement significative entre le placebo et la Molécule A. L’inspection des rangs moyens montre que la Molécule A induit des temps de réaction systématiquement plus rapides.
- Placebo versus Molécule B : La p-valeur ajustée s’élève à p = 0,0415. Ce contraste franchit le seuil critique de significativité (p < 0,05). Nous rejetons l’hypothèse nulle d’équivalence : la Molécule B démontre une supériorité statistiquement établie sur le placebo dans l’accélération du traitement de l’information.
- Molécule A versus Molécule B : La p-valeur ajustée atteint p = 0,0892. Se situant au-dessus du seuil critique de 0,05, ce contraste échoue à atteindre la significativité statistique. Bien qu’une tendance numérique en faveur de la Molécule A puisse être observée sur les rangs moyens bruts, les données ne permettent pas d’affirmer avec un niveau de confiance suffisant une divergence d’efficacité entre ces deux agents actifs.
8.2 Quantification de la taille d’effet post-hoc
Dans l’esprit des recommandations de l’American Psychological Association, la communication d’une p-valeur isolée est foncièrement incomplète si elle ne s’accompagne pas d’un indicateur de magnitude de l’effet. En contexte post-hoc non paramétrique apparié, plusieurs métriques de taille d’effet peuvent être dérivées :
La première réside dans la différence standardisée des rangs moyens relative à l’étendue maximale théorique :
ΔR̄norm = | R̄A – R̄B | / (k – 1)
Cette valeur borne le déplacement d’amplitude ordinale entre 0 et 1, facilitant la comparaison transversale entre des protocoles comportant des nombres divergents de traitements.
Une seconde approche, particulièrement appréciée en clinique comportementale, consiste à extraire pour chaque paire significative le coefficient de corrélation de rang bisériel apparié (ou le r de Rosenthal dérivé de la statistique de Wilcoxon r = Z / √N). Un indice r oscillant autour de 0,10 désigne un effet modeste, 0,30 un effet moyen, et au-delà de 0,50 un effet clinique majeur. Cette distinction est cruciale : une différence peut se révéler statistiquement significative au sens de Nemenyi en raison d’une cohorte N très importante sans pour autant revêtir une quelconque pertinence pratique pour le patient au quotidien.
8.3 Formulation académique des conclusions statistiques
La rédaction de la section Résultats au sein d’un manuscrit scientifique soumis aux normes de l’APA (7e édition) impose une standardisation formelle stricte, mêlant synthèse descriptive (médianes, espaces interquartiles, rangs moyens) et métriques inférentielles exactes.
Voici un modèle rédactionnel académique adapté à notre cas d’étude :
« Les temps de réaction médians lors de la tâche d’attention soutenue ont été soumis à un test d’analyse de variance par rangs de Friedman pour mesures répétées. L’analyse révèle un effet global hautement significatif du traitement pharmacologique, χ²F(2) = 24,00, p < 0,001, avec une excellente concordance des rangs inter-sujets (W de Kendall = 0,75). Des analyses post-hoc par paires ont été conduites en appliquant le test de Nemenyi pour blocs complets avec contrôle rigoureux du taux d’erreur par famille (FWER). La différence critique requise pour atteindre le seuil de significativité à α = 0,05 a été établie à CD = 0,782. Les contrastes ont démontré que les temps de réaction étaient significativement plus courts sous Molécule A (Rang moyen = 1,17 ; Médiane = 405 ms, IQR = 42,5) en comparaison du Placebo (Rang moyen = 2,92 ; Médiane = 485 ms, IQR = 57,5 ; p < 0,001). De même, la condition Molécule B (Rang moyen = 1,92 ; Médiane = 445 ms, IQR = 52,5) a induit une réduction statistiquement significative des temps de réaction comparativement au Placebo (p = 0,042). En revanche, la divergence observée entre la Molécule A et la Molécule B n’a pas atteint le seuil critique de significativité statistique (p = 0,089), suggérant une efficacité attentionnelle comparable entre ces deux molécules au sein de la cohorte évaluée. »
9. Visualisation graphique avancée des résultats de Nemenyi
9.1 Conception de cartes thermiques (heatmaps) de significativité
La matrice numérique brute des p-valeurs peut devenir difficile à appréhender instantanément dès lors que le nombre de traitements expérimentaux s’accroît. La génération d’une carte thermique (heatmap) personnalisée constitue une solution d’une remarquable élégance visuelle. La bibliothèque seaborn, associée aux utilitaires de coloration de matplotlib, permet d’isoler immédiatement les contrastes significatifs au moyen de palettes divergentes ou séquentielles adaptées.
Le code suivant construit une figure prête pour la publication, masquant la partie supérieure redondante de la matrice symétrique et annotant explicitement les seuils décisionnels :
plt.figure(figsize=(8, 6), dpi=300)
# Création d'un masque pour dissimuler le triangle supérieur et la diagonale
mask = np.triu(np.ones_like(resultats_nemenyi, dtype=bool))
# Configuration d'une carte de couleurs conditionnelle centrée sur 0.05
cmap = sns.diverging_palette(10, 130, as_cmap=True)
sns.heatmap(
resultats_nemenyi,
mask=mask,
annot=True,
fmt=".4f",
cmap='vlag_r',
vmin=0.0,
vmax=0.10,
cbar_kws={'label': 'P-valeur ajustée (Nemenyi)'},
square=True,
linewidths=1.5
)
plt.title("Matrice post-hoc de Nemenyi : Comparaisons multiples", fontsize=14, pad=15)
plt.tight_layout()
plt.savefig("heatmap_nemenyi.png", dpi=300)
Ce type de représentation offre aux relecteurs et aux lecteurs une lecture immédiate : les cellules adoptent une chromaticité vive pour les p-valeurs inférieures à 0,05, tandis que les contrastes non significatifs basculent vers des tonalités neutres ou froides.
9.2 Élaboration d’un diagramme de différence critique (CD Diagram)
Dans l’histoire récente de la science des données et de l’évaluation statistique, le chercheur slovène Janez Demšar a publié en 2006 un article fondateur dans le Journal of Machine Learning Research intitulé Statistical Comparisons of Classifiers over Multiple Data Sets. Dans cette contribution majeure, Demšar a popularisé le diagramme de différence critique (Critical Difference Diagram), devenu depuis lors le standard graphique incontournable pour illustrer le test de Nemenyi.
Le diagramme de Demšar projette l’ensemble des conditions expérimentales le long d’un axe horizontal gradué représentant l’amplitude des rangs moyens (de 1 à k). Chaque traitement est positionné sur cet axe à l’emplacement exact de son rang moyen empirique. Un segment horizontal de longueur fixe, correspondant rigoureusement à la distance critique CD, est ensuite tracé au-dessus des groupes. Les conditions dont les rangs moyens ne diffèrent pas de manière statistiquement significative (c’est-à-dire dont l’écartement spatial est inférieur à CD) sont interconnectées visuellement par une barre horizontale épaisse de non-différence.
La bibliothèque scikit-posthocs dispose d’une fonction native permettant de générer ces visualisations vectorielles complexes :
# Dictionnaire associant chaque traitement à son rang moyen calculé
dict_rangs = dict(zip(conditions_labels, rangs_moyens))
plt.figure(figsize=(10, 3), dpi=300)
sp.critical_difference_diagram(
ranks=dict_rangs,
sig_matrix=resultats_nemenyi,
label_fmt_hspace=0.8
)
plt.title(f"Diagramme de Différence Critique (CD = {difference_critique:.3f}, alpha = 0.05)", pad=20)
plt.savefig("cd_diagram_nemenyi.pdf", format='pdf', bbox_inches='tight')
Sur le graphique résultant, l’absence de ligne de connexion entre le Placebo et la Molécule A matérialise instantanément leur divergence significative, tandis qu’une barre horizontale reliant la Molécule A et la Molécule B formalise visuellement leur équivalence statistique.
9.3 Graphiques combinés des distributions et rangs individuels
Si le diagramme de différence critique résume admirablement le résultat inférentiel, il masque toutefois la dispersion empirique sous-jacente des scores individuels. En psychologie expérimentale, il est hautement recommandé de coupler la visualisation des rangs avec une représentation des distributions réelles. Une stratégie graphique de premier ordre consiste à superposer un diagramme en boîte (boxplot) ou en violon (violin plot) avec un tracé de coordonnées parallèles illustrant les trajectoires intra-sujets de chaque participant :
plt.figure(figsize=(9, 6), dpi=300)
# Boîte à moustaches descriptive épurée
sns.boxplot(data=data_long, x='Condition', y='Temps_Reaction', palette='Pastel1', width=0.4, boxprops=dict(alpha=0.6))
# Superposition des trajectoires individuelles (mesures répétées)
for sujet_id in data_wide['Sujet']:
sujet_vals = data_wide[data_wide['Sujet'] == sujet_id][conditions_labels].values.flatten()
plt.plot(conditions_labels, sujet_vals, color='gray', alpha=0.5, linestyle='--', marker='o', markersize=4)
plt.ylabel("Temps de Réaction médian (ms)", fontsize=12)
plt.xlabel("Condition pharmacologique", fontsize=12)
plt.title("Distributions et trajectoires individuelles sous les trois conditions", fontsize=14)
plt.tight_layout()
plt.savefig("trajectoires_distributions.svg", format='svg')
L’exportation au format vectoriel (SVG ou PDF) garantit une netteté absolue des figures lors de leur intégration dans des systèmes de traitement éditoriaux tels que LaTeX ou des suites de publication professionnelles.
10. Gestion des biais statistiques et corrections méthodologiques
10.1 Problématique du conservatisme inhérent au test de Nemenyi
Bien que le test post-hoc de Nemenyi bénéficie d’une solide assise théorique grâce à son contrôle irréprochable du taux d’erreur global de type I (FWER), il souffre d’un défaut méthodologique bien documenté dans la littérature statistique spécialisée : son conservatisme prononcé. Ce phénomène s’intensifie de manière quasi exponentielle à mesure que le nombre de traitements expérimentaux k s’accroît.
Ce conservatisme découle directement de la mobilisation de la distribution de l’étendue studentisée. En postulant implicitement que toutes les paires sont évaluées sous la pire configuration possible d’écartement maximal, la différence critique s’élargit considérablement dès que k dépasse 5 ou 6 conditions. La conséquence directe pour le chercheur est une dégradation sensible de la puissance statistique et un accroissement marqué du risque d’erreur de type II (bêta) : le test échoue fréquemment à rejeter l’hypothèse nulle pour des paires de conditions présentant pourtant des divergences empiriques réelles. Lorsque les cohortes cliniques sont modestes (par exemple N < 15, situation courante en neuropsychologie lourde ou en imagerie fonctionnelle), le test de Nemenyi peut se révéler incapable de détecter la moindre différence par paire, bien que le test de Friedman omnibus ait été hautement significatif.
10.2 Comparaison avec les corrections de Holm, Bonferroni et Benjamini-Hochberg
Face à la contrainte de ce conservatisme, l’investigateur doit arbitrer entre plusieurs philosophies de contrôle statistique. Deux grandes familles de procédures correctrices s’offrent alors pour mener les comparaisons par paires consécutives à Friedman :
- Le contrôle du FWER par la procédure séquentielle de Holm : Plutôt que d’appliquer la différence critique fixe de Nemenyi, l’analyste exécute des tests de Wilcoxon appariés sur chaque paire, puis soumet les p-valeurs à la correction step-down de Holm-Bonferroni. La méthode de Holm est mathématiquement supérieure à la correction classique de Bonferroni en tout point : elle garantit un contrôle tout aussi strict du FWER à 0,05 mais offre une puissance statistique substantiellement supérieure, car le seuil d’ajustement s’assouplit progressivement après chaque rejet successif.
- Le contrôle du taux de fausses découvertes (False Discovery Rate, FDR) : Conceptualisé par Yoav Benjamini et Yosef Hochberg (1995), le FDR ne cherche pas à garantir l’absence totale de tout faux positif parmi l’ensemble des tests, mais régule la proportion attendue d’erreurs parmi les rejets déclarés. En psychologie exploratoire ou en génomique comportementale où des dizaines de conditions sont criblées, substituer le test de Nemenyi par une série de comparaisons corrigées par Benjamini-Hochberg permet d’éviter l’écueil d’une hécatombe de puissance statistique.
Dans scikit-posthocs, ces alternatives sont immédiatement accessibles via la fonction posthoc_wilcoxon() en spécifiant l’argument d’ajustement adéquat : p_adjust='holm' ou p_adjust='fdr_bh'.
10.3 Gestion des déséquilibres et des cas de puissance statistique marginale
La précision de la statistique de différence critique CD dépend intimement du volume d’échantillonnage N. Étant donné que le terme d’erreur est inversement proportionnel à √N, les cohortes restreintes induisent une incertitude métrologique substantielle. Dans les études pilotes en psychothérapie ou en rééducation cognitive post-AVC, où N n’excède parfois pas 8 ou 10 patients, le seuil de Nemenyi devient particulièrement exigeant.
Dans de telles configurations de puissance marginale, les bonnes pratiques méthodologiques recommandent :
- D’éviter formellement toute tentative de compensation par le relâchement arbitraire du seuil alpha (par exemple en tolérant un seuil exploratoire à 0,10 sans justification théorique explicite).
- De déclarer systématiquement les intervalles de confiance associés aux rangs moyens au moyen de techniques de rééchantillonnage non paramétrique (bootstrap intra-sujet).
- De considérer les résultats non comme des verdicts confirmatifs définitifs, mais comme des signaux exploratoires justifiant une réplication pré-enregistrée (preregistration) sur une cohorte dimensionnée a priori à l’aide d’un calcul de puissance prospective.
11. Cas pratique complet : Évaluation de trois interventions psychothérapeutiques
11.1 Contexte expérimental et création du jeu de données
Afin de synthétiser l’ensemble des concepts abordés au sein d’une démonstration opérationnelle intégrale, développons un cas pratique appliqué en psychologie clinique. Une équipe de recherche s’intéresse à l’efficacité différentielle de trois interventions psychothérapeutiques brèves destinées à réduire l’anxiété généralisée chez des étudiants universitaires en situation d’échec académique. L’échantillon comprend N = 15 participants soumis successivement, au terme de trois semestres distincts et selon une randomisation croisée complète, aux trois modules thérapeutiques suivants :
- Thérapie Comportementale et Cognitive (TCC) : Focalisée sur la restructuration cognitive et l’exposition aux pensées automatiques anxiogènes.
- Méditation de Pleine Conscience (Mindfulness) : Axée sur l’acceptation émotionnelle et la régulation attentionnelle non jugeante.
- Thérapie Interpersonnelle (TIP) : Centrée sur la résolution des conflits relationnels et le soutien social perçu.
Au terme de chaque cycle d’intervention de six semaines, la sévérité de l’anxiété est évaluée au moyen de l’échelle d’anxiété de Hamilton (HAM-A), un instrument psychométrique hétéro-évalué fournissant un score global variant de 0 à 56. Des scores élevés signalent une symptomatologie clinique sévère.
11.2 Pipeline complet d’analyse automatisée en Python
Le script Python ci-dessous constitue un pipeline d’analyse de bout en bout, englobant l’initialisation structurée des données cliniques, le contrôle exploratoire, l’exécution automatisée du test omnibus de Friedman, le branchement conditionnel vers le test de Nemenyi, et la mise en forme tabulaire des résultats :
# Script complet d'analyse psychométrique automatisée
import numpy as np
import pandas as pd
import scipy.stats as stats
import scikit_posthocs as sp
# 1. Génération du jeu de données cliniques (N = 15 sujets)
np.random.seed(42)
scores_tcc = [14, 18, 12, 16, 20, 15, 11, 19, 13, 17, 15, 12, 16, 14, 18]
scores_mindfulness = [22, 25, 19, 24, 28, 21, 18, 26, 20, 23, 22, 19, 25, 21, 24]
scores_tip = [26, 29, 23, 27, 31, 25, 22, 30, 24, 28, 27, 23, 29, 26, 28]
df_clinique = pd.DataFrame({
'Patient': [f'P{i:02d}' for i in range(1, 16)],
'TCC': scores_tcc,
'Mindfulness': scores_mindfulness,
'TIP': scores_tip
})
# 2. Statistiques descriptives exploratoires (Médiane et Écart Interquartile)
desc = df_clinique[['TCC', 'Mindfulness', 'TIP']].apply(
lambda x: pd.Series({'Médiane': np.median(x), 'IQR': stats.iqr(x)})
)
print("=== STATISTIQUES DESCRIPTIVES (HAM-A) ===")
print(desc.round(2))
# 3. Exécution du test omnibus de Friedman
chi2_f, p_friedman = stats.friedmanchisquare(
df_clinique['TCC'],
df_clinique['Mindfulness'],
df_clinique['TIP']
)
print(f"n=== TEST OMNIBUS DE FRIEDMAN ===")
print(f"Statistique Chi-deux Q : {chi2_f:.4f}")
print(f"P-valeur asymptotique : {p_friedman:.4e}")
# 4. Branchement décisionnel conditionnel
if p_friedman < 0.05:
print("nCondition validée : Présence d'un effet global significatif.")
print("Exécution du test post-hoc de Nemenyi en cours...")
# Extraction de la matrice numérique large
matrice_data = df_clinique[['TCC', 'Mindfulness', 'TIP']].to_numpy()
matrice_nemenyi = sp.posthoc_nemenyi_friedman(matrice_data)
# Structuration et labellisation du tableau
noms_therapies = ['TCC', 'Mindfulness', 'TIP']
matrice_nemenyi.index = noms_therapies
matrice_nemenyi.columns = noms_therapies
print("n=== MATRICE DES P-VALEURS AJUSTÉES DE NEMENYI ===")
print(matrice_nemenyi.round(5))
else:
print("nTest de Friedman non significatif. Analyse interrompue conformément au protocole.")
11.3 Discussion psychologique et interprétation des contrastes observés
L’exécution de ce pipeline sur les données cliniques génère une statistique de Friedman de Q = 30,00 (valeur maximale théorique pour un devis à 15 sujets et 3 conditions parfaitement cohérentes), associée à une p-valeur de p = 3,06 × 10-7. Le rejet de l’hypothèse nulle globale est donc sans ambiguïté.
L’inspection de la matrice post-hoc de Nemenyi délivre les constats suivants :
- TCC versus Mindfulness : La p-valeur ajustée est de p = 0,0010. La TCC induit des scores d’anxiété résiduelle significativement inférieurs à ceux de la Pleine Conscience, traduisant une supériorité d’action symptomatique rapide à court terme sur ce profil clinique.
- TCC versus TIP : La p-valeur s’établit à p = 0,0010. La TCC démontre une supériorité statistique majeure et hautement significative par rapport à la thérapie interpersonnelle.
- Mindfulness versus TIP : La p-valeur s’élève à p = 0,0010. La Pleine Conscience démontre également une supériorité statistiquement établie sur la thérapie interpersonnelle dans la réduction des scores HAM-A.
Sur le plan psychologique, ces résultats mettent en lumière une gradation hiérarchique nette dans l’efficacité des protocoles thérapeutiques brèves sur l’anxiété généralisée chez l’étudiant. La restructuration cognitive comportementale semble offrir les leviers les plus directement opérants face aux distorsions cognitives liées à l’évaluation universitaire, suivie par les protocoles de régulation émotionnelle par pleine conscience, tandis que les approches interpersonnelles apparaissent moins directement armées pour endiguer la symptomatologie somato-psychique aiguë à court terme. La prudence clinique impose toutefois de confronter ces conclusions aux scores de maintien à long terme lors de suivis longitudinaux ultérieurs à 6 et 12 mois.
12. Bonnes pratiques méthodologiques, limites et alternatives contemporaines
12.1 Synthèse des règles d’or pour la pratique de recherche
L’application rigoureuse du test post-hoc de Nemenyi dans l’écosystème de la recherche comportementale repose sur le respect scrupuleux de plusieurs règles d’or méthodologiques :
- Prise d’acte impérative du test omnibus : Ne jamais engager d’analyses post-hoc par paires si le test préalable de Friedman n’a pas formellement rejeté l’hypothèse nulle globale (p < 0,05).
- Double restitution descriptive : Les rangs moyens gouvernent la décision inférentielle, mais les médianes et écarts interquartiles décrivent la réalité des scores bruts. Toute publication rigoureuse doit présenter conjointement ces deux niveaux d’information.
- Transparence computationnelle et science ouverte : Conformément aux principes de la recherche reproductible, le script Python complet, les numéros de version des bibliothèques mobilisées et les jeux de données anonymisés doivent être mis à disposition dans des dépôts pérennes (tels que l’Open Science Framework ou GitHub).
12.2 Limites intrinsèques du test de Nemenyi
En dépit de son élégance mathématique, le test post-hoc de Nemenyi souffre de limitations structurelles incompressibles dont le chercheur doit être pleinement conscient :
En premier lieu, la procédure de Nemenyi est strictement restreinte aux devis unifactoriels intra-sujets. Elle s’avère structurellement incapable d’évaluer des interactions factorielles complexes (par exemple, une interaction Traitement × Temps × Sexe). Si le design expérimental intègre des facteurs inter-sujets croisés avec des mesures répétées, l’architecture non paramétrique de Friedman-Nemenyi devient inapplicable.
En second lieu, le test de Nemenyi exige une complétude absolue des données. L’absence d’une seule mesure sur un seul point temporel conduit, par défaut, à l’amputation de l’intégralité du sujet, entraînant une déperdition dramatique d’information lors d’études longitudinales caractérisées par des taux d’attrition élevés.
12.3 Alternatives statistiques contemporaines
Face à ces limitations, les sciences psychologiques contemporaines se tournent de plus en plus vers des architectures de modélisation plus flexibles et polyvalentes :
Les Modèles Linéaires Mixtes Généralisés (Generalized Linear Mixed Models, GLMM) ou les modèles à cotes proportionnelles cumulatives (Cumulative Link Mixed Models, CLMM) représentent l’alternative moderne de référence pour les données ordinales à mesures répétées. Ces approches permettent de modéliser simultanément des effets fixes multiples, leurs interactions d’ordre supérieur, et des effets aléatoires propres à chaque sujet, tout en tolérant sans difficulté les données manquantes sous le postulat MAR (Missing At Random). Les bibliothèques Python telles que statsmodels commencent à intégrer ces fonctionnalités, bien que l’environnement R (avec le package ordinal) demeure historiquement plus riche sur ce créneau spécifique.
Enfin, les méthodes bayésiennes non paramétriques et les approches d’estimation par rééchantillonnage de rangs par bootstrap apparié offrent une alternative séduisante. Elles permettent d’affiner l’estimation des distributions a posteriori des différences relatives de rangs sans dépendre de l’asymptotique parfois conservatrice de l’étendue studentisée, ouvrant la voie à une interprétation probabiliste directe particulièrement féconde pour l’aide à la décision en santé mentale.
Références
- Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate: A practical and powerful approach to multiple testing. Journal of the Royal Statistical Society: Series B (Methodological), 57(1), 289–300. https://doi.org/10.1111/j.2517-6161.1995.tb02031.x
- Conover, W. J., & Iman, R. L. (1979). On multiple-comparisons procedures (Technical Report LA-7677-MS). Los Alamos Scientific Laboratory. https://doi.org/10.2172/6057803
- Demšar, J. (2006). Statistical comparisons of classifiers over multiple data sets. Journal of Machine Learning Research, 7, 1–30. https://www.jmlr.org/papers/v7/demsar06a.html
- Friedman, M. (1937). The use of ranks to avoid the assumption of normality implicit in the analysis of variance. Journal of the American Statistical Association, 32(200), 675–701. https://doi.org/10.1080/01621459.1937.10503522
- Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6(2), 65–70. https://www.jstor.org/stable/4615733
- Nemenyi, P. B. (1963). Distribution-free multiple comparisons (Doctoral dissertation, Princeton University). University Microfilms.
- Terpilowski, M. (2019). scikit-posthocs: Pairwise multiple comparison post-hoc tests for Python. Journal of Open Source Software, 4(44), 1169. https://doi.org/10.21105/joss.01169
- Tukey, J. W. (1949). Comparing individual means in the analysis of variance. Biometrics, 5(2), 99–114. https://doi.org/10.2307/3001913
- Vallat, R. (2018). Pingouin: statistics in Python. Journal of Open Source Software, 3(31), 1026. https://doi.org/10.21105/joss.01026
- Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., … SciPy 1.0 Contributors. (2020). SciPy 1.0: Fundamental algorithms for scientific computing in Python. Nature Methods, 17(3), 261–272. https://doi.org/10.1038/s41592-019-0686-2
- Wilcoxon, F. (1945). Individual comparisons by ranking methods. Biometrics Bulletin, 1(6), 80–83. https://doi.org/10.2307/3001968