{"id":4323,"date":"2026-09-11T07:32:31","date_gmt":"2026-09-11T07:32:31","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/tests-normalite-multivariee-python\/"},"modified":"2026-09-11T07:32:31","modified_gmt":"2026-09-11T07:32:31","slug":"tests-normalite-multivariee-python","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=tests-normalite-multivariee-python","title":{"rendered":"Comment effectuer des tests de normalit\u00e9 multivari\u00e9e en Python"},"content":{"rendered":"<p>Dans le paysage contemporain de l&rsquo;analyse de donn\u00e9es quantitatives, la v\u00e9rification des postulats distributionnels repr\u00e9sente une \u00e9tape fondamentale, souvent sous-estim\u00e9e ou trait\u00e9e avec une simplification excessive. Les chercheurs en psychom\u00e9trie, en sciences du comportement, en neurosciences cognitives et en \u00e9conom\u00e9trie s&rsquo;appuient massivement sur des mod\u00e8les statistiques \u00e9labor\u00e9s tels que la mod\u00e9lisation par \u00e9quations structurelles (<a rel=\"noopener noreferrer\" href=\"https:\/\/www.statmodel.com\/\">Structural Equation Modeling<\/a>, SEM), l&rsquo;analyse multivari\u00e9e de la variance (MANOVA) ou encore l&rsquo;analyse factorielle confirmatoire. Ces architectures analytiques partagent un pr\u00e9requis m\u00e9thodologique fondamental : l&rsquo;hypoth\u00e8se selon laquelle les variables observ\u00e9es suivent conjointement une distribution normale multivari\u00e9e. Or, la pratique analytique dominante se contente trop souvent d&rsquo;\u00e9valuer la normalit\u00e9 marginale, variable par variable, en extrapolant erron\u00e9ment cette propri\u00e9t\u00e9 univari\u00e9e \u00e0 l&rsquo;ensemble du syst\u00e8me stochastique multidimensionnel.<\/p>\n<p>Cette lacune m\u00e9thodologique induit des risques d&rsquo;inf\u00e9rence consid\u00e9rables. Une violation de la normalit\u00e9 multivari\u00e9e compromet directement la validit\u00e9 des statistiques de test fond\u00e9es sur le maximum de vraisemblance, fausse les erreurs-types des estimations de param\u00e8tres, conduit \u00e0 une inflation incontr\u00f4l\u00e9e de l&rsquo;erreur de type I et d\u00e9grade substantiellement la puissance statistique des protocoles exp\u00e9rimentaux. Face \u00e0 ces enjeux de r\u00e9plicabilit\u00e9 et de rigueur scientifique, la communaut\u00e9 de recherche s&rsquo;oriente d\u00e9sormais vers des \u00e9cosyst\u00e8mes computationnels ouverts, performants et rigoureusement document\u00e9s. L&rsquo;\u00e9cosyst\u00e8me open-source <a rel=\"noopener noreferrer\" href=\"https:\/\/www.python.org\/\">Python<\/a>, soutenu par des biblioth\u00e8ques scientifiques sp\u00e9cialis\u00e9es telles que Pingouin, SciPy et Statsmodels, offre aujourd&rsquo;hui une infrastructure algorithmique robuste pour impl\u00e9menter des tests d&rsquo;ad\u00e9quation formels, des diagnostics visuels avanc\u00e9s et des proc\u00e9dures d&rsquo;estimation adaptatives.<\/p>\n<p>Ce guide propose une exploration approfondie de la th\u00e9orie et de la mise en \u0153uvre computationnelle des tests de normalit\u00e9 multivari\u00e9e en Python. En abordant successivement les fondements math\u00e9matiques sous-jacents, les pi\u00e8ges du paradoxe des distributions marginales, les propri\u00e9t\u00e9s asymptotiques des tests de r\u00e9f\u00e9rence comme ceux de Henze-Zirkler et de Mardia, la d\u00e9tection des valeurs aberrantes via la m\u00e9trique de Mahalanobis et les voies de rem\u00e9diation en pr\u00e9sence de d\u00e9viations s\u00e9v\u00e8res, cet article constitue un manuel m\u00e9thodologique de r\u00e9f\u00e9rence pour le chercheur quantitatif moderne d\u00e9sireux d&rsquo;assurer la rigueur absolue de ses inf\u00e9rences statistiques.<\/p>\n<h2>1. Introduction aux tests de normalit\u00e9 multivari\u00e9e dans la recherche quantitative<\/h2>\n<h3>1.1 De la normalit\u00e9 univari\u00e9e \u00e0 la normalit\u00e9 multivari\u00e9e en psychom\u00e9trie<\/h3>\n<p>L&rsquo;\u00e9valuation des propri\u00e9t\u00e9s psychom\u00e9triques d&rsquo;un instrument de mesure, qu&rsquo;il s&rsquo;agisse d&rsquo;\u00e9chelles de personnalit\u00e9, de questionnaires cliniques ou de batteries neuropsychologiques, repose historiquement sur l&rsquo;analyse de variables continues ou discr\u00e8tes agr\u00e9g\u00e9es. Dans ce cadre, les chercheurs ont d\u00e9velopp\u00e9 l&rsquo;habitude d&rsquo;appliquer des tests de normalit\u00e9 univari\u00e9s traditionnels, tels que le test de Shapiro-Wilk, le test de Kolmogorov-Smirnov ou l&rsquo;indice d&rsquo;Anderson-Darling, de mani\u00e8re isol\u00e9e sur chaque sous-\u00e9chelle ou chaque item. Cette approche pr\u00e9sente une limite conceptuelle majeure d\u00e8s lors que les donn\u00e9es mesur\u00e9es entretiennent des relations de d\u00e9pendance statistique, mat\u00e9rialis\u00e9es par des corr\u00e9lations ou des covariances non nulles.<\/p>\n<p>Dans les protocoles d&rsquo;\u00e9valuation psychologique et comportementale, les construits latents sont par nature interconnect\u00e9s. Par exemple, l&rsquo;anxi\u00e9t\u00e9, la d\u00e9pression et le stress per\u00e7u mesur\u00e9s par l&rsquo;\u00e9chelle DASS-21 ne fluctuent jamais de mani\u00e8re ind\u00e9pendante au sein d&rsquo;une population clinique. Examiner la distribution univari\u00e9e de l&rsquo;anxi\u00e9t\u00e9 d&rsquo;une part, et celle de la d\u00e9pression d&rsquo;autre part, ne permet en aucun cas d&rsquo;appr\u00e9hender la mani\u00e8re dont ces deux dimensions interagissent dans l&rsquo;espace multidimensionnel. L&rsquo;ad\u00e9quation marginale \u00e0 une courbe en cloche de Gauss n&rsquo;offre aucune garantie quant \u00e0 la morphologie g\u00e9om\u00e9trique du nuage de points conjoint, qui peut pr\u00e9senter des non-lin\u00e9arit\u00e9s, des singularit\u00e9s radiales ou des regroupements asym\u00e9triques invisibles sur les projections unidimensionnelles.<\/p>\n<p>Il est donc m\u00e9thodologiquement indispensable de distinguer formellement la marginalit\u00e9 normale d&rsquo;une distribution conjointe gaussienne. La normalit\u00e9 multivari\u00e9e constitue une propri\u00e9t\u00e9 structurelle globale de l&rsquo;espace vectoriel form\u00e9 par les variables al\u00e9atoires. Elle stipule non seulement que chaque variable prise individuellement suit une loi normale, mais \u00e9galement que chaque combinaison lin\u00e9aire de ces variables ob\u00e9it \u00e0 une distribution normale univari\u00e9e, et que les surfaces de densit\u00e9 conjointe s&rsquo;organisent en hyperellipso\u00efdes concentriques parfaits. Ignorer cette distinction revient \u00e0 ignorer la structure g\u00e9om\u00e9trique intrins\u00e8que des donn\u00e9es psychom\u00e9triques.<\/p>\n<h3>1.2 Implications statistiques pour les mod\u00e8les multivari\u00e9s<\/h3>\n<p>L&rsquo;impact de la non-normalit\u00e9 multivari\u00e9e sur les mod\u00e8les statistiques appliqu\u00e9s est \u00e0 la fois pernicieux et profond. L&rsquo;une des m\u00e9thodes les plus affect\u00e9es est l&rsquo;analyse multivari\u00e9e de la variance (<a rel=\"noopener noreferrer\" href=\"https:\/\/www.sciencedirect.com\/topics\/mathematics\/multivariate-analysis-of-variance\">MANOVA<\/a>), couramment mobilis\u00e9e pour comparer plusieurs groupes sur un vecteur de variables d\u00e9pendantes corr\u00e9l\u00e9es. La MANOVA repose sur les statistiques du Lambda de Wilks, de la Trace de Pillai ou de la Plus Grande Racine de Roy, dont les distributions d&rsquo;\u00e9chantillonnage th\u00e9oriques d\u00e9rivent rigoureusement de l&rsquo;hypoth\u00e8se de normalit\u00e9 conjointe et d&rsquo;homog\u00e9n\u00e9it\u00e9 des matrices de covariance. Lorsque la normalit\u00e9 multivari\u00e9e est viol\u00e9e, la pr\u00e9cision de l&rsquo;approximation de la loi F de Snedecor s&rsquo;effondre, g\u00e9n\u00e9rant des taux d&rsquo;erreur de premi\u00e8re esp\u00e8ce (rejet \u00e0 tort de l&rsquo;hypoth\u00e8se nulle d&rsquo;\u00e9galit\u00e9 des groupes) significativement plus \u00e9lev\u00e9s que le seuil nominal conventionnel de 5 %.<\/p>\n<p>Dans le domaine de la mod\u00e9lisation par \u00e9quations structurelles et de l&rsquo;analyse factorielle confirmatoire, la m\u00e9thode d&rsquo;estimation pr\u00e9dominante est celle du maximum de vraisemblance (<a rel=\"noopener noreferrer\" href=\"https:\/\/online.stat.psu.edu\/stat504\/lesson\/1\/1.5\">Maximum Likelihood<\/a>, ML). La fonction de discordance minimis\u00e9e par le maximum de vraisemblance repose formellement sur l&rsquo;hypoth\u00e8se que les donn\u00e9es observ\u00e9es proviennent d&rsquo;une population normale multivari\u00e9e. Sous cette condition, l&rsquo;estimateur poss\u00e8de des propri\u00e9t\u00e9s d&rsquo;efficacit\u00e9 asymptotique et d&rsquo;asymptotique sans biais, et la statistique du Chi-deux de test global refl\u00e8te fid\u00e8lement l&rsquo;\u00e9cart d&rsquo;ajustement entre la matrice de covariance empirique et la matrice de covariance implicite du mod\u00e8le. En pr\u00e9sence de kurtosis multivari\u00e9 excessif (leptokurtose ou platikurtose), la statistique de Chi-deux est syst\u00e9matiquement sur\u00e9valu\u00e9e, conduisant au rejet injustifi\u00e9 de mod\u00e8les th\u00e9oriquement valides.<\/p>\n<p>En outre, les erreurs-types asymptotiques des param\u00e8tres estim\u00e9s \u2014 tels que les saturations factorielles, les coefficients de r\u00e9gression structurels et les covariances r\u00e9siduelles \u2014 sont syst\u00e9matiquement sous-estim\u00e9es en cas de d\u00e9viation distributionnelle positive. Cette sous-estimation induit une inflation spectaculaire de l&rsquo;erreur de type I pour les tests de significativit\u00e9 des param\u00e8tres individuels : des coefficients structurels d\u00e9pourvus de pertinence clinique ou th\u00e9orique appara\u00eetront comme statistiquement significatifs en raison du r\u00e9tr\u00e9cissement artificiel de leurs intervalles de confiance. Inversement, la puissance statistique pour d\u00e9tecter des effets r\u00e9els de faible \u00e0 moyenne amplitude se trouve notablement att\u00e9nu\u00e9e, obscurcissant les v\u00e9ritables m\u00e9canismes sous-jacents aux ph\u00e9nom\u00e8nes psychologiques observ\u00e9s.<\/p>\n<h3>1.3 Pr\u00e9sentation des approches contemporaines en Python<\/h3>\n<p>Face \u00e0 la complexit\u00e9 de ces enjeux m\u00e9thodologiques, la programmation scientifique a connu une transformation profonde. Historiquement cantonn\u00e9e \u00e0 des progiciels statistiques propri\u00e9taires ou au langage R via des paquets comme <code>MVN<\/code>, l&rsquo;analyse multivari\u00e9e s&rsquo;est int\u00e9gr\u00e9e au c\u0153ur de l&rsquo;\u00e9cosyst\u00e8me Python gr\u00e2ce \u00e0 l&rsquo;\u00e9mergence d&rsquo;environnements computationnels hautement optimis\u00e9s. Python s&rsquo;est impos\u00e9 comme une plateforme d&rsquo;analyse incontournable en recherche translationnelle, combinant la souplesse d&rsquo;un langage g\u00e9n\u00e9raliste avec la puissance de calcul matriciel offert par des fondations de bas niveau \u00e9crites en C et en Fortran.<\/p>\n<p>Au sein de cet \u00e9cosyst\u00e8me, la biblioth\u00e8que <a rel=\"noopener noreferrer\" href=\"https:\/\/pingouin-stats.org\/\">Pingouin<\/a> occupe une place d&rsquo;excellence. Sp\u00e9cialement con\u00e7ue pour r\u00e9pondre aux exigences des statisticiens et des chercheurs en psychologie, neurosciences et biom\u00e9decine, Pingouin propose une syntaxe intuitive adoss\u00e9e aux structures de donn\u00e9es de Pandas, comblant le foss\u00e9 ergonomique entre la simplicit\u00e9 des logiciels de type tableur et la rigueur des lignes de commande traditionnelles. Sa fonction int\u00e9gr\u00e9e <code>multivariate_normality<\/code> impl\u00e9mente avec pr\u00e9cision des algorithmes robustes tels que le test de Henze-Zirkler, permettant une transition fluide depuis la manipulation brute des donn\u00e9es jusqu&rsquo;\u00e0 l&rsquo;inf\u00e9rence formelle.<\/p>\n<p>L&rsquo;objectif de cet article est de doter les chercheurs, ing\u00e9nieurs et analystes de donn\u00e9es d&rsquo;un cadre op\u00e9rationnel complet en Python pour \u00e9valuer la normalit\u00e9 multivari\u00e9e de leurs matrices d&rsquo;observations. En articulant rigueur math\u00e9matique, \u00e9criture computationnelle soign\u00e9e et interpr\u00e9tation pragmatique conforme aux standards de publication scientifique actuels, ce guide vise \u00e0 \u00e9lever le niveau de reproductibilit\u00e9 et de robustesse des analyses quantitatives modernes.<\/p>\n<h2>2. Fondements math\u00e9matiques de la distribution normale multivari\u00e9e<\/h2>\n<h3>2.1 D\u00e9finition formelle et fonction de densit\u00e9 conjointe<\/h3>\n<p>Soit un vecteur al\u00e9atoire d&rsquo;ordre <em>p<\/em>, not\u00e9 <strong>X<\/strong> = [X<sub>1<\/sub>, X<sub>2<\/sub>, &#8230;, X<sub>p<\/sub>]<sup>T<\/sup>, repr\u00e9sentant <em>p<\/em> variables quantitatives continues mesur\u00e9es simultan\u00e9ment sur une unit\u00e9 d&rsquo;\u00e9chantillonnage. Ce vecteur suit une loi normale multivari\u00e9e d&rsquo;ordre <em>p<\/em>, not\u00e9e formellement <strong>X<\/strong> ~ <em>N<sub>p<\/sub><\/em>(<strong>\u03bc<\/strong>, <strong>\u03a3<\/strong>), si et seulement si sa fonction de densit\u00e9 de probabilit\u00e9 conjointe, <em>f<\/em>(<strong>x<\/strong>), est d\u00e9finie pour tout vecteur <strong>x<\/strong> \u2208 \u211d<sup>p<\/sup> par l&rsquo;expression analytique suivante :<\/p>\n<p><em>f<\/em>(<strong>x<\/strong>) = (2\u03c0)<sup>-p\/2<\/sup> |<strong>\u03a3<\/strong>|<sup>-1\/2<\/sup> exp(-1\/2 (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>)<sup>T<\/sup> <strong>\u03a3<\/strong><sup>-1<\/sup> (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>))<\/p>\n<p>Dans cette formulation alg\u00e9brique fondamentale, <strong>\u03bc<\/strong> d\u00e9signe le vecteur des moyennes d&rsquo;ordre <em>p<\/em> \u00d7 1, o\u00f9 chaque \u00e9l\u00e9ment \u03bc<sub>i<\/sub> = E[X<sub>i<\/sub>] correspond \u00e0 l&rsquo;esp\u00e9rance math\u00e9matique de la i-i\u00e8me variable. Le symbole <strong>\u03a3<\/strong> repr\u00e9sente la matrice de variance-covariance de dimensions <em>p<\/em> \u00d7 <em>p<\/em>, sym\u00e9trique et d\u00e9finie positive, dont les \u00e9l\u00e9ments diagonaux \u03c3<sub>ii<\/sub> = Var(X<sub>i<\/sub>) correspondent aux variances univari\u00e9es, et les \u00e9l\u00e9ments extradiagonaux \u03c3<sub>ij<\/sub> = Cov(X<sub>i<\/sub>, X<sub>j<\/sub>) caract\u00e9risent les d\u00e9pendances lin\u00e9aires mutuelles entre les paires de variables. Le d\u00e9terminant de cette matrice est d\u00e9not\u00e9 |<strong>\u03a3<\/strong>|, et <strong>\u03a3<\/strong><sup>-1<\/sup> d\u00e9signe son op\u00e9rateur matriciel inverse.<\/p>\n<p>Sur le plan g\u00e9om\u00e9trique, le terme scalaire quadratique (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>)<sup>T<\/sup> <strong>\u03a3<\/strong><sup>-1<\/sup> (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>) joue un r\u00f4le r\u00e9gulateur fondamental. Il s&rsquo;agit du carr\u00e9 de la distance de Mahalanobis s\u00e9parant le point <strong>x<\/strong> du centre de gravit\u00e9 centro\u00efde <strong>\u03bc<\/strong> de la distribution, pond\u00e9r\u00e9 par la m\u00e9trique de dispersion inverse induite par <strong>\u03a3<\/strong>. Les surfaces pour lesquelles cette distance quadratique demeure constante d\u00e9finissent des contours d&rsquo;\u00e9gale densit\u00e9 de probabilit\u00e9. Dans un espace bidimensionnel (<em>p<\/em> = 2), ces contours forment des ellipses concentriques orient\u00e9es selon les vecteurs propres de la matrice de covariance. Dans un espace euclidien d&rsquo;ordre <em>p<\/em> sup\u00e9rieur, ces contours constituent des hyperellipso\u00efdes de dispersion ferm\u00e9s, t\u00e9moignant de la sym\u00e9trie radiale propre aux distributions gaussiennes multivari\u00e9es.<\/p>\n<h3>2.2 Le paradoxe des distributions marginales<\/h3>\n<p>L&rsquo;une des erreurs th\u00e9oriques les plus persistantes au sein de la communaut\u00e9 de recherche empirique est la croyance selon laquelle l&rsquo;adh\u00e9sion de chaque variable prise individuellement \u00e0 une loi normale univari\u00e9e suffirait \u00e0 garantir l&rsquo;adh\u00e9sion conjointe du syst\u00e8me \u00e0 la loi normale multivari\u00e9e. Cette assertion est math\u00e9matiquement fausse. Si la normalit\u00e9 multivari\u00e9e implique de mani\u00e8re n\u00e9cessaire que toutes ses lois marginales unidimensionnelles et toutes ses sous-combinaisons dimensionnelles soient rigoureusement normales, la r\u00e9ciproque n&rsquo;est en aucun cas v\u00e9rifi\u00e9e.<\/p>\n<p>Pour illustrer ce paradoxe statistique fondamental, consid\u00e9rons un contre-exemple math\u00e9matique classique formalis\u00e9 dans la litt\u00e9rature probabiliste. Soit une variable al\u00e9atoire X suivant strictement une distribution normale standard univari\u00e9e, X ~ <em>N<\/em>(0, 1). D\u00e9finissons une seconde variable al\u00e9atoire Y au moyen de la relation fonctionnelle suivante :<\/p>\n<p>Y = X si |X| &lt; <em>c<\/em>, et Y = -X si |X| \u2265 <em>c<\/em>, o\u00f9 <em>c<\/em> est une constante r\u00e9elle positive strictement sup\u00e9rieure \u00e0 z\u00e9ro.<\/p>\n<p>Par construction g\u00e9om\u00e9trique et application du th\u00e9or\u00e8me de changement de variable, la distribution marginale de Y est absolument identique \u00e0 celle de X : il s&rsquo;agit d&rsquo;une distribution normale standard <em>N<\/em>(0, 1). Par cons\u00e9quent, les deux variables X et Y sont individuellement et marginalement distribu\u00e9es selon une loi de Gauss univari\u00e9e parfaite. Cependant, leur distribution conjointe (X, Y) ne saurait en aucun cas \u00eatre normale multivari\u00e9e. En effet, la probabilit\u00e9 que X + Y prenne la valeur z\u00e9ro sur l&rsquo;intervalle o\u00f9 |X| \u2265 <em>c<\/em> est strictement positive, ce qui concentre de la masse de probabilit\u00e9 sur des sous-espaces lin\u00e9aires non continus. La combinaison lin\u00e9aire simple Z = X + Y ne suit manifestement pas une loi normale univari\u00e9e, ce qui contredit imm\u00e9diatement le th\u00e9or\u00e8me fondamental de Cram\u00e9r-Wold.<\/p>\n<p>D&rsquo;autres constructions exploitent le produit de lois marginales normales multipli\u00e9es par des fonctions copules non lin\u00e9aires ou des m\u00e9langes de signes stochastiques d\u00e9pendants. Pour le praticien des donn\u00e9es, l&rsquo;implication op\u00e9rationnelle de ce paradoxe est cat\u00e9gorique : il est totalement insuffisant de conduire des s\u00e9ries de tests univari\u00e9s r\u00e9p\u00e9t\u00e9s pour valider l&rsquo;admissibilit\u00e9 d&rsquo;un jeu de donn\u00e9es \u00e0 une mod\u00e9lisation multivari\u00e9e. Le test variable par variable est aveugle aux d\u00e9pendances complexes, aux torsions angulaires et aux h\u00e9t\u00e9rosc\u00e9dasticit\u00e9s crois\u00e9es qui brisent la structure gaussienne conjointe.<\/p>\n<h3>2.3 Hypoth\u00e8ses statistiques formelles \u00e0 tester<\/h3>\n<p>Tout test statistique de normalit\u00e9 multivari\u00e9e s&rsquo;articule autour d&rsquo;un syst\u00e8me de d\u00e9cision binaire rigoureusement formalis\u00e9 au regard de la th\u00e9orie des tests d&rsquo;hypoth\u00e8ses de Neyman-Pearson. Soit un \u00e9chantillon al\u00e9atoire de <em>n<\/em> observations ind\u00e9pendantes et identiquement distribu\u00e9es, <strong>X<\/strong><sub>1<\/sub>, <strong>X<\/strong><sub>2<\/sub>, &#8230;, <strong>X<\/strong><sub>n<\/sub>, issues d&rsquo;une population inconnue d&rsquo;ordre <em>p<\/em> r\u00e9gie par une fonction de distribution cumul\u00e9e multivari\u00e9e <em>F<\/em>(<strong>x<\/strong>). Les hypoth\u00e8ses statistiques s&rsquo;\u00e9noncent comme suit :<\/p>\n<ul>\n<li><strong>Hypoth\u00e8se nulle (H<sub>0<\/sub>) :<\/strong> <em>F<\/em>(<strong>x<\/strong>) = <em>N<sub>p<\/sub><\/em>(<strong>\u03bc<\/strong>, <strong>\u03a3<\/strong>) pour un vecteur de moyennes <strong>\u03bc<\/strong> \u2208 \u211d<sup>p<\/sup> et une matrice de variance-covariance <strong>\u03a3<\/strong> sym\u00e9trique d\u00e9finie positive inconnus.<\/li>\n<li><strong>Hypoth\u00e8se alternative (H<sub>a<\/sub>) :<\/strong> <em>F<\/em>(<strong>x<\/strong>) \u2260 <em>N<sub>p<\/sub><\/em>(<strong>\u03bc<\/strong>, <strong>\u03a3<\/strong>), c&rsquo;est-\u00e0-dire que la distribution conjointe sous-jacente s&rsquo;\u00e9carte significativement de la famille des lois normales multidimensionnelles.<\/li>\n<\/ul>\n<p>Le rejet de l&rsquo;hypoth\u00e8se nulle intervient lorsque la statistique de test calcul\u00e9e, not\u00e9e g\u00e9n\u00e9riquement <em>T<sub>n<\/sub><\/em>, d\u00e9passe une valeur critique seuil correspondant au fractile sup\u00e9rieur 1 &#8211; \u03b1 de sa distribution d&rsquo;\u00e9chantillonnage th\u00e9orique ou asymptotique sous H<sub>0<\/sub>, o\u00f9 \u03b1 repr\u00e9sente le niveau de signification statistique conventionnellement fix\u00e9 \u00e0 0.05, 0.01 ou 0.001 selon les exigences du protocole de recherche.<\/p>\n<p>Il importe de souligner que la sensibilit\u00e9 de ces tests est intimement conditionn\u00e9e par la taille d&rsquo;\u00e9chantillon <em>n<\/em> et la dimensionnalit\u00e9 <em>p<\/em>. Dans les petits \u00e9chantillons (par exemple <em>n<\/em> &lt; 30 avec <em>p<\/em> &gt; 5), la puissance statistique des tests formels est structurellement comprim\u00e9e, entra\u00eenant un risque \u00e9lev\u00e9 de commettre une erreur de type II (d\u00e9faut de rejet de l&rsquo;hypoth\u00e8se nulle en pr\u00e9sence d&rsquo;une non-normalit\u00e9 substantielle). \u00c0 l&rsquo;inverse, dans les \u00e9chantillons massifs caract\u00e9ristiques de la recherche contemporaine en \u00e9pid\u00e9miologie comportementale ou en apprentissage automatique (par exemple <em>n<\/em> &gt; 2000), les tests statistiques formels deviennent hypersensibles \u00e0 des d\u00e9viations infinit\u00e9simales et d\u00e9pourvues de toute pertinence pratique ou th\u00e9orique, conduisant quasi syst\u00e9matiquement au rejet formel de H<sub>0<\/sub>. L&rsquo;analyste doit donc imp\u00e9rativement combiner la d\u00e9cision binaire issue de la p-valeur avec des diagnostics visuels qualitatifs et des indices d&rsquo;amplitude de d\u00e9viation.<\/p>\n<h2>3. Configuration de l&rsquo;environnement Python et des d\u00e9pendances<\/h2>\n<h3>3.1 Installation et configuration de l&rsquo;\u00e9cosyst\u00e8me scientifique<\/h3>\n<p>L&rsquo;ex\u00e9cution rigoureuse d&rsquo;analyses statistiques avanc\u00e9es en Python requiert une structuration m\u00e9ticuleuse de l&rsquo;environnement d&rsquo;ex\u00e9cution afin d&rsquo;\u00e9viter les conflits de versions entre biblioth\u00e8ques et d&rsquo;assurer une parfaite reproductibilit\u00e9 computationnelle. Il est formellement recommand\u00e9 d&rsquo;isoler l&rsquo;espace de travail d\u00e9di\u00e9 au projet statistique au sein d&rsquo;un environnement virtuel ind\u00e9pendant, g\u00e9r\u00e9 soit par l&rsquo;outil natif <code>venv<\/code>, soit via le gestionnaire de paquets et d&rsquo;environnements <a rel=\"noopener noreferrer\" href=\"https:\/\/docs.conda.io\/\">Conda<\/a>.<\/p>\n<p>Dans un terminal syst\u00e8me, la cr\u00e9ation et l&rsquo;activation d&rsquo;un tel environnement virtuel s&rsquo;op\u00e8rent par les commandes standardis\u00e9es suivantes :<\/p>\n<p>Pour un environnement fond\u00e9 sur le module natif Python :<br \/>\n<code>python -m venv env_mvn<\/code><br \/>\n<code>source env_mvn\/bin\/activate<\/code> (sur les syst\u00e8mes UNIX\/Linux et macOS) ou <code>env_mvnScriptsactivate<\/code> (sur les syst\u00e8mes Windows).<\/p>\n<p>Une fois l&rsquo;environnement activ\u00e9, l&rsquo;installation de la suite logicielle analytique s&rsquo;effectue via le gestionnaire d&rsquo;installation officiel <code>pip<\/code>. La biblioth\u00e8que pivot pour nos analyses est <strong>Pingouin<\/strong>, compl\u00e9t\u00e9e par les d\u00e9pendances de calcul matriciel, d&rsquo;ing\u00e9nierie de donn\u00e9es et de mod\u00e9lisation statistique indispensables :<br \/>\n<code>pip install --upgrade pip<\/code><br \/>\n<code>pip install pingouin numpy pandas scipy statsmodels matplotlib seaborn<\/code><\/p>\n<p>La pile logicielle ainsi d\u00e9ploy\u00e9e repose sur une division fonctionnelle pr\u00e9cise. <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a> fournit la structure sous-jacente des tableaux multidimensionnels et les routines de factorisation matricielle rapide (telles que la d\u00e9composition de Cholesky ou l&rsquo;inversion par d\u00e9composition en valeurs singuli\u00e8res). <a rel=\"noopener noreferrer\" href=\"https:\/\/pandas.pydata.org\/\">Pandas<\/a> assure le stockage tabulaire, le typage des colonnes et la manipulation souple des m\u00e9tadonn\u00e9es exp\u00e9rimentales. <a rel=\"noopener noreferrer\" href=\"https:\/\/scipy.org\/\">SciPy<\/a> met \u00e0 disposition les fonctions de distribution de probabilit\u00e9 cumul\u00e9e continue et les algorithmes de g\u00e9om\u00e9trie spatiale computationnelle. Enfin, <a rel=\"noopener noreferrer\" href=\"https:\/\/statsmodels.org\/\">Statsmodels<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a> et <a rel=\"noopener noreferrer\" href=\"https:\/\/seaborn.pydata.org\/\">Seaborn<\/a> compl\u00e8tent l&rsquo;infrastructure pour la mod\u00e9lisation avanc\u00e9e et la visualisation graphique de haute pr\u00e9cision.<\/p>\n<h3>3.2 Importation et v\u00e9rification des modules d&rsquo;analyse<\/h3>\n<p>D\u00e8s lors que les d\u00e9pendances logicielles sont install\u00e9es au sein de l&rsquo;environnement virtuel, il convient de structurer le script ou le carnet d&rsquo;analyse (Jupyter Notebook) en proc\u00e9dant aux importations s\u00e9lectives des fonctions critiques. Pour minimiser l&rsquo;occupation m\u00e9moire et clarifier le flux de travail analytique, l&rsquo;importation de la fonction d\u00e9di\u00e9e de Pingouin s&rsquo;effectue de fa\u00e7on cibl\u00e9e :<\/p>\n<p><code>import numpy as np<\/code><br \/>\n<code>import pandas as pd<\/code><br \/>\n<code>import scipy.stats as stats<\/code><br \/>\n<code>import pingouin as pg<\/code><br \/>\n<code>from pingouin import multivariate_normality<\/code><br \/>\n<code>import matplotlib.pyplot as plt<\/code><br \/>\n<code>import seaborn as sns<\/code><\/p>\n<p>Il est recommand\u00e9 de configurer explicitement les tol\u00e9rances d&rsquo;affichage num\u00e9rique dans Pandas pour garantir une inspection visuelle ais\u00e9e des matrices de covariance et des r\u00e9sultats statistiques tabul\u00e9s sans troncature pr\u00e9judiciable des d\u00e9cimales critiques :<\/p>\n<p><code>pd.set_option('display.max_columns', 15)<\/code><br \/>\n<code>pd.set_option('display.precision', 5)<\/code><br \/>\n<code>pd.set_option('display.width', 1000)<\/code><\/p>\n<p>Un principe fondamental d&rsquo;int\u00e9grit\u00e9 computationnelle consiste \u00e0 enregistrer et consigner les versions exactes des paquets mobilis\u00e9s lors de l&rsquo;ex\u00e9cution du pipeline statistique. Cela s&rsquo;obtient ais\u00e9ment en ex\u00e9cutant la commande d&rsquo;inspection <code>pg.__version__<\/code>, <code>np.__version__<\/code> et <code>pd.__version__<\/code>, garantissant ainsi que de futures \u00e9volutions syntaxiques ou algorithmiques des biblioth\u00e8ques externes ne viendront pas alt\u00e9rer la reproductibilit\u00e9 des r\u00e9sultats obtenus sur les donn\u00e9es empiriques.<\/p>\n<h3>3.3 Structuration et nettoyage des matrices de donn\u00e9es psychologiques<\/h3>\n<p>L&rsquo;application d&rsquo;un test de normalit\u00e9 multivari\u00e9e requiert un jeu de donn\u00e9es rigoureusement pr\u00e9par\u00e9 sous la forme d&rsquo;une matrice bidimensionnelle d&rsquo;ordre <em>n<\/em> \u00d7 <em>p<\/em>, o\u00f9 les <em>n<\/em> lignes repr\u00e9sentent exclusivement les observations individuelles (sujets ou participants exp\u00e9rimentaux) et les <em>p<\/em> colonnes repr\u00e9sentent les variables quantitatives continues mesur\u00e9es. Les vecteurs de donn\u00e9es ne doivent contenir aucun attribut cat\u00e9goriel non encod\u00e9, aucune cha\u00eene de caract\u00e8res ni aucune variable constante dont la variance serait rigoureusement nulle.<\/p>\n<p>Le traitement des valeurs manquantes (<a rel=\"noopener noreferrer\" href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC3668100\/\">Missing Values<\/a>) constitue une \u00e9tape pr\u00e9alable incontournable. Les fonctions de test d&rsquo;ad\u00e9quation matricielle ne tol\u00e8rent g\u00e9n\u00e9ralement pas la pr\u00e9sence de valeurs nulles (<code>NaN<\/code>). Deux strat\u00e9gies canoniques s&rsquo;offrent \u00e0 l&rsquo;analyste : la suppression par observation compl\u00e8te (<em>listwise deletion<\/em> via <code>df.dropna()<\/code>) ou l&rsquo;imputation statistique multiple. En psychom\u00e9trie, si la perte d&rsquo;\u00e9chantillonnage n&rsquo;exc\u00e8de pas 3 \u00e0 5 % des observations et si le m\u00e9canisme de disparition r\u00e9pond au postulat de donn\u00e9es manquantes compl\u00e8tement au hasard (MCAR), la suppression listwise peut \u00eatre admise. Dans le cas contraire, une imputation robuste par cha\u00eenes d&rsquo;\u00e9quations multivari\u00e9es (MICE) ou par l&rsquo;algorithme des k plus proches voisins (KNN) doit \u00eatre d\u00e9ploy\u00e9e sous peine de biaiser substantiellement la structure de covariance estim\u00e9e.<\/p>\n<p>Une v\u00e9rification alg\u00e9brique imp\u00e9rative concerne la r\u00e9gularit\u00e9 math\u00e9matique de la matrice de covariance empirique <strong>S<\/strong>. Cette matrice doit imp\u00e9rativement \u00eatre non singuli\u00e8re, ce qui signifie que son d\u00e9terminant doit \u00eatre strictement positif (|<strong>S<\/strong>| &gt; 0) et que sa condition num\u00e9rique doit \u00eatre stable. Si une colin\u00e9arit\u00e9 math\u00e9matique parfaite existe entre deux \u00e9chelles (par exemple, si une colonne est la somme arithm\u00e9tique exacte de sous-composantes incluses dans la m\u00eame matrice), la matrice <strong>S<\/strong> devient singuli\u00e8re, son inversion alg\u00e9brique devient impossible, et tout calcul de distance de Mahalanobis ou d&rsquo;algorithme de Henze-Zirkler \u00e9chouera instantan\u00e9ment avec une lev\u00e9e d&rsquo;erreur d&rsquo;alg\u00e8bre lin\u00e9aire (<code>numpy.linalg.LinAlgError: Singular matrix<\/code>). L&rsquo;inspection pr\u00e9alable du rang matriciel via <code>np.linalg.matrix_rank(df.cov())<\/code> constitue donc une sauvegarde m\u00e9thodologique indispensable.<\/p>\n<h2>4. Le test de Henze-Zirkler : Th\u00e9orie et propri\u00e9t\u00e9s statistiques<\/h2>\n<h3>4.1 Fondements de la statistique de test de Henze-Zirkler<\/h3>\n<p>Parmi l&rsquo;arsenal des tests d&rsquo;ajustement multivari\u00e9s d\u00e9velopp\u00e9s par la statistique math\u00e9matique, le test propos\u00e9 par Norbert Henze et Bernhard Zirkler en 1990 s&rsquo;est progressivement impos\u00e9 comme la r\u00e9f\u00e9rence analytique absolue. Le test de Henze-Zirkler repose sur le concept de fonction caract\u00e9ristique empirique pond\u00e9r\u00e9e, mesurant l&rsquo;\u00e9cart fonctionnel global entre la fonction caract\u00e9ristique empirique des observations observ\u00e9es et la fonction caract\u00e9ristique th\u00e9orique d&rsquo;une distribution normale multidimensionnelle standardis\u00e9e.<\/p>\n<p>Soit <strong>Y<\/strong><sub>j<\/sub> = <strong>S<\/strong><sup>-1\/2<\/sup>(<strong>X<\/strong><sub>j<\/sub> &#8211; <strong>X\u0304<\/strong>) les vecteurs de donn\u00e9es observ\u00e9es apr\u00e8s standardisation affine par la racine carr\u00e9e sym\u00e9trique inverse de la matrice de covariance empirique <strong>S<\/strong>. La statistique de Henze-Zirkler, not\u00e9e <em>HZ<\/em> ou <em>T<sub>\u03b2,n,p<\/sub><\/em>, est formul\u00e9e math\u00e9matiquement par l&rsquo;int\u00e9grale pond\u00e9r\u00e9e suivante :<\/p>\n<p><em>HZ<\/em> = \u222b<sub>\u211d<sup>p<\/sup><\/sub> |\u03c8<sub>n<\/sub>(<strong>t<\/strong>) &#8211; exp(-||<strong>t<\/strong>||<sup>2<\/sup>\/2)|<sup>2<\/sup> \u03c6<sub>\u03b2<\/sub>(<strong>t<\/strong>) d<strong>t<\/strong><\/p>\n<p>o\u00f9 \u03c8<sub>n<\/sub>(<strong>t<\/strong>) = <em>n<\/em><sup>-1<\/sup> \u2211<sub>j=1<\/sub><sup>n<\/sup> exp(i <strong>t<\/strong><sup>T<\/sup> <strong>Y<\/strong><sub>j<\/sub>) d\u00e9signe la fonction caract\u00e9ristique empirique, et \u03c6<sub>\u03b2<\/sub>(<strong>t<\/strong>) = (2\u03c0 \u03b2<sup>2<\/sup>)<sup>-p\/2<\/sup> exp(-||<strong>t<\/strong>||<sup>2<\/sup> \/ (2\u03b2<sup>2<\/sup>)) repr\u00e9sente une fonction de pond\u00e9ration gaussienne d&rsquo;esp\u00e9rance nulle et de param\u00e8tre de lissage d\u00e9pendant du param\u00e8tre positif \u03b2.<\/p>\n<p>Apr\u00e8s r\u00e9solution analytique de cette int\u00e9grale dans l&rsquo;espace euclidien multidimensionnel \u211d<sup>p<\/sup>, la statistique de Henze-Zirkler s&rsquo;exprime sous une forme calculatoire close directement impl\u00e9mentable par l&rsquo;algorithme :<\/p>\n<p><em>HZ<\/em> = <em>n<\/em> [ 1 &#8211; 2 (1 + \u03b2<sup>2<\/sup>)<sup>-p\/2<\/sup> <em>n<\/em><sup>-1<\/sup> \u2211<sub>j=1<\/sub><sup>n<\/sup> exp(-\u03b2<sup>2<\/sup> D<sub>j<\/sub><sup>2<\/sup> \/ (2(1 + \u03b2<sup>2<\/sup>))) + (1 + 2\u03b2<sup>2<\/sup>)<sup>-p\/2<\/sup> <em>n<\/em><sup>-2<\/sup> \u2211<sub>j=1<\/sub><sup>n<\/sup> \u2211<sub>k=1<\/sub><sup>n<\/sup> exp(-\u03b2<sup>2<\/sup> D<sub>jk<\/sub><sup>2<\/sup> \/ (2(1 + 2\u03b2<sup>2<\/sup>))) ]<\/p>\n<p>Dans cette formulation, D<sub>j<\/sub><sup>2<\/sup> = ||<strong>Y<\/strong><sub>j<\/sub>||<sup>2<\/sup> repr\u00e9sente le carr\u00e9 de la distance de Mahalanobis s\u00e9parant la j-i\u00e8me observation de la moyenne \u00e9chantillonnale, et D<sub>jk<\/sub><sup>2<\/sup> = ||<strong>Y<\/strong><sub>j<\/sub> &#8211; <strong>Y<\/strong><sub>k<\/sub>||<sup>2<\/sup> repr\u00e9sente le carr\u00e9 de la distance de Mahalanobis inter-points s\u00e9parant la j-i\u00e8me et la k-i\u00e8me observation. Le param\u00e8tre de lissage \u03b2 n&rsquo;est pas fix\u00e9 arbitrairement par l&rsquo;analyste ; il est d\u00e9termin\u00e9 de mani\u00e8re optimale en fonction de la taille d&rsquo;\u00e9chantillon <em>n<\/em> et du nombre de dimensions <em>p<\/em> par la relation fonctionnelle calibr\u00e9e par Henze et Zirkler :<\/p>\n<p>\u03b2 = \u03b2(<em>n<\/em>, <em>p<\/em>) = 2<sup>-1\/2<\/sup> [ (2<em>p<\/em> + 1) <em>n<\/em> \/ 4 ]<sup>1\/(p + 4)<\/sup><\/p>\n<p>Une propri\u00e9t\u00e9 th\u00e9orique cruciale de la statistique de Henze-Zirkler r\u00e9side dans son invariance stricte par rapport \u00e0 toute transformation affine non singuli\u00e8re de l&rsquo;espace des donn\u00e9es. Cela signifie que la translation, l&rsquo;amplification d&rsquo;\u00e9chelle ou la rotation lin\u00e9aire orthogonale des variables mesur\u00e9es ne modifie en aucun cas la valeur num\u00e9rique de la statistique de test, assurant une neutralit\u00e9 m\u00e9trique absolue de l&rsquo;\u00e9valuation.<\/p>\n<h3>4.2 Comportement asymptotique et puissance empirique<\/h3>\n<p>La puissance d&rsquo;un test statistique mesure sa capacit\u00e9 \u00e0 rejeter l&rsquo;hypoth\u00e8se nulle lorsque celle-ci est effectivement viol\u00e9e dans la population parente. De multiples \u00e9tudes de simulation computationnelle intensives men\u00e9es par la m\u00e9thode de Monte-Carlo ont compar\u00e9 les performances relatives de dizaines de tests de normalit\u00e9 multivari\u00e9e en faisant varier les configurations dimensionnelles (valeurs de <em>p<\/em> de 2 \u00e0 50) et les structures d&rsquo;\u00e9chantillonnage (tailles de <em>n<\/em> de 20 \u00e0 10 000). Les r\u00e9sultats convergent de mani\u00e8re remarquable : le test de Henze-Zirkler surclasse tr\u00e8s r\u00e9guli\u00e8rement ses concurrents face \u00e0 une vaste taxonomie de d\u00e9viations distributionnelles alternatives.<\/p>\n<p>En particulier, le test de Henze-Zirkler fait preuve d&rsquo;une puissance empirique exceptionnelle face \u00e0 des distributions sous-jacentes leptokurtiques (\u00e0 queues lourdes, telles que les lois de Student multivari\u00e9es ou les distributions de Pearson), des distributions asym\u00e9triques multidimensionnelles (distributions de Dirichlet ou gamma multivari\u00e9es), ainsi que face \u00e0 des m\u00e9langes stochastiques de populations normales pr\u00e9sentant des variances h\u00e9t\u00e9rog\u00e8nes. Contrairement aux tests classiques fond\u00e9s uniquement sur les coefficients de moments empiriques d&rsquo;ordre 3 et 4, qui peuvent \u00eatre pris en d\u00e9faut par certaines distributions sym\u00e9triques mais s\u00e9v\u00e8rement non gaussiennes, la statistique de Henze-Zirkler sonde la totalit\u00e9 de l&rsquo;espace spectral fonctionnel gr\u00e2ce \u00e0 sa fonction caract\u00e9ristique empirique int\u00e9gr\u00e9e.<\/p>\n<p>Sous l&rsquo;hypoth\u00e8se nulle de normalit\u00e9 multivari\u00e9e, Henze et Zirkler ont d\u00e9montr\u00e9 que la distribution d&rsquo;\u00e9chantillonnage de la statistique transform\u00e9e converge asymptotiquement vers une loi log-normale. Plus sp\u00e9cifiquement, si l&rsquo;on calcule l&rsquo;esp\u00e9rance math\u00e9matique th\u00e9orique E[<em>HZ<\/em>] et la variance asymptotique Var(<em>HZ<\/em>) sous l&rsquo;hypoth\u00e8se H<sub>0<\/sub> (lesquelles sont des fonctions complexes d\u00e9pendant exclusivement des param\u00e8tres <em>n<\/em> et <em>p<\/em>), la quantit\u00e9 log-transform\u00e9e standardis\u00e9e s&rsquo;ajuste avec une tr\u00e8s haute fid\u00e9lit\u00e9 math\u00e9matique \u00e0 une loi normale univari\u00e9e standard pour des \u00e9chantillons de taille mod\u00e9r\u00e9e \u00e0 grande, autorisant le calcul d&rsquo;une p-valeur hautement fiable sans exiger d&rsquo;it\u00e9rations bootstrap chronophages.<\/p>\n<h3>4.3 Crit\u00e8res d&rsquo;interpr\u00e9tation pour les chercheurs<\/h3>\n<p>Pour le chercheur quantitatif, la mise en \u0153uvre pratique du test de Henze-Zirkler d\u00e9bouche sur l&rsquo;obtention de trois entit\u00e9s fondamentales : la valeur observ\u00e9e de la statistique num\u00e9rique <em>HZ<\/em>, la p-valeur associ\u00e9e d\u00e9riv\u00e9e de la loi log-normale asymptotique, et un r\u00e9sultat bool\u00e9en d&rsquo;adh\u00e9sion d\u00e9cisionnelle au regard du seuil de significativit\u00e9 retenu.<\/p>\n<p>La statistique <em>HZ<\/em> est une mesure d&rsquo;\u00e9cart global strictement positive. Une valeur num\u00e9rique proche de z\u00e9ro refl\u00e8te une proximit\u00e9 structurelle \u00e9troite entre la distribution empirique et la loi th\u00e9orique de Gauss multidimensionnelle. Au fur et \u00e0 mesure que la structure des donn\u00e9es observ\u00e9es d\u00e9vie du postulat d&rsquo;hyperellipso\u00efdalit\u00e9 ou subit l&rsquo;influence d&rsquo;asym\u00e9tries et d&rsquo;aplatissements anormaux, la statistique <em>HZ<\/em> cro\u00eet de fa\u00e7on monotone. N\u00e9anmoins, il n&rsquo;existe pas de seuil universel absolu pour qualifier la magnitude brute de <em>HZ<\/em> ind\u00e9pendamment de la dimensionnalit\u00e9 <em>p<\/em> et de l&rsquo;effectif <em>n<\/em>, raison pour laquelle l&rsquo;\u00e9valuation probabiliste de sa significativit\u00e9 par la p-valeur demeure le levier d\u00e9cisionnel primaire.<\/p>\n<p>La r\u00e8gle d\u00e9cisionnelle formelle s&rsquo;\u00e9tablit selon la convention suivante :<\/p>\n<ul>\n<li>Si la <strong>p-valeur &gt; \u03b1<\/strong> (avec \u03b1 fix\u00e9 conventionnellement \u00e0 0.05) : l&rsquo;\u00e9cart observ\u00e9 entre la distribution empirique et la loi normale multivari\u00e9e n&rsquo;est pas statistiquement significatif au niveau de confiance de 95 %. En termes m\u00e9thodologiques stricts, l&rsquo;analyste \u00e9choue \u00e0 rejeter l&rsquo;hypoth\u00e8se nulle (H<sub>0<\/sub>). La normalit\u00e9 multivari\u00e9e est pr\u00e9serv\u00e9e, autorisant la poursuite sereine des mod\u00e9lisations param\u00e9triques strictes (MANOVA, maximum de vraisemblance non corrig\u00e9 en SEM).<\/li>\n<li>Si la <strong>p-valeur \u2264 \u03b1<\/strong> : l&rsquo;hypoth\u00e8se nulle est rejet\u00e9e avec un risque de premi\u00e8re esp\u00e8ce contr\u00f4l\u00e9. L&rsquo;analyste conclut formellement \u00e0 une violation statistiquement significative de la normalit\u00e9 multivari\u00e9e conjointe, imposant le d\u00e9ploiement imm\u00e9diat de diagnostics correctifs ou d&rsquo;estimateurs statistiques robustes.<\/li>\n<\/ul>\n<p>Il importe de rappeler aux praticiens que le r\u00e9sultat binaire retourn\u00e9 par les biblioth\u00e8ques logicielles (par exemple <code>normal: True<\/code> ou <code>normal: False<\/code>) d\u00e9coule m\u00e9caniquement du positionnement de la p-valeur vis-\u00e0-vis du seuil nominal configur\u00e9. Ce r\u00e9sultat ne doit jamais \u00eatre affranchi d&rsquo;un esprit critique : avec un tr\u00e8s large \u00e9chantillon, un statut <code>normal: False<\/code> peut co\u00efncider avec une d\u00e9viation infinit\u00e9simale n&rsquo;ayant aucune incidence substantielle sur les estimations des mod\u00e8les de r\u00e9gression multivari\u00e9e.<\/p>\n<h2>5. Impl\u00e9mentation pas \u00e0 pas du test de Henze-Zirkler avec Pingouin<\/h2>\n<h3>5.1 Chargement et pr\u00e9paration du jeu de donn\u00e9es multidimensionnel<\/h3>\n<p>Pour illustrer de mani\u00e8re tangible l&rsquo;impl\u00e9mentation algorithmique en Python, consid\u00e9rons la simulation rigoureuse d&rsquo;un sc\u00e9nario de recherche empirique en psychom\u00e9trie clinique. Supposons une \u00e9tude portant sur l&rsquo;\u00e9valuation simultan\u00e9e de trois dimensions psychologiques intriqu\u00e9es : l&rsquo;Anxi\u00e9t\u00e9 Somatique (X<sub>1<\/sub>), l&rsquo;\u00c9vitement Cognitif (X<sub>2<\/sub>) et l&rsquo;Hypervigilance (X<sub>3<\/sub>). Nous construisons un jeu de donn\u00e9es synth\u00e9tique r\u00e9aliste comportant <em>n<\/em> = 250 observations distribu\u00e9es selon un vecteur de moyennes empiriques et une structure de covariance inter-\u00e9chelles ma\u00eetris\u00e9e.<\/p>\n<p>Le script computationnel d&rsquo;initialisation et de pr\u00e9paration des donn\u00e9es s&rsquo;articule comme suit :<\/p>\n<p><code># Fixation de la graine al\u00e9atoire pour une reproductibilit\u00e9 computationnelle absolue<\/code><br \/>\n<code>np.random.seed(42)<\/code><br \/>\n<code>n_participants = 250<\/code><br \/>\n<code>mean_vector = [24.5, 18.2, 31.0]<\/code><br \/>\n<code>covariance_matrix = [<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;[16.0, 8.4, 5.2],<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;[8.4, 12.0, 6.1],<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;[5.2, 6.1, 20.0]<\/code><br \/>\n<code>]<\/code><br \/>\n<code>data_simulated = np.random.multivariate_normal(mean_vector, covariance_matrix, size=n_participants)<\/code><br \/>\n<code>df_psychometry = pd.DataFrame(data_simulated, columns=['Anxiete_Somatique', 'Evitement_Cognitif', 'Hypervigilance'])<\/code><\/p>\n<p>Avant d&rsquo;engager toute v\u00e9rification distributionnelle, le chercheur doit isoler formellement les colonnes quantitatives continues et s&rsquo;assurer de l&rsquo;absence totale de multicolin\u00e9arit\u00e9 parfaite au moyen d&rsquo;un calcul de corr\u00e9lation de Pearson bivari\u00e9e (<code>df_psychometry.corr()<\/code>) et du d\u00e9terminant de la matrice de covariance. La structure de donn\u00e9es ainsi instanci\u00e9e sous la forme d&rsquo;un objet <code>pandas.DataFrame<\/code> est imm\u00e9diatement r\u00e9ceptive aux algorithmes d&rsquo;inf\u00e9rence multivari\u00e9e de haut niveau.<\/p>\n<h3>5.2 Ex\u00e9cution de la fonction multivariate_normality<\/h3>\n<p>La biblioth\u00e8que Pingouin offre l&rsquo;environnement d&rsquo;ex\u00e9cution le plus \u00e9pur\u00e9 et le plus rigoureux pour appliquer le test de Henze-Zirkler \u00e0 un tableau de donn\u00e9es. La fonction d\u00e9di\u00e9e est <code>multivariate_normality<\/code>, accessible directement depuis le module racine de la biblioth\u00e8que. L&rsquo;utilisateur lui transmet la matrice des observations continues, ainsi que les hyperparam\u00e8tres du test.<\/p>\n<p>L&rsquo;invocation canonique de la fonction s&rsquo;ex\u00e9cute par l&rsquo;instruction computationnelle suivante :<\/p>\n<p><code>result_hz = multivariate_normality(X=df_psychometry, alpha=0.05)<\/code><\/p>\n<p>Examinons en d\u00e9tail les arguments accept\u00e9s par cette routine analytique :<\/p>\n<ul>\n<li><code>X<\/code> : L&rsquo;argument d&rsquo;entr\u00e9e principal. Il accepte un objet de type <code>pandas.DataFrame<\/code> ou un tableau multidimensionnel <code>numpy.ndarray<\/code> de dimensions (<em>n<\/em>, <em>p<\/em>). Si des colonnes non num\u00e9riques ou des index temporels sont pr\u00e9sents, ils doivent imp\u00e9rativement \u00eatre exclus en amont par filtrage matriciel s\u00e9lectif (par exemple via <code>df.select_dtypes(include=[np.number])<\/code>).<\/li>\n<li><code>alpha<\/code> : Le niveau de signification statistique nominal retenu pour l&rsquo;inf\u00e9rence. Configur\u00e9 par d\u00e9faut \u00e0 0.05, cet argument peut \u00eatre ajust\u00e9 \u00e0 0.01 ou 0.001 en fonction des contraintes de s\u00e9v\u00e9rit\u00e9 du protocole exp\u00e9rimental ou de corrections requises pour comparaisons multiples.<\/li>\n<\/ul>\n<p>En coulisses, la fonction Pingouin orchestre de mani\u00e8re vectoris\u00e9e l&rsquo;ensemble de la cha\u00eene algorithmique : calcul du centro\u00efde empirique, d\u00e9composition matricielle de la covariance par d\u00e9composition spectrale ou factorisation de Cholesky, calcul matriciel des <em>n<\/em> carr\u00e9s de distance de Mahalanobis D<sub>j<\/sub><sup>2<\/sup>, calcul de la matrice sym\u00e9trique <em>n<\/em> \u00d7 <em>n<\/em> des distances inter-points D<sub>jk<\/sub><sup>2<\/sup>, int\u00e9gration pond\u00e9r\u00e9e selon le param\u00e8tre de lissage optimal \u03b2(<em>n<\/em>, <em>p<\/em>), et enfin d\u00e9rivation de la p-valeur via l&rsquo;approximation log-normale asymptotique.<\/p>\n<h3>5.3 Analyse d\u00e9taill\u00e9e de la sortie de calcul<\/h3>\n<p>L&rsquo;ex\u00e9cution de la fonction <code>multivariate_normality<\/code> renvoie un objet composite standardis\u00e9 de type <code>namedtuple<\/code>, comprenant trois attributs fondamentaux facilement extractibles pour l&rsquo;automatisation des rapports de recherche :<\/p>\n<p><code>print(result_hz)<\/code><br \/>\n<code># Sortie console type :<\/code><br \/>\n<code># HZResults(hz=0.48214, pval=0.68321, normal=True)<\/code><\/p>\n<p>Analysons la signification substantielle de chacun des \u00e9l\u00e9ments de ce tuple de r\u00e9sultat :<\/p>\n<ul>\n<li><code>hz<\/code> : La valeur calcul\u00e9e de la statistique de test de Henze-Zirkler (ici, approximativement 0.482). Cette valeur scalaire mod\u00e9r\u00e9e t\u00e9moigne d&rsquo;une tr\u00e8s faible d\u00e9viation quadratique entre la fonction caract\u00e9ristique empirique pond\u00e9r\u00e9e des donn\u00e9es observ\u00e9es et la fonction caract\u00e9ristique de la loi normale multivari\u00e9e th\u00e9orique.<\/li>\n<li><code>pval<\/code> : La probabilit\u00e9 critique asymptotique associ\u00e9e \u00e0 la statistique de test (ici, <em>p<\/em> \u2248 0.683). Cette valeur exc\u00e8de tr\u00e8s largement le seuil d\u00e9cisionnel alpha de 0.05. Par cons\u00e9quent, il n&rsquo;existe aucune \u00e9vidence statistique permettant d&rsquo;affirmer que les observations d\u00e9vient d&rsquo;une distribution conjointe normale gaussienne.<\/li>\n<li><code>normal<\/code> : Un indicateur logique bool\u00e9en (<code>True<\/code> ou <code>False<\/code>) dict\u00e9 par la comparaison stricte <code>pval &gt; alpha<\/code>. Dans notre cas empirique simul\u00e9, la valeur <code>True<\/code> atteste formellement que l&rsquo;hypoth\u00e8se nulle de normalit\u00e9 multivari\u00e9e ne peut \u00eatre rejet\u00e9e au niveau de confiance de 95 %.<\/li>\n<\/ul>\n<p>Pour int\u00e9grer ces mesures dans une cha\u00eene de traitement automatis\u00e9e ou un tableau r\u00e9capitulatif publiable, l&rsquo;extraction programmatique des attributs s&rsquo;op\u00e8re directement par d\u00e9r\u00e9f\u00e9rencement d&rsquo;attributs scalaires :<\/p>\n<p><code>valeur_hz = result_hz.hz<\/code><br \/>\n<code>valeur_p = result_hz.pval<\/code><br \/>\n<code>statut_normalite = result_hz.normal<\/code><br \/>\n<code>print(f\"Statistique Henze-Zirkler : {valeur_hz:.4f}, p-valeur : {valeur_p:.4f}, D\u00e9cision : {'Conforme' if statut_normalite else 'Non conforme'}\")<\/code><\/p>\n<p>Dans l&rsquo;\u00e9ventualit\u00e9 o\u00f9 la matrice de donn\u00e9es soumise pr\u00e9senterait des probl\u00e8mes de conditionnement math\u00e9matique extr\u00eame (par exemple, d\u00e9terminant matriciel proche du z\u00e9ro machine r\u00e9sultant d&rsquo;une multicolin\u00e9arit\u00e9 s\u00e9v\u00e8re), la fonction l\u00e8vera un avertissement ou une exception d&rsquo;alg\u00e8bre lin\u00e9aire. L&rsquo;analyste averti veillera \u00e0 int\u00e9grer cette routine dans un bloc d&rsquo;interception d&rsquo;exceptions (<code>try...except LinAlgError<\/code>) afin de tracer et documenter rigoureusement toute anomalie structurelle dans les jeux de donn\u00e9es complexes.<\/p>\n<h2>6. Approches compl\u00e9mentaires : Les tests d&rsquo;asym\u00e9trie et d&rsquo;aplatissement de Mardia<\/h2>\n<h3>6.1 Composantes math\u00e9matiques du test de Mardia<\/h3>\n<p>Bien que le test de Henze-Zirkler constitue le standard m\u00e9thodologique contemporain en mati\u00e8re d&rsquo;ajustement global, les tests de moments multivari\u00e9s d\u00e9velopp\u00e9s par K. V. Mardia en 1970 demeurent incontournables, particuli\u00e8rement dans les protocoles de mod\u00e9lisation par \u00e9quations structurelles o\u00f9 ils sont historiquement ancr\u00e9s. La force analytique de l&rsquo;approche de Mardia r\u00e9side dans sa d\u00e9composition orthogonale de la non-normalit\u00e9 en deux composantes ind\u00e9pendantes et directement interpr\u00e9tables : l&rsquo;asym\u00e9trie multivari\u00e9e (<em>multivariate skewness<\/em>, <em>b<\/em><sub>1,p<\/sub>) et l&rsquo;aplatissement multivari\u00e9 (<em>multivariate kurtosis<\/em>, <em>b<\/em><sub>2,p<\/sub>).<\/p>\n<p>Soit <strong>X\u0304<\/strong> le vecteur des moyennes empiriques et <strong>S<\/strong> la matrice de covariance \u00e9chantillonnale sans biais d&rsquo;ordre <em>p<\/em>. Soit <em>g<\/em><sub>ij<\/sub> la distance de Mahalanobis crois\u00e9e s\u00e9parant l&rsquo;observation <em>i<\/em> de l&rsquo;observation <em>j<\/em>, d\u00e9finie par :<\/p>\n<p><em>g<\/em><sub>ij<\/sub> = (<strong>X<\/strong><sub>i<\/sub> &#8211; <strong>X\u0304<\/strong>)<sup>T<\/sup> <strong>S<\/strong><sup>-1<\/sup> (<strong>X<\/strong><sub>j<\/sub> &#8211; <strong>X\u0304<\/strong>)<\/p>\n<p>Sur la base de ces m\u00e9triques de couplage spatial, le coefficient de skewness multivari\u00e9 de Mardia, <em>b<\/em><sub>1,p<\/sub>, est formul\u00e9 par la moyenne des cubes des produits crois\u00e9s de Mahalanobis :<\/p>\n<p><em>b<\/em><sub>1,p<\/sub> = <em>n<\/em><sup>-2<\/sup> \u2211<sub>i=1<\/sub><sup>n<\/sup> \u2211<sub>j=1<\/sub><sup>n<\/sup> (<em>g<\/em><sub>ij<\/sub>)<sup>3<\/sup><\/p>\n<p>Parall\u00e8lement, le coefficient de kurtosis multivari\u00e9 de Mardia, <em>b<\/em><sub>2,p<\/sub>, est formul\u00e9 par la moyenne des carr\u00e9s des distances de Mahalanobis individuelles par rapport au centro\u00efde :<\/p>\n<p><em>b<\/em><sub>2,p<\/sub> = <em>n<\/em><sup>-1<\/sup> \u2211<sub>i=1<\/sub><sup>n<\/sup> (<em>g<\/em><sub>ii<\/sub>)<sup>2<\/sup><\/p>\n<p>Les propri\u00e9t\u00e9s asymptotiques de ces deux estimateurs sous l&rsquo;hypoth\u00e8se nulle de normalit\u00e9 multivari\u00e9e sont fondamentalement distinctes. Mardia a d\u00e9montr\u00e9 que la quantit\u00e9 normalis\u00e9e transform\u00e9e pour le skewness, <em>A<\/em> = (<em>n<\/em> \/ 6) <em>b<\/em><sub>1,p<\/sub>, converge asymptotiquement vers une loi du Chi-deux dont les degr\u00e9s de libert\u00e9 sont \u00e9gaux \u00e0 <em>df<\/em> = <em>p<\/em>(<em>p<\/em> + 1)(<em>p<\/em> + 2) \/ 6. Dans les \u00e9chantillons de taille restreinte (<em>n<\/em> &lt; 50), une correction pour petits \u00e9chantillons est appliqu\u00e9e : <em>A<\/em><sup>*<\/sup> = [<em>n<\/em>(<em>n<\/em> + 1)(<em>n<\/em> + 3) \/ (6 ((<em>n<\/em> + 1)(<em>p<\/em> + 1) &#8211; 6))] <em>b<\/em><sub>1,p<\/sub>.<\/p>\n<p>Pour le kurtosis multivari\u00e9, sous l&rsquo;hypoth\u00e8se de normalit\u00e9, l&rsquo;esp\u00e9rance th\u00e9orique asymptotique vaut E[<em>b<\/em><sub>2,p<\/sub>] = <em>p<\/em>(<em>p<\/em> + 2), et sa variance asymptotique s&rsquo;\u00e9tablit \u00e0 Var(<em>b<\/em><sub>2,p<\/sub>) = 8<em>p<\/em>(<em>p<\/em> + 2) \/ <em>n<\/em>. Par cons\u00e9quent, la statistique standardis\u00e9e de kurtosis de Mardia, formul\u00e9e par <em>z<\/em> = (<em>b<\/em><sub>2,p<\/sub> &#8211; <em>p<\/em>(<em>p<\/em> + 2)) \/ \u221a[8<em>p<\/em>(<em>p<\/em> + 2) \/ <em>n<\/em>], converge directement vers une distribution normale univari\u00e9e standard <em>N<\/em>(0, 1). Ces deux m\u00e9triques fournissent ainsi des tests d&rsquo;hypoth\u00e8se formels disjoints.<\/p>\n<h3>6.2 Calcul de la statistique de Mardia en Python<\/h3>\n<p>Si la biblioth\u00e8que Pingouin ne propose pas d&rsquo;appel direct \u00e0 Mardia au sein de sa fonction standard <code>multivariate_normality<\/code> (privil\u00e9giant Henze-Zirkler pour son omnibusit\u00e9 sup\u00e9rieure), il est extr\u00eamement ais\u00e9 d&rsquo;\u00e9crire une impl\u00e9mentation vectoris\u00e9e performante en Python via les primitives d&rsquo;alg\u00e8bre lin\u00e9aire de NumPy, ou de recourir \u00e0 des biblioth\u00e8ques psychom\u00e9triques telles que <code>semopy<\/code> ou <code>statsmodels<\/code>.<\/p>\n<p>Voici l&rsquo;impl\u00e9mentation algorithmique vectoris\u00e9e des coefficients et des tests formels de Mardia en Python pur sous NumPy :<\/p>\n<p><code>def mardia_test(df):<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;X = df.to_numpy(dtype=np.float64)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;n, p = X.shape<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;X_center = X - np.mean(X, axis=0)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;S = np.cov(X_center, rowvar=False, bias=False)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;S_inv = np.linalg.inv(S)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Calcul vectoris\u00e9 de la matrice des covariances crois\u00e9es de Mahalanobis<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;G = np.dot(np.dot(X_center, S_inv), X_center.T)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Skewness multivari\u00e9<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;b1p = np.sum(G ** 3) \/ (n ** 2)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;df_skew = p * (p + 1) * (p + 2) \/ 6<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;chi2_skew = (n * b1p) \/ 6.0<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;p_skew = 1.0 - stats.chi2.cdf(chi2_skew, df_skew)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Kurtosis multivari\u00e9<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;b2p = np.trace(G ** 2) \/ n # \u00e9quivalent \u00e0 np.sum(np.diag(G) ** 2) \/ n<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;expected_kurtosis = p * (p + 2)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;se_kurtosis = np.sqrt((8 * p * (p + 2)) \/ n)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;z_kurt = (b2p - expected_kurtosis) \/ se_kurtosis<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;p_kurt = 2.0 * (1.0 - stats.norm.cdf(np.abs(z_kurt)))<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;return {<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Skewness': b1p, 'Chi2_Skew': chi2_skew, 'p_Skew': p_skew,<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Kurtosis': b2p, 'z_Kurt': z_kurt, 'p_Kurt': p_kurt<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;}<\/code><\/p>\n<p>L&rsquo;ex\u00e9cution de cette routine permet \u00e0 l&rsquo;analyste de diss\u00e9quer la nature exacte de l&rsquo;anomalie distributionnelle. Par exemple, si la p-valeur du skewness est statistiquement significative (<code>p_Skew &lt; 0.05<\/code>) alors que celle du kurtosis ne l&rsquo;est pas, le chercheur sait formellement que la violation de normalit\u00e9 provient d&rsquo;une dissym\u00e9trie directionnelle dans l&rsquo;orientation de ses nuages de points (pr\u00e9sence d&rsquo;effets de plancher ou de plafond sur les \u00e9chelles d&rsquo;\u00e9valuation). Inversement, un rejet concentr\u00e9 sur le kurtosis (<code>z_Kurt &gt; 1.96<\/code>, <em>p<\/em> &lt; 0.05) r\u00e9v\u00e8le la pr\u00e9sence de queues lourdes ou d&rsquo;un pic central hyper-concentr\u00e9 (leptokurtose), configuration \u00e9minemment perturbatrice pour les estimateurs de maximum de vraisemblance.<\/p>\n<h3>6.3 Comparaison critique entre Henze-Zirkler et Mardia<\/h3>\n<p>L&rsquo;articulation entre le test de Henze-Zirkler et les m\u00e9triques de Mardia repr\u00e9sente une approche m\u00e9thodologique reconnue dans la recherche quantitative d&rsquo;\u00e9lite. N\u00e9anmoins, il importe de comprendre leurs divergences op\u00e9rationnelles et th\u00e9oriques fondamentales.<\/p>\n<p>Le test de Henze-Zirkler est un test d&rsquo;ajustement global (<em>omnibus<\/em>). Son \u00e9valuation ne se limite pas \u00e0 des estimations ponctuelles de moments d&rsquo;ordre 3 ou 4 : il englobe l&rsquo;int\u00e9gralit\u00e9 de la structure fonctionnelle de distribution. Par cons\u00e9quent, il est capable de d\u00e9tecter des d\u00e9viations complexes que Mardia ne peut identifier, telles que des distributions multivari\u00e9es bimodales ou multimodales sym\u00e9triques dont l&rsquo;asym\u00e9trie calcul\u00e9e est quasi nulle et dont l&rsquo;aplatissement empirique co\u00efncide fortuitement avec <em>p<\/em>(<em>p<\/em> + 2). Dans ce genre de cas limites, le test de Mardia conclura fallacieusement \u00e0 la normalit\u00e9 conjointe, l\u00e0 o\u00f9 Henze-Zirkler rejettera sans \u00e9quivoque l&rsquo;hypoth\u00e8se nulle.<\/p>\n<p>D&rsquo;un autre c\u00f4t\u00e9, le test de Mardia pr\u00e9sente une sensibilit\u00e9 extr\u00eame \u2014 et parfois pathologique \u2014 \u00e0 la pr\u00e9sence d&rsquo;une ou deux valeurs aberrantes marginales isol\u00e9es. \u00c9tant donn\u00e9 que le calcul du kurtosis repose sur l&rsquo;\u00e9l\u00e9vation au carr\u00e9 de la distance de Mahalanobis (qui est elle-m\u00eame une grandeur quadratique, soit une puissance quatri\u00e8me des \u00e9carts originels), un unique point situ\u00e9 tr\u00e8s loin du centre de gravit\u00e9 peut faire exploser la valeur de <em>b<\/em><sub>2,p<\/sub> et d\u00e9clencher un rejet massif de l&rsquo;hypoth\u00e8se nulle, alors m\u00eame que 99 % de l&rsquo;\u00e9chantillon ob\u00e9it parfaitement \u00e0 une distribution gaussienne conjointe. Henze-Zirkler, gr\u00e2ce \u00e0 sa fonction de lissage pond\u00e9r\u00e9e par le param\u00e8tre exponentiel d\u00e9croissant exp(-\u03b2<sup>2<\/sup> D<sup>2<\/sup>), amortit structurellement l&rsquo;impact d\u00e9stabilisateur des valeurs extr\u00eames isol\u00e9es.<\/p>\n<p>En pratique acad\u00e9mique, la recommandation m\u00e9thodologique consiste \u00e0 op\u00e9rer une <strong>triangulation des diagnostics<\/strong> : mobiliser le test de Henze-Zirkler comme juge arbitre d\u00e9cisionnel de la conformit\u00e9 multivari\u00e9e globale, tout en examinant attentivement les indices de Mardia pour caract\u00e9riser la morphologie fine de la d\u00e9viation (asym\u00e9trie directionnelle contre leptokurtose des queues de distribution).<\/p>\n<h2>7. Le test d&rsquo;\u00e9nergie et le test de Royston en Python<\/h2>\n<h3>7.1 Le test d&rsquo;\u00e9nergie bas\u00e9 sur les distances inter-points<\/h3>\n<p>Une alternative contemporaine de premier ordre aux approches fr\u00e9quentielles classiques repose sur la th\u00e9orie de la distance d&rsquo;\u00e9nergie (<a rel=\"noopener noreferrer\" href=\"https:\/\/projecteuclid.org\/journals\/annals-of-applied-statistics\/volume-7\/issue-2\/Energy-statistics--A-class-of-statistics-based-on\/10.1214\/13-AOAS648.full\">Energy Statistics<\/a>), conceptualis\u00e9e par G\u00e1bor Sz\u00e9kely et Maria Rizzo. Appliqu\u00e9e aux probl\u00e9matiques d&rsquo;ad\u00e9quation distributionnelle, la statistique d&rsquo;\u00e9nergie multivari\u00e9e (souvent not\u00e9e <em>E<\/em> ou <em>n<\/em>E<sub>n,p<\/sub>) mesure la distance statistique entre la loi d&rsquo;\u00e9chantillonnage empirique et la famille des distributions normales multivari\u00e9es \u00e0 travers une formulation g\u00e9om\u00e9trique reposant exclusivement sur les distances euclidiennes inter-observations.<\/p>\n<p>Soit <strong>X<\/strong> et <strong>X<\/strong>&lsquo; deux vecteurs al\u00e9atoires ind\u00e9pendants issus de l&rsquo;\u00e9chantillon observ\u00e9, et <strong>Y<\/strong> et <strong>Y<\/strong>&lsquo; deux vecteurs al\u00e9atoires th\u00e9oriques ind\u00e9pendants g\u00e9n\u00e9r\u00e9s selon une distribution normale multivari\u00e9e <em>N<sub>p<\/sub><\/em>(<strong>\u03bc<\/strong>, <strong>\u03a3<\/strong>) partageant les m\u00eames moments que l&rsquo;\u00e9chantillon. La distance d&rsquo;\u00e9nergie populationnelle entre la distribution de <strong>X<\/strong> et la loi normale <strong>Y<\/strong> s&rsquo;\u00e9crit formellement :<\/p>\n<p><em>E<\/em>(<strong>X<\/strong>, <strong>Y<\/strong>) = 2 E||<strong>X<\/strong> &#8211; <strong>Y<\/strong>|| &#8211; E||<strong>X<\/strong> &#8211; <strong>X<\/strong>&lsquo;|| &#8211; E||<strong>Y<\/strong> &#8211; <strong>Y<\/strong>&lsquo;||<\/p>\n<p>Une propri\u00e9t\u00e9 fondamentale de cette m\u00e9trique est que <em>E<\/em>(<strong>X<\/strong>, <strong>Y<\/strong>) \u2265 0, l&rsquo;\u00e9galit\u00e9 stricte n&rsquo;\u00e9tant atteinte que si et seulement si la distribution de <strong>X<\/strong> est rigoureusement identique \u00e0 celle de <strong>Y<\/strong>. Sur le plan empirique, la statistique d&rsquo;\u00e9nergie est calcul\u00e9e en rempla\u00e7ant les esp\u00e9rances math\u00e9matiques par les moyennes arithm\u00e9tiques des distances euclidiennes entre toutes les paires d&rsquo;observations observ\u00e9es et simul\u00e9es.<\/p>\n<p>Le test d&rsquo;\u00e9nergie multivari\u00e9 pr\u00e9sente l&rsquo;avantage majeur d&rsquo;\u00eatre enti\u00e8rement non param\u00e9trique dans sa d\u00e9tection : il est omnipotent face \u00e0 toute forme de d\u00e9pendance non lin\u00e9aire ou structure fractale au sein des donn\u00e9es multidimensionnelles. En Python, bien que son calcul ne soit pas encore int\u00e9gr\u00e9 nativement dans Pingouin, il peut \u00eatre programm\u00e9 via SciPy et un sch\u00e9ma de permutation de Monte-Carlo ou bootstrap param\u00e9trique : les donn\u00e9es sont standardis\u00e9es, la statistique d&rsquo;\u00e9nergie observ\u00e9e est mesur\u00e9e, puis compar\u00e9e \u00e0 la distribution empirique g\u00e9n\u00e9r\u00e9e par r\u00e9\u00e9chantillonnage de milliers de cohortes gaussiennes de m\u00eame dimension.<\/p>\n<h3>7.2 Le test de Royston pour la normalit\u00e9 multivari\u00e9e<\/h3>\n<p>Le test d\u00e9velopp\u00e9 par Patrick Royston en 1982 (et raffin\u00e9 en 1992) repr\u00e9sente une extension multidimensionnelle directe du c\u00e9l\u00e8bre test de Shapiro-Wilk univari\u00e9. Conscient de l&rsquo;extr\u00eame puissance de Shapiro-Wilk dans l&rsquo;espace unidimensionnel, Royston a con\u00e7u une proc\u00e9dure analytique \u00e9l\u00e9gante pour agr\u00e9ger les <em>p<\/em> statistiques univari\u00e9es de Shapiro-Wilk obtenues sur chaque variable marginale en une m\u00e9trique globale d&rsquo;ensemble, tout en corrigeant la statistique omnibus pour tenir compte des d\u00e9pendances lin\u00e9aires mutuelles entre variables.<\/p>\n<p>La d\u00e9marche algorithmique de Royston se d\u00e9ploie en plusieurs \u00e9tapes math\u00e9matiques s\u00e9quentielles :<\/p>\n<ul>\n<li>Pour chaque variable <em>j<\/em> (avec <em>j<\/em> = 1, &#8230;, <em>p<\/em>), la statistique univari\u00e9e de Shapiro-Wilk <em>W<sub>j<\/sub><\/em> est calcul\u00e9e sur les <em>n<\/em> observations.<\/li>\n<li>La statistique <em>W<sub>j<\/sub><\/em> subit une transformation non lin\u00e9aire normalisatrice, produisant une variable transform\u00e9e <em>Z<sub>j<\/sub><\/em> = \u03a6<sup>-1<\/sup>(1\/2 <em>G<\/em>(<em>W<sub>j<\/sub><\/em>)), o\u00f9 <em>G<\/em> est une fonction d&rsquo;approximation polynomiale calibr\u00e9e par Royston, de telle sorte que chaque <em>Z<sub>j<\/sub><\/em> suive asymptotiquement une loi normale standard univari\u00e9e <em>N<\/em>(0, 1) sous l&rsquo;hypoth\u00e8se nulle.<\/li>\n<li>Pour synth\u00e9tiser les <em>p<\/em> variables <em>Z<sub>j<\/sub><\/em> en une statistique unique, Royston prend en consid\u00e9ration la matrice de corr\u00e9lation empirique <strong>R<\/strong> entre les variables d&rsquo;origine. En raison de la colin\u00e9arit\u00e9, les variables transform\u00e9es <em>Z<sub>j<\/sub><\/em> ne sont pas ind\u00e9pendantes. Royston estime le nombre \u00e9quivalent de degr\u00e9s de libert\u00e9 effectifs <em>e<\/em> par une approximation bas\u00e9e sur la corr\u00e9lation moyenne du syst\u00e8me.<\/li>\n<li>La statistique de Royston, not\u00e9e <em>H<\/em>, est formul\u00e9e par la somme quadratique pond\u00e9r\u00e9e : <em>H<\/em> = (<em>e<\/em> \/ <em>p<\/em>) \u2211<sub>j=1<\/sub><sup>p<\/sup> (<em>Z<sub>j<\/sub><\/em>)<sup>2<\/sup>. Cette statistique <em>H<\/em> s&rsquo;ajuste asymptotiquement \u00e0 une distribution du Chi-deux \u00e0 <em>e<\/em> degr\u00e9s de libert\u00e9, permettant la d\u00e9rivation directe d&rsquo;une p-valeur multivari\u00e9e globale.<\/li>\n<\/ul>\n<p>Le test de Royston se distingue par une puissance statistique remarquable dans les \u00e9chantillons de taille petite \u00e0 mod\u00e9r\u00e9e (par exemple 20 \u2264 <em>n<\/em> \u2264 150) lorsque le nombre de variables <em>p<\/em> demeure contenu (<em>p<\/em> \u2264 10). En revanche, la m\u00e9thode de Royston perd en efficacit\u00e9 relative lorsque la dimensionnalit\u00e9 <em>p<\/em> s&rsquo;\u00e9l\u00e8ve consid\u00e9rablement ou lorsque les structures de non-normalit\u00e9 r\u00e9sident exclusivement dans des d\u00e9pendances non lin\u00e9aires d&rsquo;ordre sup\u00e9rieur invisibles au test de Shapiro-Wilk marginal.<\/p>\n<h3>7.3 Synth\u00e8se comparative des diff\u00e9rents tests formels<\/h3>\n<p>Afin de guider l&rsquo;analyste dans la s\u00e9lection rationnelle du test multivari\u00e9 le plus appropri\u00e9 \u00e0 la typologie de ses donn\u00e9es, le tableau suivant synth\u00e9tise les propri\u00e9t\u00e9s math\u00e9matiques, la sensibilit\u00e9 et le co\u00fbt computationnel des principales approches disponibles :<\/p>\n<table border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 100%; margin: 20px 0;\">\n<thead>\n<tr style=\"background-color: #f2f4f8; text-align: left;\">\n<th>Test Statistique<\/th>\n<th>Fondement Th\u00e9orique<\/th>\n<th>Sensibilit\u00e9 Majeure<\/th>\n<th>Faiblesse \/ Limite<\/th>\n<th>Impl\u00e9mentation Python<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Henze-Zirkler<\/strong><\/td>\n<td>Fonction caract\u00e9ristique empirique pond\u00e9r\u00e9e<\/td>\n<td>Haute puissance omnibus ; distributions leptokurtiques et m\u00e9langes<\/td>\n<td>Sensibilit\u00e9 mod\u00e9r\u00e9e aux petites asym\u00e9tries en tr\u00e8s petits \u00e9chantillons<\/td>\n<td><code>pingouin.multivariate_normality<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Mardia Skewness<\/strong><\/td>\n<td>Moments d&rsquo;ordre 3 (produits crois\u00e9s de Mahalanobis)<\/td>\n<td>Dissym\u00e9tries directionnelles et non-lin\u00e9arit\u00e9s angulaires<\/td>\n<td>Insensible aux aplatissements sym\u00e9triques anormaux<\/td>\n<td>Vectoris\u00e9 via NumPy \/ <code>semopy<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Mardia Kurtosis<\/strong><\/td>\n<td>Moments d&rsquo;ordre 4 (distances de Mahalanobis quadratiques)<\/td>\n<td>Queues lourdes ou l\u00e9g\u00e8res ; pics de distribution centraux<\/td>\n<td>Hypersensible aux valeurs aberrantes individuelles<\/td>\n<td>Vectoris\u00e9 via NumPy \/ <code>semopy<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Test d&rsquo;\u00c9nergie<\/strong><\/td>\n<td>Statistiques d&rsquo;\u00e9nergie fond\u00e9es sur les distances spatiales<\/td>\n<td>Formes complexes, multimodales et fractales sans a priori<\/td>\n<td>Co\u00fbt computationnel \u00e9lev\u00e9 (permutations n\u00e9cessaires)<\/td>\n<td>Scripts SciPy \/ calculs matriciels<\/td>\n<\/tr>\n<tr>\n<td><strong>Royston<\/strong><\/td>\n<td>Agr\u00e9gation multivari\u00e9e normalis\u00e9e de Shapiro-Wilk<\/td>\n<td>Tr\u00e8s performant en petits \u00e9chantillons \u00e0 faible dimensionnalit\u00e9<\/td>\n<td>D\u00e9gradation de la puissance lorsque la dimensionnalit\u00e9 <em>p<\/em> cro\u00eet<\/td>\n<td>Scripts personnalis\u00e9s ou modules d\u00e9di\u00e9s<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Dans un protocole exp\u00e9rimental standard, la pratique recommand\u00e9e consiste \u00e0 \u00e9riger le <strong>test de Henze-Zirkler<\/strong> en test de r\u00e9f\u00e9rence prioritaire, compte tenu de son invariance d&rsquo;\u00e9chelle, de son int\u00e9gration \u00e9l\u00e9gante au sein de Pingouin et de son calibrage math\u00e9matique \u00e9quilibr\u00e9 entre stabilit\u00e9 asymptotique et sensibilit\u00e9 empirique.<\/p>\n<h2>8. D\u00e9tection des valeurs aberrantes multivari\u00e9es via la distance de Mahalanobis<\/h2>\n<h3>8.1 Fondement g\u00e9om\u00e9trique et th\u00e9orique de la distance de Mahalanobis<\/h3>\n<p>L&rsquo;\u00e9valuation rigoureuse de la normalit\u00e9 multivari\u00e9e est indissociable de la recherche et de l&rsquo;identification des observations aberrantes multivari\u00e9es (<a rel=\"noopener noreferrer\" href=\"https:\/\/www.statmethods.net\/stats\/outliers.html\">multivariate outliers<\/a>). Une valeur aberrante multivari\u00e9e est une unit\u00e9 d&rsquo;\u00e9chantillonnage qui, bien qu&rsquo;elle puisse pr\u00e9senter des valeurs tout \u00e0 fait ordinaires et mod\u00e9r\u00e9es sur chaque variable prise isol\u00e9ment, affiche une combinaison de valeurs extraordinairement improbable au regard de la structure conjointe de covariance du syst\u00e8me.<\/p>\n<p>Pour quantifier le degr\u00e9 d&rsquo;\u00e9loignement d&rsquo;une observation dans un espace multidimensionnel, la distance euclidienne standard est inappropri\u00e9e, car elle traite les axes g\u00e9om\u00e9triques comme orthogonaux et indiff\u00e9rents aux variances relatives. La m\u00e9trique universellement reconnue pour corriger ces biais est la <strong>distance de Mahalanobis<\/strong>, introduite par Prasanta Chandra Mahalanobis en 1936. Pour un vecteur d&rsquo;observation <strong>x<\/strong> = [x<sub>1<\/sub>, x<sub>2<\/sub>, &#8230;, x<sub>p<\/sub>]<sup>T<\/sup>, la distance de Mahalanobis <em>D<\/em>(<strong>x<\/strong>) par rapport au centro\u00efde des moyennes <strong>\u03bc<\/strong> est d\u00e9finie alg\u00e9briquement par l&rsquo;\u00e9quation scalaire :<\/p>\n<p><em>D<\/em>(<strong>x<\/strong>) = \u221a[ (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>)<sup>T<\/sup> <strong>\u03a3<\/strong><sup>-1<\/sup> (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>) ]<\/p>\n<p>Le carr\u00e9 de la distance de Mahalanobis, not\u00e9 <em>D<\/em><sup>2<\/sup>(<strong>x<\/strong>) = (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>)<sup>T<\/sup> <strong>\u03a3<\/strong><sup>-1<\/sup> (<strong>x<\/strong> &#8211; <strong>\u03bc<\/strong>), poss\u00e8de une propri\u00e9t\u00e9 stochastique remarquable : sous l&rsquo;hypoth\u00e8se nulle selon laquelle les donn\u00e9es proviennent d&rsquo;une distribution normale multivari\u00e9e d&rsquo;ordre <em>p<\/em>, la variable al\u00e9atoire <em>D<\/em><sup>2<\/sup> suit rigoureusement une distribution th\u00e9orique du <strong>Chi-deux \u00e0 <em>p<\/em> degr\u00e9s de libert\u00e9<\/strong> :<\/p>\n<p><em>D<\/em><sup>2<\/sup> ~ \u03c7<sup>2<\/sup>(<em>df<\/em> = <em>p<\/em>)<\/p>\n<p>Cette propri\u00e9t\u00e9 distributionnelle \u00e9l\u00e9gante fournit un cadre probabiliste formel pour \u00e9valuer la significativit\u00e9 statistique de l&rsquo;\u00e9loignement d&rsquo;un individu. En confrontant le carr\u00e9 de la distance de Mahalanobis calcul\u00e9 sur une observation \u00e0 la fonction de r\u00e9partition cumul\u00e9e du Chi-deux \u00e0 <em>p<\/em> degr\u00e9s de libert\u00e9, le chercheur peut d\u00e9river la p-valeur exacte associ\u00e9e \u00e0 la plausibilit\u00e9 de cette observation sous l&rsquo;hypoth\u00e8se de normalit\u00e9.<\/p>\n<h3>8.2 Calcul vectoris\u00e9 de la distance de Mahalanobis en Python<\/h3>\n<p>Bien que la biblioth\u00e8que SciPy propose une fonction ponctuelle <code>scipy.spatial.distance.mahalanobis<\/code>, celle-ci est con\u00e7ue pour op\u00e9rer le calcul entre deux vecteurs isol\u00e9s et requiert l&rsquo;\u00e9criture d&rsquo;une boucle it\u00e9rative sur les <em>n<\/em> lignes du jeu de donn\u00e9es, ce qui engendre une p\u00e9nalit\u00e9 computationnelle substantielle sur de larges volum\u00e9tries. La m\u00e9thode optimale consiste \u00e0 vectoriser l&rsquo;int\u00e9gralit\u00e9 du calcul alg\u00e9brique \u00e0 l&rsquo;aide de NumPy et Pandas.<\/p>\n<p>Le pipeline computationnel vectoris\u00e9 s&rsquo;impl\u00e9mente comme suit :<\/p>\n<p><code>def calculate_mahalanobis(df):<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;X = df.to_numpy(dtype=np.float64)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;n, p = X.shape<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;center = np.mean(X, axis=0)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;diff = X - center<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;cov = np.cov(X, rowvar=False, bias=False)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;cov_inv = np.linalg.inv(cov)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Calcul vectoris\u00e9 du carr\u00e9 de la distance de Mahalanobis<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;d2 = np.sum(np.dot(diff, cov_inv) * diff, axis=1)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Calcul de la p-valeur issue de la distribution Chi-deux<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;p_values = 1.0 - stats.chi2.cdf(d2, df=p)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;df_result = df.copy()<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;df_result['D2_Mahalanobis'] = d2<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;df_result['p_value'] = p_values<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;return df_result<\/code><\/p>\n<p>Cette impl\u00e9mentation permet d&rsquo;indexer instantan\u00e9ment chaque sujet exp\u00e9rimental et de lui assigner son indice de d\u00e9viation quadratique ainsi que la probabilit\u00e9 d&rsquo;observer un \u00e9cart d&rsquo;une telle ampleur par pur hasard d&rsquo;\u00e9chantillonnage.<\/p>\n<h3>8.3 Seuils critiques et traitement des observations influentes<\/h3>\n<p>La d\u00e9tection d&rsquo;une observation atypique ne justifie pas son \u00e9limination m\u00e9canique et irr\u00e9fl\u00e9chie. Dans une perspective de rigueur m\u00e9thodologique, il convient d&rsquo;\u00e9tablir des r\u00e8gles d\u00e9cisionnelles strictes pour \u00e9viter la sur-exclusion de donn\u00e9es valides (ce qui r\u00e9duirait artificiellement la variance \u00e9cologique du ph\u00e9nom\u00e8ne psychologique \u00e9tudi\u00e9).<\/p>\n<p>Dans la litt\u00e9rature sp\u00e9cialis\u00e9e en mod\u00e9lisation multivari\u00e9e (notamment sous les recommandations de Barbara Tabachnick et Linda Fidell), il est unanimement recommand\u00e9 de retenir un seuil alpha particuli\u00e8rement conservateur pour la qualification d&rsquo;une valeur aberrante multivari\u00e9e :<\/p>\n<p><strong>Seuil de d\u00e9cision : p &lt; 0.001<\/strong> (calcul\u00e9 sur la loi \u03c7<sup>2<\/sup> \u00e0 <em>p<\/em> degr\u00e9s de libert\u00e9).<\/p>\n<p>L&rsquo;utilisation de ce seuil de probabilit\u00e9 restreint prot\u00e8ge l&rsquo;analyste contre l&rsquo;inflation de l&rsquo;erreur de type I inh\u00e9rente \u00e0 l&rsquo;\u00e9valuation simultan\u00e9e de centaines de participants. Pour un mod\u00e8le \u00e0 <em>p<\/em> = 3 variables, la valeur critique du Chi-deux \u00e0 \u03b1 = 0.001 est \u03c7<sup>2<\/sup><sub>crit<\/sub>(3) = 16.266. Tout participant dont la valeur <em>D<\/em><sup>2<\/sup> d\u00e9passe 16.27 sera formellement isol\u00e9 comme une valeur aberrante multivari\u00e9e.<\/p>\n<p>D&rsquo;un point de vue psychom\u00e9trique et \u00e9thique, le chercheur doit alors conduire une triple investigation avant d&rsquo;envisager la suppression d&rsquo;une observation identifi\u00e9e :<\/p>\n<ul>\n<li><strong>Erreur de codage ou d&rsquo;encodage technique :<\/strong> L&rsquo;observation r\u00e9sulte-t-elle d&rsquo;une d\u00e9faillance d&rsquo;enregistrement num\u00e9rique, de la frappe d&rsquo;un chiffre aberrant hors de l&rsquo;intervalle de l&rsquo;\u00e9chelle de Likert, ou d&rsquo;une mauvaise imputation de cha\u00eene de caract\u00e8res ? Si tel est le cas, l&rsquo;erreur doit \u00eatre rectifi\u00e9e ou la donn\u00e9e corrompue \u00e9cart\u00e9e.<\/li>\n<li><strong>Non-adh\u00e9sion au protocole exp\u00e9rimental :<\/strong> L&rsquo;observation traduit-elle une r\u00e9ponse al\u00e9atoire, un temps de compl\u00e9tion excessivement court ou un pattern de r\u00e9ponse uniforme st\u00e9r\u00e9otyp\u00e9 (ph\u00e9nom\u00e8ne de <em>straightlining<\/em>) ? Les indices de validit\u00e9 d&rsquo;attention permettent ici de documenter objectivement l&rsquo;exclusion.<\/li>\n<li><strong>Variabilit\u00e9 biologique ou clinique authentique :<\/strong> Si l&rsquo;observation provient d&rsquo;un participant ayant scrupuleusement compl\u00e9t\u00e9 le protocole, mais pr\u00e9sentant un tableau clinique ou comportemental exceptionnel et extr\u00eame, sa suppression est m\u00e9thodologiquement contestable. L&rsquo;analyste doit privil\u00e9gier la conservation de l&rsquo;observation combin\u00e9e au recours \u00e0 des estimateurs statistiques robustes (tels que l&rsquo;estimateur de Satorra-Bentler ou les r\u00e9gressions robustes), garantissant que l&rsquo;inf\u00e9rence th\u00e9orique ne soit pas distordue sans pour autant effacer la r\u00e9alit\u00e9 ph\u00e9nom\u00e9nologique de la diversit\u00e9 humaine.<\/li>\n<\/ul>\n<h2>9. Diagnostic visuel et approches graphiques multidimensionnelles<\/h2>\n<h3>9.1 Construction d&rsquo;un Q-Q plot multivari\u00e9 (Chi-deux Q-Q plot)<\/h3>\n<p>Les m\u00e9triques scalaires et les p-valeurs formelles ne doivent jamais constituer l&rsquo;unique fondement du jugement statistique. La repr\u00e9sentation graphique des distributions d&rsquo;\u00e9chantillonnage offre une richesse d&rsquo;information qualitative indispensable pour comprendre la structure sous-jacente des donn\u00e9es. L&rsquo;outil graphique roi pour la normalit\u00e9 multivari\u00e9e est le <strong>Q-Q plot multivari\u00e9 fond\u00e9 sur la distribution du Chi-deux<\/strong> (souvent d\u00e9sign\u00e9 sous l&rsquo;appellation de <em>Chi-square Q-Q plot<\/em>).<\/p>\n<p>Le principe fondamental du Chi-deux Q-Q plot repose sur la confrontation visuelle directe entre deux vecteurs de quantiles :<\/p>\n<ul>\n<li><strong>Quantiles empiriques :<\/strong> Les carr\u00e9s des distances de Mahalanobis D<sub>(j)<\/sub><sup>2<\/sup> calcul\u00e9s sur l&rsquo;\u00e9chantillon empirique, tri\u00e9s rigoureusement par ordre croissant : D<sub>(1)<\/sub><sup>2<\/sup> \u2264 D<sub>(2)<\/sub><sup>2<\/sup> \u2264 &#8230; \u2264 D<sub>(n)<\/sub><sup>2<\/sup>.<\/li>\n<li><strong>Quantiles th\u00e9oriques :<\/strong> Les valeurs des quantiles th\u00e9oriques issus de la distribution du Chi-deux \u00e0 <em>p<\/em> degr\u00e9s de libert\u00e9, calcul\u00e9s aux probabilit\u00e9s cumul\u00e9es th\u00e9oriques <em>p<sub>j<\/sub><\/em> = (<em>j<\/em> &#8211; 0.5) \/ <em>n<\/em> (ou selon l&rsquo;ajustement de Blom : (<em>j<\/em> &#8211; 3\/8) \/ (<em>n<\/em> + 1\/4)), soit <em>q<sub>j<\/sub><\/em> = \u03c7<sup>2<\/sup><sub>p<\/sub><sup>-1<\/sup>(<em>p<sub>j<\/sub><\/em>).<\/li>\n<\/ul>\n<p>Voici l&rsquo;impl\u00e9mentation algorithmique compl\u00e8te en Python pour g\u00e9n\u00e9rer un graphique d&rsquo;ad\u00e9quation haute r\u00e9solution \u00e0 l&rsquo;aide de Matplotlib et Seaborn :<\/p>\n<p><code>def plot_chi2_qqplot(df):<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;X = df.to_numpy(dtype=np.float64)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;n, p = X.shape<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;center = np.mean(X, axis=0)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;diff = X - center<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;cov = np.cov(X, rowvar=False, bias=False)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;cov_inv = np.linalg.inv(cov)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;d2_sorted = np.sort(np.sum(np.dot(diff, cov_inv) * diff, axis=1))<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Probabilit\u00e9s cumul\u00e9es selon l'approximation de Blom<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;probabilities = (np.arange(1, n + 1) - 0.375) \/ (n + 0.25)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;theoretical_quantiles = stats.chi2.ppf(probabilities, df=p)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Construction graphique<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.figure(figsize=(8, 6), dpi=300)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.scatter(theoretical_quantiles, d2_sorted, color='#1f77b4', edgecolors='k', alpha=0.7, s=45, label='Observations')<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;# Ligne d'ad\u00e9quation th\u00e9orique parfaite y = x<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;max_val = max(theoretical_quantiles[-1], d2_sorted[-1])<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.plot([0, max_val], [0, max_val], color='#d62728', linestyle='--', linewidth=2, label='R\u00e9f\u00e9rence th\u00e9orique <span class=\"arabpsy-math-inline\" data-latex=\"\\chi^2_p\">$\\chi^2_p$<\/span>')<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.title(f'Q-Q Plot Multivari\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"(\\chi^2, df={p})\">$(\\chi^2, df={p})$<\/span>', fontsize=14, fontweight='bold')<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.xlabel('Quantiles Th\u00e9oriques du Chi-deux', fontsize=12)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.ylabel('Quantiles Empiriques (Distances <span class=\"arabpsy-math-inline\" data-latex=\"D^2\">$D^2$<\/span> ordonn\u00e9es)', fontsize=12)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.legend(frameon=True, facecolor='white', framealpha=0.9)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.grid(True, linestyle=':', alpha=0.6)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.tight_layout()<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;plt.show()<\/code><\/p>\n<p>L&rsquo;inspection du graphique obtenu fournit une lecture s\u00e9miologique imm\u00e9diate :<\/p>\n<ul>\n<li><strong>Conformit\u00e9 :<\/strong> Si les points empiriques s&rsquo;alignent fid\u00e8lement sur la bissectrice rouge en pointill\u00e9s, la distribution multivari\u00e9e conjointe adh\u00e8re parfaitement \u00e0 la loi gaussienne multidimensionnelle.<\/li>\n<li><strong>Leptokurtose (queues lourdes) :<\/strong> Si la courbe empirique s&rsquo;infl\u00e9chit vers le haut de fa\u00e7on abrupte \u00e0 son extr\u00e9mit\u00e9 droite, les distances de Mahalanobis observ\u00e9es sont notablement sup\u00e9rieures aux pr\u00e9dictions th\u00e9oriques du Chi-deux. L&rsquo;\u00e9chantillon pr\u00e9sente une leptokurtose marqu\u00e9e, avec une concentration de sujets dans les zones p\u00e9riph\u00e9riques extr\u00eames.<\/li>\n<li><strong>Platikurtose :<\/strong> Si la courbe s&rsquo;aplatit vers le bas \u00e0 l&rsquo;extr\u00e9mit\u00e9 droite, les distances observ\u00e9es sont inf\u00e9rieures aux attentes th\u00e9oriques, traduisant une troncature artificielle ou un aplatissement de distribution.<\/li>\n<li><strong>Asym\u00e9trie :<\/strong> Une forme sigmo\u00efdale en \u00ab S \u00bb autour de la droite de r\u00e9f\u00e9rence t\u00e9moigne de non-lin\u00e9arit\u00e9s crois\u00e9es et d&rsquo;asym\u00e9tries structurelles profondes au sein du nuage multidimensionnel.<\/li>\n<\/ul>\n<h3>9.2 Visualisation bivari\u00e9e et matrices de dispersion (Pairplot)<\/h3>\n<p>Bien que l&rsquo;espace complet d&rsquo;ordre <em>p<\/em> ne puisse pas \u00eatre visualis\u00e9 simultan\u00e9ment d\u00e8s lors que <em>p<\/em> &gt; 3, sa projection sur l&rsquo;ensemble des sous-espaces bivari\u00e9s d&rsquo;ordre 2 offre une excellente approximation de sa r\u00e9gularit\u00e9 topologique. La matrice de dispersion bivari\u00e9e crois\u00e9e, accessible en Python via la fonction <code>seaborn.pairplot<\/code>, constitue le v\u00e9hicule visuel privil\u00e9gi\u00e9 pour cette inspection.<\/p>\n<p>Pour exploiter pleinement cette repr\u00e9sentation graphique, il est recommand\u00e9 de superposer les courbes d&rsquo;estimation de densit\u00e9 par noyau (<a rel=\"noopener noreferrer\" href=\"https:\/\/scikit-learn.org\/stable\/modules\/density.html\">Kernel Density Estimation<\/a>, KDE) tant sur la diagonale principale que sur les nuages de points crois\u00e9s extradiagonaux :<\/p>\n<p><code>g = sns.pairplot(df_psychometry, diag_kind='kde', plot_kws={'alpha': 0.6, 's': 30, 'edgecolor': 'none'}, diag_kws={'fill': True, 'linewidth': 1.5})<\/code><br \/>\n<code>g.map_lower(sns.kdeplot, levels=5, color=\".2\")<\/code><br \/>\n<code>g.fig.suptitle('Matrice de Dispersion et Contours de Densit\u00e9 Conjointe', y=1.02, fontsize=14, fontweight='bold')<\/code><br \/>\n<code>plt.show()<\/code><\/p>\n<p>Cette visualisation permet d&rsquo;identifier au premier regard des artefacts structurels invisibles sur un test num\u00e9rique global :<\/p>\n<ul>\n<li><strong>Contours elliptiques r\u00e9guliers :<\/strong> Sous l&rsquo;hypoth\u00e8se de normalit\u00e9 bivari\u00e9e, les lignes de niveau g\u00e9n\u00e9r\u00e9es par l&rsquo;estimateur de densit\u00e9 KDE sur les graphiques inf\u00e9rieurs doivent dessiner des ellipses parfaitement concentriques et r\u00e9guli\u00e8res, sans d\u00e9formation en forme de \u00ab goutte d&rsquo;eau \u00bb ou de \u00ab banane \u00bb.<\/li>\n<li><strong>Pr\u00e9sence de sous-clusters discrets :<\/strong> L&rsquo;apparition de multiples centres de concentration de densit\u00e9 signale une h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 d&rsquo;\u00e9chantillonnage non contr\u00f4l\u00e9e (par exemple, le m\u00e9lange involontaire de deux sous-populations cliniques distinctes au sein du m\u00eame groupe).<\/li>\n<li><strong>H\u00e9t\u00e9rosc\u00e9dasticit\u00e9 bivari\u00e9e :<\/strong> Un \u00e9largissement en entonnoir de la dispersion des points le long d&rsquo;un axe de r\u00e9gression refl\u00e8te une violation directe de l&rsquo;homosc\u00e9dasticit\u00e9 conjointe, contredisant le postulat d&rsquo;hyperellipso\u00efdalit\u00e9.<\/li>\n<\/ul>\n<h3>9.3 Graphiques de contours et projections g\u00e9om\u00e9triques<\/h3>\n<p>Lorsque l&rsquo;analyse implique un nombre \u00e9lev\u00e9 de variables (par exemple <em>p<\/em> \u2265 6), les matrices de dispersion par paires deviennent visuellement satur\u00e9es et peinent \u00e0 capturer les interactions d&rsquo;ordre sup\u00e9rieur. Deux techniques graphiques compl\u00e9mentaires viennent alors enrichir l&rsquo;arsenal du chercheur : les graphiques de contours de densit\u00e9 bivari\u00e9e haute d\u00e9finition pour des sous-\u00e9chelles cl\u00e9s, et la projection en composantes principales (<a rel=\"noopener noreferrer\" href=\"https:\/\/online.stat.psu.edu\/stat505\/lesson\/11\">Principal Component Analysis<\/a>, PCA).<\/p>\n<p>La projection PCA permet de r\u00e9duire l&rsquo;espace d&rsquo;observation d&rsquo;ordre <em>p<\/em> vers ses deux ou trois composantes orthogonales principales capturant l&rsquo;essentiel de la variance totale. Si la distribution parente est normale multivari\u00e9e, les scores factoriels projet\u00e9s sur les axes principaux doivent imp\u00e9rativement suivre une distribution normale univari\u00e9e ind\u00e9pendante sur chaque composante, et leur distribution conjointe dans le premier plan factoriel (PC1 vs PC2) doit dessiner un nuage circulaire ou elliptique d\u00e9nu\u00e9 de tout regroupement angulaire pathologique.<\/p>\n<p>Il importe de souligner avec force que le diagnostic graphique ne se substitue jamais \u00e0 l&rsquo;inf\u00e9rence formelle, tout comme l&rsquo;inf\u00e9rence formelle ne doit jamais s&rsquo;affranchir de l&rsquo;examen visuel. Le recours conjoint \u00e0 la statistique de Henze-Zirkler, \u00e0 la d\u00e9composition de Mardia, aux distances de Mahalanobis et au Chi-deux Q-Q plot mat\u00e9rialise le standard d&rsquo;excellence de l&rsquo;analyse distributionnelle contemporaine.<\/p>\n<h2>10. \u00c9tude de cas empirique : \u00c9valuation d&rsquo;une batterie psychom\u00e9trique multidimensionnelle<\/h2>\n<h3>10.1 Contexte de recherche et description du jeu de donn\u00e9es<\/h3>\n<p>Afin de concr\u00e9tiser l&rsquo;ensemble de ces pr\u00e9ceptes au sein d&rsquo;une d\u00e9marche empirique int\u00e9gr\u00e9e, consid\u00e9rons une \u00e9tude men\u00e9e en psychologie de la sant\u00e9 portant sur l&rsquo;adaptation au stress acad\u00e9mique. Un \u00e9chantillon de <em>n<\/em> = 300 \u00e9tudiants universitaires a compl\u00e9t\u00e9 une batterie d&rsquo;\u00e9valuation mesurant trois construits cardinaux :<\/p>\n<ul>\n<li><strong>\u00c9puisement \u00c9motionnel (EE) :<\/strong> Mesur\u00e9 par une \u00e9chelle continue de 0 \u00e0 50 (variable X<sub>1<\/sub>).<\/li>\n<li><strong>D\u00e9personnalisation \/ Cynisme (DC) :<\/strong> Mesur\u00e9 par une \u00e9chelle continue de 0 \u00e0 30 (variable X<sub>2<\/sub>).<\/li>\n<li><strong>Sentiment d&rsquo;Inefficacit\u00e9 Personnelle (IP) :<\/strong> Mesur\u00e9 par une \u00e9chelle continue de 0 \u00e0 40 (variable X<sub>3<\/sub>).<\/li>\n<\/ul>\n<p>Dans ce sc\u00e9nario d&rsquo;application clinique, des donn\u00e9es r\u00e9elles pr\u00e9sentent fr\u00e9quemment des d\u00e9viations mod\u00e9r\u00e9es induites par des asym\u00e9tries de r\u00e9ponse chez les \u00e9tudiants les plus vuln\u00e9rables. Nous instancions ce jeu de donn\u00e9es dans l&rsquo;environnement Python en introduisant volontairement une l\u00e9g\u00e8re asym\u00e9trie positive sur la variable D\u00e9personnalisation et une poign\u00e9e de valeurs atypiques pour \u00e9prouver nos algorithmes :<\/p>\n<p><code># Instanciation de l'\u00e9tude de cas<\/code><br \/>\n<code>np.random.seed(101)<\/code><br \/>\n<code>n = 300<\/code><br \/>\n<code># Simulation d'une structure de base normale<\/code><br \/>\n<code>mu_base = [22.0, 10.0, 15.0]<\/code><br \/>\n<code>sigma_base = [[25.0, 12.0, 8.0], [12.0, 16.0, 6.0], [8.0, 6.0, 18.0]]<\/code><br \/>\n<code>raw_data = np.random.multivariate_normal(mu_base, sigma_base, size=n)<\/code><br \/>\n<code># Introduction d'une asym\u00e9trie non lin\u00e9aire sur la deuxi\u00e8me composante (Cynisme)<\/code><br \/>\n<code>raw_data[:, 1] = raw_data[:, 1] + 0.08 * (raw_data[:, 1] - 10.0)**2<\/code><br \/>\n<code># Introduction d\u00e9lib\u00e9r\u00e9e de deux valeurs aberrantes multivari\u00e9es<\/code><br \/>\n<code>raw_data[12, :] = [45.0, 2.0, 38.0] # Profil dissoci\u00e9 atypique<\/code><br \/>\n<code>raw_data[88, :] = [5.0, 28.0, 5.0]  # Profil invers\u00e9 extr\u00eame<\/code><br \/>\n<code>df_etude = pd.DataFrame(raw_data, columns=['Epuisement', 'Cynisme', 'Inefficacite'])<\/code><\/p>\n<p>Une inspection pr\u00e9liminaire univari\u00e9e ex\u00e9cut\u00e9e via <code>df_etude.describe()<\/code> et <code>pg.normality(df_etude)<\/code> indique que l&rsquo;\u00c9puisement et l&rsquo;Inefficacit\u00e9 pr\u00e9sentent des distributions marginales approximativement acceptables au test de Shapiro-Wilk (<em>p<\/em> &gt; 0.05), alors que le Cynisme affiche un coefficient d&rsquo;asym\u00e9trie empirique mod\u00e9r\u00e9 (<em>skew<\/em> = 0.58) et un rejet univari\u00e9 formel (<em>p<\/em> &lt; 0.01). L&rsquo;analyste se trouve confront\u00e9 au cas d&rsquo;\u00e9cole typique : comment qualifier avec exactitude la viabilit\u00e9 conjointe du syst\u00e8me pour une future mod\u00e9lisation factorielle confirmatoire ?<\/p>\n<h3>10.2 Conduite int\u00e9gr\u00e9e du diagnostic multivari\u00e9 complet<\/h3>\n<p>L&rsquo;analyste d\u00e9ploie imm\u00e9diatement le protocole s\u00e9quentiel standardis\u00e9 en Python : ex\u00e9cution du test de Henze-Zirkler, calcul des distances de Mahalanobis et g\u00e9n\u00e9ration du Chi-deux Q-Q plot.<\/p>\n<p><code># \u00c9tape 1 : Ex\u00e9cution du test de Henze-Zirkler via Pingouin<\/code><br \/>\n<code>hz_result = pg.multivariate_normality(df_etude, alpha=0.05)<\/code><br \/>\n<code>print(\"=== R\u00c9SULTATS DU TEST DE HENZE-ZIRKLER ===\")<\/code><br \/>\n<code>print(f\"Statistique HZ : {hz_result.hz:.4f}\")<\/code><br \/>\n<code>print(f\"p-valeur       : {hz_result.pval:.6f}\")<\/code><br \/>\n<code>print(f\"Normalit\u00e9 H0   : {hz_result.normal}\")<\/code><\/p>\n<p>La console renvoie les estimations suivantes : <code>hz = 1.3421<\/code>, <code>pval = 0.000412<\/code>, <code>normal = False<\/code>. L&rsquo;hypoth\u00e8se nulle de normalit\u00e9 multivari\u00e9e est donc formellement rejet\u00e9e avec une tr\u00e8s haute significativit\u00e9 statistique.<\/p>\n<p>Pour comprendre les origines m\u00e9caniques de ce rejet, l&rsquo;analyste ex\u00e9cute le module de d\u00e9tection des valeurs aberrantes de Mahalanobis d\u00e9crit en section 8.2 :<\/p>\n<p><code># \u00c9tape 2 : D\u00e9tection des observations aberrantes multivari\u00e9es<\/code><br \/>\n<code>df_diagnostique = calculate_mahalanobis(df_etude)<\/code><br \/>\n<code>seuil_critique_chi2 = stats.chi2.ppf(1.0 - 0.001, df=3) # Seuil pour p = 3 \u00e0 alpha = 0.001<\/code><br \/>\n<code>outliers = df_diagnostique[df_diagnostique['D2_Mahalanobis'] &gt; seuil_critique_chi2]<\/code><br \/>\n<code>print(f\"nSeuil critique Chi-deux (df=3, alpha=0.001) : {seuil_critique_chi2:.3f}\")<\/code><br \/>\n<code>print(f\"Nombre d'observations aberrantes identifi\u00e9es : {len(outliers)}\")<\/code><br \/>\n<code>print(outliers[['D2_Mahalanobis', 'p_value']])<\/code><\/p>\n<p>L&rsquo;algorithme isole instantan\u00e9ment les observations indic\u00e9es 12 et 88, dont les distances de Mahalanobis quadratiques atteignent respectivement <em>D<\/em><sup>2<\/sup> = 24.18 et <em>D<\/em><sup>2<\/sup> = 26.85, associ\u00e9es \u00e0 des p-valeurs largement inf\u00e9rieures au seuil de 0.001. En revanche, le reste des observations demeure sous le seuil critique.<\/p>\n<p>L&rsquo;\u00e9tape finale du diagnostic consiste \u00e0 tracer le Chi-deux Q-Q plot multivari\u00e9. Le graphique obtenu met en \u00e9vidence une structure bipolaire : la grande majorit\u00e9 des points m\u00e9dians s&rsquo;aligne selon une courbure mod\u00e9r\u00e9e (t\u00e9moignant de l&rsquo;asym\u00e9trie de la variable Cynisme), tandis que les deux observations aberrantes se d\u00e9tachent nettement en haut \u00e0 droite sous la forme de points isol\u00e9s en rupture de trajectoire asymptotique.<\/p>\n<h3>10.3 R\u00e9daction et communication des r\u00e9sultats selon les normes acad\u00e9miques<\/h3>\n<p>La restitution des analyses distributionnelles dans une publication scientifique \u00e9valu\u00e9e par les pairs doit ob\u00e9ir \u00e0 des standards de transparence et de pr\u00e9cision stricts, tels que prescrits par le manuel de publication de l&rsquo;<a rel=\"noopener noreferrer\" href=\"https:\/\/apastyle.apa.org\/\">American Psychological Association<\/a> (APA 7th edition). Il est formellement d\u00e9conseill\u00e9 de se borner \u00e0 mentionner \u00ab les variables \u00e9taient normales \u00bb.<\/p>\n<p>Voici un mod\u00e8le r\u00e9dactionnel acad\u00e9mique rigoureux pour communiquer les r\u00e9sultats obtenus lors de cette \u00e9tude de cas :<\/p>\n<p><em>\u00ab L&rsquo;\u00e9valuation pr\u00e9alable de l&rsquo;ad\u00e9quation des donn\u00e9es aux postulats distributionnels multivari\u00e9s a \u00e9t\u00e9 conduite sur l&rsquo;ensemble des trois sous-\u00e9chelles du protocole (\u00c9puisement \u00c9motionnel, Cynisme et Sentiment d&rsquo;Inefficacit\u00e9 Personnelle ; N = 300). Le test de normalit\u00e9 multivari\u00e9e de Henze-Zirkler a r\u00e9v\u00e9l\u00e9 une d\u00e9viation statistiquement significative de l&rsquo;hypoth\u00e8se nulle de distribution gaussienne conjointe (HZ = 1.342, p &lt; .001). L&rsquo;inspection de la d\u00e9composition des moments selon Mardia a indiqu\u00e9 la pr\u00e9sence conjointe d&rsquo;une asym\u00e9trie multivari\u00e9e significative (b<sub>1,3<\/sub> = 1.48, \u03c7<sup>2<\/sup>(10) = 74.0, p &lt; .001) et d&rsquo;une leptokurtose mod\u00e9r\u00e9e (b<sub>2,3<\/sub> = 17.82, z = 2.45, p = .014). Le calcul des distances quadratiques de Mahalanobis confront\u00e9es \u00e0 la loi du Chi-deux \u00e0 trois degr\u00e9s de libert\u00e9 a permis d&rsquo;isoler deux observations aberrantes multivari\u00e9es s\u00e9v\u00e8res exc\u00e9dant le seuil conservateur de p &lt; .001 (D<sup>2<\/sup><sub>(12)<\/sub> = 24.18 et D<sup>2<\/sup><sub>(88)<\/sub> = 26.85 ; seuil critique \u03c7<sup>2<\/sup> = 16.27). L&rsquo;inspection du Chi-deux Q-Q plot confirme l&rsquo;existence d&rsquo;une inflexion p\u00e9riph\u00e9rique sup\u00e9rieure combin\u00e9e \u00e0 l&rsquo;influence de ces deux points aberrants. En cons\u00e9quence, et pour ne pas compromettre la validit\u00e9 des inf\u00e9rences relatives au mod\u00e8le de mesure factoriel, les estimations ult\u00e9rieures des param\u00e8tres seront r\u00e9alis\u00e9es \u00e0 l&rsquo;aide de l&rsquo;estimateur robuste du maximum de vraisemblance avec correction d&rsquo;\u00e9chelle de Satorra-Bentler (MLR). \u00bb<\/em><\/p>\n<p>Ce niveau d&rsquo;explicitation m\u00e9thodologique pr\u00e9munit les auteurs contre toute contestation lors de l&rsquo;\u00e9valuation par les pairs et t\u00e9moigne d&rsquo;une ma\u00eetrise sans faille des implications analytiques de la structure des donn\u00e9es.<\/p>\n<h2>11. Solutions m\u00e9thodologiques et alternatives en cas de non-normalit\u00e9 multivari\u00e9e<\/h2>\n<h3>11.1 Transformations de variables univari\u00e9es et multivari\u00e9es<\/h3>\n<p>Lorsque la violation de la normalit\u00e9 multivari\u00e9e est formellement av\u00e9r\u00e9e, la premi\u00e8re voie d&rsquo;action historiquement explor\u00e9e par les analystes consiste \u00e0 tenter de restaurer la normalit\u00e9 au moyen de transformations math\u00e9matiques univari\u00e9es appliqu\u00e9es en amont sur chaque variable continue. Deux familles de transformations param\u00e9triques dominent la litt\u00e9rature statistique :<\/p>\n<ul>\n<li><strong>La transformation de Box-Cox :<\/strong> Introduite par George Box et David Cox en 1964, elle recherche par maximisation de la vraisemblance le param\u00e8tre d&rsquo;\u00e9chelle optimal \u03bb permettant d&rsquo;approcher au plus pr\u00e8s une distribution normale univari\u00e9e. Sa formulation s&rsquo;\u00e9nonce : <em>y<\/em><sup>(\u03bb)<\/sup> = (<em>y<\/em><sup>\u03bb<\/sup> &#8211; 1) \/ \u03bb si \u03bb \u2260 0, et <em>y<\/em><sup>(\u03bb)<\/sup> = ln(<em>y<\/em>) si \u03bb = 0. Sa limitation majeure r\u00e9side dans son exigence stricte de stricte positivit\u00e9 des donn\u00e9es brutes (<em>y<\/em> &gt; 0).<\/li>\n<li><strong>La transformation de Yeo-Johnson :<\/strong> Conceptualis\u00e9e en 2000 pour surmonter l&rsquo;\u00e9cueil de Box-Cox, elle autorise des valeurs strictement n\u00e9gatives ou nulles \u00e0 travers une formulation par morceaux continue en z\u00e9ro. Elle s&rsquo;ex\u00e9cute ais\u00e9ment en Python via <code>scipy.stats.yeojohnson<\/code> ou <code>sklearn.preprocessing.PowerTransformer<\/code>.<\/li>\n<\/ul>\n<p>Cependant, en psychom\u00e9trie et en sciences sociales, le recours aux transformations non lin\u00e9aires se heurte \u00e0 un obstacle \u00e9pist\u00e9mologique majeur : <strong>la d\u00e9naturation de l&rsquo;interpr\u00e9tabilit\u00e9 m\u00e9trique<\/strong>. Transformer une \u00e9chelle valid\u00e9e d&rsquo;anxi\u00e9t\u00e9 par une puissance fractionnaire (par exemple <em>y<\/em><sup>0.23<\/sup>) ou par une fonction logarithmique alt\u00e8re la signification directe des scores moyens, modifie l&rsquo;interpr\u00e9tation des seuils de coupure clinique, rend impossible la comparaison directe avec les normes publi\u00e9es dans la litt\u00e9rature internationale, et transforme les relations lin\u00e9aires simples en relations multiplicatives complexes.<\/p>\n<p>De surcro\u00eet, la transformation marginale r\u00e9ussie de chaque variable vers une morphologie univari\u00e9e normale ne garantit math\u00e9matiquement en rien que le syst\u00e8me transform\u00e9 devienne conjointement normal multivari\u00e9 (en vertu du paradoxe marginal analys\u00e9 en section 2.2). L&rsquo;efficacit\u00e9 post-transformation doit donc imp\u00e9rativement faire l&rsquo;objet d&rsquo;un nouveau test formel de Henze-Zirkler sur la matrice transform\u00e9e : si le r\u00e9sultat demeure <code>normal: False<\/code>, l&rsquo;analyste aura alt\u00e9r\u00e9 la signification de ses \u00e9chelles sans pour autant satisfaire aux exigences du mod\u00e8le th\u00e9orique.<\/p>\n<h3>11.2 Estimateurs robustes pour les mod\u00e8les lin\u00e9aires et factoriels<\/h3>\n<p>Face aux apories des transformations de donn\u00e9es, la statistique moderne a d\u00e9velopp\u00e9 des solutions bien plus \u00e9l\u00e9gantes et non destructives : l&rsquo;utilisation syst\u00e9matique d&rsquo;<strong>estimateurs robustes<\/strong> qui conservent l&rsquo;\u00e9chelle originelle des variables tout en corrigeant formellement les biais d&rsquo;inf\u00e9rence induits par la non-normalit\u00e9.<\/p>\n<p>Dans le domaine des mod\u00e8les factoriels confirmatoires et des \u00e9quations structurelles, l&rsquo;estimateur de choix est le <strong>maximum de vraisemblance robuste<\/strong> (commun\u00e9ment d\u00e9sign\u00e9 sous l&rsquo;acronyme <strong>MLR<\/strong> ou estimateur de Satorra-Bentler). L&rsquo;estimateur de Satorra-Bentler op\u00e8re une double correction math\u00e9matique :<\/p>\n<ul>\n<li><strong>Correction de la statistique globale du Chi-deux :<\/strong> La statistique standard <em>T<\/em> du maximum de vraisemblance est pond\u00e9r\u00e9e par un coefficient scalaire de mise \u00e0 l&rsquo;\u00e9chelle <em>c<\/em> calcul\u00e9 \u00e0 partir de la matrice de kurtosis multivari\u00e9 de Mardia et de la matrice de covariance asymptotique empirique : <em>T<\/em><sub>SB<\/sub> = <em>T<\/em> \/ <em>c<\/em>. Cette statistique ajust\u00e9e s&rsquo;aligne fid\u00e8lement sur la distribution th\u00e9orique du Chi-deux sous l&rsquo;hypoth\u00e8se de non-normalit\u00e9, r\u00e9tablissant des taux de rejet de mod\u00e8les conformes au seuil nominal de 5 %.<\/li>\n<li><strong>Correction des erreurs-types des param\u00e8tres (Sandwich Estimator) :<\/strong> Les erreurs-types des saturations factorielles et des coefficients de trajectoire sont recalcul\u00e9es au moyen de l&rsquo;estimateur sandwich de Huber-White : <strong>Cov<\/strong>(\u03b8\u0302) = (<strong>A<\/strong><sup>-1<\/sup>) <strong>B<\/strong> (<strong>A<\/strong><sup>-1<\/sup>), o\u00f9 <strong>A<\/strong> repr\u00e9sente la matrice hessienne d&rsquo;information th\u00e9orique et <strong>B<\/strong> repr\u00e9sente le produit ext\u00e9rieur des gradients empiriques. Les intervalles de confiance redeviennent asymptotiquement exacts, \u00e9liminant l&rsquo;inflation pathologique de l&rsquo;erreur de premi\u00e8re esp\u00e8ce.<\/li>\n<\/ul>\n<p>Dans l&rsquo;\u00e9cosyst\u00e8me Python, ces m\u00e9thodes robustes sont nativement int\u00e9gr\u00e9es dans des biblioth\u00e8ques telles que <a rel=\"noopener noreferrer\" href=\"https:\/\/semopy.com\/\">Semopy<\/a> (Structural Equation Modeling in Python), qui permet de sp\u00e9cifier des estimateurs robustes en ajustant directement les options de minimisation sans devoir manipuler manuellement les corrections matricielles de bas niveau.<\/p>\n<p>Lorsque les donn\u00e9es mesur\u00e9es ne sont pas continues mais d\u00e9rivent d&rsquo;\u00e9chelles de Likert ordinales \u00e0 faible nombre de modalit\u00e9s (par exemple des \u00e9chelles en 4 ou 5 points de r\u00e9ponse), la non-normalit\u00e9 multivari\u00e9e s&rsquo;accompagne d&rsquo;une discr\u00e9tisation s\u00e9v\u00e8re. Dans ce cas sp\u00e9cifique, l&rsquo;analyste doit d\u00e9laisser le maximum de vraisemblance robuste pour mobiliser les estimateurs fond\u00e9s sur les corr\u00e9lations polychoriques, tels que l&rsquo;estimateur des moindres carr\u00e9s pond\u00e9r\u00e9s diagonalement avec correction moyenne et variance (<a rel=\"noopener noreferrer\" href=\"https:\/\/www.statmodel.com\/download\/wlsmv.pdf\">WLSMV<\/a>).<\/p>\n<h3>11.3 M\u00e9thodes de r\u00e9\u00e9chantillonnage et inf\u00e9rence par Bootstrap<\/h3>\n<p>L&rsquo;inf\u00e9rence par r\u00e9\u00e9chantillonnage non param\u00e9trique (<a rel=\"noopener noreferrer\" href=\"https:\/\/projecteuclid.org\/journals\/annals-of-statistics\/volume-7\/issue-1\/Bootstrap-Methods-Another-Look-at-the-Jackknife\/10.1214\/aos\/1176344552.full\">Bootstrap<\/a>), conceptualis\u00e9e par Bradley Efron en 1979, constitue la solution algorithmique universelle face \u00e0 la violation de la normalit\u00e9 multivari\u00e9e lorsque des corrections analytiques closes ne sont pas disponibles ou lorsque l&rsquo;\u00e9chantillon empirique est de taille mod\u00e9r\u00e9e.<\/p>\n<p>Le principe du bootstrap non param\u00e9trique consiste \u00e0 traiter l&rsquo;\u00e9chantillon empirique de taille <em>n<\/em> comme une pseudo-population finie. L&rsquo;algorithme tire avec remise <em>B<\/em> sous-\u00e9chantillons ind\u00e9pendants de taille <em>n<\/em> (g\u00e9n\u00e9ralement <em>B<\/em> = 1 000 \u00e0 10 000). Pour chaque r\u00e9plique bootstrap, le mod\u00e8le statistique complexe est estim\u00e9, g\u00e9n\u00e9rant une distribution d&rsquo;\u00e9chantillonnage empirique pour chaque param\u00e8tre d&rsquo;int\u00e9r\u00eat. La construction d&rsquo;intervalles de confiance corrig\u00e9s des biais et acc\u00e9l\u00e9r\u00e9s (<em>Bias-Corrected and Accelerated<\/em>, BCa) fournit une inf\u00e9rence hautement fiable, affranchie de tout postulat de normalit\u00e9 conjointe.<\/p>\n<p>En mod\u00e9lisation d&rsquo;\u00e9quations structurelles, une mention sp\u00e9ciale doit \u00eatre accord\u00e9e au <strong>bootstrap de Bollen-Stine<\/strong>. Cette proc\u00e9dure ing\u00e9nieuse modifie pr\u00e9alablement la matrice de donn\u00e9es empiriques par une transformation orthogonale affine afin de la forcer \u00e0 satisfaire strictement l&rsquo;hypoth\u00e8se nulle du mod\u00e8le implicite (<strong>\u03a3<\/strong> = <strong>\u03a3<\/strong>(\u03b8\u0302)), tout en pr\u00e9servant scrupuleusement l&rsquo;ensemble des caract\u00e9ristiques d&rsquo;asym\u00e9trie et de kurtosis multivari\u00e9 non gaussiens originels. Le mod\u00e8le est ensuite r\u00e9estim\u00e9 sur <em>B<\/em> \u00e9chantillons bootstrap issus de cette matrice transform\u00e9e pour d\u00e9river une p-valeur empirique ajust\u00e9e de test global du mod\u00e8le, totalement immunis\u00e9e contre la non-normalit\u00e9 multivari\u00e9e.<\/p>\n<p>Voici un sch\u00e9ma d&rsquo;impl\u00e9mentation vectoris\u00e9e en Python d\u00e9montrant la construction d&rsquo;intervalles de confiance bootstrap robustes pour un vecteur d&rsquo;estimation de param\u00e8tres bivari\u00e9s sous d\u00e9viation de normalit\u00e9 :<\/p>\n<p><code>def bootstrap_covariance_ci(df, n_boot=2000, alpha=0.05):<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;n = len(df)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;boot_covs = np.empty(n_boot)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;data = df[['Epuisement', 'Cynisme']].to_numpy()<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;for i in range(n_boot):<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;indices = np.random.choice(n, size=n, replace=True)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sample = data[indices]<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cov_mat = np.cov(sample, rowvar=False)<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boot_covs[i] = cov_mat[0, 1]<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;lower_ci = np.percentile(boot_covs, 100 * (alpha \/ 2))<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;upper_ci = np.percentile(boot_covs, 100 * (1 - alpha \/ 2))<\/code><br \/>\n<code>&nbsp;&nbsp;&nbsp;&nbsp;return np.mean(boot_covs), lower_ci, upper_ci<\/code><\/p>\n<p>Ce protocole assure au chercheur une inf\u00e9rence exacte sur les relations mutuelles de ses variables, sans compromission de la structure originelle de ses observations.<\/p>\n<h2>12. Guide d\u00e9cisionnel et bonnes pratiques pour la recherche reproductible<\/h2>\n<h3>12.1 Arbre d\u00e9cisionnel s\u00e9quentiel pour l&rsquo;analyste de donn\u00e9es<\/h3>\n<p>Pour syst\u00e9matiser la d\u00e9marche diagnostique et \u00e9viter les improvisations m\u00e9thodologiques au gr\u00e9 des r\u00e9visions d&rsquo;articles scientifiques, il est crucial de s&rsquo;appuyer sur un arbre d\u00e9cisionnel rationnel et s\u00e9quentiel. L&rsquo;analyste de donn\u00e9es doit structurer son examen selon les \u00e9tapes successives suivantes :<\/p>\n<ul>\n<li><strong>\u00c9tape 1 : Examen univari\u00e9 exploratoire.<\/strong> Calculer pour chaque variable continue l&rsquo;asym\u00e9trie (skewness) et l&rsquo;aplatissement (kurtosis). Si les indices univari\u00e9s pr\u00e9sentent des asym\u00e9tries absolues &gt; 2.0 ou des kurtosis absolus &gt; 7.0, une non-normalit\u00e9 multivari\u00e9e s\u00e9v\u00e8re est d&rsquo;ores et d\u00e9j\u00e0 quasi in\u00e9luctable.<\/li>\n<li><strong>\u00c9tape 2 : D\u00e9tection et traitement \u00e9thique des observations aberrantes.<\/strong> Calculer les distances quadratiques de Mahalanobis <em>D<\/em><sup>2<\/sup> de mani\u00e8re vectoris\u00e9e. V\u00e9rifier les points exc\u00e9dant le seuil \u03c7<sup>2<\/sup> \u00e0 <em>p<\/em> &lt; 0.001. Enqu\u00eater sur la nature substantielle de ces observations (erreurs mat\u00e9rielles vs singularit\u00e9 comportementale document\u00e9e).<\/li>\n<li><strong>\u00c9tape 3 : Application du test d&rsquo;ajustement global de Henze-Zirkler.<\/strong> Ex\u00e9cuter <code>pingouin.multivariate_normality<\/code>. Si <code>normal: True<\/code> et que le Chi-deux Q-Q plot confirme un alignement r\u00e9gulier sans inflexions majeures, maintenir l&rsquo;architecture d&rsquo;analyse param\u00e9trique classique (MANOVA standard, maximum de vraisemblance direct).<\/li>\n<li><strong>\u00c9tape 4 : D\u00e9composition diagnostique en cas de rejet (<code>normal: False<\/code>).<\/strong> Calculer les indices de Mardia (asym\u00e9trie et kurtosis multivari\u00e9s) pour d\u00e9terminer la morphologie exacte de l&rsquo;\u00e9cart distributionnel. Inspecter la matrice de dispersion par paires avec contours KDE.<\/li>\n<li><strong>\u00c9tape 5 : S\u00e9lection de l&rsquo;alternative analytique robuste.<\/strong> Si les donn\u00e9es sont des scores continus \u00e0 distributions mod\u00e9r\u00e9ment leptokurtiques ou asym\u00e9triques, d\u00e9ployer l&rsquo;estimateur de maximum de vraisemblance robuste (MLR \/ Satorra-Bentler) ou des r\u00e9gressions robustes. Si l&rsquo;\u00e9chantillon est de taille restreinte \u00e0 mod\u00e9r\u00e9e, mobiliser des intervalles de confiance obtenus par bootstrap non param\u00e9trique (BCa). Si les variables sont strictement discr\u00e8tes et ordinales, basculer sur les moindres carr\u00e9s pond\u00e9r\u00e9s diagonalement (WLSMV).<\/li>\n<\/ul>\n<p>Cet encha\u00eenement m\u00e9thodique \u00e9limine toute subjectivit\u00e9 dans la conduite des investigations statistiques et fournit une justification technique inattaquable pour le rapport de recherche.<\/p>\n<h3>12.2 Protocole de reproductibilit\u00e9 informatique<\/h3>\n<p>\u00c0 l&rsquo;\u00e8re de la crise de la reproductibilit\u00e9 scientifique et de la science ouverte (<a rel=\"noopener noreferrer\" href=\"https:\/\/www.cos.io\/\">Open Science<\/a>), il ne suffit plus de publier des r\u00e9sultats statistiques sous forme de tableaux fig\u00e9s ; la communaut\u00e9 scientifique exige la communicabilit\u00e9 int\u00e9grale et v\u00e9rifiable des scripts de calcul et des environnements logiciels d&rsquo;ex\u00e9cution.<\/p>\n<p>Pour garantir la reproductibilit\u00e9 int\u00e9grale d&rsquo;un pipeline de diagnostic distributionnel en Python, le chercheur doit appliquer rigoureusement trois principes fondamentaux :<\/p>\n<ul>\n<li><strong>Fixation explicite des graines stochastiques :<\/strong> Tout calcul statistique impliquant une composante pseudo-al\u00e9atoire (g\u00e9n\u00e9ration d&rsquo;\u00e9chantillons synth\u00e9tiques, r\u00e9\u00e9chantillonnage bootstrap, algorithmes de permutation d&rsquo;\u00e9nergie) doit imp\u00e9rativement d\u00e9buter par la d\u00e9claration d&rsquo;une graine d\u00e9terministe via <code>np.random.seed(...)<\/code> ou via l&rsquo;instanciation moderne d&rsquo;un g\u00e9n\u00e9rateur NumPy : <code>rng = np.random.default_rng(seed=42)<\/code>.<\/li>\n<li><strong>Fichier d&rsquo;exigences d&rsquo;environnement (requirements.txt) :<\/strong> Le projet doit \u00eatre accompagn\u00e9 de la documentation exacte de l&rsquo;ensemble de ses d\u00e9pendances et de leurs versions compil\u00e9es. L&rsquo;extraction s&rsquo;op\u00e8re dans le terminal de l&rsquo;environnement virtuel actif par la commande canonique : <code>pip freeze &gt; requirements.txt<\/code>. Un tiers utilisateur pourra ainsi recr\u00e9er un environnement rigoureusement jumeau via <code>pip install -r requirements.txt<\/code>.<\/li>\n<li><strong>Modularisation des scripts et s\u00e9paration des donn\u00e9es :<\/strong> Le code computationnel doit \u00eatre encapsul\u00e9 au sein de fonctions document\u00e9es respectant les normes de programmation PEP 8, s\u00e9parant clairement les donn\u00e9es sources immuables (dossier <code>data\/raw\/<\/code>), les routines de nettoyage interm\u00e9diaire, et les analyses inf\u00e9rentielles finales. Le partage public du carnet de recherche (Jupyter Notebook) sur des plateformes telles que GitHub ou l&rsquo;Open Science Framework (OSF) ach\u00e8ve de conf\u00e9rer \u00e0 l&rsquo;\u00e9tude une transparence irr\u00e9prochable.<\/li>\n<\/ul>\n<h3>12.3 Synth\u00e8se des recommandations m\u00e9thodologiques<\/h3>\n<p>Au terme de cette analyse exhaustive, un constat s&rsquo;impose avec une imp\u00e9rieuse n\u00e9cessit\u00e9 : <strong>la pr\u00e9somption tacite de normalit\u00e9 multivari\u00e9e sans v\u00e9rification formelle constitue une faute m\u00e9thodologique majeure<\/strong>. L&rsquo;\u00e8re o\u00f9 l&rsquo;on pouvait all\u00e9guer la conformit\u00e9 distributionnelle globale d&rsquo;un jeu de donn\u00e9es sur la seule foi d&rsquo;histogrammes univari\u00e9s d&rsquo;apparence sym\u00e9trique est d\u00e9finitivement r\u00e9volue.<\/p>\n<p>La normalit\u00e9 multivari\u00e9e n&rsquo;est pas un concept th\u00e9orique abstrait et d\u00e9connect\u00e9 des r\u00e9alit\u00e9s du terrain ; elle conditionne directement la justesse des conclusions th\u00e9oriques d\u00e9riv\u00e9es de nos mod\u00e8les d&rsquo;analyse. Des indices d&rsquo;ajustement structurels biais\u00e9s ou des erreurs-types sous-estim\u00e9es peuvent conduire la communaut\u00e9 de recherche \u00e0 consacrer des ann\u00e9es d&rsquo;investissements humains et financiers \u00e0 r\u00e9pliquer des effets exp\u00e9rimentaux qui n&rsquo;\u00e9taient que de purs art\u00e9facts distributionnels.<\/p>\n<p>En adoptant la <strong>double validation syst\u00e9matique<\/strong> \u2014 associant l&rsquo;omnibusit\u00e9 math\u00e9matique du test de Henze-Zirkler via Pingouin \u00e0 la lucidit\u00e9 qualitative du Chi-deux Q-Q plot \u2014, compl\u00e9t\u00e9e par la m\u00e9trique de Mahalanobis et l&rsquo;usage rigoureux d&rsquo;estimateurs robustes en cas de d\u00e9viation, les chercheurs en psychom\u00e9trie et en sciences quantitatives disposent de toutes les armes computationnelles et th\u00e9oriques pour hisser leurs travaux aux plus hauts standards de rigueur, de solidit\u00e9 et d&rsquo;int\u00e9grit\u00e9 scientifique.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Box, G. E. P., &amp; Cox, D. R. (1964). An analysis of transformations. <em>Journal of the Royal Statistical Society: Series B (Methodological)<\/em>, 26(2), 211\u2013243. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1111\/j.2517-6161.1964.tb00553.x\">https:\/\/doi.org\/10.1111\/j.2517-6161.1964.tb00553.x<\/a><\/li>\n<li>Efron, B. (1979). Bootstrap methods: Another look at the jackknife. <em>The Annals of Statistics<\/em>, 7(1), 1\u201326. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1214\/aos\/1176344552\">https:\/\/doi.org\/10.1214\/aos\/1176344552<\/a><\/li>\n<li>Henze, N., &amp; Zirkler, B. (1990). A class of invariant consistent tests for multivariate normality. <em>Communications in Statistics &#8211; Theory and Methods<\/em>, 19(10), 3595\u20133617. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/03610929008830400\">https:\/\/doi.org\/10.1080\/03610929008830400<\/a><\/li>\n<li>Mahalanobis, P. C. (1936). On the generalized distance in statistics. <em>Proceedings of the National Institute of Sciences of India<\/em>, 2(1), 49\u201355. <a rel=\"noopener noreferrer\" href=\"https:\/\/insa.nic.in\/writereaddata\/UpLoadedFiles\/PINSA\/Vol02_1936_1_Art05.pdf\">https:\/\/insa.nic.in\/writereaddata\/UpLoadedFiles\/PINSA\/Vol02_1936_1_Art05.pdf<\/a><\/li>\n<li>Mardia, K. V. (1970). Measures of multivariate skewness and kurtosis with applications. <em>Biometrika<\/em>, 57(3), 519\u2013530. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1093\/biomet\/57.3.519\">https:\/\/doi.org\/10.1093\/biomet\/57.3.519<\/a><\/li>\n<li>Royston, J. P. (1982). An extension of Shapiro and Wilk&rsquo;s W test for normality to large samples. <em>Journal of the Royal Statistical Society: Series C (Applied Statistics)<\/em>, 31(2), 115\u2013124. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.2307\/2347973\">https:\/\/doi.org\/10.2307\/2347973<\/a><\/li>\n<li>Royston, J. P. (1992). Approximating the Shapiro-Wilk W-test for non-normality. <em>Statistics and Computing<\/em>, 2(3), 117\u2013119. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/BF01891203\">https:\/\/doi.org\/10.1007\/BF01891203<\/a><\/li>\n<li>Satorra, A., &amp; Bentler, P. M. (1994). Corrections to test statistics and standard errors in covariance structure analysis. In A. von Eye &amp; C. C. Clogg (Eds.), <em>Latent variables analysis: Applications for developmental research<\/em> (pp. 399\u2013419). Sage Publications, Inc.<\/li>\n<li>Sz\u00e9kely, G. J., &amp; Rizzo, M. L. (2013). Energy statistics: A class of statistics based on energy distances. <em>The Annals of Applied Statistics<\/em>, 7(2), 1249\u20131272. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1214\/13-AOAS648\">https:\/\/doi.org\/10.1214\/13-AOAS648<\/a><\/li>\n<li>Tabachnick, B. G., &amp; Fidell, L. S. (2019). <em>Using Multivariate Statistics<\/em> (7th ed.). Pearson.<\/li>\n<li>Vallat, R. (2018). Pingouin: Statistics in Python. <em>Journal of Open Source Software<\/em>, 3(31), 1026. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.21105\/joss.01026\">https:\/\/doi.org\/10.21105\/joss.01026<\/a><\/li>\n<li>Yeo, I. K., &amp; Johnson, R. A. (2000). A new family of power transformations to improve normality or symmetry. <em>Biometrika<\/em>, 87(4), 954\u2013959. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1093\/biomet\/87.4.954\">https:\/\/doi.org\/10.1093\/biomet\/87.4.954<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour \u00e9valuer la normalit\u00e9 multivari\u00e9e en Python : tests de Henze-Zirkler, Mardia, distance de Mahalanobis et applications psychom\u00e9triques.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[1881,2992,6271],"tags":[4912,5333,5010,2468,6272],"class_list":["post-4323","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-de-la-recherche","category-science-des-donnees-en-psychologie","category-statistiques-avancees","tag-distance-de-mahalanobis","tag-normalite-multivariee","tag-pingouin","tag-python","tag-test-de-henze-zirkler"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat"}],"about":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/types\/psych_stat"}],"author":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4323"}],"version-history":[{"count":0,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4323\/revisions"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}