{"id":7651,"date":"2026-10-14T18:02:15","date_gmt":"2026-10-14T18:02:15","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-realiser-analyse-bivariee-python-exemples\/"},"modified":"2026-10-14T18:02:15","modified_gmt":"2026-10-14T18:02:15","slug":"comment-realiser-analyse-bivariee-python-exemples","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-realiser-analyse-bivariee-python-exemples","title":{"rendered":"Comment r\u00e9aliser une analyse bivari\u00e9e en Python (avec des exemples)"},"content":{"rendered":"<p>Dans le domaine de l&rsquo;analyse exploratoire des donn\u00e9es et de l&rsquo;\u00e9conom\u00e9trie moderne, la compr\u00e9hension des relations structurelles reliant deux ph\u00e9nom\u00e8nes constitue l&rsquo;\u00e9pine dorsale de la d\u00e9marche scientifique. Qu&rsquo;il s&rsquo;agisse d&rsquo;\u00e9valuer l&rsquo;impact d&rsquo;une strat\u00e9gie p\u00e9dagogique innovante sur les r\u00e9sultats acad\u00e9miques d&rsquo;\u00e9tudiants, d&rsquo;estimer l&rsquo;effet d&rsquo;une posologie m\u00e9dicamenteuse sur un biomarqueur clinique, ou d&rsquo;explorer les interactions entre la volatilit\u00e9 d&rsquo;un actif financier et le sentiment de march\u00e9, l&rsquo;analyste se trouve constamment confront\u00e9 \u00e0 la n\u00e9cessit\u00e9 d&rsquo;interroger conjointement des couples de variables. C&rsquo;est pr\u00e9cis\u00e9ment l&rsquo;objet de l&rsquo;analyse bivari\u00e9e, qui transcende la simple description univari\u00e9e pour d\u00e9voiler la nature, la force et la direction des liens statistiques.<\/p>\n<p>Le langage de programmation <a rel=\"noopener noreferrer\" href=\"https:\/\/www.python.org\/\">Python<\/a> s&rsquo;est impos\u00e9 au fil de la derni\u00e8re d\u00e9cennie comme l&rsquo;environnement computationnel pr\u00e9\u00e9minent pour la recherche quantitative et la science des donn\u00e9es. Gr\u00e2ce \u00e0 un \u00e9cosyst\u00e8me m\u00fbr et modulaire articul\u00e9 autour de biblioth\u00e8ques fondamentales telles que <a rel=\"noopener noreferrer\" href=\"https:\/\/pandas.pydata.org\/\">Pandas<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/scipy.org\/\">SciPy<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a>, <a rel=\"noopener noreferrer\" href=\"https:\/\/seaborn.pydata.org\/\">Seaborn<\/a> et <a rel=\"noopener noreferrer\" href=\"https:\/\/www.statsmodels.org\/\">Statsmodels<\/a>, le chercheur dispose d&rsquo;une palette d&rsquo;outils d&rsquo;une puissance sans pr\u00e9c\u00e9dent. Cet outillage permet non seulement de calculer des coefficients d&rsquo;association sophistiqu\u00e9s avec une rigueur num\u00e9rique irr\u00e9prochable, mais \u00e9galement d&rsquo;\u00e9chafauder des repr\u00e9sentations visuelles hautement informatives et de conduire des mod\u00e9lisations pr\u00e9dictives supervis\u00e9es adapt\u00e9es aux exigences de publication acad\u00e9mique.<\/p>\n<p>Ce guide encyclop\u00e9dique et m\u00e9thodologique propose une immersion exhaustive au c\u0153ur de l&rsquo;analyse bivari\u00e9e sous Python. \u00c0 travers le prisme d&rsquo;une \u00e9tude exp\u00e9rimentale rigoureusement mod\u00e9lis\u00e9e portant sur la relation entre le volume d&rsquo;heures d&rsquo;\u00e9tude et la performance \u00e0 une \u00e9valuation cognitive standardis\u00e9e, nous examinerons pas \u00e0 pas les dimensions visuelles, param\u00e9triques, non param\u00e9triques, cat\u00e9gorielles et inf\u00e9rentielles de cette discipline. En abordant les fondements \u00e9pist\u00e9mologiques, les pi\u00e8ges interpr\u00e9tatifs classiques et les diagnostics r\u00e9siduels indispensables, ce trait\u00e9 a pour vocation de fournir aux chercheurs, statisticiens et praticiens de la donn\u00e9e une m\u00e9thodologie compl\u00e8te, robuste et reproductible.<\/p>\n<h2>1. Introduction aux fondements de l&rsquo;analyse bivari\u00e9e dans la recherche quantitative<\/h2>\n<h3>1.1 D\u00e9finition conceptuelle et objectifs de l&rsquo;analyse bivari\u00e9e<\/h3>\n<p>D&rsquo;un point de vue \u00e9tymologique et \u00e9pist\u00e9mologique, le pr\u00e9fixe latin <em>bi-<\/em> signale sans ambigu\u00eft\u00e9 l&rsquo;\u00e9tude conjointe, simultan\u00e9e et interactive de deux grandeurs distinctes mesur\u00e9es sur une m\u00eame unit\u00e9 exp\u00e9rimentale ou observationnelle. Alors que la statistique univari\u00e9e se concentre exclusivement sur les propri\u00e9t\u00e9s intrins\u00e8ques d&rsquo;une distribution isol\u00e9e (mesures de tendance centrale comme la moyenne ou la m\u00e9diane, indices de dispersion tels que la variance et l&rsquo;\u00e9cart-type, asym\u00e9trie et kurtosis), l&rsquo;analyse bivari\u00e9e s&rsquo;int\u00e9resse \u00e0 la covariation. Elle cherche \u00e0 d\u00e9terminer dans quelle mesure les fluctuations observ\u00e9es au sein d&rsquo;une premi\u00e8re variable s&rsquo;accompagnent de variations syst\u00e9matiques, pr\u00e9visibles ou corr\u00e9l\u00e9es au sein d&rsquo;une seconde variable.<\/p>\n<p>Il est fondamental de distinguer cette approche de la statistique multivari\u00e9e, laquelle examine simultan\u00e9ment trois variables ou davantage afin de d\u00e9m\u00ealer des r\u00e9seaux complexes d&rsquo;interd\u00e9pendances, de contr\u00f4ler des effets d&rsquo;interaction ou d&rsquo;isoler des structures factorielles sous-jacentes. L&rsquo;analyse bivari\u00e9e occupe ainsi une position charni\u00e8re dans le flux de travail de la recherche empirique. Elle constitue le pont incontournable entre la description univari\u00e9e brute et la mod\u00e9lisation explicative avanc\u00e9e, permettant de formuler des hypoth\u00e8ses de travail v\u00e9rifiables, de s\u00e9lectionner les pr\u00e9dicteurs pertinents et de d\u00e9tecter d&rsquo;\u00e9ventuelles redondances informationnelles.<\/p>\n<p>Dans le champ des sciences psychologiques, comportementales et de l&rsquo;\u00e9ducation, le r\u00f4le de l&rsquo;analyse bivari\u00e9e est tout particuli\u00e8rement pr\u00e9gnant. Ces disciplines explorent fr\u00e9quemment des construits latents dont les manifestations op\u00e9rationnelles se traduisent par des scores quantitatifs ou ordinaux. D\u00e9terminer si le niveau d&rsquo;anxi\u00e9t\u00e9 pr\u00e9-examen est n\u00e9gativement associ\u00e9 \u00e0 la performance mn\u00e9sique, ou si le temps d&rsquo;exposition \u00e0 un stimulus p\u00e9dagogique interactif am\u00e9liore le taux de r\u00e9tention conceptuelle, rel\u00e8ve typiquement d&rsquo;un protocole bivari\u00e9. L&rsquo;analyse permet ici de tester la validit\u00e9 empirique de th\u00e9ories cognitives en quantifiant l&rsquo;intensit\u00e9 des liens observ\u00e9s sur le terrain.<\/p>\n<h3>1.2 Causalit\u00e9 versus corr\u00e9lation : pr\u00e9cautions \u00e9pist\u00e9mologiques<\/h3>\n<p>L&rsquo;un des \u00e9cueils majeurs auxquels se heurtent fr\u00e9quemment les analystes r\u00e9side dans la confusion pernicieuse entre corr\u00e9lation empirique et causalit\u00e9 d\u00e9terministe. Le fait que deux variables manifestent une co-occurrence statistique \u00e9troite, voire un coefficient de corr\u00e9lation lin\u00e9aire proche de l&rsquo;unit\u00e9, n&rsquo;autorise en aucun cas \u00e0 d\u00e9duire m\u00e9caniquement que l&rsquo;une constitue la cause directe de l&rsquo;autre. Dans les sciences de l&rsquo;observation, o\u00f9 l&rsquo;assignation al\u00e9atoire stricte fait souvent d\u00e9faut, cette covariation peut r\u00e9sulter de l&rsquo;action conjointe d&rsquo;un tiers facteur, qualifi\u00e9 de variable confondante ou covariable cach\u00e9e.<\/p>\n<p>Ce ph\u00e9nom\u00e8ne se manifeste de fa\u00e7on spectaculaire \u00e0 travers le c\u00e9l\u00e8bre <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Paradoxe_de_Simpson\">paradoxe de Simpson<\/a>. Selon cette anomalie apparente, une corr\u00e9lation ou une tendance observ\u00e9e au sein de plusieurs sous-groupes homog\u00e8nes peut s&rsquo;inverser totalement lorsque les donn\u00e9es sont agr\u00e9g\u00e9es globalement, en raison de d\u00e9s\u00e9quilibres structurels non contr\u00f4l\u00e9s dans la composition de l&rsquo;\u00e9chantillon. En psychom\u00e9trie, une association positive entre le stress per\u00e7u et la productivit\u00e9 acad\u00e9mique pourrait par exemple masquer le fait que les individus les plus consciencieux s&rsquo;imposent \u00e0 la fois une charge de travail plus \u00e9lev\u00e9e et ressentent une tension accrue, la conscience professionnelle agissant comme le v\u00e9ritable moteur de la performance.<\/p>\n<p>Pour pr\u00e9munir le chercheur contre ces d\u00e9rives interpr\u00e9tatives, l&rsquo;analyse bivari\u00e9e doit imp\u00e9rativement s&rsquo;inscrire dans un cadre th\u00e9orique pr\u00e9alablement explicit\u00e9. L&#8217;empirisme aveugle, consistant \u00e0 corr\u00e9ler syst\u00e9matiquement des centaines d&rsquo;indicateurs sans hypoth\u00e8se a priori \u2014 pratique couramment d\u00e9nonc\u00e9e sous le vocable de <em>p-hacking<\/em> ou d&rsquo;extraction abusive de donn\u00e9es \u2014 m\u00e8ne in\u00e9luctablement \u00e0 la d\u00e9tection d&rsquo;associations fallacieuses dues au seul hasard d&rsquo;\u00e9chantillonnage. La mod\u00e9lisation bivari\u00e9e n&rsquo;acquiert son statut scientifique que si elle confronte des relations plausibles d\u00e9riv\u00e9es de la litt\u00e9rature sp\u00e9cialis\u00e9e.<\/p>\n<h3>1.3 Vue d&rsquo;ensemble des trois piliers de l&rsquo;analyse bivari\u00e9e<\/h3>\n<p>Pour aborder l&rsquo;\u00e9tude conjointe de deux grandeurs avec exhaustivit\u00e9 et rigueur, la recherche quantitative s&rsquo;appuie traditionnellement sur un triptyque m\u00e9thodologique compl\u00e9mentaire. Le premier pilier repose sur l&rsquo;exploration visuelle pr\u00e9liminaire. La transposition des observations individuelles dans un espace g\u00e9om\u00e9trique \u00e0 deux dimensions offre une appr\u00e9ciation imm\u00e9diate et intuitive de la structure relationnelle. Le regard de l&rsquo;analyste y discerne sans d\u00e9lai la forme globale du nuage, sa dispersion, la pr\u00e9sence de courbures traduisant une non-lin\u00e9arit\u00e9, ainsi que l&rsquo;\u00e9mergence de points atypiques susceptibles de fausser les estimateurs num\u00e9riques.<\/p>\n<p>Le second pilier r\u00e9side dans la quantification statistique de la force et du sens de l&rsquo;association par l&rsquo;entremise de m\u00e9triques standardis\u00e9es, au premier rang desquelles figurent les coefficients de corr\u00e9lation de Pearson, de Spearman ou de Kendall. En r\u00e9duisant la covariation complexe \u00e0 une valeur scalaire born\u00e9e, ces indices permettent d&rsquo;\u00e9valuer objectivement l&rsquo;amplitude du lien ind\u00e9pendamment des unit\u00e9s de mesure d&rsquo;origine, tout en soumettant cette valeur \u00e0 des tests d&rsquo;hypoth\u00e8ses inf\u00e9rentiels rigoureux destin\u00e9s \u00e0 rejeter l&rsquo;hypoth\u00e8se nulle d&rsquo;ind\u00e9pendance stochastique.<\/p>\n<p>Enfin, le troisi\u00e8me pilier s&rsquo;incarne dans la mod\u00e9lisation pr\u00e9dictive unilat\u00e9rale \u00e0 travers la r\u00e9gression lin\u00e9aire simple ou d&rsquo;autres fonctions param\u00e9triques. Si la corr\u00e9lation se contente de mesurer la r\u00e9ciprocit\u00e9 sym\u00e9trique d&rsquo;une liaison sans postuler de direction privil\u00e9gi\u00e9e, la r\u00e9gression impose une asym\u00e9trie fonctionnelle entre une variable ind\u00e9pendante explicative et une variable d\u00e9pendante \u00e0 pr\u00e9dire. Ce passage \u00e0 la mod\u00e9lisation permet d&rsquo;isoler l&rsquo;impact marginal d&rsquo;une unit\u00e9 de changement sur le pr\u00e9dicteur et d&rsquo;estimer avec pr\u00e9cision l&rsquo;erreur type des pr\u00e9visions formul\u00e9es.<\/p>\n<h2>2. Typologie des variables et s\u00e9lection des approches analytiques<\/h2>\n<h3>2.1 Classification des \u00e9chelles de mesure statistique<\/h3>\n<p>La taxonomie canonique propos\u00e9e par le psychologue Stanley Smith Stevens dans les ann\u00e9es 1940 demeure le cadre de r\u00e9f\u00e9rence incontournable pour structurer l&rsquo;analyse bivari\u00e9e. La nature intrins\u00e8que de l&rsquo;information conditionne imp\u00e9rativement la validit\u00e9 math\u00e9matique des calculs envisag\u00e9s. Au premier \u00e9chelon figurent les \u00e9chelles nominales, caract\u00e9ris\u00e9es par des cat\u00e9gories qualitatives mutuellement exclusives et d\u00e9pourvues de toute hi\u00e9rarchie intrins\u00e8que. Dans le profil psychologique d&rsquo;un sujet, le style cognitif (visuel, auditif, kinesth\u00e9sique) ou le groupe d&rsquo;appartenance clinique constituent des variables purement nominales sur lesquelles aucune op\u00e9ration arithm\u00e9tique de moyenne n&rsquo;a de sens.<\/p>\n<p>Au deuxi\u00e8me niveau se situent les \u00e9chelles ordinales, particuli\u00e8rement omnipr\u00e9sentes dans les questionnaires d&rsquo;\u00e9valuation de type Likert (allant de \u00ab pas du tout d&rsquo;accord \u00bb \u00e0 \u00ab tout \u00e0 fait d&rsquo;accord \u00bb) ou les classements hi\u00e9rarchiques. Bien que ces mesures \u00e9tablissent un ordre rigoureux et transitif entre les observations, les intervalles qui s\u00e9parent deux \u00e9chelons successifs ne peuvent \u00eatre pr\u00e9sum\u00e9s constants ou \u00e9gaux. On ne saurait affirmer qu&rsquo;une progression de \u00ab faible \u00bb \u00e0 \u00ab moyen \u00bb repr\u00e9sente le m\u00eame incr\u00e9ment psychologique qu&rsquo;un passage de \u00ab \u00e9lev\u00e9 \u00bb \u00e0 \u00ab tr\u00e8s \u00e9lev\u00e9 \u00bb.<\/p>\n<p>Enfin, les \u00e9chelles continues englobent les variables d&rsquo;intervalles (comme la temp\u00e9rature en degr\u00e9s Celsius ou certains scores factoriels standardis\u00e9s o\u00f9 le z\u00e9ro est arbitraire) et les variables de rapport poss\u00e9dant un z\u00e9ro absolu et signifiant (comme le temps de r\u00e9action en millisecondes, le revenu mon\u00e9taire ou le nombre d&rsquo;heures d&rsquo;\u00e9tude). Ces grandeurs continues permettent l&rsquo;application compl\u00e8te des propri\u00e9t\u00e9s de l&rsquo;arithm\u00e9tique r\u00e9elle, autorisant le calcul de moyennes, de variances, de ratios de proportions et l&rsquo;ajustement de mod\u00e8les polynomiaux continus.<\/p>\n<h3>2.2 Matrice de d\u00e9cision m\u00e9thodologique<\/h3>\n<p>La confrontation de deux variables au cours d&rsquo;une analyse bivari\u00e9e implique d&rsquo;identifier leur position respective dans l&rsquo;\u00e9chelle de Stevens afin de s\u00e9lectionner le formalisme ad\u00e9quat. Cette combinatoire donne lieu \u00e0 trois configurations fondamentales gouvernant la pratique empirique :<\/p>\n<ul>\n<li><strong>Combinaison continu-continu :<\/strong> Lorsque le chercheur croise deux m\u00e9triques continues (par exemple, le volume horaire d&rsquo;apprentissage hebdomadaire et le score obtenu \u00e0 un examen cognitif), la panoplie m\u00e9thodologique standard mobilise le coefficient de corr\u00e9lation lin\u00e9aire de Pearson, relay\u00e9 si n\u00e9cessaire par les approches de rangs de Spearman ou Kendall, ainsi que la r\u00e9gression lin\u00e9aire univari\u00e9e estim\u00e9e par les moindres carr\u00e9s ordinaires.<\/li>\n<li><strong>Combinaison cat\u00e9goriel-continu :<\/strong> Si l&rsquo;investigation met en regard un facteur qualitatif et une r\u00e9ponse quantitative continue (par exemple, comparer l&rsquo;efficacit\u00e9 de deux ou trois m\u00e9thodes p\u00e9dagogiques distinctes sur la note finale), l&rsquo;analyse bivari\u00e9e adopte l&rsquo;angle de la comparaison de groupes via le <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Test_t_de_Student\">test t de Student<\/a> pour deux modalit\u00e9s ind\u00e9pendantes, ou l&rsquo;analyse de variance univari\u00e9e (ANOVA) si le facteur comporte trois niveaux ou plus.<\/li>\n<li><strong>Combinaison cat\u00e9goriel-cat\u00e9goriel :<\/strong> Dans le cas o\u00f9 les deux entit\u00e9s observ\u00e9es sont qualitatives ou discr\u00e9tis\u00e9es (par exemple, la fili\u00e8re d&rsquo;\u00e9tudes crois\u00e9e avec l&rsquo;obtention ou non d&rsquo;une mention au dipl\u00f4me), la proc\u00e9dure canonique repose sur l&rsquo;\u00e9laboration d&rsquo;un tableau de contingence (ou tableau crois\u00e9), coupl\u00e9 au test d&rsquo;ind\u00e9pendance du Chi-deux de Pearson et \u00e0 l&rsquo;estimation de la taille d&rsquo;effet par le V de Cram\u00e9r.<\/li>\n<\/ul>\n<h3>2.3 Importance du contr\u00f4le de la normalit\u00e9 et des hypoth\u00e8ses pr\u00e9alables<\/h3>\n<p>Avant d&rsquo;engager le calcul aveugle d&rsquo;un coefficient ou d&rsquo;une droite de r\u00e9gression, une \u00e9tape de salubrit\u00e9 m\u00e9thodologique s&rsquo;impose : la v\u00e9rification des postulats distributionnels. Les m\u00e9thodes param\u00e9triques classiques, au premier rang desquelles se trouvent la corr\u00e9lation de Pearson et le test t de Student, reposent sur l&rsquo;hypoth\u00e8se formelle que les variables \u00e9tudi\u00e9es suivent approximativement une distribution gaussienne dans la population parente, ou que les r\u00e9sidus d&rsquo;ajustement se conforment \u00e0 une loi normale de moyenne nulle et de variance constante.<\/p>\n<p>Une distribution fortement asym\u00e9trique ou leptokurtique alt\u00e8re profond\u00e9ment la pr\u00e9cision des estimateurs param\u00e9triques en biaisant l&rsquo;erreur type et en gonflant artificiellement le risque d&rsquo;erreur de premi\u00e8re esp\u00e8ce (rejet \u00e0 tort de l&rsquo;hypoth\u00e8se nulle). De surcro\u00eet, la pr\u00e9sence de valeurs aberrantes (<em>outliers<\/em>) ou de points d&rsquo;influence extr\u00eames exerce un effet de levier destructeur sur la pente d&rsquo;une r\u00e9gression ou sur le coefficient de Pearson, capable \u00e0 lui seul de faire basculer une corr\u00e9lation nulle vers une significativit\u00e9 illusoire, ou inversement de masquer une relation empirique solide.<\/p>\n<p>La d\u00e9tection de ces violations oriente de mani\u00e8re rationnelle l&rsquo;analyste vers le choix entre approches param\u00e9triques et non param\u00e9triques. Si les donn\u00e9es d\u00e9rogent manifestement aux exigences de normalit\u00e9 ou int\u00e8grent des rangs ordinaux purs, les outils fond\u00e9s sur le calcul des rangs (comme le rho de Spearman ou le tau de Kendall) offrent une robustesse remarquable, prot\u00e9geant l&rsquo;investigation contre les distorsions extr\u00eames tout en conservant une excellente puissance statistique.<\/p>\n<h2>3. Configuration de l&rsquo;environnement Python et pr\u00e9paration du jeu de donn\u00e9es<\/h2>\n<h3>3.1 Installation et importation de l&rsquo;\u00e9cosyst\u00e8me scientifique<\/h3>\n<p>Pour d\u00e9ployer une analyse bivari\u00e9e conforme aux standards de l&rsquo;ing\u00e9nierie statistique moderne, l&rsquo;analyste s&rsquo;appuie sur la pile logicielle scientifique \u00e9prouv\u00e9e de Python. La manipulation structur\u00e9e de donn\u00e9es tabulaires rel\u00e8ve principalement de la biblioth\u00e8que <a rel=\"noopener noreferrer\" href=\"https:\/\/pandas.pydata.org\/\">Pandas<\/a>, qui fournit les structures fondamentales de <em>Series<\/em> et de <em>DataFrame<\/em> n\u00e9cessaires \u00e0 l&rsquo;alignement et au nettoyage des observations. \u00c0 ses c\u00f4t\u00e9s, <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a> assure la vectorisation matricielle haute performance et le support des calculs arithm\u00e9tiques sous-jacents.<\/p>\n<p>Le volet de la s\u00e9miologie visuelle mobilise conjointement <a rel=\"noopener noreferrer\" href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a>, infrastructure graphique fondamentale offrant un contr\u00f4le granulaire absolu sur la composition des figures, et <a rel=\"noopener noreferrer\" href=\"https:\/\/seaborn.pydata.org\/\">Seaborn<\/a>, surcouche sp\u00e9cialis\u00e9e dans la visualisation statistique qui propose des th\u00e8mes raffin\u00e9s conformes aux canons des revues internationales. Enfin, l&rsquo;inf\u00e9rence formelle et la mod\u00e9lisation statistique reposent sur le module <code>scipy.stats<\/code> pour les tests de distribution et de corr\u00e9lation de rangs, second\u00e9 par <a rel=\"noopener noreferrer\" href=\"https:\/\/www.statsmodels.org\/\">Statsmodels<\/a> pour l&rsquo;estimation param\u00e9trique compl\u00e8te de la r\u00e9gression lin\u00e9aire et de ses diagnostics r\u00e9siduels d\u00e9taill\u00e9s.<\/p>\n<p>L&rsquo;initialisation syst\u00e9matique de ces modules s&rsquo;op\u00e8re par le biais des alias conventionnels universellement reconnus dans la communaut\u00e9 scientifique :<\/p>\n<p><code>import numpy as np<\/code><br \/>\n<code>import pandas as pd<\/code><br \/>\n<code>import matplotlib.pyplot as plt<\/code><br \/>\n<code>import seaborn as sns<\/code><br \/>\n<code>import scipy.stats as stats<\/code><br \/>\n<code>import statsmodels.api as sm<\/code><br \/>\n<code>import statsmodels.formula.api as smf<\/code><\/p>\n<h3>3.2 Construction du DataFrame exp\u00e9rimental : heures d&rsquo;\u00e9tude et score<\/h3>\n<p>Afin d&rsquo;ancrer l&rsquo;int\u00e9gralit\u00e9 de nos d\u00e9monstrations sur un support empirique concret, intuitif et scientifiquement plausible, nous instancions un protocole exp\u00e9rimental psychop\u00e9dagogique. Consid\u00e9rons un \u00e9chantillon de 20 \u00e9tudiants universitaires inscrits dans un programme d&rsquo;\u00e9valuation cognitive avanc\u00e9e. Pour chaque individu, nous enregistrons deux mesures continues d&rsquo;int\u00e9r\u00eat : d&rsquo;une part, le nombre total d&rsquo;heures consacr\u00e9es \u00e0 la r\u00e9vision autonome et dirig\u00e9e durant le mois pr\u00e9c\u00e9dant l&rsquo;\u00e9valuation (variable <code>hours<\/code>), et d&rsquo;autre part, la note globale standardis\u00e9e sur 100 points obtenue lors de l&rsquo;examen final (variable <code>score<\/code>).<\/p>\n<p>La g\u00e9n\u00e9ration programmatique de ce jeu de donn\u00e9es sous Pandas s&rsquo;articule autour d&rsquo;un dictionnaire de listes num\u00e9riques calibr\u00e9es pour refl\u00e9ter une association positive substantielle, tout en incorporant une variance d&rsquo;\u00e9chantillonnage r\u00e9aliste :<\/p>\n<p><code>data = {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;'hours': [1.5, 2.0, 2.2, 3.0, 3.5, 4.0, 4.2, 5.0, 5.5, 6.0, 6.5, 7.0, 7.2, 8.0, 8.5, 9.0, 9.2, 10.0, 10.5, 11.0],<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;'score': [52, 55, 58, 60, 62, 65, 64, 70, 72, 75, 76, 80, 81, 85, 87, 88, 90, 94, 95, 98]<br \/>\n}<\/code><br \/>\n<code>df = pd.DataFrame(data)<\/code><\/p>\n<p>L&rsquo;inspection structurelle imm\u00e9diate de l&rsquo;objet s&rsquo;effectue via l&rsquo;invocation de <code>df.head()<\/code> pour v\u00e9rifier l&rsquo;alignement des premi\u00e8res observations et de <code>df.info()<\/code> pour confirmer que les 20 enregistrements sont complets et reconnus sous le type ad\u00e9quat (nombres r\u00e9els <code>float64<\/code> pour les heures et entiers <code>int64<\/code> pour les scores). De surcro\u00eet, la m\u00e9thode <code>df.describe()<\/code> fournit d&#8217;embl\u00e9e la distribution univari\u00e9e pr\u00e9liminaire : la variable <code>hours<\/code> oscille entre 1.5 et 11.0 heures avec une moyenne de 6.19 heures, tandis que <code>score<\/code> s&rsquo;\u00e9chelonne de 52 \u00e0 98 points avec une moyenne empirique de 74.35 points.<\/p>\n<h3>3.3 Nettoyage et validation de l&rsquo;int\u00e9grit\u00e9 des donn\u00e9es<\/h3>\n<p>Aucune analyse bivari\u00e9e ne peut \u00eatre jug\u00e9e valide si le jeu de donn\u00e9es d&rsquo;entr\u00e9e n&rsquo;a pas subi une v\u00e9rification formelle de son int\u00e9grit\u00e9 syntaxique et logique. La premi\u00e8re t\u00e2che consiste \u00e0 auditer l&rsquo;absence de valeurs nulles ou manquantes au moyen de l&rsquo;expression <code>df.isnull().sum()<\/code>. Dans notre \u00e9chantillon, la somme des valeurs nulles pour les deux colonnes renvoie rigoureusement z\u00e9ro, garantissant que les calculs de covariation porteront sur des paires strictement synchronis\u00e9es sans n\u00e9cessiter de strat\u00e9gies d&rsquo;imputation ou de suppression par liste.<\/p>\n<p>La seconde v\u00e9rification porte sur le respect des bornes th\u00e9oriques et physiologiques des m\u00e9triques recueillies. Un temps d&rsquo;\u00e9tude ne saurait par d\u00e9finition \u00eatre strictement n\u00e9gatif, tout comme une note d&rsquo;examen standardis\u00e9e ne peut outrepasser le plafond d\u00e9fini par la grille p\u00e9dagogique (en l&rsquo;occurrence, l&rsquo;intervalle ferm\u00e9 [0, 100]). Des commandes conditionnelles de validation telles que <code>assert (df['hours'] &gt;= 0).all()<\/code> et <code>assert (df['score'].between(0, 100)).all()<\/code> permettent d&rsquo;ancrer cette validation directement dans le code source.<\/p>\n<p>Enfin, le contr\u00f4le de redondance ou de doublons d&rsquo;index s&rsquo;assure que chaque ligne correspond \u00e0 un sujet exp\u00e9rimental unique. Une fois ces gardes-fous franchis avec succ\u00e8s, le tableau est formellement certifi\u00e9 apte \u00e0 alimenter les proc\u00e9dures de restitution visuelle et d&rsquo;estimation param\u00e9trique.<\/p>\n<h2>4. Repr\u00e9sentation graphique pr\u00e9liminaire : le nuage de points (Scatterplot)<\/h2>\n<h3>4.1 Conception graphique avec Matplotlib<\/h3>\n<p>L&rsquo;exploration visuelle conjointe d\u00e9bute imp\u00e9rativement par le trac\u00e9 du nuage de points, ou <em>scatterplot<\/em>. Cette figure classique projette chaque paire d&rsquo;observations sous la forme d&rsquo;une coordonn\u00e9e cart\u00e9sienne bidimensionnelle <span class=\"arabpsy-math-inline\" data-latex=\"(x_i, y_i)\">$(x_i, y_i)$<\/span>, o\u00f9 l&rsquo;axe des abscisses accueille la variable ind\u00e9pendante pr\u00e9sum\u00e9e (les heures de travail) et l&rsquo;axe des ordonn\u00e9es h\u00e9berge la r\u00e9ponse d&rsquo;int\u00e9r\u00eat (le score obtenu). Dans l&rsquo;architecture graphique de Matplotlib, la fonction <code>plt.scatter()<\/code> constitue l&rsquo;op\u00e9rateur \u00e9l\u00e9mentaire d\u00e9di\u00e9 \u00e0 cet affichage.<\/p>\n<p>Pour conf\u00e9rer au graphique une rigueur documentaire irr\u00e9prochable, l&rsquo;analyste doit proscrire l&rsquo;affichage brut sans l\u00e9gende. La taille de la toile doit \u00eatre explicitement d\u00e9clar\u00e9e via <code>plt.figure(figsize=(9, 6))<\/code>, suivie par l&rsquo;adjonction de libell\u00e9s d&rsquo;axes clairs et typ\u00e9s int\u00e9grant les unit\u00e9s de mesure : <code>plt.xlabel(\"Volume d'\u00e9tude (heures)\", fontsize=12)<\/code> et <code>plt.ylabel(\"Score \u00e0 l'\u00e9valuation (0-100)\", fontsize=12)<\/code>. L&rsquo;incorporation d&rsquo;un titre informatif et d&rsquo;une grille discr\u00e8te au moyen de <code>plt.grid(True, linestyle='--', alpha=0.5)<\/code> facilite l&rsquo;interpolation oculaire des coordonn\u00e9es pour chaque individu.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/bivPython1.png\" alt=\"\" \/><\/figure>\n<h3>4.2 Am\u00e9lioration esth\u00e9tique et s\u00e9miologique avec Seaborn<\/h3>\n<p>Bien que Matplotlib autorise un contr\u00f4le total des primitives g\u00e9om\u00e9triques, la biblioth\u00e8que Seaborn simplifie consid\u00e9rablement la cr\u00e9ation de visuels ergonomiques en appliquant des conventions typographiques modernes adapt\u00e9es \u00e0 la publication scientifique. L&rsquo;instruction pr\u00e9liminaire <code>sns.set_theme(style=\"whitegrid\")<\/code> initialise un environnement visuel \u00e9pur\u00e9 qui maximise le ratio signal-sur-bruit pr\u00e9conis\u00e9 par Edward Tufte dans ses travaux de s\u00e9miologie graphique.<\/p>\n<p>La commande <code>sns.scatterplot(data=df, x='hours', y='score', s=80, color='#1f77b4', alpha=0.85, edgecolor='w')<\/code> d\u00e9ploie des marqueurs circulaires g\u00e9n\u00e9reusement proportionn\u00e9s dont le param\u00e8tre <code>alpha<\/code> module la transparence. Cette perm\u00e9abilit\u00e9 optique se r\u00e9v\u00e8le cruciale lorsque le volume de sujets s&rsquo;accro\u00eet, car elle permet de d\u00e9tecter imm\u00e9diatement les zones de sur-densit\u00e9 ou de chevauchement o\u00f9 plusieurs points occuperaient des coordonn\u00e9es quasi identiques.<\/p>\n<h3>4.3 Lecture critique et interpr\u00e9tation du nuage de points<\/h3>\n<p>L&rsquo;examen minutieux du graphique obtenu sur notre cohorte de 20 \u00e9tudiants fournit d&#8217;embl\u00e9e une quantit\u00e9 substantielle d&rsquo;informations qualitatives pr\u00e9alables \u00e0 tout calcul num\u00e9rique. Premi\u00e8rement, la direction globale de la nu\u00e9e pr\u00e9sente une pente ascendante incontestable : lorsque l&rsquo;on balaie l&rsquo;axe horizontal de gauche \u00e0 droite, les ordonn\u00e9es s&rsquo;\u00e9l\u00e8vent de mani\u00e8re synchronis\u00e9e. Cette observation atteste d&rsquo;une monotonie positive marqu\u00e9e, sugg\u00e9rant qu&rsquo;un investissement temporel accru s&rsquo;accompagne syst\u00e9matiquement d&rsquo;une progression du score.<\/p>\n<p>Deuxi\u00e8mement, la morphologie du nuage s&rsquo;aligne \u00e9troitement le long d&rsquo;une trajectoire rectiligne. Aucune cassure structurelle, inflexion sigmo\u00efde ou courbure asymptotique ne semble se manifester dans la plage d&rsquo;heures \u00e9tudi\u00e9e (de 1.5 \u00e0 11 heures), ce qui conforte a priori la l\u00e9gitimit\u00e9 d&rsquo;un ajustement lin\u00e9aire simple. Enfin, la dispersion des points autour de cette trajectoire virtuelle demeure remarquablement homog\u00e8ne sur l&rsquo;ensemble de l&rsquo;\u00e9tendue des abscisses : il n&rsquo;appara\u00eet aucun ph\u00e9nom\u00e8ne de c\u00f4ne d&rsquo;\u00e9vasement ni de concentration anormale, et aucun profil n&rsquo;appara\u00eet isol\u00e9 \u00e0 des distances excessives du barycentre g\u00e9n\u00e9ral.<\/p>\n<h2>5. Quantification de l&rsquo;association lin\u00e9aire : le coefficient de Pearson<\/h2>\n<h3>5.1 Fondements math\u00e9matiques du coefficient de corr\u00e9lation r<\/h3>\n<p>Si le nuage de points offre une appr\u00e9ciation synoptique intuitive, la recherche scientifique requiert un estimateur scalaire objectif et universellement transposable pour quantifier la magnitude de cette liaison. Cet estimateur est le coefficient de corr\u00e9lation produit-moment de Karl Pearson, traditionnellement not\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"r\">$r$<\/span>. Math\u00e9matiquement, <span class=\"arabpsy-math-inline\" data-latex=\"r\">$r$<\/span> se d\u00e9finit comme le rapport normalis\u00e9 entre la covariance empirique des deux variables et le produit arithm\u00e9tique de leurs \u00e9carts-types marginaux respectifs. Pour un \u00e9chantillon de taille <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> constitu\u00e9 des couples <span class=\"arabpsy-math-inline\" data-latex=\"(x_i, y_i)\">$(x_i, y_i)$<\/span> de moyennes <span class=\"arabpsy-math-inline\" data-latex=\"\\bar{x}\">$\\bar{x}$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"\\bar{y}\">$\\bar{y}$<\/span>, l&rsquo;expression canonique s&rsquo;\u00e9crit :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"r_{xy} = \\frac{\\sum_{i=1}^{n} (x_i - \\bar{x})(y_i - \\bar{y})}{\\sqrt{\\sum_{i=1}^{n} (x_i - \\bar{x})^2} \\sqrt{\\sum_{i=1}^{n} (y_i - \\bar{y})^2}}\">$$r_{xy} = \\frac{\\sum_{i=1}^{n} (x_i &#8211; \\bar{x})(y_i &#8211; \\bar{y})}{\\sqrt{\\sum_{i=1}^{n} (x_i &#8211; \\bar{x})^2} \\sqrt{\\sum_{i=1}^{n} (y_i &#8211; \\bar{y})^2}}$$<\/span><\/p>\n<p>Le num\u00e9rateur repr\u00e9sente la covariance brute, c&rsquo;est-\u00e0-dire la somme des produits crois\u00e9s des d\u00e9viations \u00e0 la moyenne. Si les \u00e9tudiants qui \u00e9tudient plus que la moyenne obtiennent syst\u00e9matiquement des notes sup\u00e9rieures \u00e0 la moyenne (deux d\u00e9viations positives dont le produit est positif), et que ceux qui \u00e9tudient moins obtiennent des notes inf\u00e9rieures (deux d\u00e9viations n\u00e9gatives dont le produit est \u00e9galement positif), la somme globale prend une valeur fortement positive. Le d\u00e9nominateur joue le r\u00f4le de facteur d&rsquo;\u00e9chelle r\u00e9gularisateur en divisant ce produit moyen par la variabilit\u00e9 totale des deux s\u00e9ries.<\/p>\n<p>Par construction g\u00e9om\u00e9trique et en vertu de l&rsquo;in\u00e9galit\u00e9 de Cauchy-Schwarz, le coefficient <span class=\"arabpsy-math-inline\" data-latex=\"r\">$r$<\/span> est rigoureusement born\u00e9 au sein de l&rsquo;intervalle ferm\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"[-1, +1]\">$[-1, +1]$<\/span>. Une valeur de <span class=\"arabpsy-math-inline\" data-latex=\"+1\">$+1$<\/span> d\u00e9note une association lin\u00e9aire ascendante parfaite, chaque point tombant exactement sur une droite de pente positive. Une valeur de <span class=\"arabpsy-math-inline\" data-latex=\"-1\">$-1$<\/span> traduit une association lin\u00e9aire descendante parfaite. Enfin, une valeur voisine de z\u00e9ro signale une absence compl\u00e8te de d\u00e9pendance lin\u00e9aire, bien qu&rsquo;une d\u00e9pendance non lin\u00e9aire complexe puisse subsister.<\/p>\n<h3>5.2 Calcul programmatique du coefficient r en Python<\/h3>\n<p>L&rsquo;extraction de cet indicateur s&rsquo;op\u00e8re tr\u00e8s simplement sous Python gr\u00e2ce \u00e0 l&rsquo;\u00e9cosyst\u00e8me Pandas. En ex\u00e9cutant <code>df.corr()<\/code> sur notre DataFrame bivari\u00e9, Pandas calcule instantan\u00e9ment la matrice sym\u00e9trique de corr\u00e9lation normalis\u00e9e :<\/p>\n<p><code>corr_matrix = df.corr(method='pearson')<br \/>\nprint(corr_matrix)<\/code><\/p>\n<p>La diagonale principale de cette matrice affiche trivialement la valeur 1.0 (chaque variable \u00e9tant parfaitement corr\u00e9l\u00e9e avec elle-m\u00eame), tandis que les cellules hors-diagonale exposent l&rsquo;association crois\u00e9e. Sur notre jeu de donn\u00e9es exp\u00e9rimental, le calcul renvoie une valeur empirique de <span class=\"arabpsy-math-inline\" data-latex=\"r \\approx 0.992\">$r \\approx 0.992$<\/span>, indiquant une proximit\u00e9 exceptionnelle avec la droite th\u00e9orique id\u00e9ale.<\/p>\n<p>N\u00e9anmoins, la m\u00e9thode <code>corr()<\/code> de Pandas se limite \u00e0 l&rsquo;estimation ponctuelle sans renvoyer l&rsquo;indice d&rsquo;incertitude inf\u00e9rentielle. Pour acc\u00e9der \u00e0 la significativit\u00e9 statistique formelle de l&rsquo;estimateur, il convient d&rsquo;invoquer la fonction <code>pearsonr<\/code> du sous-module <code>scipy.stats<\/code> :<\/p>\n<p><code>r_stat, p_val = stats.pearsonr(df['hours'], df['score'])<br \/>\nprint(f\"Coefficient r de Pearson : {r_stat:.4f}\")<br \/>\nprint(f\"P-valeur associ\u00e9e : {p_val:.4e}\")<\/code><\/p>\n<p>L&rsquo;ex\u00e9cution de cette instruction r\u00e9v\u00e8le un <span class=\"arabpsy-math-inline\" data-latex=\"r\">$r$<\/span> \u00e9gal \u00e0 0.9923 associ\u00e9 \u00e0 une p-valeur infinit\u00e9simale de l&rsquo;ordre de <span class=\"arabpsy-math-inline\" data-latex=\"4.85 \\times 10^{-18}\">$4.85 \\times 10^{-18}$<\/span>.<\/p>\n<h3>5.3 Interpr\u00e9tation statistique et psychologique des r\u00e9sultats<\/h3>\n<p>L&rsquo;interpr\u00e9tation de ces m\u00e9triques quantitatives s&rsquo;articule autour de trois paliers d&rsquo;\u00e9valuation : le test d&rsquo;hypoth\u00e8se inf\u00e9rentiel, la grille de magnitude de l&rsquo;effet, et la proportion de variance partag\u00e9e. Dans le cadre de l&rsquo;inf\u00e9rence statistique fr\u00e9quentiste, l&rsquo;hypoth\u00e8se nulle (<span class=\"arabpsy-math-inline\" data-latex=\"H_0\">$H_0$<\/span>) postule l&rsquo;absence totale de corr\u00e9lation dans la population m\u00e8re (<span class=\"arabpsy-math-inline\" data-latex=\"rho = 0\">$rho = 0$<\/span>). Face \u00e0 une p-valeur largement inf\u00e9rieure au seuil alpha conventionnel de 0.05 (et m\u00eame au seuil conservateur de 0.001), nous rejetons cat\u00e9goriquement <span class=\"arabpsy-math-inline\" data-latex=\"H_0\">$H_0$<\/span> au profit de l&rsquo;hypoth\u00e8se alternative (<span class=\"arabpsy-math-inline\" data-latex=\"H_1\">$H_1$<\/span>) : le volume horaire d&rsquo;\u00e9tude et le score \u00e0 l&rsquo;\u00e9valuation cognitive sont corr\u00e9l\u00e9s de fa\u00e7on statistiquement significative.<\/p>\n<p>En second lieu, pour qualifier la puissance de cette association au-del\u00e0 de la seule significativit\u00e9 \u2014 laquelle est m\u00e9caniquement d\u00e9pendante de la taille d&rsquo;\u00e9chantillon \u2014, nous confrontons notre coefficient aux rep\u00e8res propos\u00e9s par Jacob Cohen dans ses travaux fondateurs sur l&rsquo;analyse de puissance. Cohen classe conventionnellement les valeurs absolues de <span class=\"arabpsy-math-inline\" data-latex=\"r\">$r$<\/span> en trois cat\u00e9gories : faible (<span class=\"arabpsy-math-inline\" data-latex=\"r \\approx 0.10\">$r \\approx 0.10$<\/span>), mod\u00e9r\u00e9 (<span class=\"arabpsy-math-inline\" data-latex=\"r \\approx 0.30\">$r \\approx 0.30$<\/span>) et \u00e9lev\u00e9 ou fort (<span class=\"arabpsy-math-inline\" data-latex=\"r ge 0.50\">$r ge 0.50$<\/span>). Avec un indice s&rsquo;\u00e9levant \u00e0 0.992, l&rsquo;effet mesur\u00e9 ici d\u00e9passe tr\u00e8s largement le seuil d&rsquo;une relation forte ; il d\u00e9note une interconnexion empirique quasi d\u00e9terministe au sein de cet \u00e9chantillon.<\/p>\n<p>Enfin, l&rsquo;\u00e9l\u00e9vation au carr\u00e9 du coefficient de Pearson fournit le <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Coefficient_de_d%C3%A9termination\">coefficient de d\u00e9termination<\/a>, not\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"R^2\">$R^2$<\/span>. Pour notre valeur de <span class=\"arabpsy-math-inline\" data-latex=\"r \\approx 0.9923\">$r \\approx 0.9923$<\/span>, nous obtenons <span class=\"arabpsy-math-inline\" data-latex=\"R^2 = (0.9923)^2 \\approx 0.9847\">$R^2 = (0.9923)^2 \\approx 0.9847$<\/span>. Cet indice crucial indique que 98.47 % de la variance totale observ\u00e9e dans les scores d&rsquo;examen des \u00e9tudiants est directement partag\u00e9e ou statistiquement expliqu\u00e9e par la variation de leur volume d&rsquo;heures de r\u00e9vision. Moins de 1.53 % de la variabilit\u00e9 r\u00e9siduelle rel\u00e8ve de facteurs externes non mesur\u00e9s (fatigue le jour du test, ant\u00e9c\u00e9dents scolaires, fluctuations \u00e9motionnelles ou al\u00e9a pur).<\/p>\n<h2>6. Alternatives non param\u00e9triques : corr\u00e9lations de Spearman et Kendall<\/h2>\n<h3>6.1 Limites de la m\u00e9trique de Pearson face \u00e0 la non-lin\u00e9arit\u00e9<\/h3>\n<p>Nonobstant son \u00e9l\u00e9gance et son universalit\u00e9, le coefficient de corr\u00e9lation de Pearson pr\u00e9sente des limites m\u00e9thodologiques s\u00e9v\u00e8res qu&rsquo;aucun analyste chevronn\u00e9 ne saurait n\u00e9gliger. Sa premi\u00e8re vuln\u00e9rabilit\u00e9 r\u00e9side dans sa stricte sp\u00e9cificit\u00e9 lin\u00e9aire. Le coefficient <span class=\"arabpsy-math-inline\" data-latex=\"r\">$r$<\/span> mesure exclusivement l&rsquo;ajustement des donn\u00e9es \u00e0 une droite g\u00e9om\u00e9trique d&rsquo;\u00e9quation <span class=\"arabpsy-math-inline\" data-latex=\"y = ax + b\">$y = ax + b$<\/span>. Si deux variables sont unies par une relation parfaitement monotone mais curviligne (par exemple exponentielle, logarithmique ou sigmo\u00efdale), le coefficient de Pearson sous-estimera dramatiquement l&rsquo;intensit\u00e9 du lien, affichant parfois une valeur m\u00e9diocre alors m\u00eame que la valeur de <span class=\"arabpsy-math-inline\" data-latex=\"y\">$y$<\/span> d\u00e9coule math\u00e9matiquement sans incertitude de celle de <span class=\"arabpsy-math-inline\" data-latex=\"x\">$x$<\/span>.<\/p>\n<p>Sa seconde faiblesse tient \u00e0 son extr\u00eame sensibilit\u00e9 aux valeurs aberrantes et aux points leviers. Dans la formule de Pearson, les \u00e9carts \u00e0 la moyenne sont multipli\u00e9s et \u00e9lev\u00e9s au carr\u00e9 ; par cons\u00e9quent, un unique point excentr\u00e9 situ\u00e9 \u00e0 plusieurs \u00e9carts-types du centre de gravit\u00e9 peut faire chuter artificiellement un coefficient robuste ou, pire encore, g\u00e9n\u00e9rer une corr\u00e9lation fallacieusement significative \u00e0 partir d&rsquo;un ensemble de points purement al\u00e9atoires. Enfin, Pearson est conceptuellement inadapt\u00e9 aux \u00e9chelles purement ordinales, pour lesquelles les distances quantitatives entre \u00e9chelons n&rsquo;ont pas de l\u00e9gitimit\u00e9 math\u00e9matique.<\/p>\n<h3>6.2 Mise en \u0153uvre du rho de Spearman sous Python<\/h3>\n<p>Pour s&rsquo;affranchir du postulat restrictif de lin\u00e9arit\u00e9 tout en pr\u00e9servant le concept de relation directionnelle ordonn\u00e9e, le psychologue Charles Spearman a con\u00e7u le coefficient de corr\u00e9lation des rangs, not\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"rho\">$rho$<\/span> (rho). Le principe op\u00e9rationnel consiste \u00e0 substituer aux valeurs brutes observ\u00e9es leur position relative ou rang hi\u00e9rarchique au sein de la s\u00e9rie ordonn\u00e9e (du plus petit au plus grand). Le calcul du coefficient de Pearson est ensuite appliqu\u00e9 non pas sur les grandeurs d&rsquo;origine, mais directement sur ces rangs entiers.<\/p>\n<p>Le rho de Spearman quantifie ainsi la monotonicit\u00e9 d&rsquo;une relation : il prend la valeur <span class=\"arabpsy-math-inline\" data-latex=\"+1\">$+1$<\/span> d\u00e8s lors que la seconde variable cro\u00eet syst\u00e9matiquement lorsque la premi\u00e8re augmente, quelle que soit la forme g\u00e9om\u00e9trique (rectiligne ou courb\u00e9e) de cette croissance. Sous Python, son ex\u00e9cution est assur\u00e9e de fa\u00e7on native par la fonction <code>spearmanr<\/code> du module <code>scipy.stats<\/code> :<\/p>\n<p><code>rho_stat, p_val_spearman = stats.spearmanr(df['hours'], df['score'])<br \/>\nprint(f\"Rho de Spearman : {rho_stat:.4f}\")<br \/>\nprint(f\"P-valeur Spearman : {p_val_spearman:.4e}\")<\/code><\/p>\n<p>Sur notre jeu de donn\u00e9es didactique, le calcul produit <span class=\"arabpsy-math-inline\" data-latex=\"\\rho \\approx 0.9955\">$\\rho \\approx 0.9955$<\/span> avec une p-valeur de l&rsquo;ordre de <span class=\"arabpsy-math-inline\" data-latex=\"4.87 \\times 10^{-20}\">$4.87 \\times 10^{-20}$<\/span>. Cette valeur conforte et amplifie le diagnostic \u00e9tabli par Pearson, prouvant que la hi\u00e9rarchie des temps de r\u00e9vision se transpose de mani\u00e8re quasi parfaite dans la hi\u00e9rarchie des notes obtenues \u00e0 l&rsquo;\u00e9valuation.<\/p>\n<h3>6.3 Le tau de Kendall pour les petits \u00e9chantillons<\/h3>\n<p>Une troisi\u00e8me alternative d&rsquo;une grande valeur statistique est le coefficient <span class=\"arabpsy-math-inline\" data-latex=\"tau\">$tau$<\/span> (tau) de Maurice Kendall, \u00e9galement connu sous le nom de rang de corr\u00e9lation tau de Kendall. Contrairement \u00e0 Spearman qui \u00e9value les d\u00e9viations des rangs moyens, le formalisme de Kendall examine la concordance ordinale de toutes les paires d&rsquo;observations possibles dans l&rsquo;\u00e9chantillon. Pour une cohorte de <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> sujets, le nombre total de paires distinctes s&rsquo;\u00e9l\u00e8ve \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"\\binom{n}{2} = \\frac{n(n-1)}{2}\">$\\binom{n}{2} = \\frac{n(n-1)}{2}$<\/span>. Pour nos 20 \u00e9tudiants, cela repr\u00e9sente <span class=\"arabpsy-math-inline\" data-latex=\"\\frac{20 \\times 19}{2} = 190\">$\\frac{20 \\times 19}{2} = 190$<\/span> paires comparatives.<\/p>\n<p>Une paire d&rsquo;individus <span class=\"arabpsy-math-inline\" data-latex=\"(i, j)\">$(i, j)$<\/span> est qualifi\u00e9e de concordante si le sujet qui a \u00e9tudi\u00e9 le plus de temps est \u00e9galement celui qui a obtenu le score le plus \u00e9lev\u00e9. \u00c0 l&rsquo;inverse, si l&rsquo;\u00e9tudiant ayant le plus r\u00e9vis\u00e9 enregistre une note inf\u00e9rieure \u00e0 son camarade, la paire est dite discordante. Le tau de Kendall normalise la diff\u00e9rence nette entre le nombre de paires concordantes (<span class=\"arabpsy-math-inline\" data-latex=\"C\">$C$<\/span>) et discordantes (<span class=\"arabpsy-math-inline\" data-latex=\"D\">$D$<\/span>) :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\tau = \\frac{C - D}{\\frac{1}{2} n (n-1)}\">$$\\tau = \\frac{C &#8211; D}{\\frac{1}{2} n (n-1)}$$<\/span><\/p>\n<p>Sous Python, la biblioth\u00e8que SciPy permet d&rsquo;extraire instantan\u00e9ment cet estimateur :<\/p>\n<p><code>tau_stat, p_val_kendall = stats.kendalltau(df['hours'], df['score'])<br \/>\nprint(f\"Tau de Kendall : {tau_stat:.4f}\")<br \/>\nprint(f\"P-valeur Kendall : {p_val_kendall:.4e}\")<\/code><\/p>\n<p>Sur notre \u00e9chantillon, le calcul aboutit \u00e0 un coefficient <span class=\"arabpsy-math-inline\" data-latex=\"\\tau \\approx 0.9787\">$\\tau \\approx 0.9787$<\/span> (<span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 0.001\">$p &lt; 0.001$<\/span>). Le tau de Kendall poss\u00e8de des vertus th\u00e9oriques sup\u00e9rieures \u00e0 celles de Spearman lorsque l&#039;effectif total est restreint (<span class=\"arabpsy-math-inline\" data-latex=\"n &lt; 30\">$n &lt; 30$<\/span>), car sa distribution d&#039;\u00e9chantillonnage converge bien plus rapidement vers la normalit\u00e9 asymptotique, conf\u00e9rant aux tests d&#039;hypoth\u00e8ses et aux intervalles de confiance une fiabilit\u00e9 remarquable en pr\u00e9sence de petits \u00e9chantillons exp\u00e9rimentaux.<\/p>\n<h2>7. Mod\u00e9lisation univari\u00e9e pr\u00e9dictive : r\u00e9gression lin\u00e9aire simple<\/h2>\n<h3>7.1 Formalisation math\u00e9matique du mod\u00e8le de r\u00e9gression<\/h3>\n<p>Tandis que la corr\u00e9lation examine la r\u00e9ciprocit\u00e9 sym\u00e9trique de deux variables sans hi\u00e9rarchisation causale, la <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9gression_lin%C3%A9aire_simple\">r\u00e9gression lin\u00e9aire simple<\/a> introduit une rupture asym\u00e9trique fondamentale en d\u00e9signant une variable explicative exog\u00e8ne <span class=\"arabpsy-math-inline\" data-latex=\"X\">$X$<\/span> (les heures d&rsquo;\u00e9tude) dont les variations sont suppos\u00e9es gouverner les r\u00e9alisations d&rsquo;une variable d\u00e9pendante endog\u00e8ne <span class=\"arabpsy-math-inline\" data-latex=\"Y\">$Y$<\/span> (le score \u00e0 l&rsquo;examen). Le mod\u00e8le math\u00e9matique de population s&rsquo;exprime sous la forme structurelle suivante :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"Y_i = \\beta_0 + \\beta_1 X_i + \\epsilon_i\">$$Y_i = \\beta_0 + \\beta_1 X_i + \\epsilon_i$$<\/span><\/p>\n<p>Dans cette formulation, <span class=\"arabpsy-math-inline\" data-latex=\"\\beta_0\">$\\beta_0$<\/span> repr\u00e9sente l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine (ou intercepte), c&rsquo;est-\u00e0-dire le score moyen attendu pour un niveau th\u00e9orique de r\u00e9vision nul (<span class=\"arabpsy-math-inline\" data-latex=\"X = 0\">$X = 0$<\/span>). Le coefficient directeur <span class=\"arabpsy-math-inline\" data-latex=\"\\beta_1\">$\\beta_1$<\/span> d\u00e9signe la pente de la r\u00e9gression, traduisant l&rsquo;impact marginal esp\u00e9r\u00e9 sur le score pour chaque incr\u00e9ment unitaire d&rsquo;une heure de travail suppl\u00e9mentaire. Enfin, le terme d&rsquo;erreur stochastique <span class=\"arabpsy-math-inline\" data-latex=\"\\epsilon_i\">$\\epsilon_i$<\/span> englobe l&rsquo;ensemble des perturbations al\u00e9atoires et des facteurs non observ\u00e9s affectant le sujet <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span>.<\/p>\n<p>L&rsquo;ajustement empirique de la droite repose traditionnellement sur la m\u00e9thode des moindres carr\u00e9s ordinaires (MCO, ou OLS pour <em>Ordinary Least Squares<\/em>). Ce principe algorithmique consiste \u00e0 d\u00e9terminer le couple d&rsquo;estimateurs <span class=\"arabpsy-math-inline\" data-latex=\"(\\hat{\\beta}_0, \\hat{\\beta}_1)\">$(\\hat{\\beta}_0, \\hat{\\beta}_1)$<\/span> qui minimise la somme des carr\u00e9s des r\u00e9sidus verticaux s\u00e9parant les observations r\u00e9elles des pr\u00e9dictions du mod\u00e8le :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\min_{\\hat{\\beta}_0, \\hat{\\beta}_1} \\sum_{i=1}^{n} (y_i - (\\hat{\\beta}_0 + \\hat{\\beta}_1 x_i))^2\">$$\\min_{\\hat{\\beta}_0, \\hat{\\beta}_1} \\sum_{i=1}^{n} (y_i &#8211; (\\hat{\\beta}_0 + \\hat{\\beta}_1 x_i))^2$$<\/span><\/p>\n<h3>7.2 Impl\u00e9mentation via la biblioth\u00e8que Statsmodels<\/h3>\n<p>L&rsquo;impl\u00e9mentation la plus acad\u00e9mique et exhaustive de la r\u00e9gression lin\u00e9aire sous Python s&rsquo;op\u00e8re via le module <code>statsmodels<\/code>, qui \u00e9mule la richesse analytique de logiciels \u00e9conom\u00e9triques d\u00e9di\u00e9s tels que R ou Stata. Dans l&rsquo;approche par matrice de conception de <code>statsmodels.api<\/code>, il est imp\u00e9ratif d&rsquo;adjoindre manuellement une colonne de constantes unitaires au vecteur explicatif afin d&rsquo;estimer l&rsquo;intercepte <span class=\"arabpsy-math-inline\" data-latex=\"\\beta_0\">$\\beta_0$<\/span>, \u00e0 l&rsquo;aide de la fonction <code>sm.add_constant()<\/code> :<\/p>\n<p><code>X = sm.add_constant(df['hours'])<br \/>\ny = df['score']<br \/>\nmodel = sm.OLS(y, X).fit()<br \/>\nprint(model.summary())<\/code><\/p>\n<p>L&rsquo;affichage renvoy\u00e9 par la m\u00e9thode <code>summary()<\/code> g\u00e9n\u00e8re un rapport statistique de tr\u00e8s haut niveau. L&rsquo;analyste y d\u00e9couvre l&rsquo;estimation pr\u00e9cise des param\u00e8tres : une constante <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_0 \\approx 45.45\">$\\hat{\\beta}_0 \\approx 45.45$<\/span> et une pente marginale <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_1 \\approx 4.67\">$\\hat{\\beta}_1 \\approx 4.67$<\/span>. Cela signifie qu&rsquo;un \u00e9tudiant n&rsquo;ayant effectu\u00e9 aucune heure de r\u00e9vision obtiendrait par d\u00e9faut une note moyenne de base estim\u00e9e \u00e0 45.45 points, et que chaque heure additionnelle d&rsquo;apprentissage se traduit par un gain moyen pr\u00e9dit de 4.67 points \u00e0 l&rsquo;\u00e9valuation finale.<\/p>\n<p>Le tableau rapporte \u00e9galement l&rsquo;erreur standard de chaque coefficient, la statistique t de Student associ\u00e9e (<span class=\"arabpsy-math-inline\" data-latex=\"t \\approx 33.9\">$t \\approx 33.9$<\/span> pour la pente), ainsi que les intervalles de confiance \u00e0 95 % (situ\u00e9s approximativement entre 4.38 et 4.96 points par heure). Le test F de significativit\u00e9 globale du mod\u00e8le rejette sans \u00e9quivoque l&rsquo;hypoth\u00e8se d&rsquo;une pente nulle (<span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 0.001\">$p &lt; 0.001$<\/span>).<\/p>\n<h3>7.3 Approche alternative avec Scikit-Learn<\/h3>\n<p>Dans un contexte d&rsquo;ing\u00e9nierie pr\u00e9dictive orient\u00e9 vers l&rsquo;apprentissage automatique (<em>machine learning<\/em>), la biblioth\u00e8que Scikit-Learn offre une interface standardis\u00e9e ax\u00e9e sur les paradigmes d&rsquo;entra\u00eenement et de g\u00e9n\u00e9ralisation hors-\u00e9chantillon. Bien qu&rsquo;elle n&rsquo;affiche pas par d\u00e9faut la batterie compl\u00e8te des tests d&rsquo;hypoth\u00e8ses et des p-valeurs, elle pr\u00e9sente une structure logicielle particuli\u00e8rement optimis\u00e9e :<\/p>\n<p><code>from sklearn.linear_model import LinearRegression<br \/>\nX_sk = df[['hours']]<br \/>\ny_sk = df['score']<br \/>\nreg = LinearRegression()<br \/>\nreg.fit(X_sk, y_sk)<br \/>\nprint(f\"Pente (coef_) : {reg.coef_[0]:.4f}\")<br \/>\nprint(f\"Intercepte (intercept_) : {reg.intercept_:.4f}\")<\/code><\/p>\n<p>Cette syntaxe confirme rigoureusement les m\u00eames param\u00e8tres num\u00e9riques (<span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_1 = 4.6677\">$\\hat{\\beta}_1 = 4.6677$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_0 = 45.4523\">$\\hat{\\beta}_0 = 45.4523$<\/span>). Scikit-Learn permet en outre de d\u00e9ployer facilement des pipelines d&rsquo;apprentissage int\u00e9grant une validation crois\u00e9e k-fold pour \u00e9prouver la stabilit\u00e9 des estimations face aux r\u00e9\u00e9chantillonnages.<\/p>\n<h3>7.4 Superposition de la droite de r\u00e9gression sur les donn\u00e9es<\/h3>\n<p>Pour clore l&rsquo;ajustement pr\u00e9dictif, la visualisation combin\u00e9e des points empiriques et de la ligne d&rsquo;ajustement optimal s&rsquo;av\u00e8re indispensable. Seaborn fournit pour cela une abstraction de haut niveau particuli\u00e8rement performante avec la fonction <code>sns.regplot()<\/code> :<\/p>\n<p><code>plt.figure(figsize=(9, 6))<br \/>\nsns.regplot(data=df, x='hours', y='score', scatter_kws={'s': 70, 'color': '#1f77b4'}, line_kws={'color': '#d62728', 'linewidth': 2})<br \/>\nplt.title(\"Ajustement de la r\u00e9gression lin\u00e9aire simple (Score vs Heures)\", fontsize=14)<br \/>\nplt.xlabel(\"Volume d'\u00e9tude (heures)\", fontsize=12)<br \/>\nplt.ylabel(\"Score \u00e0 l'\u00e9valuation (0-100)\", fontsize=12)<br \/>\nplt.show()<\/code><\/p>\n<p>Au-del\u00e0 de la trajectoire lin\u00e9aire centrale figur\u00e9e en rouge, <code>regplot<\/code> trace automatiquement par bootstrap ou calcul param\u00e9trique une bande d&rsquo;ombre semi-transparente repr\u00e9sentant l&rsquo;intervalle de confiance \u00e0 95 % de la droite de r\u00e9gression moyenne. La finesse exceptionnelle de ce ruban sur notre graphique illustre la tr\u00e8s grande pr\u00e9cision g\u00e9om\u00e9trique de l&rsquo;ajustement, conf\u00e9rant aux pr\u00e9visions futures une marge d&rsquo;incertitude th\u00e9orique particuli\u00e8rement restreinte.<\/p>\n<h2>8. Analyse bivari\u00e9e pour variables qualitatives : tableau crois\u00e9 et Chi-deux<\/h2>\n<h3>8.1 G\u00e9n\u00e9ration de tables de contingence avec Pandas<\/h3>\n<p>La recherche quantitative ne se cantonne pas aux interactions entre m\u00e9triques continues ; elle doit fr\u00e9quemment explorer des associations reliant des caract\u00e9ristiques cat\u00e9gorielles. Pour transposer notre \u00e9chantillon dans cette configuration, nous pouvons partitionner nos deux variables continues en cat\u00e9gories discr\u00e8tes en faisant appel \u00e0 la fonction <code>pd.cut()<\/code> de Pandas. Segmentons les heures de travail en deux classes d&rsquo;assiduit\u00e9 : \u00ab Faible r\u00e9vision \u00bb (<span class=\"arabpsy-math-inline\" data-latex=\"&lt; 6\">$&lt; 6$<\/span> heures) et \u00ab Haute r\u00e9vision \u00bb (<span class=\"arabpsy-math-inline\" data-latex=\"ge 6\">$ge 6$<\/span> heures). Parall\u00e8lement, scindons les scores en deux niveaux de performance acad\u00e9mique : \u00ab Standard \u00bb (<span class=\"arabpsy-math-inline\" data-latex=\"&lt; 75\">$&lt; 75$<\/span> points) et \u00ab Sup\u00e9rieur \u00bb (<span class=\"arabpsy-math-inline\" data-latex=\"ge 75\">$ge 75$<\/span> points) :<\/p>\n<p><code>df['hours_cat'] = pd.cut(df['hours'], bins=[0, 6, 12], labels=['Faible', 'Haute'], right=False)<br \/>\ndf['score_cat'] = pd.cut(df['score'], bins=[0, 75, 100], labels=['Standard', 'Sup\u00e9rieur'], right=False)<\/code><\/p>\n<p>La structure de croisement bivari\u00e9e est formalis\u00e9e au moyen d&rsquo;une table de contingence via <code>pd.crosstab()<\/code> :<\/p>\n<p><code>contingency_table = pd.crosstab(df['hours_cat'], df['score_cat'])<br \/>\nprint(contingency_table)<\/code><\/p>\n<p>L&rsquo;observation du tableau crois\u00e9 brut indique une polarisation marqu\u00e9e : la quasi-totalit\u00e9 des sujets de la classe \u00ab Faible r\u00e9vision \u00bb se retrouvent dans la cat\u00e9gorie \u00ab Standard \u00bb, tandis que la totalit\u00e9 des membres du groupe \u00ab Haute r\u00e9vision \u00bb acc\u00e8dent \u00e0 la cat\u00e9gorie \u00ab Sup\u00e9rieur \u00bb. L&rsquo;ajout du param\u00e8tre <code>normalize='index'<\/code> ou <code>normalize='columns'<\/code> permet de g\u00e9n\u00e9rer instantan\u00e9ment les profils de pourcentages en ligne ou en colonne, r\u00e9v\u00e9lant qu&rsquo;une forte assiduit\u00e9 s&rsquo;accompagne d&rsquo;un taux de performance sup\u00e9rieure avoisinant les 100 %.<\/p>\n<h3>8.2 Test d&rsquo;ind\u00e9pendance du Chi-deux sous SciPy<\/h3>\n<p>Pour valider formellement si la r\u00e9partition conjointe observ\u00e9e dans la table de contingence s&rsquo;\u00e9carte significativement d&rsquo;une distribution imputable au pur hasard d&rsquo;\u00e9chantillonnage, l&rsquo;analyste d\u00e9ploie le test d&rsquo;ind\u00e9pendance du Chi-deux (<span class=\"arabpsy-math-inline\" data-latex=\"\\chi^2\">$\\chi^2$<\/span>) formul\u00e9 par Karl Pearson. L&rsquo;hypoth\u00e8se nulle (<span class=\"arabpsy-math-inline\" data-latex=\"H_0\">$H_0$<\/span>) postule l&rsquo;ind\u00e9pendance stochastique parfaite entre les deux classifications qualitatives. La statistique de test compare les effectifs observ\u00e9s (<span class=\"arabpsy-math-inline\" data-latex=\"O_{ij}\">$O_{ij}$<\/span>) aux effectifs th\u00e9oriques ou attendus (<span class=\"arabpsy-math-inline\" data-latex=\"E_{ij}\">$E_{ij}$<\/span>) sous hypoth\u00e8se d&rsquo;ind\u00e9pendance, selon la formule :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\chi^2 = \\sum_{i=1}^{r} \\sum_{j=1}^{c} \\frac{(O_{ij} - E_{ij})^2}{E_{ij}}\">$$\\chi^2 = \\sum_{i=1}^{r} \\sum_{j=1}^{c} \\frac{(O_{ij} &#8211; E_{ij})^2}{E_{ij}}$$<\/span><\/p>\n<p>Sous Python, l&rsquo;ex\u00e9cution compl\u00e8te du test est d\u00e9l\u00e9gu\u00e9e \u00e0 la fonction <code>chi2_contingency<\/code> du module <code>scipy.stats<\/code> :<\/p>\n<p><code>chi2, p_val, dof, expected = stats.chi2_contingency(contingency_table, correction=True)<br \/>\nprint(f\"Statistique Chi-deux : {chi2:.4f}\")<br \/>\nprint(f\"P-valeur : {p_val:.4e}\")<br \/>\nprint(f\"Degr\u00e9s de libert\u00e9 : {dof}\")<br \/>\nprint(\"Fr\u00e9quences th\u00e9oriques attendues :n\", expected)<\/code><\/p>\n<p>Sur notre table <span class=\"arabpsy-math-inline\" data-latex=\"2 \\times 2\">$2 \\times 2$<\/span> comptant 1 degr\u00e9 de libert\u00e9 (<span class=\"arabpsy-math-inline\" data-latex=\"(r-1)(c-1) = 1\">$(r-1)(c-1) = 1$<\/span>), la statistique corrig\u00e9e par la continuit\u00e9 de Yates affiche un \u00e9cart tr\u00e8s substantiel par rapport \u00e0 l&rsquo;ind\u00e9pendance (<span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 0.001\">$p &lt; 0.001$<\/span>). N\u00e9anmoins, sur un effectif de seulement 20 \u00e9tudiants, certains effectifs th\u00e9oriques <span class=\"arabpsy-math-inline\" data-latex=\"E_{ij}\">$E_{ij}$<\/span> peuvent descendre en de\u00e7\u00e0 du seuil standard de 5 unit\u00e9s. Dans une telle conjoncture, la prudence acad\u00e9mique incite \u00e0 corroborer le diagnostic par le test exact de Fisher (via <code>scipy.stats.fisher_exact<\/code>), qui s&rsquo;affranchit des approximations asymptotiques du Chi-deux sur petits \u00e9chantillons.<\/p>\n<h3>8.3 Mesure de la taille d&rsquo;effet par le V de Cram\u00e9r<\/h3>\n<p>Tout comme le coefficient de corr\u00e9lation compl\u00e8te le test d&rsquo;hypoth\u00e8se pour deux variables quantitatives, l&rsquo;analyse d&rsquo;une table de contingence ne peut se limiter \u00e0 la p-valeur du Chi-deux ; elle requiert imp\u00e9rativement l&rsquo;estimation d&rsquo;une taille d&rsquo;effet normalis\u00e9e. L&rsquo;indicateur standard est le V de Cram\u00e9r, qui calibre l&rsquo;intensit\u00e9 de la d\u00e9pendance entre 0 (ind\u00e9pendance absolue) et 1 (association parfaite). Sa formulation d\u00e9rive directement de la statistique <span class=\"arabpsy-math-inline\" data-latex=\"\\chi^2\">$\\chi^2$<\/span>, de la taille globale de l&rsquo;\u00e9chantillon <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>, et du nombre minimal de lignes ou colonnes :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"V = \\sqrt{\\frac{\\chi^2}{n \\times \\min(r - 1, c - 1)}}\">$$V = \\sqrt{\\frac{\\chi^2}{n \\times \\min(r &#8211; 1, c &#8211; 1)}}$$<\/span><\/p>\n<p>Bien que SciPy ne propose pas de fonction native d\u00e9di\u00e9e \u00e0 cette m\u00e9trique, son \u00e9criture en syntaxe Python pure s&rsquo;av\u00e8re triviale et concise :<\/p>\n<p><code>def cramers_v(table):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;chi2 = stats.chi2_contingency(table)[0]<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;n = table.sum().sum()<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;phi2 = chi2 \/ n<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;r, k = table.shape<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return np.sqrt(phi2 \/ min(k - 1, r - 1))<\/p>\n<p>v_stat = cramers_v(contingency_table)<br \/>\nprint(f\"V de Cram\u00e9r : {v_stat:.4f}\")<\/code><\/p>\n<p>Pour nos donn\u00e9es discr\u00e9tis\u00e9es, le coefficient renvoie une valeur proche de 0.90. Selon les grilles d&rsquo;\u00e9valuation de Rea et Parker, un V de Cram\u00e9r exc\u00e9dant 0.50 atteste d&rsquo;une relation exceptionnellement forte et d&rsquo;une coh\u00e9sion cat\u00e9gorielle quasi totale entre l&rsquo;investissement d&rsquo;\u00e9tude et le niveau de performance acad\u00e9mique atteint.<\/p>\n<h2>9. Analyse bivari\u00e9e mixte : comparaison de groupes quantitatifs<\/h2>\n<h3>9.1 Segmentation cat\u00e9gorielle et test t de Student<\/h3>\n<p>L&rsquo;analyse bivari\u00e9e mixte correspond \u00e0 la confrontation d&rsquo;une variable qualitative binaire (facteur de groupe \u00e0 deux modalit\u00e9s) avec une variable d\u00e9pendante quantitative continue. Cette configuration correspond typiquement aux protocoles contr\u00f4l\u00e9s o\u00f9 l&rsquo;on compare un groupe exp\u00e9rimental \u00e0 un groupe t\u00e9moin. Pour illustrer cette d\u00e9marche, scindons nos 20 \u00e9tudiants en deux cohortes distinctes sur la base de la m\u00e9diane des heures de r\u00e9vision : le groupe \u00ab Faible r\u00e9vision \u00bb (<span class=\"arabpsy-math-inline\" data-latex=\"n_1 = 10\">$n_1 = 10$<\/span>) et le groupe \u00ab Haute r\u00e9vision \u00bb (<span class=\"arabpsy-math-inline\" data-latex=\"n_2 = 10\">$n_2 = 10$<\/span>). L&rsquo;objectif consiste \u00e0 v\u00e9rifier si la moyenne des scores \u00e0 l&rsquo;examen diff\u00e8re significativement entre ces deux cat\u00e9gories :<\/p>\n<p><code>group_low = df[df['hours'] &lt; df['hours'].median()]['score']<br \/>\ngroup_high = df[df['hours'] &gt;= df['hours'].median()]['score']<\/code><\/p>\n<p>Avant d&rsquo;appliquer le test t de Student standard pour \u00e9chantillons ind\u00e9pendants, il est imp\u00e9ratif de v\u00e9rifier l&rsquo;\u00e9galit\u00e9 des variances intra-groupes (homosc\u00e9dasticit\u00e9). Cette v\u00e9rification s&rsquo;effectue via le test de Levene impl\u00e9ment\u00e9 dans <code>scipy.stats.levene<\/code> :<\/p>\n<p><code>stat_lev, p_lev = stats.levene(group_low, group_high)<br \/>\nprint(f\"Test de Levene p-valeur : {p_lev:.4f}\")<\/code><\/p>\n<p>Si la p-valeur de Levene est sup\u00e9rieure \u00e0 0.05, l&rsquo;hypoth\u00e8se de variances \u00e9gales est accept\u00e9e, et l&rsquo;on applique le test standard via <code>stats.ttest_ind(group_low, group_high, equal_var=True)<\/code>. Dans le cas contraire, ou par pr\u00e9caution m\u00e9thodologique syst\u00e9matique, on applique la correction de Welch en param\u00e9trant <code>equal_var=False<\/code>, qui ajuste les degr\u00e9s de libert\u00e9 sans postuler l&rsquo;homog\u00e9n\u00e9it\u00e9 stricte des variances. Le test renvoie ici un \u00e9cart massif et hautement significatif entre la moyenne du groupe modeste (<span class=\"arabpsy-math-inline\" data-latex=\"M_1 \\approx 62.9\">$M_1 \\approx 62.9$<\/span>) et celle du groupe assidu (<span class=\"arabpsy-math-inline\" data-latex=\"M_2 \\approx 85.8\">$M_2 \\approx 85.8$<\/span>, <span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 10^{-8}\">$p &lt; 10^{-8}$<\/span>).<\/p>\n<h3>9.2 Repr\u00e9sentation visuelle des \u00e9carts inter-groupes<\/h3>\n<p>La transcription visuelle d&rsquo;une relation cat\u00e9goriel-continu requiert des instruments graphiques restituant fid\u00e8lement les contrastes de tendance centrale et de dispersion. La bo\u00eete \u00e0 moustaches (<em>boxplot<\/em>) d\u00e9velopp\u00e9e par John Tukey constitue le standard le plus r\u00e9pandu. Elle mat\u00e9rialise la m\u00e9diane, l&rsquo;\u00e9cart interquartile (IQR) d\u00e9limit\u00e9 par les 25e et 75e centiles, ainsi que les moustaches d\u00e9limitant l&rsquo;\u00e9tendue hors valeurs singuli\u00e8res.<\/p>\n<p>N\u00e9anmoins, la bo\u00eete \u00e0 moustaches peut masquer des particularit\u00e9s de distribution bimodale ou asym\u00e9trique. Pour pallier cette restriction, le chercheur contemporain associe le <em>violinplot<\/em>, qui enrichit le r\u00e9sum\u00e9 par quartiles d&rsquo;une estimation par noyau de la densit\u00e9 de probabilit\u00e9 (<em>Kernel Density Estimation<\/em>, KDE) :<\/p>\n<p><code>fig, axes = plt.subplots(1, 2, figsize=(12, 5))<br \/>\nsns.boxplot(ax=axes[0], data=df, x='hours_cat', y='score', palette='Blues')<br \/>\naxes[0].set_title(\"Distribution des scores par bo\u00eete \u00e0 moustaches\", fontsize=12)<br \/>\nsns.violinplot(ax=axes[1], data=df, x='hours_cat', y='score', palette='Blues', inner='quartile')<br \/>\naxes[1].set_title(\"Densit\u00e9 de distribution par violinplot\", fontsize=12)<br \/>\nplt.tight_layout()<br \/>\nplt.show()<\/code><\/p>\n<p>Cette visualisation synoptique d\u00e9montre sans \u00e9quivoque la s\u00e9paration nette des deux nu\u00e9es : les distributions ne pr\u00e9sentent aucun chevauchement de leurs bo\u00eetes interquartiles respectives, corroborant visuellement la robustesse de la discrimination bivari\u00e9e op\u00e9r\u00e9e par le seuil de r\u00e9vision.<\/p>\n<h3>9.3 Taille d&rsquo;effet associ\u00e9e : le d de Cohen<\/h3>\n<p>Comme pour l&rsquo;ensemble des protocoles quantitatifs, le rejet statistique de l&rsquo;hypoth\u00e8se nulle au moyen du test t doit imp\u00e9rativement s&rsquo;accompagner d&rsquo;une estimation de la taille d&rsquo;effet standardis\u00e9e afin de quantifier la port\u00e9e p\u00e9dagogique ou clinique de la divergence. Pour deux moyennes ind\u00e9pendantes, la m\u00e9trique universelle est le d de Cohen. Le d mesure l&rsquo;\u00e9cart arithm\u00e9tique s\u00e9parant les deux moyennes empiriques, exprim\u00e9 en unit\u00e9s d&rsquo;\u00e9cart-type combin\u00e9 ou pool\u00e9 (<span class=\"arabpsy-math-inline\" data-latex=\"s_p\">$s_p$<\/span>) :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"d = \\frac{\\bar{y}_2 - \\bar{y}_1}{s_p} \\quad \\text{a\\vec} \\quad s_p = \\sqrt{\\frac{(n_1 - 1)s_1^2 + (n_2 - 1)s_2^2}{n_1 + n_2 - 2}}\">$$d = \\frac{\\bar{y}_2 &#8211; \\bar{y}_1}{s_p} \\quad \\text{a\\vec} \\quad s_p = \\sqrt{\\frac{(n_1 &#8211; 1)s_1^2 + (n_2 &#8211; 1)s_2^2}{n_1 + n_2 &#8211; 2}}$$<\/span><\/p>\n<p>L&rsquo;algorithme de calcul sous Python se d\u00e9ploie ais\u00e9ment \u00e0 travers une fonction vectoris\u00e9e exploitant NumPy :<\/p>\n<p><code>def cohen_d(x, y):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;nx, ny = len(x), len(y)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;dof = nx + ny - 2<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;pool_var = ((nx - 1) * np.var(x, ddof=1) + (ny - 1) * np.var(y, ddof=1)) \/ dof<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return (np.mean(y) - np.mean(x)) \/ np.sqrt(pool_var)<\/p>\n<p>d_val = cohen_d(group_low, group_high)<br \/>\nprint(f\"d de Cohen : {d_val:.4f}\")<\/code><\/p>\n<p>L&rsquo;estimation renvoie un d de Cohen sup\u00e9rieur \u00e0 3.5. Sachant que la convention de Cohen qualifie un effet de modeste d\u00e8s 0.20, de moyen \u00e0 0.50 et d&rsquo;\u00e9lev\u00e9 \u00e0 partir de 0.80, une amplitude exc\u00e9dant 3 \u00e9carts-types repr\u00e9sente une magnitude consid\u00e9rable dans le champ des sciences comportementales, attestant d&rsquo;une polarisation fonctionnelle profonde entre les deux cohortes d&rsquo;apprentissage.<\/p>\n<h2>10. Diagnostic approfondi des r\u00e9sidus et validation du mod\u00e8le lin\u00e9aire<\/h2>\n<h3>10.1 V\u00e9rification des postulats gaussiens sur les erreurs<\/h3>\n<p>L&rsquo;ajustement d&rsquo;une r\u00e9gression lin\u00e9aire univari\u00e9e par les moindres carr\u00e9s ordinaires ne peut \u00eatre consid\u00e9r\u00e9 comme d\u00e9finitif sans une phase rigoureuse de diagnostic r\u00e9siduel. Les th\u00e9or\u00e8mes statistiques garantissant l&rsquo;optimalit\u00e9 des estimateurs (th\u00e9or\u00e8me de Gauss-Markov) postulent que les perturbations stochastiques sous-jacentes <span class=\"arabpsy-math-inline\" data-latex=\"\\epsilon_i\">$\\epsilon_i$<\/span> sont ind\u00e9pendantes, identiquement distribu\u00e9es, et suivent une loi normale de moyenne nulle. Les r\u00e9sidus empiriques bruts <span class=\"arabpsy-math-inline\" data-latex=\"e_i = y_i - \\hat{y}_i\">$e_i = y_i &#8211; \\hat{y}_i$<\/span> constituent les estimateurs observables de ces erreurs inobserv\u00e9es.<\/p>\n<p>Pour valider la gaussianit\u00e9 des erreurs, l&rsquo;analyste extrait les r\u00e9sidus standardis\u00e9s du mod\u00e8le estim\u00e9 sous Statsmodels via <code>residuals = model.resid<\/code>. L&rsquo;application du test de Shapiro-Wilk permet de v\u00e9rifier l&rsquo;absence d&rsquo;\u00e9cart syst\u00e9matique par rapport \u00e0 la normalit\u00e9 :<\/p>\n<p><code>sw_stat, sw_pval = stats.shapiro(residuals)<br \/>\nprint(f\"Test de Shapiro-Wilk (p-valeur) : {sw_pval:.4f}\")<\/code><\/p>\n<p>Une p-valeur largement sup\u00e9rieure au seuil d&rsquo;exclusion de 0.05 atteste de la conformit\u00e9 des r\u00e9sidus \u00e0 l&rsquo;hypoth\u00e8se de normalit\u00e9. Cette validation analytique se double d&rsquo;un contr\u00f4le visuel \u00e0 l&rsquo;aide d&rsquo;un diagramme quantile-quantile (Q-Q plot), obtenu par l&rsquo;instruction <code>sm.qqplot(residuals, line='45', fit=True)<\/code>. La disposition harmonieuse des r\u00e9sidus empiriques le long de la bissectrice th\u00e9orique \u00e0 45 degr\u00e9s confirme l&rsquo;absence d&rsquo;asym\u00e9trie marqu\u00e9e ou d&rsquo;\u00e9paississement anormal des queues de distribution.<\/p>\n<h3>10.2 Contr\u00f4le de l&rsquo;homosc\u00e9dasticit\u00e9<\/h3>\n<p>Le second pilier de la validit\u00e9 d&rsquo;une r\u00e9gression repose sur l&rsquo;hypoth\u00e8se d&rsquo;homosc\u00e9dasticit\u00e9, selon laquelle la variance conditionnelle des erreurs demeure strictement constante quel que soit le niveau des valeurs pr\u00e9dites (<span class=\"arabpsy-math-inline\" data-latex=\"\\text{Var}(\\epsilon_i | X_i) = \\sigma^2\">$\\text{Var}(\\epsilon_i | X_i) = \\sigma^2$<\/span>). L&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9, caract\u00e9ris\u00e9e par une dispersion fluctuante des erreurs, ne biaise pas les estimateurs des coefficients de r\u00e9gression, mais d\u00e9truit la validit\u00e9 de leurs erreurs types, rendant caducs les tests de Student, les intervalles de confiance et les p-valeurs aff\u00e9rentes.<\/p>\n<p>La d\u00e9tection graphique s&rsquo;op\u00e8re en tra\u00e7ant le nuage des r\u00e9sidus studentis\u00e9s en fonction des valeurs ajust\u00e9es par le mod\u00e8le (<span class=\"arabpsy-math-inline\" data-latex=\"\\hat{y}_i\">$\\hat{y}_i$<\/span>). La pr\u00e9sence d&rsquo;une figure en \u00e9ventail ou en entonnoir constitue l&rsquo;indice visuel classique d&rsquo;une h\u00e9t\u00e9rosc\u00e9dasticit\u00e9 sous-jacente. Pour objectiver cette \u00e9valuation, Statsmodels fournit l&rsquo;impl\u00e9mentation du test formel de Breusch-Pagan :<\/p>\n<p><code>from statsmodels.stats.diagnostic import het_breuschpagan<br \/>\nbp_test = het_breuschpagan(model.resid, model.model.exog)<br \/>\nprint(f\"P-valeur du test de Breusch-Pagan : {bp_test[1]:.4f}\")<\/code><\/p>\n<p>L&rsquo;obtention d&rsquo;une p-valeur sup\u00e9rieure \u00e0 0.05 conclut \u00e0 l&rsquo;absence d&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9 av\u00e9r\u00e9e. Si une telle violation avait \u00e9t\u00e9 d\u00e9tect\u00e9e, l&rsquo;analyste devrait imp\u00e9rativement recourir \u00e0 l&rsquo;estimation de matrices de covariance robustes \u00e0 l&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9 (telles que les estimateurs sandwich de White ou de Huber-White, activables dans Statsmodels via l&rsquo;argument <code>cov_type='HC3'<\/code>).<\/p>\n<h3>10.3 Identification des points d&rsquo;influence et de levier<\/h3>\n<p>La troisi\u00e8me exigence diagnostique concerne l&rsquo;identification des points singuliers pouvant exercer une influence disproportionn\u00e9e sur l&rsquo;estimation de la pente. Un point peut \u00eatre atypique sans \u00eatre influent, ou inversement exercer un effet de levier massif capable de faire basculer la trajectoire de r\u00e9gression \u00e0 lui seul. L&rsquo;outil quantitatif le plus puissant pour sonder cette influence est la <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Distance_de_Cook\">distance de Cook<\/a> (<span class=\"arabpsy-math-inline\" data-latex=\"D_i\">$D_i$<\/span>), qui mesure le d\u00e9calage quadratique global op\u00e9r\u00e9 sur l&rsquo;ensemble des pr\u00e9dictions du mod\u00e8le lorsque l&rsquo;observation <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span> est exclue du calcul.<\/p>\n<p>Statsmodels offre un objet d\u00e9di\u00e9 \u00e0 l&rsquo;influence permettant d&rsquo;extraire la distance de Cook pour chaque ligne du DataFrame :<\/p>\n<p><code>influence = model.get_influence()<br \/>\ncooks_d = influence.cooks_distance[0]<br \/>\nprint(f\"Distance de Cook maximale observ\u00e9e : {np.max(cooks_d):.4f}\")<\/code><\/p>\n<p>Le seuil critique d&rsquo;alerte couramment admis dans la litt\u00e9rature \u00e9conom\u00e9trique est fix\u00e9 \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"\\frac{4}{n}\">$\\frac{4}{n}$<\/span> (soit <span class=\"arabpsy-math-inline\" data-latex=\"4\/20 = 0.20\">$4\/20 = 0.20$<\/span> pour notre \u00e9chantillon) ou \u00e0 la valeur conservative de 1.0. D\u00e8s lors qu&rsquo;aucune observation n&rsquo;outrepasse ces bornes critiques, l&rsquo;analyste peut certifier que la droite d&rsquo;ajustement refl\u00e8te une r\u00e9gularit\u00e9 structurelle partag\u00e9e par l&rsquo;ensemble de la cohorte, et non une distorsion isol\u00e9e induite par un profil atypique singulier.<\/p>\n<h2>11. \u00c9tude de cas int\u00e9gr\u00e9e pas \u00e0 pas sur le jeu de donn\u00e9es d&rsquo;apprentissage<\/h2>\n<h3>11.1 Pipeline complet d&rsquo;ex\u00e9cution analytique en Python<\/h3>\n<p>Pour asseoir la reproductibilit\u00e9 totale des d\u00e9marches pr\u00e9sent\u00e9es, nous rassemblons l&rsquo;ensemble des briques logiques au sein d&rsquo;un pipeline Python modulaire, propre et automatis\u00e9. Ce script complet structure les flux d&rsquo;ex\u00e9cution s\u00e9quentiels, depuis la d\u00e9claration originelle des structures de donn\u00e9es jusqu&rsquo;\u00e0 l&rsquo;\u00e9dition d&rsquo;un rapport synth\u00e9tique format\u00e9 :<\/p>\n<p><code># 1. D\u00e9claration et pr\u00e9paration de l'\u00e9chantillon empirique<br \/>\nraw_data = {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;'hours': [1.5, 2.0, 2.2, 3.0, 3.5, 4.0, 4.2, 5.0, 5.5, 6.0, 6.5, 7.0, 7.2, 8.0, 8.5, 9.0, 9.2, 10.0, 10.5, 11.0],<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;'score': [52, 55, 58, 60, 62, 65, 64, 70, 72, 75, 76, 80, 81, 85, 87, 88, 90, 94, 95, 98]<br \/>\n}<br \/>\ndf_study = pd.DataFrame(raw_data)<\/p>\n<p># 2. Extraction des statistiques d'association bivari\u00e9e<br \/>\nr_pearson, p_pearson = stats.pearsonr(df_study['hours'], df_study['score'])<br \/>\nrho_spearman, p_spearman = stats.spearmanr(df_study['hours'], df_study['score'])<br \/>\ntau_kendall, p_kendall = stats.kendalltau(df_study['hours'], df_study['score'])<\/p>\n<p># 3. Mod\u00e9lisation univari\u00e9e par les moindres carr\u00e9s ordinaires<br \/>\nX_matrix = sm.add_constant(df_study['hours'])<br \/>\nols_fit = sm.OLS(df_study['score'], X_matrix).fit()<\/p>\n<p># 4. Diagnostic d'homosc\u00e9dasticit\u00e9 et de normalit\u00e9 des r\u00e9sidus<br \/>\nsw_test = stats.shapiro(ols_fit.resid)<br \/>\nbp_test = het_breuschpagan(ols_fit.resid, ols_fit.model.exog)<\/p>\n<p># 5. Rapport textuel de synth\u00e8se analytique<br \/>\nprint(\"=\"*60)<br \/>\nprint(\"RAPPORT SYNTH\u00c9TIQUE DE L'ANALYSE BIVARI\u00c9E\")<br \/>\nprint(\"=\"*60)<br \/>\nprint(f\"Effectif total observ\u00e9 (n) : {len(df_study)}\")<br \/>\nprint(f\"Corr\u00e9lation de Pearson (r) : {r_pearson:.4f} (p-valeur: {p_pearson:.2e})\")<br \/>\nprint(f\"Coefficient de d\u00e9termination (R2) : {ols_fit.rsquared:.4f}\")<br \/>\nprint(f\"Rho de Spearman : {rho_spearman:.4f} | Tau de Kendall : {tau_kendall:.4f}\")<br \/>\nprint(f\"Mod\u00e8le OLS : Score = {ols_fit.params[0]:.2f} + {ols_fit.params[1]:.2f} * Hours\")<br \/>\nprint(f\"Normalit\u00e9 r\u00e9siduelle (Shapiro-Wilk p) : {sw_test.pvalue:.4f}\")<br \/>\nprint(f\"Homosc\u00e9dasticit\u00e9 (Breusch-Pagan p) : {bp_test[1]:.4f}\")<br \/>\nprint(\"=\"*60)<\/code><\/p>\n<h3>11.2 Synth\u00e8se interpr\u00e9tative des r\u00e9sultats sur les vingt \u00e9tudiants<\/h3>\n<p>La mise en regard de ces r\u00e9sultats chiffr\u00e9s dessine un portrait empirique d&rsquo;une rare coh\u00e9rence. L&rsquo;exploration graphique pr\u00e9liminaire avait mis en lumi\u00e8re un alignement rectiligne ascendant sans rupture de courbure. Cette impression qualitative est valid\u00e9e avec force par la triade des coefficients d&rsquo;association : la m\u00e9trique param\u00e9trique de Pearson (<span class=\"arabpsy-math-inline\" data-latex=\"r = 0.9923\">$r = 0.9923$<\/span>) et les m\u00e9triques de rangs de Spearman (<span class=\"arabpsy-math-inline\" data-latex=\"rho = 0.9955\">$rho = 0.9955$<\/span>) et de Kendall (<span class=\"arabpsy-math-inline\" data-latex=\"tau = 0.9787\">$tau = 0.9787$<\/span>) convergent toutes vers le constat d&rsquo;une liaison positive d&rsquo;intensit\u00e9 exceptionnelle.<\/p>\n<p>L&rsquo;estimation de la r\u00e9gression lin\u00e9aire affine notre compr\u00e9hension des m\u00e9canismes sous-jacents en traduisant cette relation abstraite en une formule op\u00e9rationnelle concr\u00e8te. L&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine fixe le point d&rsquo;ancrage basal de la performance cognitive \u00e0 45.45 points. La pente marginale d&rsquo;ajustement (<span class=\"arabpsy-math-inline\" data-latex=\"\\hat{\\beta}_1 = 4.67\">$\\hat{\\beta}_1 = 4.67$<\/span>, <span class=\"arabpsy-math-inline\" data-latex=\"t = 33.91\">$t = 33.91$<\/span>, <span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 0.001\">$p &lt; 0.001$<\/span>) certifie qu&#039;en moyenne, chaque investissement suppl\u00e9mentaire d&#039;une heure de travail hebdomadaire s&#039;accompagne d&#039;une progression lin\u00e9aire attendue de pr\u00e8s de 4.7 points sur l&#039;\u00e9chelle d&#039;examen.<\/p>\n<p>De surcro\u00eet, la batterie de diagnostics confirme la robustesse th\u00e9orique de ces conclusions. La p-valeur du test de Shapiro-Wilk appliqu\u00e9e aux r\u00e9sidus (<span class=\"arabpsy-math-inline\" data-latex=\"p \\approx 0.61\">$p \\approx 0.61$<\/span>) atteste que les \u00e9carts au mod\u00e8le s&rsquo;ajustent parfaitement \u00e0 une loi gaussienne. Parall\u00e8lement, le test de Breusch-Pagan (<span class=\"arabpsy-math-inline\" data-latex=\"p \\approx 0.78\">$p \\approx 0.78$<\/span>) confirme l&rsquo;homosc\u00e9dasticit\u00e9 constante des variances, tandis que l&rsquo;examen des distances de Cook \u00e9carte toute influence perturbatrice d&rsquo;un sujet singulier. Les conditions d&rsquo;inf\u00e9rence statistique sont donc rigoureusement satisfaites.<\/p>\n<h3>11.3 R\u00e9daction acad\u00e9mique des conclusions selon les normes de l&rsquo;APA<\/h3>\n<p>Dans l&rsquo;\u00e9cosyst\u00e8me de la recherche internationale en psychologie et en \u00e9ducation, la restitution des analyses quantitatives est strictement r\u00e9gie par les normes de l&rsquo;<a rel=\"noopener noreferrer\" href=\"https:\/\/apastyle.apa.org\/\">American Psychological Association<\/a> (APA, 7e \u00e9dition). La transcription formelle de nos r\u00e9sultats bivari\u00e9s doit s&rsquo;ins\u00e9rer dans le corps d&rsquo;un article selon un protocole codifi\u00e9 combinant statistiques inf\u00e9rentielles, degr\u00e9s de libert\u00e9 et intervalles de pr\u00e9cision.<\/p>\n<p>Concernant l&rsquo;analyse de corr\u00e9lation, la formulation acad\u00e9mique canonique s&rsquo;\u00e9nonce comme suit :<br \/>\n<em>\u00ab Une corr\u00e9lation produit-moment de Pearson a \u00e9t\u00e9 calcul\u00e9e afin d&rsquo;\u00e9valuer la relation bivari\u00e9e entre le temps consacr\u00e9 \u00e0 la r\u00e9vision et le score obtenu \u00e0 l&rsquo;\u00e9valuation cognitive standardis\u00e9e. Les r\u00e9sultats indiquent une corr\u00e9lation positive forte et statistiquement significative, r(18) = .99, p &lt; .001, 95% IC [.98, .99]. L&rsquo;assiduit\u00e9 horaire explique 98.47 % de la variance globale de la performance acad\u00e9mique. Les analyses non param\u00e9triques corroborent cette observation (rho de Spearman = .99, p &lt; .001 ; tau de Kendall = .98, p &lt; .001). \u00bb<\/em><\/p>\n<p>Pour le volet de la r\u00e9gression lin\u00e9aire univari\u00e9e, le standard de r\u00e9daction impose la formulation suivante :<br \/>\n<em>\u00ab Une r\u00e9gression lin\u00e9aire simple par les moindres carr\u00e9s ordinaires a \u00e9t\u00e9 conduite afin de pr\u00e9dire le score cognitif en fonction des heures d&rsquo;\u00e9tude investies. L&rsquo;\u00e9quation de r\u00e9gression obtenue est statistiquement significative, F(1, 18) = 1150.12, p &lt; .001, avec un R2 de .98. Le volume d&rsquo;\u00e9tude est un pr\u00e9dicteur significatif de la r\u00e9ussite, b = 4.67, SE = 0.14, t(18) = 33.91, p &lt; .001, 95% IC [4.38, 4.96]. Les diagnostics r\u00e9siduels valident la normalit\u00e9 (Shapiro-Wilk W = 0.96, p = .61) et l&rsquo;homosc\u00e9dasticit\u00e9 des perturbations d&rsquo;estimation. \u00bb<\/em><\/p>\n<h2>12. Bonnes pratiques, pi\u00e8ges courants et extensions vers le multivari\u00e9<\/h2>\n<h3>12.1 \u00c9cueils m\u00e9thodologiques fr\u00e9quents en analyse bivari\u00e9e<\/h3>\n<p>L&rsquo;application rigoureuse de l&rsquo;analyse bivari\u00e9e exige de contourner plusieurs pi\u00e8ges conceptuels et informatiques r\u00e9currents. Le premier \u00e9cueil concerne la surinterpr\u00e9tation des p-valeurs sur des \u00e9chantillons de grande envergure. Lorsque la taille <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> franchit plusieurs milliers d&rsquo;individus, la puissance statistique s&rsquo;accro\u00eet \u00e0 un tel degr\u00e9 qu&rsquo;un coefficient de corr\u00e9lation minuscule et p\u00e9dagogiquement insignifiant (par exemple <span class=\"arabpsy-math-inline\" data-latex=\"r = 0.05\">$r = 0.05$<\/span>) deviendra hautement significatif (<span class=\"arabpsy-math-inline\" data-latex=\"p &lt; 0.001\">$p &lt; 0.001$<\/span>). L&#039;analyste doit imp\u00e9rativement subordonner son jugement \u00e0 la taille d&#039;effet et \u00e0 l&#039;intervalle de confiance, et non \u00e0 la seule p-valeur brute.<\/p>\n<p>Un deuxi\u00e8me pi\u00e8ge r\u00e9side dans le ph\u00e9nom\u00e8ne de troncature de l&rsquo;\u00e9tendue (<em>restriction of range<\/em>). Si l&rsquo;investigation est restreinte arbitrairement \u00e0 un sous-groupe homog\u00e8ne (par exemple, analyser la corr\u00e9lation score-heures exclusivement chez les \u00e9tudiants ayant obtenu plus de 90 points), la variabilit\u00e9 observ\u00e9e s&rsquo;effondre artificiellement, ce qui a pour cons\u00e9quence m\u00e9canique de r\u00e9duire drastiquement l&rsquo;amplitude du coefficient de Pearson calcul\u00e9. La corr\u00e9lation r\u00e9elle pr\u00e9sente dans l&rsquo;ensemble de la population m\u00e8re s&rsquo;en trouve s\u00e9v\u00e8rement masqu\u00e9e.<\/p>\n<p>Enfin, l&rsquo;assimilation fallacieuse d&rsquo;une corr\u00e9lation nulle (<span class=\"arabpsy-math-inline\" data-latex=\"r = 0\">$r = 0$<\/span>) \u00e0 une absence totale de relation constitue une b\u00e9vue conceptuelle classique. Comme l&rsquo;illustre le c\u00e9l\u00e8bre <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Quartet_d%27Anscombe\">quartet d&rsquo;Anscombe<\/a>, deux grandeurs unies par une relation quadratique sym\u00e9trique en cloche (courbe en U invers\u00e9, fr\u00e9quente dans la loi de Yerkes-Dodson reliant le stress \u00e0 la performance) pr\u00e9senteront un coefficient de Pearson nul, alors m\u00eame que la pr\u00e9visibilit\u00e9 d&rsquo;un ph\u00e9nom\u00e8ne \u00e0 partir de l&rsquo;autre est absolue. L&rsquo;inspection oculaire du nuage de points demeure le garant irrempla\u00e7able de l&rsquo;int\u00e9grit\u00e9 de la d\u00e9marche.<\/p>\n<h3>12.2 Transition logique vers l&rsquo;analyse multivari\u00e9e<\/h3>\n<p>Bien que l&rsquo;analyse bivari\u00e9e constitue une \u00e9tape diagnostique indispensable, elle r\u00e9v\u00e8le rapidement ses limites intrins\u00e8ques d\u00e8s lors que le ph\u00e9nom\u00e8ne sous observation d\u00e9pend de multiples d\u00e9terminants interconnect\u00e9s. Isoler l&rsquo;influence singuli\u00e8re du volume d&rsquo;\u00e9tude sans prendre en compte des construits latents tels que l&rsquo;intelligence fluide, les connaissances acad\u00e9miques ant\u00e9rieures ou l&rsquo;anxi\u00e9t\u00e9 \u00e9valuative expose l&rsquo;analyste au biais d&rsquo;omission de variables.<\/p>\n<p>La transition conceptuelle s&rsquo;op\u00e8re par l&rsquo;introduction de la corr\u00e9lation partielle, qui quantifie la force du lien reliant deux variables cibles en purgeant math\u00e9matiquement l&rsquo;effet partag\u00e9 d&rsquo;une ou plusieurs variables de contr\u00f4le. Sous Python, cette technique est mise en \u0153uvre de mani\u00e8re performante par la biblioth\u00e8que sp\u00e9cialis\u00e9e <em>Pingouin<\/em> via sa m\u00e9thode <code>pingouin.partial_corr()<\/code>.<\/p>\n<p>L&rsquo;extension naturelle de la mod\u00e9lisation se mat\u00e9rialise ensuite par le d\u00e9ploiement de la r\u00e9gression lin\u00e9aire multiple, o\u00f9 l&rsquo;\u00e9quation structurelle incorpore une multiplicit\u00e9 de pr\u00e9dicteurs :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"Y_i = \\beta_0 + \\beta_1 X_{1i} + \\beta_2 X_{2i} + dots + \\beta_k X_{ki} + \\epsilon_i\">$$Y_i = \\beta_0 + \\beta_1 X_{1i} + \\beta_2 X_{2i} + dots + \\beta_k X_{ki} + \\epsilon_i$$<\/span><\/p>\n<p>Cette approche permet d&rsquo;estimer l&rsquo;effet marginal net de chaque facteur \u00e0 toutes choses \u00e9gales par ailleurs (<em>ceteris paribus<\/em>), contr\u00f4lant ainsi formellement les biais de confusion et ouvrant la voie \u00e0 une analyse pr\u00e9dictive et explicative de haut niveau.<\/p>\n<h3>12.3 Synth\u00e8se m\u00e9thodologique et recommandations finales<\/h3>\n<p>Pour guider l&rsquo;analyste dans le d\u00e9dale des choix m\u00e9thodologiques et op\u00e9rationnels, un processus d\u00e9cisionnel rigoureux peut \u00eatre formalis\u00e9 en quelques r\u00e8gles d&rsquo;or s\u00e9quentielles. Tout protocole empirique doit d\u00e9buter par un contr\u00f4le formel de l&rsquo;int\u00e9grit\u00e9 du jeu de donn\u00e9es (types primitifs, valeurs manquantes, bornes th\u00e9oriques), suivi d&rsquo;une description univari\u00e9e approfondie de chaque m\u00e9trique.<\/p>\n<p>L&rsquo;\u00e9tape ult\u00e9rieure impose syst\u00e9matiquement la visualisation bivari\u00e9e pr\u00e9alable via des graphiques adapt\u00e9s (nuages de points pour le continu, bo\u00eetes \u00e0 moustaches et violoncelles pour le mixte, diagrammes en barres empil\u00e9es pour le qualitatif) afin d&rsquo;auditer la lin\u00e9arit\u00e9, la sym\u00e9trie et les valeurs atypiques. L&rsquo;orientation vers des estimateurs param\u00e9triques (Pearson, Moindres Carr\u00e9s Ordinaires) ou non param\u00e9triques (Spearman, Kendall, Chi-deux) d\u00e9coule directement de la forme distributionnelle et du respect des postulats gaussiens.<\/p>\n<p>Enfin, la recherche scientifique moderne place la reproductibilit\u00e9 au sommet de ses exigences \u00e9thiques. Chaque \u00e9tape de transformation de donn\u00e9es, chaque imputation et chaque test d&rsquo;inf\u00e9rence doit faire l&rsquo;objet d&rsquo;un script Python document\u00e9, transparent et ex\u00e9cutable de bout en bout. La mod\u00e9lisation quantitative n&rsquo;atteint sa v\u00e9ritable noblesse heuristique que lorsqu&rsquo;elle allie la rigueur math\u00e9matique des estimateurs \u00e0 une honn\u00eatet\u00e9 s\u00e9miologique et intellectuelle totale dans l&rsquo;interpr\u00e9tation des r\u00e9sultats.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<p>American Psychological Association. (2020). <em>Publication manual of the American Psychological Association<\/em> (7th ed.). https:\/\/doi.org\/10.1037\/0000165-000<\/p>\n<p>Anscombe, F. J. (1973). Graphs in statistical analysis. <em>The American Statistician<\/em>, 27(1), 17-21. https:\/\/doi.org\/10.1080\/00031305.1973.10478966<\/p>\n<p>Breusch, T. S., &amp; Pagan, A. R. (1979). A simple test for heteroscedasticity and random coefficient variation. <em>Econometrica<\/em>, 47(5), 1287-1294. https:\/\/doi.org\/10.2307\/1911963<\/p>\n<p>Cohen, J. (1988). <em>Statistical power analysis for the behavioral sciences<\/em> (2nd ed.). Lawrence Erlbaum Associates.<\/p>\n<p>Cook, R. D. (1977). Detection of influential observation in linear regression. <em>Technometrics<\/em>, 19(1), 15-18. https:\/\/doi.org\/10.1080\/00401706.1977.10489493<\/p>\n<p>Kendall, M. G. (1938). A new measure of rank correlation. <em>Biometrika<\/em>, 30(1\/2), 81-93. https:\/\/doi.org\/10.1093\/biomet\/30.1-2.81<\/p>\n<p>McKinney, W. (2022). <em>Python for data analysis: Data wrangling with pandas, NumPy, and Jupyter<\/em> (3rd ed.). O&rsquo;Reilly Media.<\/p>\n<p>Pearson, K. (1895). Notes on regression and inheritance in the case of two parents. <em>Proceedings of the Royal Society of London<\/em>, 58, 240-242. https:\/\/doi.org\/10.1098\/rspl.1895.0041<\/p>\n<p>Rea, L. M., &amp; Parker, R. A. (2014). <em>Designing and conducting survey research: A comprehensive guide<\/em> (4th ed.). Jossey-Bass.<\/p>\n<p>Seabold, S., &amp; Perktold, J. (2010). statsmodels: Econometric and statistical modeling with Python. <em>Proceedings of the 9th Python in Science Conference<\/em>, 92-96. https:\/\/doi.org\/10.25080\/Majora-ebaa42b7-011<\/p>\n<p>Shapiro, S. S., &amp; Wilk, M. B. (1965). An analysis of variance test for normality (complete samples). <em>Biometrika<\/em>, 52(3\/4), 591-611. https:\/\/doi.org\/10.1093\/biomet\/52.3-4.591<\/p>\n<p>Spearman, C. (1904). The proof and measurement of association between two things. <em>The American Journal of Psychology<\/em>, 15(1), 72-101. https:\/\/doi.org\/10.2307\/1412159<\/p>\n<p>Stevens, S. S. (1946). On the theory of scales of measurement. <em>Science<\/em>, 103(2684), 677-680. https:\/\/doi.org\/10.1126\/science.103.2684.677<\/p>\n<p>Tufte, E. R. (2001). <em>The visual display of quantitative information<\/em> (2nd ed.). Graphics Press.<\/p>\n<p>Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., \u2026 SciPy 1.0 Contributors. (2020). SciPy 1.0: Fundamental algorithms for scientific computing in Python. <em>Nature Methods<\/em>, 17(3), 261-272. https:\/\/doi.org\/10.1038\/s41592-019-0686-2<\/p>\n<p>Waskom, M. L. (2021). seaborn: statistical data visualization. <em>Journal of Open Source Software<\/em>, 6(60), 3021. https:\/\/doi.org\/10.21105\/joss.03021<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guide complet et rigoureux pour ma\u00eetriser l&rsquo;analyse bivari\u00e9e en Python : nuages de points, corr\u00e9lations et r\u00e9gressions lin\u00e9aires appliqu\u00e9s aux sciences du comportement.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[3104,1881,1838],"tags":[2718,4559,2468,1910,2344],"class_list":["post-7651","psych_stat","type-psych_stat","status-publish","hentry","category-data-science","category-methodologie-de-la-recherche","category-statistiques","tag-analyse-bivariee","tag-correlation","tag-python","tag-regression-lineaire","tag-statistiques"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/7651","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=7651"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/7651\/revisions"}],"predecessor-version":[{"id":7653,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/7651\/revisions\/7653"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}