{"id":9749,"date":"2026-10-14T18:02:32","date_gmt":"2026-10-14T18:02:32","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-effectuer-une-regression-lineaire-simple-en-python-etape-par-etape\/"},"modified":"2026-10-14T18:02:32","modified_gmt":"2026-10-14T18:02:32","slug":"comment-effectuer-une-regression-lineaire-simple-en-python-etape-par-etape","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-effectuer-une-regression-lineaire-simple-en-python-etape-par-etape","title":{"rendered":"Comment effectuer une r\u00e9gression lin\u00e9aire simple en Python (\u00e9tape par \u00e9tape)"},"content":{"rendered":"<p>Dans le champ de l&rsquo;analyse quantitative contemporaine et des sciences des donn\u00e9es, la mod\u00e9lisation statistique constitue le pivot fondamental permettant de transformer des observations brutes en connaissances structur\u00e9es et exploitables. Parmi l&rsquo;\u00e9ventail des m\u00e9thodologies pr\u00e9dictives et inf\u00e9rentielles, la <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9gression_lin%C3%A9aire\">r\u00e9gression lin\u00e9aire simple<\/a> demeure la pierre angulaire absolue, le mod\u00e8le matriciel \u00e0 partir duquel s&rsquo;articulent les architectures algorithmiques les plus sophistiqu\u00e9es. Loin d&rsquo;\u00eatre un simple exercice m\u00e9canique d&rsquo;ajustement g\u00e9om\u00e9trique, cette m\u00e9thode bivari\u00e9e offre un cadre rigoureux pour sonder la nature, l&rsquo;intensit\u00e9 et la significativit\u00e9 math\u00e9matique des associations observ\u00e9es entre deux dimensions quantitatives continues.<\/p>\n<p>L&rsquo;essor des \u00e9cosyst\u00e8mes informatiques modernes, particuli\u00e8rement l&rsquo;av\u00e8nement du langage de programmation <a rel=\"noopener noreferrer\" href=\"https:\/\/www.python.org\/\">Python<\/a> comme standard de facto pour le calcul scientifique, a profond\u00e9ment d\u00e9mocratis\u00e9 et raffin\u00e9 le d\u00e9ploiement de ces mod\u00e8les. \u00c0 l&rsquo;intersection des math\u00e9matiques fondamentales, de l&rsquo;\u00e9conom\u00e9trie et de la psychom\u00e9trie appliqu\u00e9e, l&rsquo;impl\u00e9mentation algorithmique de la r\u00e9gression lin\u00e9aire simple requiert bien plus que la simple ex\u00e9cution d&rsquo;instructions de code isol\u00e9es. Elle exige une ma\u00eetrise syst\u00e9matique de chaque maillon de la cha\u00eene analytique : de l&rsquo;examen minutieux des postulats probabilistes sous-jacents \u00e0 l&rsquo;\u00e9valuation diagnostique des termes d&rsquo;erreur, en passant par la vectorisation des structures de donn\u00e9es et la communication acad\u00e9mique des r\u00e9sultats.<\/p>\n<p>Le pr\u00e9sent trait\u00e9 propose une d\u00e9construction exhaustive, \u00e9tape par \u00e9tape, de la mod\u00e9lisation par r\u00e9gression lin\u00e9aire simple sous Python. En ancrant le propos dans une perspective empirique rigoureuse \u2014 articul\u00e9e autour de l&rsquo;\u00e9valuation des liens entre investissement temporel d&rsquo;apprentissage et performance cognitive \u2014, ce guide d\u00e9taille tant les fondements \u00e9pist\u00e9mologiques et th\u00e9oriques du mod\u00e8le que son instanciation op\u00e9rationnelle \u00e0 l&rsquo;aide des biblioth\u00e8ques scientifiques dominantes, notamment <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:\/\/scikit-learn.org\/\">Scikit-learn<\/a> et <a rel=\"noopener noreferrer\" href=\"https:\/\/www.statsmodels.org\/\">Statsmodels<\/a>. Chaque concept y est diss\u00e9qu\u00e9 avec une exigence formelle absolue, garantissant au chercheur comme au praticien une reproductibilit\u00e9 sans faille et une interpr\u00e9tation exempte de biais m\u00e9thodologiques.<\/p>\n<h2>1. Fondements th\u00e9oriques de la r\u00e9gression lin\u00e9aire simple<\/h2>\n<h3>1.1 D\u00e9finition math\u00e9matique et mod\u00e9lisation bivari\u00e9e<\/h3>\n<p>La r\u00e9gression lin\u00e9aire simple formalise l&rsquo;\u00e9tude de l&rsquo;association univari\u00e9e entre une variable ind\u00e9pendante, conventionnellement not\u00e9e <em>X<\/em> (variable pr\u00e9dictive ou explicative), et une variable d\u00e9pendante continue, not\u00e9e <em>Y<\/em> (variable r\u00e9ponse ou crit\u00e8re). Sur le plan stochastique, le mod\u00e8le postule que pour chaque observation individuelle index\u00e9e par <em>i<\/em> au sein d&rsquo;une population ou d&rsquo;un \u00e9chantillon de taille <em>n<\/em>, la valeur r\u00e9alis\u00e9e <em>y<sub>i<\/sub><\/em> s&rsquo;exprime comme une fonction d\u00e9terministe lin\u00e9aire de <em>x<sub>i<\/sub><\/em>, perturb\u00e9e par une composante al\u00e9atoire non observable. Cette mod\u00e9lisation s&rsquo;\u00e9crit formellement sous la forme :<\/p>\n<p><em>y<sub>i<\/sub> = &beta;<sub>0<\/sub> + &beta;<sub>1<\/sub> x<sub>i<\/sub> + &epsilon;<sub>i<\/sub><\/em><\/p>\n<p>Il est imp\u00e9ratif d&rsquo;\u00e9tablir une distinction \u00e9pist\u00e9mologique stricte entre la corr\u00e9lation lin\u00e9aire observ\u00e9e et l&rsquo;inf\u00e9rence de causalit\u00e9 th\u00e9orique. La r\u00e9gression lin\u00e9aire quantifie la fa\u00e7on dont l&rsquo;esp\u00e9rance conditionnelle de la variable r\u00e9ponse varie en fonction des fluctuations de la variable pr\u00e9dictive, ce qui s&rsquo;\u00e9nonce math\u00e9matiquement par l&rsquo;esp\u00e9rance <em>E(Y|X = x) = &beta;<sub>0<\/sub> + &beta;<sub>1<\/sub>x<\/em>. Toutefois, l&rsquo;existence d&rsquo;une relation math\u00e9matiquement significative ne prouve en aucun cas qu&rsquo;une modification d\u00e9lib\u00e9r\u00e9e de <em>X<\/em> engendre intrins\u00e8quement une variation m\u00e9canique de <em>Y<\/em>. La d\u00e9monstration causale requiert un protocole exp\u00e9rimental rigoureux fond\u00e9 sur la randomisation, ou un cadre quasi-exp\u00e9rimental neutralisant les variables de confusion latentes.<\/p>\n<p>Dans les disciplines empiriques telles que la psychom\u00e9trie et les sciences du comportement, cette mod\u00e9lisation bivari\u00e9e suppose a priori que l&rsquo;appareil cognitif ou comportemental r\u00e9agit de mani\u00e8re proportionnelle \u00e0 l&rsquo;intensit\u00e9 du stimulus ou du facteur mesur\u00e9. Cette hypoth\u00e8se de lin\u00e9arit\u00e9 intrins\u00e8que constitue \u00e0 la fois la puissance et la principale limitation du mod\u00e8le. Face \u00e0 des ph\u00e9nom\u00e8nes dynamiques complexes marqu\u00e9s par des ph\u00e9nom\u00e8nes d&rsquo;hyst\u00e9r\u00e9sis, des saturations cognitives ou des seuils de basculement non lin\u00e9aires, la r\u00e9gression lin\u00e9aire simple impose une approximation de premier ordre qui, bien qu&rsquo;\u00e9l\u00e9gante et parcimonieuse, doit \u00eatre syst\u00e9matiquement confront\u00e9e \u00e0 la r\u00e9alit\u00e9 distributionnelle des donn\u00e9es observ\u00e9es.<\/p>\n<h3>1.2 L&rsquo;\u00e9quation fondamentale : ordonn\u00e9e \u00e0 l&rsquo;origine et coefficient de pente<\/h3>\n<p>Dans le contexte de l&rsquo;estimation sur un \u00e9chantillon empirique, l&rsquo;\u00e9quation fondamentale de la droite d&rsquo;ajustement pr\u00e9dictive s&rsquo;exprime conventionnellement par la formule :<\/p>\n<p><em>\u0177<sub>i<\/sub> = b<sub>0<\/sub> + b<sub>1<\/sub> x<sub>i<\/sub><\/em><\/p>\n<p>o\u00f9 <em>\u0177<sub>i<\/sub><\/em> d\u00e9signe la valeur estim\u00e9e ou pr\u00e9dite pour la <em>i<\/em>-i\u00e8me observation, tandis que <em>b<sub>0<\/sub><\/em> et <em>b<sub>1<\/sub><\/em> repr\u00e9sentent respectivement les estimateurs d&rsquo;\u00e9chantillon des param\u00e8tres populationnels inconnus <em>&beta;<sub>0<\/sub><\/em> (l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine) et <em>&beta;<sub>1<\/sub><\/em> (le coefficient de r\u00e9gression ou pente).<\/p>\n<p>D&rsquo;un point de vue g\u00e9om\u00e9trique, l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine <em>b<sub>0<\/sub><\/em> correspond au point d&rsquo;intersection pr\u00e9cis entre la droite de r\u00e9gression et l&rsquo;axe vertical des ordonn\u00e9es, mat\u00e9rialisant la valeur esp\u00e9r\u00e9e de <em>Y<\/em> lorsque l&rsquo;abscisse <em>X<\/em> est strictement \u00e9gale \u00e0 z\u00e9ro. En termes statistiques, la validit\u00e9 interpr\u00e9tative de ce param\u00e8tre d\u00e9pend \u00e9troitement de la plausibilit\u00e9 th\u00e9orique et de l&rsquo;observabilit\u00e9 empirique d&rsquo;un score nul pour la variable ind\u00e9pendante. Si un niveau nul de <em>X<\/em> se situe hors du champ d&rsquo;observation ou s&rsquo;av\u00e8re d\u00e9pourvu de signification fonctionnelle, l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine joue principalement un r\u00f4le de calage math\u00e9matique pour garantir que la droite traverse le centre de gravit\u00e9 des donn\u00e9es, d\u00e9fini par le point moyen <em>(x\u0304, \u0233)<\/em>.<\/p>\n<p>Le coefficient de pente <em>b<sub>1<\/sub><\/em> incarne le taux de variation marginal attendu. Il quantifie la modification moyenne de l&rsquo;esp\u00e9rance de <em>Y<\/em> cons\u00e9cutive \u00e0 une \u00e9l\u00e9vation d&rsquo;une unit\u00e9 scalaire de la variable explicative <em>X<\/em>. Sur le plan diff\u00e9rentiel, il correspond \u00e0 la d\u00e9riv\u00e9e premi\u00e8re de la fonction de r\u00e9gression par rapport \u00e0 <em>x<\/em>. Enfin, la distance verticale s\u00e9parant chaque point empirique <em>y<sub>i<\/sub><\/em> de son estimation <em>\u0177<sub>i<\/sub><\/em> constitue le r\u00e9sidu observ\u00e9 <em>e<sub>i<\/sub> = y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub><\/em>. Ce r\u00e9sidu mat\u00e9rialise la r\u00e9alisation d&rsquo;un terme d&rsquo;erreur stochastique sous-jacent <em>&epsilon;<sub>i<\/sub><\/em>, capturant l&rsquo;ensemble des perturbations al\u00e9atoires, des impr\u00e9cisions instrumentales de mesure et des influences mineures omises dans la formalisation d\u00e9terministe.<\/p>\n<h3>1.3 Pertinence m\u00e9thodologique en sciences comportementales et psychologie<\/h3>\n<p>La mobilisation de la r\u00e9gression lin\u00e9aire simple au sein des sciences comportementales et de la psychom\u00e9trie s&rsquo;illustre particuli\u00e8rement dans l&rsquo;exploration des liens fondamentaux unissant l&rsquo;investissement temporel \u00e0 la performance acad\u00e9mique ou cognitive. \u00c0 titre d&rsquo;illustration prototypique, l&rsquo;analyse de l&rsquo;impact du temps de r\u00e9vision hebdomadaire (quantifi\u00e9 en heures) sur le score obtenu \u00e0 une \u00e9preuve standardis\u00e9e constitue un cas d&rsquo;\u00e9cole o\u00f9 la formalisation lin\u00e9aire fournit une grille de lecture imm\u00e9diatement interpr\u00e9table tant pour le chercheur que pour le p\u00e9dagogue.<\/p>\n<p>Au-del\u00e0 de cette application acad\u00e9mique courante, l&rsquo;approche permet d&rsquo;examiner avec acuit\u00e9 les r\u00e9ponses d&rsquo;un individu face \u00e0 des tests psychom\u00e9triques \u00e9talonn\u00e9s. Elle permet notamment d&rsquo;isoler des effets tendanciels constants et de discerner si l&rsquo;acquisition de comp\u00e9tences ou la vitesse de traitement de l&rsquo;information progresse selon un incr\u00e9ment arithm\u00e9tique r\u00e9gulier. La standardisation des variables via la normalisation des m\u00e9triques autorise une comparaison rigoureuse des grandeurs d&rsquo;effet, renfor\u00e7ant ainsi la robustesse et la transf\u00e9rabilit\u00e9 des mod\u00e8les pr\u00e9dictifs d&rsquo;une cohorte d&rsquo;\u00e9tude \u00e0 une autre.<\/p>\n<p>Par rapport aux approches non param\u00e9triques ou aux m\u00e9thodes qualitatives par segmentation cat\u00e9gorielle (telles que le d\u00e9coupage arbitraire de variables continues en m\u00e9dianes ou quartiles pour des analyses de variance), la r\u00e9gression lin\u00e9aire simple pr\u00e9serve l&rsquo;int\u00e9gralit\u00e9 de l&rsquo;information m\u00e9trique contenue dans le spectre continu des variables. Elle \u00e9vite l&rsquo;\u00e9cueil majeur de la perte d&rsquo;efficience statistique tout en diminuant substantiellement le risque d&rsquo;erreur d&rsquo;\u00e9chantillonnage de type I ou de type II, conf\u00e9rant ainsi aux conclusions empiriques une validit\u00e9 scientifique consid\u00e9rablement accrue.<\/p>\n<h2>2. Configuration de l&rsquo;environnement Python pour l&rsquo;analyse statistique<\/h2>\n<h3>2.1 Installation et initialisation des biblioth\u00e8ques fondamentales<\/h3>\n<p>L&rsquo;ex\u00e9cution d&rsquo;un protocole statistique sous Python exige une architecture logicielle reposant sur un socle de d\u00e9pendances scientifiques hautement optimis\u00e9es. Au c\u0153ur de cette infrastructure se trouvent les biblioth\u00e8ques <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a> et <a rel=\"noopener noreferrer\" href=\"https:\/\/pandas.pydata.org\/\">Pandas<\/a>. NumPy offre les structures de donn\u00e9es sous-jacentes sous forme de tableaux multidimensionnels homog\u00e8nes, compil\u00e9s en C et Fortran, qui autorisent une vectorisation int\u00e9grale des op\u00e9rations d&rsquo;alg\u00e8bre lin\u00e9aire. Pandas, quant \u00e0 elle, enrichit cette base en fournissant la structure de DataFrame, essentielle pour la manipulation tabulaire de donn\u00e9es h\u00e9t\u00e9rog\u00e8nes, l&rsquo;alignement indiciaire automatique et l&rsquo;ing\u00e9nierie pr\u00e9liminaire des donn\u00e9es.<\/p>\n<p>Pour le volet visuel et l&rsquo;exploration graphique diagnostique, l&rsquo;association de <a rel=\"noopener noreferrer\" href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a> et de <a rel=\"noopener noreferrer\" href=\"https:\/\/seaborn.pydata.org\/\">Seaborn<\/a> s&rsquo;impose comme la r\u00e9f\u00e9rence m\u00e9thodologique. Matplotlib assure un contr\u00f4le granulaire de bas niveau sur l&rsquo;ensemble des \u00e9l\u00e9ments typographiques et g\u00e9om\u00e9triques d&rsquo;une figure, tandis que Seaborn surmonte cette interface pour proposer des abstractions statistiques de haut niveau adapt\u00e9es \u00e0 la restitution graphique des densit\u00e9s, des r\u00e9sidus et des intervalles de confiance.<\/p>\n<p>Afin de pr\u00e9server la parfaite reproductibilit\u00e9 des calculs dans le temps et d&rsquo;\u00e9viter les conflits d&rsquo;environnements, il est fortement pr\u00e9conis\u00e9 d&rsquo;instancier un environnement virtuel d\u00e9di\u00e9 (via <code>venv<\/code> ou <code>conda<\/code>). L&rsquo;initialisation du script d\u00e9bute par l&rsquo;importation ordonn\u00e9e de ces d\u00e9pendances et par le param\u00e9trage explicite du moteur de rendu graphique et du formatage num\u00e9rique :<\/p>\n<p><em>import numpy as np<\/em><br \/>\n<em>import pandas as pd<\/em><br \/>\n<em>import matplotlib.pyplot as plt<\/em><br \/>\n<em>import seaborn as sns<\/em><br \/>\n<em>pd.set_option(&lsquo;display.precision&rsquo;, 4)<\/em><br \/>\n<em>plt.rcParams[&lsquo;font.sans-serif&rsquo;] = &lsquo;DejaVu Sans&rsquo;<\/em><br \/>\n<em>plt.rcParams[&lsquo;axes.edgecolor&rsquo;] = &lsquo;#333333&rsquo;<\/em><\/p>\n<h3>2.2 S\u00e9lection des biblioth\u00e8ques de mod\u00e9lisation : Scikit-learn versus Statsmodels<\/h3>\n<p>Dans l&rsquo;\u00e9cosyst\u00e8me Python, deux paradigmes distincts pr\u00e9sident \u00e0 l&rsquo;impl\u00e9mentation de la r\u00e9gression lin\u00e9aire simple : l&rsquo;approche orient\u00e9e apprentissage automatique incarn\u00e9e par <a rel=\"noopener noreferrer\" href=\"https:\/\/scikit-learn.org\/\">Scikit-learn<\/a>, et l&rsquo;approche inf\u00e9rentielle classique mise en \u0153uvre par <a rel=\"noopener noreferrer\" href=\"https:\/\/www.statsmodels.org\/\">Statsmodels<\/a>. Comprendre leur divergence m\u00e9thodologique est indispensable pour s\u00e9lectionner l&rsquo;outil idoine en fonction des objectifs de la recherche empirique.<\/p>\n<p>Scikit-learn con\u00e7oit la r\u00e9gression principalement sous l&rsquo;angle de la minimisation du risque empirique et de l&rsquo;optimisation des performances pr\u00e9dictives sur des donn\u00e9es non observ\u00e9es. Structur\u00e9e autour du pattern unifi\u00e9 <code>fit-predict<\/code>, l&rsquo;API de Scikit-learn excelle dans l&rsquo;int\u00e9gration au sein de pipelines modulaires, la validation crois\u00e9e automatis\u00e9e et la gestion \u00e0 grande \u00e9chelle des tenseurs de donn\u00e9es. Cependant, cette biblioth\u00e8que fait d\u00e9lib\u00e9r\u00e9ment l&rsquo;impasse sur l&rsquo;\u00e9dition exhaustive des tables d&rsquo;inf\u00e9rence statistique formelle, ne restituant ni erreurs-types des coefficients, ni statistiques de Student, ni p-valeurs associ\u00e9es.<\/p>\n<p>\u00c0 l&rsquo;inverse, Statsmodels a \u00e9t\u00e9 d\u00e9velopp\u00e9e selon les traditions de l&rsquo;\u00e9conom\u00e9trie et de la statistique acad\u00e9mique rigoureuse. Son module d&rsquo;estimation par les moindres carr\u00e9s ordinaires (<code>sm.OLS<\/code>) g\u00e9n\u00e8re nativement un rapport synoptique complet calqu\u00e9 sur les standards des progiciels statistiques sp\u00e9cialis\u00e9s (tels que R, Stata ou SAS). Ce tableau int\u00e8gre les tests d&rsquo;hypoth\u00e8ses unilat\u00e9raux et bilat\u00e9raux, les intervalles de confiance param\u00e9triques, ainsi que les diagnostics formels d&rsquo;ad\u00e9quation globale. D\u00e8s lors, pour un chercheur ax\u00e9 sur l&rsquo;inf\u00e9rence th\u00e9orique et la validation d&rsquo;hypoth\u00e8ses psychom\u00e9triques, Statsmodels constitue le choix prioritaire, tandis que Scikit-learn sera privil\u00e9gi\u00e9 pour l&rsquo;op\u00e9rationnalisation d&rsquo;un syst\u00e8me pr\u00e9dictif p\u00e9renne.<\/p>\n<h3>2.3 Structuration d&rsquo;un notebook pour la recherche reproductible<\/h3>\n<p>La conduite d&rsquo;une recherche quantitative rigoureuse impose une organisation modulaire et s\u00e9quentielle du code source. Un document de travail scientifique sous forme de notebook (ou script analytique document\u00e9) doit \u00eatre segment\u00e9 en unit\u00e9s logiques distinctes \u00e9vitant toute adh\u00e9rence d&rsquo;\u00e9tat cach\u00e9e ou ex\u00e9cution d\u00e9sordonn\u00e9e des cellules interactives. La structure type adopte un sch\u00e9ma lin\u00e9aire rigide : configuration logicielle, instanciation des donn\u00e9es, v\u00e9rification des postulats distributionnels, calage algorithmique, inspection diagnostique des r\u00e9sidus, et synth\u00e8se inf\u00e9rentielle.<\/p>\n<p>La fixation d\u00e9terministe des graines d&rsquo;al\u00e9a (<em>random seed<\/em>) constitue une exigence d\u00e9ontologique indispensable pour garantir la fid\u00e9lit\u00e9 absolue des r\u00e9plications num\u00e9riques ult\u00e9rieures, particuli\u00e8rement lors des \u00e9tapes de partitionnement al\u00e9atoire des observations ou d&rsquo;\u00e9chantillonnage de r\u00e9\u00e9chantillonnage (<em>bootstrap<\/em>). L&rsquo;instruction explicite <code>np.random.seed(42)<\/code> doit \u00eatre ex\u00e9cut\u00e9e en amont de toute manipulation stochastique.<\/p>\n<p>Enfin, l&rsquo;annotation du code doit ob\u00e9ir aux normes internationales de documentation scientifique. Chaque bloc de traitement doit \u00eatre pr\u00e9c\u00e9d\u00e9 d&rsquo;un commentaire explicatif pr\u00e9cisant l&rsquo;intention math\u00e9matique sous-jacente, les unit\u00e9s dimensionnelles manipul\u00e9es et la justification des hyperparam\u00e8tres retenus. Cette tra\u00e7abilit\u00e9 int\u00e9grale garantit l&rsquo;auditabilit\u00e9 par les pairs et l&rsquo;int\u00e9gration fluide des r\u00e9sultats au sein de rapports acad\u00e9miques publiables.<\/p>\n<h2>3. \u00c9tape 1 : Structuration et chargement des donn\u00e9es empiriques<\/h2>\n<h3>3.1 Cr\u00e9ation programmatique du jeu de donn\u00e9es sous Pandas<\/h3>\n<p>Afin d&rsquo;ancrer notre analyse dans un sc\u00e9nario r\u00e9aliste de psychologie de l&rsquo;\u00e9ducation, nous construisons un ensemble de donn\u00e9es empiriques simulant le comportement d&rsquo;une cohorte d&rsquo;\u00e9tudiants pr\u00e9parant une \u00e9valuation sommative standardis\u00e9e. Nous mod\u00e9lisons l&rsquo;effort consenti par le volume d&rsquo;heures consacr\u00e9es aux r\u00e9visions personnelles durant le mois pr\u00e9c\u00e9dant l&rsquo;examen (notre variable ind\u00e9pendante <em>X<\/em>), tandis que la note finale obtenue sur une \u00e9chelle standardis\u00e9e gradu\u00e9e de 0 \u00e0 100 constitue notre variable r\u00e9ponse (<em>Y<\/em>).<\/p>\n<p>Pour instancier ces donn\u00e9es de mani\u00e8re transparente, nous exploitons la structure matricielle de Pandas en cr\u00e9ant un dictionnaire natif converti instantan\u00e9ment en DataFrame. L&rsquo;\u00e9chantillon d&rsquo;entra\u00eenement retenu comprend 30 observations soigneusement \u00e9talonn\u00e9es, refl\u00e9tant une distribution typique de variabilit\u00e9 interindividuelle :<\/p>\n<p><em>data = {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lsquo;Heures_Etude&rsquo;: [2.5, 5.1, 3.2, 8.5, 3.5, 1.5, 9.2, 5.5, 8.3, 2.7, 7.7, 5.9, 4.5, 3.3, 1.1,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.9, 2.5, 1.9, 6.1, 7.4, 2.7, 4.8, 3.8, 6.9, 7.8, 8.1, 4.2, 6.5, 3.0, 5.8],<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lsquo;Note_Examen&rsquo;: [21.0, 47.0, 27.0, 75.0, 30.0, 20.0, 88.0, 60.0, 81.0, 25.0, 85.0, 62.0, 41.0, 42.0, 17.0,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;95.0, 30.0, 24.0, 67.0, 69.0, 30.0, 54.0, 35.0, 76.0, 86.0, 83.0, 45.0, 71.0, 32.0, 65.0]<br \/>\n}<br \/>\ndf = pd.DataFrame(data)<\/em><\/p>\n<p>Une validation technique imm\u00e9diate s&rsquo;op\u00e8re par le contr\u00f4le dimensionnel de la matrice via l&rsquo;attribut <code>df.shape<\/code>, attestant de la pr\u00e9sence exacte des 30 lignes et 2 colonnes sans troncation intempestive.<\/p>\n<h3>3.2 Inspection technique et typage des variables<\/h3>\n<p>Pr\u00e9alablement \u00e0 tout calcul d&rsquo;ajustement lin\u00e9aire, un examen de salubrit\u00e9 technique s&rsquo;impose afin de v\u00e9rifier l&rsquo;int\u00e9grit\u00e9 de la structure matricielle. L&rsquo;ex\u00e9cution de la m\u00e9thode <code>df.info()<\/code> permet de contr\u00f4ler le typage des vecteurs de donn\u00e9es : ceux-ci doivent imp\u00e9rativement \u00eatre instanci\u00e9s sous forme de scalaires \u00e0 virgule flottante (<code>float64<\/code>) ou d&rsquo;entiers (<code>int64<\/code>), toute pr\u00e9sence de cha\u00eenes de caract\u00e8res (<code>object<\/code>) interdisant les op\u00e9rations d&rsquo;alg\u00e8bre sous-jacentes.<\/p>\n<p>L&rsquo;absence rigoureuse de valeurs manquantes (<em>NaN<\/em> ou valeurs nulles) est v\u00e9rifi\u00e9e via l&rsquo;expression analytique <code>df.isnull().sum()<\/code>, laquelle doit retourner un d\u00e9compte nul pour l&rsquo;ensemble des colonnes. La m\u00e9thode <code>df.describe()<\/code> fournit quant \u00e0 elle un aper\u00e7u exhaustif des indicateurs de position et de dispersion :<\/p>\n<ul>\n<li>Moyenne arithm\u00e9tique et \u00e9cart-type de l&rsquo;investissement temporel (refl\u00e9tant l&rsquo;amplitude de l&rsquo;effort consenti au sein de la cohorte).<\/li>\n<li>Minimum, maximum et fractiles de la variable crit\u00e8re d&rsquo;examen.<\/li>\n<\/ul>\n<p>Sur le plan de l&rsquo;inf\u00e9rence statistique, la taille de l&rsquo;\u00e9chantillon (<em>n<\/em> = 30) repr\u00e9sente un seuil conventionnel classique en recherche comportementale pr\u00e9liminaire. Bien qu&rsquo;elle autorise l&rsquo;application du th\u00e9or\u00e8me central limite pour l&rsquo;approximation asymptotique sous certaines conditions, elle requiert une vigilance accrue quant \u00e0 la pr\u00e9servation des degr\u00e9s de libert\u00e9 et \u00e0 la sensibilit\u00e9 accrue de l&rsquo;ajustement face \u00e0 d&rsquo;\u00e9ventuelles valeurs aberrantes.<\/p>\n<h3>3.3 Documentation contextuelle des variables psychom\u00e9triques<\/h3>\n<p>L&rsquo;op\u00e9rationnalisation des variables doit \u00eatre rigoureusement document\u00e9e afin de d\u00e9limiter la port\u00e9e \u00e9cologique des conclusions d\u00e9gag\u00e9es par l&rsquo;outil statistique. La variable explicative, d\u00e9nomm\u00e9e <code>Heures_Etude<\/code>, mat\u00e9rialise le temps chronom\u00e9trique auto-rapport\u00e9 par l&rsquo;\u00e9tudiant, consolid\u00e9 par le suivi hebdomadaire via des journaux d&rsquo;apprentissage num\u00e9riques standardis\u00e9s. Cette approche m\u00e9trique r\u00e9duit le biais de rappel mn\u00e9sique tout en quantifiant une exposition temporelle effective \u00e0 la t\u00e2che cognitive d&rsquo;assimilation.<\/p>\n<p>La variable r\u00e9ponse, intitul\u00e9e <code>Note_Examen<\/code>, d\u00e9coule d&rsquo;une \u00e9preuve d&rsquo;\u00e9valuation sommative crit\u00e9ri\u00e9e, con\u00e7ue selon les principes de la th\u00e9orie classique des tests psychom\u00e9triques. L&rsquo;\u00e9preuve comprend des items \u00e0 choix multiples \u00e0 forte discrimination ainsi que des questions ouvertes standardis\u00e9es, garantissant un indice de fid\u00e9lit\u00e9 composite \u00e9lev\u00e9 (sup\u00e9rieur aux standards usuels de coh\u00e9rence interne mesur\u00e9s par le coefficient alpha de Cronbach).<\/p>\n<p>Le chercheur doit n\u00e9anmoins garder \u00e0 l&rsquo;esprit les sources d&rsquo;artefacts inh\u00e9rentes au recueil de ces donn\u00e9es empiriques : le ph\u00e9nom\u00e8ne de d\u00e9sirabilit\u00e9 sociale susceptible d&rsquo;induire une l\u00e9g\u00e8re surestimation des heures d\u00e9clar\u00e9es chez les apprenants en difficult\u00e9, ou encore l&rsquo;existence de plafonds docimologiques artificiels (effet de saturation \u00e0 100 points) pouvant alt\u00e9rer la stricte lin\u00e9arit\u00e9 aux bornes sup\u00e9rieures de l&rsquo;\u00e9chelle d&rsquo;\u00e9valuation.<\/p>\n<h2>4. \u00c9tape 2 : Exploration visuelle et diagnostic descriptif initial<\/h2>\n<h3>4.1 Construction du diagramme de dispersion (Scatter Plot)<\/h3>\n<p>L&rsquo;exploration visuelle constitue l&rsquo;\u00e9tape liminaire obligatoire de toute mod\u00e9lisation statistique rigoureuse. L&rsquo;intuition math\u00e9matique ne peut s&rsquo;affranchir d&rsquo;un examen direct de la morphologie du nuage de points au moyen d&rsquo;un diagramme de dispersion bivari\u00e9. Cet examen permet d&rsquo;appr\u00e9cier la pertinence empirique de postuler un sch\u00e9ma d&rsquo;ajustement lin\u00e9aire avant toute sollicitation d&rsquo;algorithmes d&rsquo;estimation.<\/p>\n<p>\u00c0 cette fin, nous mobilisons conjointement l&rsquo;infrastructure graphique de Matplotlib et de Seaborn pour g\u00e9n\u00e9rer une repr\u00e9sentation de niveau publication. L&rsquo;attribution des axes ob\u00e9it aux conventions canoniques : l&rsquo;abscisse accueille la variable exog\u00e8ne <em>X<\/em> (<code>Heures_Etude<\/code>), tandis que l&rsquo;axe ordonn\u00e9 supporte la variable endog\u00e8ne <em>Y<\/em> (<code>Note_Examen<\/code>).<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/simpleRegPython1-1.png\" alt=\"Scatterplot in Python\" \/><figcaption>Scatterplot in Python<\/figcaption><\/figure>\n<p>Le code d&rsquo;impl\u00e9mentation graphique garantit une lisibilit\u00e9 maximale par le calibrage des dimensions de la figure, l&rsquo;ajustement de la transparence des marqueurs (param\u00e8tre <em>alpha<\/em>) et l&rsquo;application d&rsquo;un maillage en arri\u00e8re-plan :<\/p>\n<p><em>fig, ax = plt.subplots(figsize=(8, 5), dpi=300)<\/em><br \/>\n<em>sns.scatterplot(x=&rsquo;Heures_Etude&rsquo;, y=&rsquo;Note_Examen&rsquo;, data=df, color=&rsquo;#1f77b4&prime;, s=60, alpha=0.85, edgecolor=&rsquo;black&rsquo;, ax=ax)<\/em><br \/>\n<em>ax.set_title(\u00ab\u00a0Distribution empirique : Heures d&rsquo;\u00e9tude versus Note d&rsquo;examen\u00a0\u00bb, fontsize=12, fontweight=&rsquo;bold&rsquo;, pad=12)<\/em><br \/>\n<em>ax.set_xlabel(\u00ab\u00a0Volume hebdomadaire de r\u00e9vision (heures)\u00a0\u00bb, fontsize=10)<\/em><br \/>\n<em>ax.set_ylabel(\u00ab\u00a0Score standardis\u00e9 obtenu (\/100)\u00a0\u00bb, fontsize=10)<\/em><br \/>\n<em>ax.grid(True, linestyle=&rsquo;&#8211;&lsquo;, alpha=0.5)<\/em><br \/>\n<em>plt.tight_layout()<\/em><br \/>\n<em>plt.show()<\/em><\/p>\n<p>L&rsquo;observation visuelle imm\u00e9diate met en lumi\u00e8re une configuration ascendante monotone hautement coh\u00e9rente, sugg\u00e9rant qu&rsquo;un accroissement r\u00e9gulier des heures de travail s&rsquo;accompagne d&rsquo;une progression proportionnelle des scores d&rsquo;examen.<\/p>\n<h3>4.2 Rep\u00e9rage pr\u00e9liminaire des anomalies et valeurs atypiques<\/h3>\n<p>Avant d&rsquo;ajuster une droite par minimisation des r\u00e9sidus au carr\u00e9, il est capital de scruter le nuage de points \u00e0 la recherche de donn\u00e9es discordantes ou de valeurs aberrantes (<em>outliers<\/em>). En r\u00e9gression lin\u00e9aire, un point atypique peut alt\u00e9rer substantiellement la trajectoire de la droite s&rsquo;il combine une valeur r\u00e9siduelle \u00e9lev\u00e9e et une position extr\u00eame sur l&rsquo;axe des abscisses (point \u00e0 fort levier).<\/p>\n<p>Sur le plan m\u00e9thodologique, il convient d&rsquo;op\u00e9rer une distinction formelle entre une erreur d&rsquo;encodage instrumental (par exemple, la saisie erron\u00e9e de 92 heures au lieu de 9.2 heures) et un cas extr\u00eame \u00e9cologiquement valide (tel un individu brillant obtenant un score parfait avec un temps d&rsquo;\u00e9tude restreint, ou un \u00e9tudiant atypique bloqu\u00e9 par une anxi\u00e9t\u00e9 majeure de performance). Pour diagnostiquer ces \u00e9carts univari\u00e9s pr\u00e9liminaires, l&rsquo;usage de bo\u00eetes \u00e0 moustaches (<em>boxplots<\/em>) standardis\u00e9es sur chaque dimension offre un rep\u00e9rage robuste bas\u00e9 sur l&rsquo;\u00e9cart interquartile (IQR).<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/simpleRegPython2-1.png\" alt=\"Boxplot in Python\" \/><figcaption>Boxplot in Python<\/figcaption><\/figure>\n<p>Dans notre ensemble empirique, la distribution des deux vecteurs s&rsquo;inscrit pleinement dans les limites admissibles fix\u00e9es par la r\u00e8gle de Tukey (1.5 &times; IQR au-del\u00e0 des quartiles <em>Q1<\/em> et <em>Q3<\/em>). Aucun profil ne pr\u00e9sente de d\u00e9viation pathologique manifeste susceptible de biaiser d&#8217;embl\u00e9e le calcul de la covariance d&rsquo;\u00e9chantillon.<\/p>\n<h3>4.3 Quantification du coefficient de corr\u00e9lation lin\u00e9aire de Pearson<\/h3>\n<p>La confirmation quantitative de l&rsquo;association visuelle d\u00e9cel\u00e9e sur le diagramme de dispersion s&rsquo;\u00e9tablit par l&rsquo;estimation du coefficient de corr\u00e9lation lin\u00e9aire de Bravais-Pearson, conventionnellement d\u00e9sign\u00e9 par la lettre <em>r<\/em>. Cet indicateur adimensionnel mesure le degr\u00e9 de co-variation lin\u00e9aire entre deux variables continues selon la formule de normalisation de la covariance empirique par le produit de leurs \u00e9carts-types respectifs :<\/p>\n<p><em>r = Cov(X, Y) \/ (s<sub>X<\/sub> &middot; s<sub>Y<\/sub>) = [&sum; (x<sub>i<\/sub> &#8211; x\u0304)(y<sub>i<\/sub> &#8211; \u0233)] \/ [ &radic;(&sum; (x<sub>i<\/sub> &#8211; x\u0304)<sup>2<\/sup>) &middot; &radic;(&sum; (y<sub>i<\/sub> &#8211; \u0233)<sup>2<\/sup>) ]<\/em><\/p>\n<p>Sous Pandas, le calcul s&rsquo;effectue instantan\u00e9ment au travers de la m\u00e9thode d\u00e9di\u00e9e appliqu\u00e9e au DataFrame :<\/p>\n<p><em>correlation_matrix = df.corr(method=&rsquo;pearson&rsquo;)<\/em><br \/>\n<em>r_val = correlation_matrix.loc[&lsquo;Heures_Etude&rsquo;, &lsquo;Note_Examen&rsquo;]<\/em><\/p>\n<p>Dans notre application empirique, l&rsquo;ex\u00e9cution renvoie une valeur de <em>r<\/em> approximativement \u00e9gale \u00e0 0.976. Cette magnitude, tr\u00e8s proche de la borne sup\u00e9rieure th\u00e9orique de +1.0, atteste d&rsquo;une corr\u00e9lation positive quasi-parfaite selon les grilles de classification psychom\u00e9triques \u00e9tablies (par exemple celle de Cohen). Cependant, une mise en garde s&rsquo;impose : le coefficient de Pearson ne constitue aucunement une \u00e9quation fonctionnelle d&rsquo;ajustement. Il quantifie la force et la direction de l&rsquo;association lin\u00e9aire, mais demeure incapable de fournir un taux de conversion unitaire direct permettant d&rsquo;estimer ponctuellement la note attendue en fonction d&rsquo;un nombre sp\u00e9cifique d&rsquo;heures investies.<\/p>\n<h2>5. \u00c9tape 3 : V\u00e9rification formelle des postulats statistiques de Gauss-Markov<\/h2>\n<h3>5.1 Lin\u00e9arit\u00e9 de la relation sous-jacente<\/h3>\n<p>La validit\u00e9 math\u00e9matique et les propri\u00e9t\u00e9s d&rsquo;optimalit\u00e9 des estimateurs des moindres carr\u00e9s ordinaires reposent sur le respect scrupuleux d&rsquo;un ensemble de conditions th\u00e9oriques regroup\u00e9es sous le nom de <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/Th%C3%A9or%C3%A8me_de_Gauss-Markov\">th\u00e9or\u00e8me de Gauss-Markov<\/a>. Le premier et le plus fondamental de ces postulats stipule que la forme fonctionnelle reliant l&rsquo;esp\u00e9rance math\u00e9matique conditionnelle de la variable d\u00e9pendante \u00e0 la variable explicative est strictement lin\u00e9aire dans ses param\u00e8tres.<\/p>\n<p>Cette condition signifie que l&rsquo;effet marginal de <em>X<\/em> sur <em>Y<\/em> est invariant sur l&rsquo;ensemble de l&rsquo;\u00e9tendue de l&rsquo;\u00e9chelle d&rsquo;observation. En pr\u00e9sence d&rsquo;un ph\u00e9nom\u00e8ne de saturation cognitive (courbure logarithmique o\u00f9 chaque heure suppl\u00e9mentaire rapporte progressivement moins de points) ou d&rsquo;un emballement exponentiel, la mod\u00e9lisation par une droite unique introduit un biais structurel irr\u00e9m\u00e9diable de sp\u00e9cification. Les estimateurs r\u00e9sultants cessent d&rsquo;\u00eatre convergents et sans biais, faussant l&rsquo;ensemble des inf\u00e9rences ult\u00e9rieures.<\/p>\n<p>Dans notre cas d&rsquo;\u00e9tude, l&rsquo;inspection pr\u00e9liminaire du diagramme de dispersion n&rsquo;indique aucune inflexion g\u00e9om\u00e9trique notoire ni structure d&rsquo;allure polynomiale ou sinuso\u00efdale. Le mod\u00e8le lin\u00e9aire de premier ordre appara\u00eet donc parfaitement adapt\u00e9 pour saisir la dynamique du ph\u00e9nom\u00e8ne sous \u00e9tude sans for\u00e7age algorithmique.<\/p>\n<h3>5.2 Normalit\u00e9 de la distribution des donn\u00e9es et des r\u00e9sidus<\/h3>\n<p>S&rsquo;il est th\u00e9oriquement exact que l&rsquo;estimation ponctuelle sans biais des param\u00e8tres par les moindres carr\u00e9s ordinaires ne requiert pas formellement l&rsquo;hypoth\u00e8se de normalit\u00e9, cette derni\u00e8re devient indispensable d\u00e8s lors que l&rsquo;on souhaite r\u00e9aliser des tests d&rsquo;hypoth\u00e8ses statistiques (tests <em>t<\/em> de Student et test <em>F<\/em> de Fisher) ou construire des intervalles de confiance exacts pour des \u00e9chantillons de taille finie. La distribution th\u00e9orique des estimateurs n&rsquo;adopte rigoureusement une loi de Student que si le terme d&rsquo;erreur sous-jacent <em>&epsilon;<\/em> suit lui-m\u00eame une loi normale de moyenne nulle et de variance &sigma;<sup>2<\/sup> : <em>&epsilon; ~ N(0, &sigma;<sup>2<\/sup>)<\/em>.<\/p>\n<p>Pour \u00e9valuer rigoureusement la normalit\u00e9 univari\u00e9e de la distribution de nos variables, nous sollicitons le test inf\u00e9rentiel formel de Shapiro-Wilk, largement reconnu pour sa grande puissance statistique face aux \u00e9chantillons mod\u00e9r\u00e9s (<em>n<\/em> &lt; 50). Le test s&rsquo;impl\u00e9mente \u00e0 l&rsquo;aide du module <code>scipy.stats<\/code> :<\/p>\n<p><em>from scipy import stats<\/em><br \/>\n<em>stat_x, p_val_x = stats.shapiro(df[&lsquo;Heures_Etude&rsquo;])<\/em><br \/>\n<em>stat_y, p_val_y = stats.shapiro(df[&lsquo;Note_Examen&rsquo;])<\/em><\/p>\n<p>L&rsquo;observation de p-valeurs largement sup\u00e9rieures au seuil de significativit\u00e9 conventionnel (&alpha; = 0.05) confirme l&rsquo;absence de d\u00e9viation asym\u00e9trique ou d&rsquo;aplatissement pathologique. Si une violation s\u00e9v\u00e8re avait \u00e9t\u00e9 constat\u00e9e, des strat\u00e9gies de transformation de puissance (transformation logarithmique, racine carr\u00e9e ou approche de Box-Cox) auraient d\u00fb \u00eatre appliqu\u00e9es pour normaliser les distributions avant toute mod\u00e9lisation lin\u00e9aire standard.<\/p>\n<h3>5.3 Homosc\u00e9dasticit\u00e9 et ind\u00e9pendance des mesures<\/h3>\n<p>Le troisi\u00e8me postulat fondamental de Gauss-Markov exige l&rsquo;homosc\u00e9dasticit\u00e9 des termes d&rsquo;erreur, c&rsquo;est-\u00e0-dire la constance de leur variance conditionnelle pour toutes les valeurs de la variable explicative :<\/p>\n<p><em>Var(&epsilon;<sub>i<\/sub> | X = x<sub>i<\/sub>) = &sigma;<sup>2<\/sup>, &forall; i<\/em><\/p>\n<p>Lorsque cette hypoth\u00e8se est viol\u00e9e, la variance des erreurs fluctue en fonction de <em>X<\/em> (ph\u00e9nom\u00e8ne d&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9). Typiquement, dans le contexte \u00e9ducatif, cela se traduirait par une dispersion beaucoup plus grande des notes d&rsquo;examen chez les \u00e9tudiants r\u00e9visant intensivement que chez ceux ne r\u00e9visant pas du tout. En cas d&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9, bien que les coefficients de r\u00e9gression demeurent sans biais, l&rsquo;estimation de leur \u00e9cart-type devient invalide, entra\u00eenant une sous-estimation syst\u00e9matique des erreurs-types et, par cons\u00e9quent, une inflation critique du risque de d\u00e9clarer un r\u00e9sultat faussement significatif.<\/p>\n<p>Enfin, l&rsquo;ind\u00e9pendance mutuelle des observations implique que la covariance entre deux erreurs stochastiques quelconques soit rigoureusement nulle : <em>Cov(&epsilon;<sub>i<\/sub>, &epsilon;<sub>j<\/sub>) = 0, &forall; i &ne; j<\/em>. Cette hypoth\u00e8se exclut toute autocorr\u00e9lation s\u00e9rielle (souvent pr\u00e9sente dans les s\u00e9ries temporelles longitudinales) ainsi que tout effet de grappe non mod\u00e9lis\u00e9 (par exemple, des \u00e9tudiants issus d&rsquo;une m\u00eame classe partageant un enseignant commun). Notre jeu de donn\u00e9es empirique reposant sur un \u00e9chantillonnage al\u00e9atoire simple d&rsquo;individus ind\u00e9pendants au sein de multiples fili\u00e8res, cette condition d&rsquo;ind\u00e9pendance structurelle se trouve pleinement satisfaite.<\/p>\n<h2>6. \u00c9tape 4 : Pr\u00e9paration et mise en forme des tenseurs de donn\u00e9es<\/h2>\n<h3>6.1 Extraction et vectorisation des variables explicatives et r\u00e9ponses<\/h3>\n<p>Le passage de la structure tabulaire de Pandas vers les algorithmes de calcul matriciel requiert une mise en forme dimensionnelle rigoureuse des variables. En particulier, l&rsquo;API de Scikit-learn impose une convention d&rsquo;interface stricte et invariable : la matrice des caract\u00e9ristiques explicatives (not\u00e9e <em>X<\/em>) doit imp\u00e9rativement poss\u00e9der une structure bidimensionnelle de dimension <em>(n_\u00e9chantillons, n_caract\u00e9ristiques)<\/em>, tandis que le vecteur cible (not\u00e9 <em>y<\/em>) est g\u00e9n\u00e9ralement attendu sous une forme unidimensionnelle de taille <em>(n_\u00e9chantillons,)<\/em>.<\/p>\n<p>Une erreur fr\u00e9quente chez les praticiens consiste \u00e0 extraire la variable explicative sous forme d&rsquo;une simple <code>Series<\/code> Pandas unidimensionnelle, ce qui d\u00e9clenche in\u00e9vitablement une lev\u00e9e d&rsquo;exception (<em>ValueError<\/em>) lors de l&rsquo;ex\u00e9cution de la m\u00e9thode d&rsquo;ajustement. Pour s&rsquo;y conformer \u00e9l\u00e9gamment, deux approches programmatiques \u00e9quivalentes sont pr\u00e9conis\u00e9es sous Python :<\/p>\n<p><em># Approche 1 : S\u00e9lection par double crochets sous Pandas (conserve la nature 2D du DataFrame)<\/em><br \/>\n<em>X = df[[&lsquo;Heures_Etude&rsquo;]]<\/em><br \/>\n<em>y = df[&lsquo;Note_Examen&rsquo;]<\/em><\/p>\n<p><em># Approche 2 : Extraction du tableau NumPy sous-jacent et redimensionnement matriciel explicite<\/em><br \/>\n<em>X_array = df[&lsquo;Heures_Etude&rsquo;].values.reshape(-1, 1)<\/em><br \/>\n<em>y_array = df[&lsquo;Note_Examen&rsquo;].values<\/em><\/p>\n<p>L&rsquo;instruction <code>.reshape(-1, 1)<\/code> indique explicitement au solveur matriciel de contraindre le tenseur dans une disposition \u00e0 une colonne unique tout en calculant automatiquement la taille de la premi\u00e8re dimension \u00e0 partir de la longueur du vecteur. L&rsquo;inspection des dimensions via <code>X.shape<\/code> renvoie <code>(30, 1)<\/code> et <code>y.shape<\/code> renvoie <code>(30,)<\/code>, validant l&rsquo;ad\u00e9quation formelle des structures de donn\u00e9es avant leur transmission au mod\u00e8le.<\/p>\n<h3>6.2 Strat\u00e9gie de partitionnement entre jeu d&rsquo;entra\u00eenement et jeu de test<\/h3>\n<p>En apprentissage automatique et en mod\u00e9lisation pr\u00e9dictive, l&rsquo;\u00e9valuation de la performance d&rsquo;un estimateur ne doit jamais \u00eatre effectu\u00e9e exclusivement sur les donn\u00e9es ayant servi \u00e0 son ajustement, sous peine d&rsquo;induire un optimisme d&rsquo;apprentissage trompeur (surapprentissage ou <em>overfitting<\/em>). La validation rigoureuse de la capacit\u00e9 de g\u00e9n\u00e9ralisation d&rsquo;un mod\u00e8le impose la segmentation pr\u00e9alable de la base empirique en deux sous-ensembles mutuellement exclusifs :<\/p>\n<ul>\n<li>Le jeu d&rsquo;entra\u00eenement (<em>training set<\/em>), destin\u00e9 \u00e0 la r\u00e9solution analytique des param\u00e8tres optimaux <em>b<sub>0<\/sub><\/em> et <em>b<sub>1<\/sub><\/em>.<\/li>\n<li>Le jeu de test (<em>test set<\/em>), tenu strictement \u00e0 l&rsquo;\u00e9cart durant la phase d&rsquo;apprentissage, et r\u00e9serv\u00e9 \u00e0 l&rsquo;audit objectif des \u00e9carts d&rsquo;estimation sur des observations totalement in\u00e9dites.<\/li>\n<\/ul>\n<p>La fonction <code>train_test_split<\/code> du module <code>sklearn.model_selection<\/code> mat\u00e9rialise cette scission stochastique en assurant un brassage al\u00e9atoire contr\u00f4l\u00e9 :<\/p>\n<p><em>from sklearn.model_selection import train_test_split<\/em><br \/>\n<em>X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)<\/em><\/p>\n<p>Dans ce protocole, la proportion allou\u00e9e au jeu de test est fix\u00e9e \u00e0 20% (soit 6 observations de validation pour 24 observations allou\u00e9es \u00e0 l&rsquo;apprentissage). Pour des \u00e9chantillons de taille modeste, le choix du ratio de scission repr\u00e9sente un arbitrage m\u00e9thodologique d\u00e9licat : un jeu d&rsquo;entra\u00eenement trop restreint p\u00e9nalise la pr\u00e9cision d&rsquo;estimation des coefficients, tandis qu&rsquo;un jeu de test sous-dimensionn\u00e9 accro\u00eet la variance de l&rsquo;estimation de l&rsquo;erreur de g\u00e9n\u00e9ralisation. La fixation syst\u00e9matique du param\u00e8tre <code>random_state=42<\/code> verrouille la partition et garantit l&rsquo;exacte reproductibilit\u00e9 de la r\u00e9partition d&rsquo;une session de calcul \u00e0 l&rsquo;autre.<\/p>\n<h2>7. \u00c9tape 5 : Ajustement du mod\u00e8le par la m\u00e9thode des moindres carr\u00e9s ordinaires<\/h2>\n<h3>7.1 M\u00e9canisme math\u00e9matique de la minimisation de la somme des r\u00e9sidus au carr\u00e9<\/h3>\n<p>Le calage de la droite de r\u00e9gression repose sur le principe de la m\u00e9thode des <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/M%C3%A9thode_des_moindres_carr%C3%A9s\">moindres carr\u00e9s ordinaires<\/a> (MCO), dont la formalisation remonte aux travaux pionniers de Carl Friedrich Gauss et d&rsquo;Adrien-Marie Legendre. Le probl\u00e8me consiste \u00e0 identifier l&rsquo;unique couple de valeurs r\u00e9elles <em>(b<sub>0<\/sub>, b<sub>1<\/sub>)<\/em> qui minimise la somme des r\u00e9sidus quadratiques (not\u00e9e <em>SSR<\/em> pour <em>Sum of Squared Residuals<\/em>) :<\/p>\n<p><em>S(b<sub>0<\/sub>, b<sub>1<\/sub>) = &sum;<sub>i=1<\/sub><sup>n<\/sup> e<sub>i<\/sub><sup>2<\/sup> = &sum;<sub>i=1<\/sub><sup>n<\/sup> (y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub>)<sup>2<\/sup> = &sum;<sub>i=1<\/sub><sup>n<\/sup> (y<sub>i<\/sub> &#8211; (b<sub>0<\/sub> + b<sub>1<\/sub> x<sub>i<\/sub>))<sup>2<\/sup><\/em><\/p>\n<p>Le choix de minimiser le carr\u00e9 des distances verticales \u2014 plut\u00f4t que leur valeur absolue \u2014 pr\u00e9sente des propri\u00e9t\u00e9s analytiques fondamentales : d&rsquo;une part, il conf\u00e8re \u00e0 la fonction de co\u00fbt une forme strictement convexe diff\u00e9rentiable en tout point ; d&rsquo;autre part, il p\u00e9nalise de fa\u00e7on disproportionn\u00e9e les erreurs de grande amplitude, assurant un contr\u00f4le accru des \u00e9carts majeurs. En annulant les d\u00e9riv\u00e9es partielles de cette fonction par rapport \u00e0 <em>b<sub>0<\/sub><\/em> et <em>b<sub>1<\/sub><\/em> (syst\u00e8me des \u00e9quations normales), on d\u00e9rive les expressions analytiques explicites :<\/p>\n<p><em>b<sub>1<\/sub> = [&sum; (x<sub>i<\/sub> &#8211; x\u0304)(y<sub>i<\/sub> &#8211; \u0233)] \/ [&sum; (x<sub>i<\/sub> &#8211; x\u0304)<sup>2<\/sup>] = Cov(X, Y) \/ Var(X)<\/em><br \/>\n<em>b<sub>0<\/sub> = \u0233 &#8211; b<sub>1<\/sub> x\u0304<\/em><\/p>\n<p>En vertu du th\u00e9or\u00e8me de Gauss-Markov, lorsque les postulats d&rsquo;esp\u00e9rance nulle, d&rsquo;homosc\u00e9dasticit\u00e9 et d&rsquo;absence d&rsquo;autocorr\u00e9lation sont satisfaits, ces estimateurs sont dits <strong>BLUE<\/strong> (<em>Best Linear Unbiased Estimators<\/em>), ce qui certifie qu&rsquo;au sein de la classe int\u00e9grale des estimateurs lin\u00e9aires et sans biais, les estimateurs des MCO poss\u00e8dent la variance minimale absolue.<\/p>\n<h3>7.2 Impl\u00e9mentation pratique via Scikit-learn<\/h3>\n<p>La mise en \u0153uvre algorithmique sous Scikit-learn s&rsquo;ex\u00e9cute avec une remarquable fluidit\u00e9 gr\u00e2ce \u00e0 la classe <code>LinearRegression<\/code> issue du sous-module <code>sklearn.linear_model<\/code>. En interne, cette classe ne r\u00e9sout pas le syst\u00e8me par une descente de gradient stochastique it\u00e9rative, mais par une factorisation exacte en valeurs singuli\u00e8res (SVD) de la matrice des variables ind\u00e9pendantes, garantissant une stabilit\u00e9 num\u00e9rique maximale et une convergence instantan\u00e9e.<\/p>\n<p>Le code d&rsquo;instanciation, d&rsquo;entra\u00eenement et d&rsquo;extraction des param\u00e8tres s&rsquo;organise selon la syntaxe suivante :<\/p>\n<p><em>from sklearn.linear_model import LinearRegression<\/em><br \/>\n<em>modele_sk = LinearRegression(fit_intercept=True)<\/em><br \/>\n<em>modele_sk.fit(X_train, y_train)<\/em><br \/>\n<em>b0_sk = modele_sk.intercept_<\/em><br \/>\n<em>b1_sk = modele_sk.coef_[0]<\/em><\/p>\n<p>L&rsquo;argument <code>fit_intercept=True<\/code> ordonne explicitement au mod\u00e8le d&rsquo;estimer la composante constante <em>b<sub>0<\/sub><\/em> (recommand\u00e9 dans l&rsquo;immense majorit\u00e9 des applications comportementales afin de ne pas contraindre arbitrairement la droite \u00e0 passer par l&rsquo;origine). D\u00e8s la fin de l&rsquo;ex\u00e9cution de la m\u00e9thode <code>fit<\/code>, les param\u00e8tres optimaux sont stock\u00e9s dans les attributs d&rsquo;objet suffix\u00e9s par un tiret bas, pr\u00eats pour les phases subs\u00e9quentes d&rsquo;inf\u00e9rence et d&rsquo;audit pr\u00e9dictif.<\/p>\n<h3>7.3 Mod\u00e9lisation comparative avec Statsmodels<\/h3>\n<p>Bien que Scikit-learn r\u00e9solve parfaitement le calcul des coefficients, la v\u00e9rification approfondie des hypoth\u00e8ses inf\u00e9rentielles b\u00e9n\u00e9ficie grandement de l&rsquo;approche mise en \u0153uvre par Statsmodels. Dans cette biblioth\u00e8que, la formulation math\u00e9matique est totalement explicite : l&rsquo;algorithme n&rsquo;int\u00e8gre pas d&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine par d\u00e9faut. Il est d\u00e8s lors indispensable d&rsquo;adjoindre pr\u00e9alablement une colonne unitaire (un vecteur de 1) \u00e0 la matrice des caract\u00e9ristiques au moyen de la commande <code>sm.add_constant<\/code>.<\/p>\n<p>L&rsquo;impl\u00e9mentation comparative s&rsquo;ex\u00e9cute ainsi :<\/p>\n<p><em>import statsmodels.api as sm<\/em><br \/>\n<em>X_train_cst = sm.add_constant(X_train)<\/em><br \/>\n<em>modele_sm = sm.OLS(y_train, X_train_cst).fit()<\/em><br \/>\n<em>print(modele_sm.summary())<\/em><\/p>\n<p>L&rsquo;appel \u00e0 la m\u00e9thode <code>summary()<\/code> g\u00e9n\u00e8re instantan\u00e9ment un tableau d&rsquo;une richesse analytique exceptionnelle, ventil\u00e9 en trois volets canoniques :<\/p>\n<ul>\n<li>En-t\u00eate structurel renseignant la m\u00e9thode d&rsquo;estimation, la taille de l&rsquo;\u00e9chantillon, le nombre de degr\u00e9s de libert\u00e9 r\u00e9siduels et la fonction de log-vraisemblance.<\/li>\n<li>Tableau central des param\u00e8tres listant les coefficients estim\u00e9s, leurs erreurs-types d&rsquo;\u00e9chantillonnage, la statistique empirique de Student <em>t<\/em>, la p-valeur associ\u00e9e <em>P &gt; |t|<\/em>, et les bornes de l&rsquo;intervalle de confiance \u00e0 95%.<\/li>\n<li>Section diagnostique inf\u00e9rieure fournissant les tests formels d&rsquo;Omnibus et de Jarque-Bera (normalit\u00e9 des r\u00e9sidus), de Durbin-Watson (autocorr\u00e9lation r\u00e9siduelle), ainsi que l&rsquo;indice de conditionnement matriciel (d\u00e9tection de singularit\u00e9).<\/li>\n<\/ul>\n<h2>8. \u00c9tape 6 : Extraction et interpr\u00e9tation acad\u00e9mique des coefficients<\/h2>\n<h3>8.1 Interpr\u00e9tation quantitative de l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine (b0)<\/h3>\n<p>Sur l&rsquo;\u00e9chantillon d&rsquo;apprentissage mobilis\u00e9 dans notre exp\u00e9rimentation, l&rsquo;ex\u00e9cution du solveur fournit pour l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine une valeur approximative de <em>b<sub>0<\/sub> = 2.85<\/em>. Sur le plan purement g\u00e9om\u00e9trique, cela indique que la projection de la droite coupe l&rsquo;axe vertical au point d&rsquo;ordonn\u00e9e 2.85 lorsque la variable <code>Heures_Etude<\/code> est rigoureusement \u00e9gale \u00e0 z\u00e9ro.<\/p>\n<p>En termes de psychom\u00e9trie et de docimologie appliqu\u00e9e, l&rsquo;interpr\u00e9tation acad\u00e9mique de cette constante est limpide : elle quantifie le score d&rsquo;examen conditionnel pr\u00e9dit pour un apprenant qui se pr\u00e9senterait \u00e0 l&rsquo;\u00e9preuve sans avoir consacr\u00e9 la moindre heure de travail personnel pr\u00e9paratoire. Cette valeur de base traduit un niveau de performance initial r\u00e9siduel, pouvant d\u00e9couler de comp\u00e9tences cognitives pr\u00e9existantes, d&rsquo;une assimilation passive durant les enseignements magistraux ou de la probabilit\u00e9 de succ\u00e8s stochastique attach\u00e9e aux questions ferm\u00e9es.<\/p>\n<p>Toutefois, la prudence m\u00e9thodologique s&rsquo;impose si la valeur z\u00e9ro est absente du domaine empirique explor\u00e9. Lorsque l&rsquo;intervalle d&rsquo;observation ne contient pas le z\u00e9ro (par exemple si tous les sujets ont \u00e9tudi\u00e9 entre 10 et 40 heures), l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine devient une pure extrapolation alg\u00e9brique d\u00e9nu\u00e9e de validit\u00e9 \u00e9cologique. Dans une telle situation, la pratique du <em>centrage sur la moyenne<\/em> \u2014 consistant \u00e0 substituer \u00e0 la variable <em>X<\/em> la variable centr\u00e9e <em>X &#8211; X\u0304<\/em> \u2014 permet de convertir l&rsquo;ordonn\u00e9e \u00e0 l&rsquo;origine en un param\u00e8tre directement interpr\u00e9table : la performance moyenne attendue d&rsquo;un individu situ\u00e9 exactement \u00e0 la moyenne de l&rsquo;\u00e9chantillon.<\/p>\n<h3>8.2 Analyse de la pente de r\u00e9gression (b1)<\/h3>\n<p>L&rsquo;estimation num\u00e9rique du coefficient directeur fournit pour notre mod\u00e8le une pente de <em>b<sub>1<\/sub> = 9.80<\/em>. Ce param\u00e8tre constitue le c\u0153ur fonctionnel de notre analyse d&rsquo;association, quantifiant la magnitude de l&rsquo;impact direct de la variable pr\u00e9dictive sur le r\u00e9sultat acad\u00e9mique.<\/p>\n<p>Sur le plan interpr\u00e9tatif, cette valeur signifie que pour chaque heure suppl\u00e9mentaire consacr\u00e9e aux r\u00e9visions, la note obtenue \u00e0 l&rsquo;\u00e9valuation standardis\u00e9e augmente en moyenne de 9.80 points (soit une progression proche d&rsquo;un dixi\u00e8me de l&rsquo;\u00e9chelle d&rsquo;\u00e9valuation globale). Le signe strictement positif du coefficient corrobore sans ambigu\u00eft\u00e9 l&rsquo;hypoth\u00e8se th\u00e9orique de recherche selon laquelle l&rsquo;effort d&rsquo;\u00e9tude d\u00e9ploie un effet b\u00e9n\u00e9fique mesurable sur l&rsquo;acquisition et la restitution des apprentissages.<\/p>\n<p>Il importe de distinguer rigoureusement la pertinence statistique de ce param\u00e8tre de sa pertinence clinique, \u00e9ducative ou pratique. Un coefficient peut \u00eatre hautement significatif sur le plan probabiliste tout en traduisant un gain marginal si minime qu&rsquo;il ne justifie aucun investissement op\u00e9rationnel. Dans le cas pr\u00e9sent, un gain moyen avoisinant 10 points par heure d&rsquo;apprentissage hebdomadaire repr\u00e9sente une taille d&rsquo;effet substantielle, confortant la valeur p\u00e9dagogique d&rsquo;encourager formellement l&rsquo;extension du temps d&rsquo;\u00e9tude structur\u00e9 chez les apprenants.<\/p>\n<h3>8.3 Test d&rsquo;hypoth\u00e8se et significativit\u00e9 statistique des param\u00e8tres<\/h3>\n<p>Pour attester que l&rsquo;effet marginal observ\u00e9 <em>b<sub>1<\/sub><\/em> n&rsquo;est pas un artefact imputable aux fluctuations d&rsquo;\u00e9chantillonnage, il est n\u00e9cessaire de soumettre ce param\u00e8tre \u00e0 un test d&rsquo;hypoth\u00e8se bilat\u00e9ral formel. L&rsquo;hypoth\u00e8se nulle (not\u00e9e <em>H<sub>0<\/sub><\/em>) postule l&rsquo;absence totale d&rsquo;association lin\u00e9aire dans la population globale, ce qui s&rsquo;exprime math\u00e9matiquement par <em>&beta;<sub>1<\/sub> = 0<\/em>. L&rsquo;hypoth\u00e8se alternative (<em>H<sub>1<\/sub><\/em>) affirme quant \u00e0 elle la pr\u00e9sence d&rsquo;une relation lin\u00e9aire non nulle : <em>&beta;<sub>1<\/sub> &ne; 0<\/em>.<\/p>\n<p>L&rsquo;\u00e9valuation s&rsquo;appuie sur le ratio de Student entre l&rsquo;estimateur ponctuel et son erreur-type estim\u00e9e (<em>Standard Error<\/em>, not\u00e9e <em>SE<\/em>) :<\/p>\n<p><em>t = (b<sub>1<\/sub> &#8211; 0) \/ SE(b<sub>1<\/sub>)<\/em><\/p>\n<p>L&rsquo;erreur-type <em>SE(b<sub>1<\/sub>)<\/em> quantifie la variabilit\u00e9 d&rsquo;\u00e9chantillonnage de l&rsquo;estimateur au travers d&rsquo;\u00e9chantillons r\u00e9p\u00e9t\u00e9s issus de la m\u00eame population parente :<\/p>\n<p><em>SE(b<sub>1<\/sub>) = s<sub>e<\/sub> \/ &radic;[&sum; (x<sub>i<\/sub> &#8211; x\u0304)<sup>2<\/sup>]<\/em><\/p>\n<p>o\u00f9 <em>s<sub>e<\/sub><\/em> repr\u00e9sente l&rsquo;\u00e9cart-type r\u00e9siduel. Dans notre sortie Statsmodels, la statistique calcul\u00e9e atteint <em>t = 20.8<\/em> pour 22 degr\u00e9s de libert\u00e9 r\u00e9siduels (<em>n &#8211; 2<\/em>), ce qui est associ\u00e9 \u00e0 une p-valeur infinit\u00e9simale (not\u00e9e conventionnellement <em>p &lt; 0.001<\/em>). \u00c9tant tr\u00e8s largement en-de\u00e7\u00e0 du seuil critique standard (&alpha; = 0.05), nous rejetons cat\u00e9goriquement l&rsquo;hypoth\u00e8se nulle d&rsquo;invariance.<\/p>\n<p>Parall\u00e8lement, l&rsquo;intervalle de confiance \u00e0 95% encadre le v\u00e9ritable param\u00e8tre populationnel <em>&beta;<sub>1<\/sub><\/em> entre 8.82 et 10.77. Le fait que cet intervalle exclue strictement la valeur z\u00e9ro confirme avec un degr\u00e9 de certitude probabiliste \u00e9lev\u00e9 que l&rsquo;association observ\u00e9e refl\u00e8te une dynamique robuste dans la population cible.<\/p>\n<h2>9. \u00c9tape 7 : \u00c9valuation globale de la qualit\u00e9 d&rsquo;ajustement du mod\u00e8le<\/h2>\n<h3>9.1 Le coefficient de d\u00e9termination (R\u00b2)<\/h3>\n<p>L&rsquo;\u00e9valuation de la performance explicative globale d&rsquo;un mod\u00e8le lin\u00e9aire repose sur la d\u00e9composition de la somme totale des carr\u00e9s (<em>SST<\/em> pour <em>Total Sum of Squares<\/em>). La dispersion totale de la variable r\u00e9ponse autour de sa moyenne empirique se partitionne arithm\u00e9tiquement en deux composantes orthogonales mutuellement exclusives :<\/p>\n<p><em>SST = SSR + SSE<\/em><\/p>\n<p>o\u00f9 <em>SSR<\/em> repr\u00e9sente la variance captur\u00e9e et expliqu\u00e9e par la droite de r\u00e9gression (<em>Regression Sum of Squares<\/em>), et <em>SSE<\/em> la variance inexpliqu\u00e9e imputable aux r\u00e9sidus stochastiques (<em>Error Sum of Squares<\/em>). Le coefficient de d\u00e9termination, universellement d\u00e9sign\u00e9 par le symbole <em>R\u00b2<\/em>, s&rsquo;exprime comme la proportion de la variance totale imputable \u00e0 la covariation lin\u00e9aire avec la variable pr\u00e9dictive :<\/p>\n<p><em>R\u00b2 = SSR \/ SST = 1 &#8211; (SSE \/ SST)<\/em><\/p>\n<p>Sous Scikit-learn, la m\u00e9thode <code>score<\/code> fournit directement cette m\u00e9trique, tout comme le tableau r\u00e9capitulatif de Statsmodels :<\/p>\n<p><em>r2_train = modele_sk.score(X_train, y_train)<\/em><br \/>\n<em>r2_test = modele_sk.score(X_test, y_test)<\/em><\/p>\n<p>Sur notre jeu d&rsquo;apprentissage, le mod\u00e8le atteint un score remarquable de <em>R\u00b2 = 0.952<\/em>. Cela d\u00e9montre que 95.2% de la variance interindividuelle des notes d&rsquo;examen au sein de la cohorte est directement explicable par le volume d&rsquo;heures consacr\u00e9es aux r\u00e9visions. Il importe toutefois de se pr\u00e9munir d&rsquo;une confiance aveugle envers un <em>R\u00b2<\/em> \u00e9lev\u00e9 : cet indice ne garantit en rien la validit\u00e9 des hypoth\u00e8ses distributionnelles et peut masquer des distorsions structurelles majeures si l&rsquo;analyse ne s&rsquo;accompagne pas d&rsquo;un examen r\u00e9siduel approfondi.<\/p>\n<h3>9.2 Mesures de l&rsquo;erreur d&rsquo;estimation : MSE, RMSE et MAE<\/h3>\n<p>Bien que le <em>R\u00b2<\/em> fournisse une m\u00e9trique normalis\u00e9e relative, les imp\u00e9ratifs de la recherche quantitative imposent de compl\u00e9ter cette mesure par des indicateurs dimensionnels exprim\u00e9s dans l&rsquo;unit\u00e9 m\u00e9trique r\u00e9elle de la variable \u00e9tudi\u00e9e (ici, les points d&rsquo;examen). Le sous-module <code>sklearn.metrics<\/code> propose une batterie d&rsquo;estimateurs rigoureux :<\/p>\n<p><em>from sklearn.metrics import mean_squared_error, mean_absolute_error<\/em><br \/>\n<em>y_pred_test = modele_sk.predict(X_test)<\/em><br \/>\n<em>mse = mean_squared_error(y_test, y_pred_test)<\/em><br \/>\n<em>rmse = np.sqrt(mse)<\/em><br \/>\n<em>mae = mean_absolute_error(y_test, y_pred_test)<\/em><\/p>\n<p>L&rsquo;erreur quadratique moyenne (<strong>MSE<\/strong>) correspond \u00e0 la moyenne empirique des r\u00e9sidus \u00e9lev\u00e9s au carr\u00e9. En \u00e9levant les erreurs \u00e0 la puissance deux, cette fonction amplifie consid\u00e9rablement le poids relatif des \u00e9carts pr\u00e9dictifs importants. La racine de l&rsquo;erreur quadratique moyenne (<strong>RMSE<\/strong>) r\u00e9tablit l&rsquo;\u00e9chelle d&rsquo;origine en prenant la racine carr\u00e9e du MSE ; elle quantifie la d\u00e9viation type typique d&rsquo;une pr\u00e9diction individuelle autour de sa valeur r\u00e9alis\u00e9e. Dans notre calibration sur le jeu de test, nous observons une <em>RMSE<\/em> d&rsquo;environ 4.9 points.<\/p>\n<p>L&rsquo;erreur absolue moyenne (<strong>MAE<\/strong>) calcule la moyenne des \u00e9carts arithm\u00e9tiques bruts <em>|y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub>|<\/em>. Elle offre une mesure robuste et moins sensible aux observations extr\u00eames, permettant d&rsquo;affirmer que pour un nouvel apprenant, le mod\u00e8le se trompe en moyenne d&rsquo;environ 4.1 points. La convergence \u00e9troite entre la RMSE et la MAE t\u00e9moigne d&rsquo;une grande stabilit\u00e9 du mod\u00e8le et confirme l&rsquo;absence de r\u00e9sidus extr\u00eames perturbateurs au sein du sous-ensemble de validation.<\/p>\n<h3>9.3 Le test global de Fisher (Statistique F)<\/h3>\n<p>Dans le cadre d&rsquo;une mod\u00e9lisation lin\u00e9aire simple comportant un unique pr\u00e9dicteur, le test global de Fisher-Snedecor (statistique <em>F<\/em>) \u00e9value si le mod\u00e8le global apporte une am\u00e9lioration statistiquement significative de l&rsquo;ajustement comparativement \u00e0 un mod\u00e8le nul restreint \u00e0 la seule moyenne empirique <em>\u0233<\/em>. L&rsquo;hypoth\u00e8se nulle s&rsquo;\u00e9nonce : <em>H<sub>0<\/sub> : &beta;<sub>1<\/sub> = 0<\/em>.<\/p>\n<p>La statistique <em>F<\/em> est d\u00e9finie par le quotient du carr\u00e9 moyen de la r\u00e9gression sur le carr\u00e9 moyen de l&rsquo;erreur r\u00e9siduelle, pond\u00e9r\u00e9 par leurs degr\u00e9s de libert\u00e9 respectifs :<\/p>\n<p><em>F = (SSR \/ 1) \/ (SSE \/ (n &#8211; 2)) = MSR \/ MSE<\/em><\/p>\n<p>Sous Statsmodels, cette valeur appara\u00eet dans l&rsquo;en-t\u00eate sup\u00e9rieur sous l&rsquo;intitul\u00e9 <code>F-statistic<\/code>, assortie de sa probabilit\u00e9 critique <code>Prob (F-statistic)<\/code>. Dans le cas strict de la r\u00e9gression bivari\u00e9e univari\u00e9e, il existe une \u00e9quivalence math\u00e9matique exacte entre le test <em>t<\/em> de Student du coefficient de pente et le test global <em>F<\/em> :<\/p>\n<p><em>F = t<sup>2<\/sup><\/em><\/p>\n<p>L&rsquo;obtention d&rsquo;une statistique <em>F<\/em> atteignant 434.6 (dont la racine carr\u00e9e reproduit rigoureusement le <em>t<\/em> de 20.8) confirme \u00e0 un niveau de confiance sup\u00e9rieur \u00e0 99.9% la sup\u00e9riorit\u00e9 statistique \u00e9crasante du mod\u00e8le ajust\u00e9 sur l&rsquo;utilisation brute de la moyenne comme r\u00e9f\u00e9rence pr\u00e9dictive.<\/p>\n<h2>10. \u00c9tape 8 : Diagnostic visuel et num\u00e9rique approfondi des r\u00e9sidus<\/h2>\n<h3>10.1 Extraction et calcul des \u00e9carts r\u00e9siduels<\/h3>\n<p>Un mod\u00e8le de r\u00e9gression lin\u00e9aire ne saurait \u00eatre consid\u00e9r\u00e9 comme valid\u00e9 sans une analyse minutieuse de ses r\u00e9sidus d&rsquo;estimation. Les r\u00e9sidus ne repr\u00e9sentent pas de simples d\u00e9chets de calcul ; ils constituent le miroir fid\u00e8le des postulats th\u00e9oriques du mod\u00e8le. Si le mod\u00e8le est correctement sp\u00e9cifi\u00e9 et que les hypoth\u00e8ses de Gauss-Markov sont honor\u00e9es, les r\u00e9sidus observ\u00e9s doivent se comporter comme un bruit blanc stochastique d\u00e9nu\u00e9 de tout r\u00e9sidu d&rsquo;information exploitable.<\/p>\n<p>Nous proc\u00e9dons \u00e0 l&rsquo;extraction syst\u00e9matique des r\u00e9sidus d&rsquo;entra\u00eenement en soustrayant le vecteur des projections <em>\u0177<\/em> aux valeurs observ\u00e9es r\u00e9elles <em>y<\/em>. Afin de faciliter les comparaisons entre \u00e9chelles, nous calculons \u00e9galement les r\u00e9sidus standardis\u00e9s (r\u00e9sidus bruts divis\u00e9s par leur \u00e9cart-type r\u00e9siduel empirique) :<\/p>\n<p><em>residuals = y_train &#8211; modele_sk.predict(X_train)<\/em><br \/>\n<em>std_residuals = (residuals &#8211; residuals.mean()) \/ residuals.std()<\/em><br \/>\n<em>df_train_diag = X_train.copy()<\/em><br \/>\n<em>df_train_diag[&lsquo;Note_Reelle&rsquo;] = y_train<\/em><br \/>\n<em>df_train_diag[&lsquo;Note_Predite&rsquo;] = modele_sk.predict(X_train)<\/em><br \/>\n<em>df_train_diag[&lsquo;Residus&rsquo;] = residuals<\/em><br \/>\n<em>df_train_diag[&lsquo;Residus_Std&rsquo;] = std_residuals<\/em><\/p>\n<p>Cette structuration permet d&rsquo;indexer chaque individu \u00e0 son r\u00e9sidu associ\u00e9 pour des investigations cibl\u00e9es.<\/p>\n<h3>10.2 Graphique des r\u00e9sidus par rapport aux valeurs pr\u00e9dites<\/h3>\n<p>L&rsquo;outil diagnostique le plus puissant pour tester l&rsquo;homosc\u00e9dasticit\u00e9 et la lin\u00e9arit\u00e9 est le trac\u00e9 des r\u00e9sidus bruts (ou standardis\u00e9s) en regard des valeurs pr\u00e9dites (<em>fitted values<\/em>). Dans un ajustement optimal, le graphique doit faire appara\u00eetre une dispersion purement al\u00e9atoire, horizontale et homog\u00e8ne des points autour de la ligne horizontale z\u00e9ro, sans aucun motif r\u00e9gulier discernible.<\/p>\n<p>Une configuration pathologique classique r\u00e9side dans l&rsquo;apparition d&rsquo;une structure en \u00ab m\u00e9gaphone \u00bb ou en \u00ab entonnoir \u00bb, o\u00f9 la dispersion des r\u00e9sidus s&rsquo;\u00e9largit ou se contracte le long de l&rsquo;axe des valeurs pr\u00e9dites. Un tel motif signale une violation critique de l&rsquo;homosc\u00e9dasticit\u00e9. De m\u00eame, la pr\u00e9sence d&rsquo;un dessin incurv\u00e9 (forme en cloche ou en U) r\u00e9v\u00e8le une non-lin\u00e9arit\u00e9 non mod\u00e9lis\u00e9e, trahissant l&rsquo;omission d&rsquo;un terme quadratique ou polynomial.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/simpleRegPython3-1.png\" alt=\"Residual plots in Python\" \/><figcaption>Residual plots in Python<\/figcaption><\/figure>\n<p>Le code d&rsquo;affichage int\u00e8gre une ligne horizontale de r\u00e9f\u00e9rence pour ancrer le regard :<\/p>\n<p><em>fig, ax = plt.subplots(figsize=(8, 4.5), dpi=300)<\/em><br \/>\n<em>sns.scatterplot(x=df_train_diag[&lsquo;Note_Predite&rsquo;], y=df_train_diag[&lsquo;Residus&rsquo;], color=&rsquo;#d62728&prime;, s=50, alpha=0.85, ax=ax)<\/em><br \/>\n<em>ax.axhline(0, color=&rsquo;black&rsquo;, linestyle=&rsquo;&#8211;&lsquo;, linewidth=1.2)<\/em><br \/>\n<em>ax.set_title(\u00ab\u00a0Diagnostic des R\u00e9sidus vs Valeurs Ajust\u00e9es\u00a0\u00bb, fontsize=11, fontweight=&rsquo;bold&rsquo;)<\/em><br \/>\n<em>ax.set_xlabel(\u00ab\u00a0Valeurs Pr\u00e9dites (Note d&rsquo;examen)\u00a0\u00bb, fontsize=9)<\/em><br \/>\n<em>ax.set_ylabel(\u00ab\u00a0R\u00e9sidus Observ\u00e9s (e)\u00a0\u00bb, fontsize=9)<\/em><br \/>\n<em>ax.grid(True, linestyle=&rsquo;:&rsquo;, alpha=0.6)<\/em><br \/>\n<em>plt.tight_layout()<\/em><br \/>\n<em>plt.show()<\/em><\/p>\n<p>Dans notre application empirique, les points se distribuent sym\u00e9triquement au-dessus et en-dessous de l&rsquo;axe nul dans une bande de variance uniforme, validant l&rsquo;absence de motif h\u00e9t\u00e9rosc\u00e9dastique perturbateur.<\/p>\n<h3>10.3 Graphique quantile-quantile (Q-Q Plot) et normalit\u00e9<\/h3>\n<p>La confirmation graphique de la normalit\u00e9 des erreurs r\u00e9siduelles s&rsquo;op\u00e8re au moyen du diagramme quantile-quantile (<strong>Q-Q Plot<\/strong>). Ce graphique confronte les quantiles empiriques de la distribution des r\u00e9sidus observ\u00e9s aux quantiles th\u00e9oriques issus d&rsquo;une loi normale standardis\u00e9e parfaite.<\/p>\n<p>Si les erreurs r\u00e9siduelles se conforment rigoureusement au postulat de normalit\u00e9, les points se disposent de fa\u00e7on rectiligne le long de la bissectrice th\u00e9orique diagonale \u00e0 45 degr\u00e9s. Toute d\u00e9viation syst\u00e9matique fournit une indication diagnostique pr\u00e9cise quant \u00e0 la nature de la distorsion :<\/p>\n<ul>\n<li>Une courbure syst\u00e9matique aux deux extr\u00e9mit\u00e9s vers le haut ou vers le bas refl\u00e8te une asym\u00e9trie distributionnelle (<em>skewness<\/em>).<\/li>\n<li>Un d\u00e9collement en forme de \u00ab S \u00bb indique des queues de distribution \u00e9paisses (<em>kurtosis<\/em> \u00e9lev\u00e9 ou pr\u00e9sence de valeurs extr\u00eames trop fr\u00e9quentes), ce qui affaiblit la validit\u00e9 des intervalles d&rsquo;estimation th\u00e9oriques.<\/li>\n<\/ul>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/simpleRegPython4-1.png\" alt=\"Q-Q plot in Python\" \/><figcaption>Q-Q plot in Python<\/figcaption><\/figure>\n<p>Statsmodels propose une impl\u00e9mentation int\u00e9gr\u00e9e et optimis\u00e9e de ce diagnostic :<\/p>\n<p><em>fig, ax = plt.subplots(figsize=(6, 5), dpi=300)<\/em><br \/>\n<em>sm.qqplot(residuals, line=&rsquo;45&rsquo;, fit=True, ax=ax, markerfacecolor=&rsquo;#2ca02c&rsquo;, alpha=0.75)<\/em><br \/>\n<em>ax.set_title(\u00ab\u00a0Diagramme Quantile-Quantile (Normal Q-Q Plot)\u00a0\u00bb, fontsize=11, fontweight=&rsquo;bold&rsquo;)<\/em><br \/>\n<em>ax.grid(True, linestyle=&rsquo;:&rsquo;, alpha=0.5)<\/em><br \/>\n<em>plt.tight_layout()<\/em><br \/>\n<em>plt.show()<\/em><\/p>\n<p>L&rsquo;alignement quasi-parfait des r\u00e9sidus sur l&rsquo;axe de r\u00e9f\u00e9rence valide empiriquement la robustesse des tests de Student et de Fisher pr\u00e9c\u00e9demment conduits.<\/p>\n<h2>11. \u00c9tape 9 : Visualisation graphique avanc\u00e9e de la droite d&rsquo;ajustement<\/h2>\n<h3>11.1 Trac\u00e9 combin\u00e9 des observations empiriques et de la ligne de r\u00e9gression<\/h3>\n<p>La restitution scientifique finale des r\u00e9sultats d&rsquo;une r\u00e9gression lin\u00e9aire simple exige la production d&rsquo;une figure synth\u00e9tique de haute qualit\u00e9 int\u00e9grant l&rsquo;ensemble des \u00e9l\u00e9ments de l&rsquo;ajustement : les donn\u00e9es observ\u00e9es sur le terrain, la trajectoire optimale de la droite estim\u00e9e par les moindres carr\u00e9s, ainsi que la formalisation textuelle des param\u00e8tres du mod\u00e8le.<\/p>\n<p>L&rsquo;utilisation conjointe de Seaborn et de Matplotlib autorise l&rsquo;exportation de figures r\u00e9pondant aux chartes graphiques les plus exigeantes (r\u00e9solution vectorielle haute d\u00e9finition, calibrage des polices, \u00e9tiquetage pr\u00e9cis des axes m\u00e9triques). L&rsquo;instruction <code>sns.regplot<\/code> prend en charge l&rsquo;ensemble de ces couches tout en calculant automatiquement la droite d&rsquo;ajustement :<\/p>\n<p><em>fig, ax = plt.subplots(figsize=(8, 5.5), dpi=300)<\/em><br \/>\n<em>sns.regplot(x=&rsquo;Heures_Etude&rsquo;, y=&rsquo;Note_Examen&rsquo;, data=df, ax=ax,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scatter_kws={&lsquo;color&rsquo;: &lsquo;#1f77b4&rsquo;, &lsquo;alpha&rsquo;: 0.75, &lsquo;s&rsquo;: 50},<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line_kws={&lsquo;color&rsquo;: &lsquo;#d62728&rsquo;, &lsquo;linewidth&rsquo;: 1.8},<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ci=95)<\/em><br \/>\n<em>ax.set_title(\u00ab\u00a0Mod\u00e8le de R\u00e9gression Lin\u00e9aire : Note d&rsquo;examen = f(Heures d&rsquo;\u00e9tude)\u00a0\u00bb, fontsize=11, fontweight=&rsquo;bold&rsquo;)<\/em><br \/>\n<em>ax.set_xlabel(\u00ab\u00a0Heures d&rsquo;\u00e9tude hebdomadaires\u00a0\u00bb, fontsize=9.5)<\/em><br \/>\n<em>ax.set_ylabel(\u00ab\u00a0Note obtenue \u00e0 l&rsquo;\u00e9preuve (\/100)\u00a0\u00bb, fontsize=9.5)<\/em><br \/>\n<em>equation_str = f\u00a0\u00bb\u0177 = {b0_sk:.2f} + {b1_sk:.2f} &times; XnR\u00b2 = {r2_train:.3f}\u00a0\u00bb<\/em><br \/>\n<em>ax.text(0.05, 0.90, equation_str, transform=ax.transAxes, fontsize=9.5,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;verticalalignment=&rsquo;top&rsquo;, bbox=dict(boxstyle=&#8217;round,pad=0.5&prime;, facecolor=&rsquo;white&rsquo;, alpha=0.9, edgecolor=&rsquo;#ccc&rsquo;))<\/em><br \/>\n<em>plt.tight_layout()<\/em><br \/>\n<em>plt.savefig(&lsquo;regression_resultat.pdf&rsquo;, format=&rsquo;pdf&rsquo;, bbox_inches=&rsquo;tight&rsquo;)<\/em><\/p>\n<p>Cette pr\u00e9sentation synth\u00e9tique offre une vue imm\u00e9diate de l&rsquo;excellente concordance empirique entre la mod\u00e9lisation th\u00e9orique et la distribution r\u00e9elle des donn\u00e9es recueillies.<\/p>\n<h3>11.2 Repr\u00e9sentation visuelle des bandes de confiance statistique<\/h3>\n<p>La zone ombrag\u00e9e enveloppant la droite de r\u00e9gression sur le trac\u00e9 pr\u00e9c\u00e9dent repr\u00e9sente l&rsquo;intervalle de confiance \u00e0 95% de la moyenne conditionnelle (<em>Confidence Band<\/em>). Il est primordial d&rsquo;op\u00e9rer une distinction m\u00e9thodologique rigoureuse entre cette enveloppe de confiance et un intervalle de pr\u00e9diction individuel :<\/p>\n<ul>\n<li><strong>L&rsquo;intervalle de confiance de la r\u00e9gression<\/strong> quantifie l&rsquo;incertitude pesant sur l&#8217;emplacement th\u00e9orique moyen de la droite elle-m\u00eame. Il r\u00e9pond \u00e0 la question : \u00ab Dans quelle zone se situe l&rsquo;esp\u00e9rance r\u00e9elle de la population pour un niveau de <em>X<\/em> donn\u00e9 ? \u00bb.<\/li>\n<li><strong>L&rsquo;intervalle de pr\u00e9diction<\/strong> quantifie la variabilit\u00e9 attendue d&rsquo;un sujet individuel unique. Il int\u00e8gre non seulement l&rsquo;incertitude sur les coefficients <em>b<sub>0<\/sub><\/em> et <em>b<sub>1<\/sub><\/em>, mais \u00e9galement la variance stochastique intrins\u00e8que de l&rsquo;erreur individuelle <em>&sigma;<sup>2<\/sup><\/em>. Sa largeur est donc syst\u00e9matiquement bien plus \u00e9tendue.<\/li>\n<\/ul>\n<p>Sur le plan g\u00e9om\u00e9trique, l&rsquo;intervalle de confiance ne forme pas un couloir de largeur constante : il adopte une courbure hyperbolique caract\u00e9ristique, se resserrant \u00e0 son point le plus \u00e9troit au niveau du barycentre des observations <em>(X = X\u0304)<\/em>, et s&rsquo;\u00e9vasant \u00e0 mesure que l&rsquo;on s&rsquo;\u00e9carte de la moyenne vers les extr\u00e9mit\u00e9s de l&rsquo;\u00e9chantillon. Cette morphologie traduit le fait math\u00e9matique fondamental que l&rsquo;estimation de la pente induit une incertitude amplifi\u00e9e par effet de levier sur les bordures du domaine d&rsquo;observation.<\/p>\n<h2>12. \u00c9tape 10 : Inf\u00e9rence statistique et pr\u00e9diction sur de nouvelles observations<\/h2>\n<h3>12.1 G\u00e9n\u00e9ration de pr\u00e9dictions ponctuelles pour des cas in\u00e9dits<\/h3>\n<p>L&rsquo;int\u00e9r\u00eat appliqu\u00e9 majeur de la mod\u00e9lisation r\u00e9side dans sa capacit\u00e9 \u00e0 produire des estimations fiables pour de futures observations n&rsquo;ayant pas particip\u00e9 \u00e0 l&rsquo;entra\u00eenement du mod\u00e8le. Imaginons que le comit\u00e9 p\u00e9dagogique souhaite \u00e9valuer les pr\u00e9visions de notes pour trois nouveaux profils d&rsquo;\u00e9tudiants d\u00e9clarant respectivement 3.0, 6.0 et 8.5 heures de travail hebdomadaire.<\/p>\n<p>Pour soumettre ces nouvelles mesures au mod\u00e8le sous Scikit-learn, il est imp\u00e9ratif de les encapsuler dans une structure bidimensionnelle conforme aux sp\u00e9cifications d&rsquo;entr\u00e9e :<\/p>\n<p><em>nouveaux_etudiants = pd.DataFrame({&lsquo;Heures_Etude&rsquo;: [3.0, 6.0, 8.5]})<\/em><br \/>\n<em>predictions_score = modele_sk.predict(nouveaux_etudiants)<\/em><br \/>\n<em>for h, score in zip(nouveaux_etudiants[&lsquo;Heures_Etude&rsquo;], predictions_score):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;print(f\u00a0\u00bbPour {h} heures d&rsquo;\u00e9tude, la note attendue est de : {score:.2f} \/ 100&Prime;)<\/em><\/p>\n<p>L&rsquo;ex\u00e9cution de l&rsquo;inf\u00e9rence g\u00e9n\u00e8re les projections ponctuelles suivantes : 32.25 points pour 3.0 heures, 61.65 points pour 6.0 heures, et 86.15 points pour 8.5 heures. Ces estimations s&rsquo;av\u00e8rent pleinement plausibles au regard de l&rsquo;\u00e9chelle docimologique standardis\u00e9e et fournissent des rep\u00e8res pr\u00e9cieux pour le pilotage p\u00e9dagogique individualis\u00e9.<\/p>\n<h3>12.2 Calcul et interpr\u00e9tation des intervalles de pr\u00e9diction individuels<\/h3>\n<p>En pratique d\u00e9cisionnelle, la communication d&rsquo;une pr\u00e9diction sous la forme d&rsquo;un score ponctuel unique est m\u00e9thodologiquement insuffisante, voire trompeuse. Tout pronostic quantitatif doit \u00eatre accompagn\u00e9 de la quantification de son incertitude stochastique au travers d&rsquo;un intervalle de pr\u00e9diction \u00e0 95% calcul\u00e9 pour un individu singulier. L&rsquo;erreur-type de pr\u00e9diction pour une nouvelle observation <em>x<sub>0<\/sub><\/em> s&rsquo;exprime par la formule :<\/p>\n<p><em>SE<sub>pred<\/sub> = s<sub>e<\/sub> &middot; &radic;[ 1 + 1\/n + (x<sub>0<\/sub> &#8211; x\u0304)<sup>2<\/sup> \/ &sum; (x<sub>i<\/sub> &#8211; x\u0304)<sup>2<\/sup> ]<\/em><\/p>\n<p>Statsmodels offre une extraction native et automatis\u00e9e de ces bornes d&rsquo;incertitude via la m\u00e9thode <code>get_prediction<\/code> appliqu\u00e9e aux sorties du mod\u00e8le <code>OLS<\/code> :<\/p>\n<p><em>nouveaux_etudiants_cst = sm.add_constant(nouveaux_etudiants)<\/em><br \/>\n<em>predictions_globales = modele_sm.get_prediction(nouveaux_etudiants_cst)<\/em><br \/>\n<em>tableau_recap = predictions_globales.summary_frame(alpha=0.05)<\/em><br \/>\n<em>print(tableau_recap[[&lsquo;mean&rsquo;, &lsquo;obs_ci_lower&rsquo;, &lsquo;obs_ci_upper&rsquo;]])<\/em><\/p>\n<p>Pour un \u00e9tudiant r\u00e9visant 6.0 heures, le mod\u00e8le Statsmodels restituera une estimation moyenne ponctuelle de 61.65 points, encadr\u00e9e par un intervalle de pr\u00e9diction individuel \u00e0 95% compris approximativement entre 51.5 points et 71.8 points. Communiquer cet intervalle aux \u00e9quipes p\u00e9dagogiques permet d&rsquo;exposer clairement l&rsquo;incertitude inh\u00e9rente \u00e0 toute projection comportementale, \u00e9vitant ainsi des jugements p\u00e9remptoires fond\u00e9s sur une fausse impression de pr\u00e9cision absolue.<\/p>\n<h3>12.3 Les dangers m\u00e9thodologiques de l&rsquo;extrapolation<\/h3>\n<p>L&rsquo;usage pr\u00e9dictif de la r\u00e9gression lin\u00e9aire simple s&rsquo;accompagne d&rsquo;une contrainte d\u00e9ontologique et math\u00e9matique absolue : l&rsquo;interdiction de l&rsquo;<strong>extrapolation<\/strong> au-del\u00e0 du domaine de validit\u00e9 empirique circonscrit par l&rsquo;\u00e9chantillon d&rsquo;apprentissage. Notre base d&rsquo;entra\u00eenement s&rsquo;\u00e9tend approximativement de 1.1 heure \u00e0 9.2 heures de travail hebdomadaire. Toute projection formul\u00e9e \u00e0 l&rsquo;ext\u00e9rieur de cet intervalle ferm\u00e9 constitue une extrapolation non contr\u00f4l\u00e9e.<\/p>\n<p>Consid\u00e9rons, \u00e0 titre de d\u00e9monstration par l&rsquo;absurde, une pr\u00e9diction appliqu\u00e9e \u00e0 un apprenant intensif d\u00e9clarant 15 heures de travail hebdomadaire :<\/p>\n<p><em>\u0177 = 2.85 + (9.80 &times; 15) = 149.85<\/em><\/p>\n<p>Le mod\u00e8le pr\u00e9dit une note aberrante avoisinant 150 points sur un examen dont la borne sup\u00e9rieure absolue est plafonn\u00e9e \u00e0 100. Cette absurdit\u00e9 docimologique r\u00e9sulte du fait que le mod\u00e8le ignore la non-lin\u00e9arit\u00e9 fondamentale induite par l&rsquo;effet plafond de l&rsquo;\u00e9preuve et les facteurs d&rsquo;\u00e9puisement cognitif. De la m\u00eame fa\u00e7on, pr\u00e9dire la performance d&rsquo;un \u00e9tudiant travaillant 0.1 heure par semaine risque de sous-estimer grossi\u00e8rement la note minimale accessible par simple bon sens. Le chercheur doit donc toujours expliciter les bornes empiriques d&rsquo;applicabilit\u00e9 de son mod\u00e8le pr\u00e9dictif.<\/p>\n<h2>13. Synth\u00e8se critique, limites m\u00e9thodologiques et extensions analytiques<\/h2>\n<h3>13.1 Facteurs confondants et variables omises en contexte psychologique<\/h3>\n<p>Bien que la r\u00e9gression lin\u00e9aire simple valide ici l&rsquo;existence d&rsquo;une relation \u00e9troite entre volume d&rsquo;\u00e9tude et succ\u00e8s acad\u00e9mique, elle souffre intrins\u00e8quement de l&rsquo;omission de d\u00e9terminants psychologiques et environnementaux fondamentaux. Le comportement humain ne se r\u00e9duit jamais \u00e0 une trajectoire bivari\u00e9e isol\u00e9e.<\/p>\n<p>Le risque m\u00e9thodologique majeur est le <strong>biais de variable omise<\/strong>. Plusieurs covariables cruciales interagissent avec la relation observ\u00e9e :<\/p>\n<ul>\n<li>Les capacit\u00e9s cognitives g\u00e9n\u00e9rales pr\u00e9alables (le facteur <em>g<\/em> ou QI de l&rsquo;\u00e9tudiant), qui influent simultan\u00e9ment sur la vitesse d&rsquo;assimilation et la note finale.<\/li>\n<li>La qualit\u00e9 m\u00e9thodologique des r\u00e9visions (apprentissage actif versus lecture passive du cours).<\/li>\n<li>Les facteurs physiologiques et \u00e9motionnels, tels que la dur\u00e9e du sommeil ou l&rsquo;anxi\u00e9t\u00e9 de performance lors de la passation de l&rsquo;\u00e9preuve.<\/li>\n<\/ul>\n<p>Si un apprenant pr\u00e9sentant de fortes aptitudes ant\u00e9rieures a besoin de moins de temps pour ma\u00eetriser le programme, l&rsquo;absence de contr\u00f4le de cette variable conduit \u00e0 sous-estimer ou biaiser l&rsquo;estimation empirique de l&rsquo;effet d&rsquo;apprentissage propre. Pour pallier cette faiblesse, l&rsquo;extension naturelle r\u00e9side dans la transition vers la <a rel=\"noopener noreferrer\" href=\"https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9gression_lin%C3%A9aire_multiple\">r\u00e9gression lin\u00e9aire multiple<\/a>, qui permet d&rsquo;int\u00e9grer des covariables suppl\u00e9mentaires et d&rsquo;estimer l&rsquo;effet net propre \u00e0 chaque facteur par contr\u00f4le statistique crois\u00e9.<\/p>\n<h3>13.2 Sensibilit\u00e9 aux points d&rsquo;influence et leviers statistiques<\/h3>\n<p>Une \u00e9tape avanc\u00e9e de diagnostic critique consiste \u00e0 auditer la vuln\u00e9rabilit\u00e9 de la droite de r\u00e9gression vis-\u00e0-vis d&rsquo;observations singuli\u00e8res exer\u00e7ant un poids disproportionn\u00e9 sur les param\u00e8tres estim\u00e9s. En r\u00e9gression bivari\u00e9e, deux grandeurs fondamentales permettent d&rsquo;isoler ces cas d&rsquo;influence :<\/p>\n<ul>\n<li><strong>Le levier statistique (<em>leverage<\/em>, not\u00e9 <em>h<sub>ii<\/sub><\/em>)<\/strong> : il quantifie l&rsquo;\u00e9loignement d&rsquo;une observation par rapport au centre de gravit\u00e9 de la variable ind\u00e9pendante <em>x\u0304<\/em>. Une observation tr\u00e8s excentr\u00e9e sur l&rsquo;axe des <em>X<\/em> dispose d&rsquo;un fort potentiel de d\u00e9viation angulaire sur la droite d&rsquo;ajustement.<\/li>\n<li><strong>La distance de Cook (<em>D<sub>i<\/sub><\/em>)<\/strong> : cet indice de synth\u00e8se mesure l&rsquo;ampleur du d\u00e9placement global de l&rsquo;ensemble du vecteur des pr\u00e9dictions lorsque la <em>i<\/em>-i\u00e8me observation est \u00e9limin\u00e9e du jeu de donn\u00e9es. La formule de calcul est :<\/li>\n<\/ul>\n<p><em>D<sub>i<\/sub> = [ &sum;<sub>j=1<\/sub><sup>n<\/sup> (\u0177<sub>j<\/sub> &#8211; \u0177<sub>j(i)<\/sub>)<sup>2<\/sup> ] \/ [ 2 &middot; s<sub>e<\/sub><sup>2<\/sup> ]<\/em><\/p>\n<p>Une distance de Cook exc\u00e9dant la valeur conventionnelle de 1 (ou le seuil d&rsquo;alerte plus conservateur de <em>4 \/ n<\/em>) indique la pr\u00e9sence d&rsquo;un point d&rsquo;influence critique n\u00e9cessitant une investigation qualitative approfondie. En aucun cas une telle observation ne doit \u00eatre supprim\u00e9e de mani\u00e8re discr\u00e9tionnaire sans justification th\u00e9orique document\u00e9e (par exemple la preuve mat\u00e9rielle d&rsquo;une fraude, d&rsquo;un malaise m\u00e9dical document\u00e9 durant l&rsquo;examen ou d&rsquo;une erreur technique d&rsquo;instrumentation).<\/p>\n<h3>13.3 Perspectives d&rsquo;enrichissement algorithmique en sciences des donn\u00e9es<\/h3>\n<p>L&rsquo;approfondissement m\u00e9thodologique au-del\u00e0 de la r\u00e9gression lin\u00e9aire simple classique ouvre vers des approches statistiques et algorithmiques plus flexibles adapt\u00e9es \u00e0 la complexit\u00e9 des donn\u00e9es modernes :<\/p>\n<ul>\n<li><strong>R\u00e9gularisation statistique (mod\u00e8les Ridge, Lasso et ElasticNet)<\/strong> : lors de l&rsquo;int\u00e9gration ult\u00e9rieure de multiples r\u00e9gresseurs potentiellement corr\u00e9l\u00e9s, l&rsquo;application de p\u00e9nalit\u00e9s sur la norme des coefficients permet de pr\u00e9venir l&rsquo;instabilit\u00e9 induite par la multicolin\u00e9arit\u00e9 et d&rsquo;op\u00e9rer une s\u00e9lection parcimonieuse des facteurs explicatifs.<\/li>\n<li><strong>Mod\u00e8les Additifs G\u00e9n\u00e9ralis\u00e9s (GAM)<\/strong> : ces mod\u00e8les permettent de rel\u00e2cher le postulat rigide de lin\u00e9arit\u00e9 globale en ajustant des fonctions splines liss\u00e9es non param\u00e9triques, r\u00e9v\u00e9lant avec finesse les effets de saturation ou de d\u00e9croissance marginale du rendement d&rsquo;apprentissage sans sp\u00e9cification param\u00e9trique contraignante pr\u00e9alable.<\/li>\n<li><strong>Ing\u00e9nierie de pipelines reproductibles<\/strong> : l&rsquo;interfa\u00e7age de Scikit-learn via des objets standardis\u00e9s (<code>Pipeline<\/code>, <code>ColumnTransformer<\/code>) assure l&rsquo;encapsulation de l&rsquo;ensemble des \u00e9tapes de pr\u00e9traitement (imputation des donn\u00e9es manquantes, normalisation, transformation Box-Cox) et d&rsquo;ajustement au sein d&rsquo;une structure logicielle unique, limitant ainsi tout risque de fuite d&rsquo;information (<em>data leakage<\/em>) au fil des analyses.<\/li>\n<\/ul>\n<h2>14. Synth\u00e8se op\u00e9rationnelle du pipeline de r\u00e9gression lin\u00e9aire sous Python<\/h2>\n<h3>14.1 Script de synth\u00e8se modulaire r\u00e9utilisable<\/h3>\n<p>Pour assurer l&rsquo;op\u00e9rationnalisation et la portabilit\u00e9 des m\u00e9thodes d\u00e9taill\u00e9es dans ce guide, voici un script consolid\u00e9 complet. Con\u00e7u pour une ex\u00e9cution autonome, ce module int\u00e8gre le traitement des donn\u00e9es, le calage sur Scikit-learn et Statsmodels, ainsi que la restitution exhaustive des m\u00e9triques diagnostiques indispensables :<\/p>\n<p><em># Importation des biblioth\u00e8ques fondamentales<\/em><br \/>\n<em>import numpy as np<\/em><br \/>\n<em>import pandas as pd<\/em><br \/>\n<em>from sklearn.model_selection import train_test_split<\/em><br \/>\n<em>from sklearn.linear_model import LinearRegression<\/em><br \/>\n<em>from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score<\/em><br \/>\n<em>import statsmodels.api as sm<\/em><\/p>\n<p><em># 1. Instanciation du jeu de donn\u00e9es empirique<\/em><br \/>\n<em>data = {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lsquo;Heures&rsquo;: [2.5, 5.1, 3.2, 8.5, 3.5, 1.5, 9.2, 5.5, 8.3, 2.7, 7.7, 5.9, 4.5, 3.3, 1.1,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8.9, 2.5, 1.9, 6.1, 7.4, 2.7, 4.8, 3.8, 6.9, 7.8, 8.1, 4.2, 6.5, 3.0, 5.8],<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lsquo;Score&rsquo;: [21.0, 47.0, 27.0, 75.0, 30.0, 20.0, 88.0, 60.0, 81.0, 25.0, 85.0, 62.0, 41.0, 42.0, 17.0,<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;95.0, 30.0, 24.0, 67.0, 69.0, 30.0, 54.0, 35.0, 76.0, 86.0, 83.0, 45.0, 71.0, 32.0, 65.0]<br \/>\n}<br \/>\ndf_etude = pd.DataFrame(data)<\/em><\/p>\n<p><em># 2. Vectorisation et partitionnement rigoureux<\/em><br \/>\n<em>X = df_etude[[&lsquo;Heures&rsquo;]]<\/em><br \/>\n<em>y = df_etude[&lsquo;Score&rsquo;]<\/em><br \/>\n<em>X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.2, random_state=42)<\/em><\/p>\n<p><em># 3. Estimation avec Scikit-learn<\/em><br \/>\n<em>lr = LinearRegression(fit_intercept=True)<\/em><br \/>\n<em>lr.fit(X_tr, y_tr)<\/em><br \/>\n<em>y_pred = lr.predict(X_te)<\/em><\/p>\n<p><em># 4. Inf\u00e9rence statistique d\u00e9taill\u00e9e avec Statsmodels<\/em><br \/>\n<em>X_tr_cst = sm.add_constant(X_tr)<\/em><br \/>\n<em>modele_ols = sm.OLS(y_tr, X_tr_cst).fit()<\/em><\/p>\n<p><em># 5. Restitution format\u00e9e des indicateurs cl\u00e9s<\/em><br \/>\n<em>print(\u00ab\u00a0=== PARAMETRES DU MODELE ===\u00a0\u00bb)<br \/>\nprint(f\u00a0\u00bbConstante (b0) : {lr.intercept_:.4f}\u00a0\u00bb)<br \/>\nprint(f\u00a0\u00bbPente (b1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: {lr.coef_[0]:.4f}\u00a0\u00bb)<br \/>\nprint(\u00ab\u00a0n=== METRIQUES DE PERFORMANCE (TEST SET) ===\u00a0\u00bb)<br \/>\nprint(f\u00a0\u00bbR\u00b2 (Validation) : {r2_score(y_te, y_pred):.4f}\u00a0\u00bb)<br \/>\nprint(f\u00a0\u00bbRMSE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: {np.sqrt(mean_squared_error(y_te, y_pred)):.4f}\u00a0\u00bb)<br \/>\nprint(f\u00a0\u00bbMAE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: {mean_absolute_error(y_te, y_pred):.4f}\u00a0\u00bb)<br \/>\nprint(\u00ab\u00a0n=== SYNTHESE STATISTIQUE STATSMODELS ===\u00a0\u00bb)<br \/>\nprint(modele_ols.summary())<\/em><\/p>\n<p>Ce script synth\u00e9tique int\u00e8gre l&rsquo;ensemble de la d\u00e9marche op\u00e9rationnelle et constitue une base fiable et r\u00e9utilisable pour vos propres analyses statistiques bivari\u00e9es sous Python.<\/p>\n<h3>14.2 Protocole de restitution des r\u00e9sultats dans un rapport scientifique<\/h3>\n<p>La r\u00e9daction des conclusions statistiques d&rsquo;une mod\u00e9lisation lin\u00e9aire dans un m\u00e9moire universitaire, une th\u00e8se de doctorat ou un article soumis \u00e0 r\u00e9vision par les pairs ob\u00e9it \u00e0 des conventions de pr\u00e9sentation formelles, particuli\u00e8rement celles \u00e9dict\u00e9es par l&rsquo;American Psychological Association (normes APA 7e \u00e9dition). Il est essentiel de ne pas noyer le lecteur sous des listings de code informatique, mais de lui transmettre avec clart\u00e9 et pr\u00e9cision l&rsquo;\u00e9quation ajust\u00e9e, les degr\u00e9s de libert\u00e9, l&rsquo;ampleur de l&rsquo;effet, les grandeurs de test ainsi que les indicateurs r\u00e9siduels cl\u00e9s.<\/p>\n<p>Voici un mod\u00e8le r\u00e9dactionnel acad\u00e9mique standardis\u00e9 pour restituer les r\u00e9sultats issus de notre protocole d&rsquo;analyse :<\/p>\n<p><em>\u00ab Une analyse de r\u00e9gression lin\u00e9aire simple par la m\u00e9thode des moindres carr\u00e9s ordinaires a \u00e9t\u00e9 conduite afin d&rsquo;\u00e9valuer la valeur pr\u00e9dictive du temps d&rsquo;\u00e9tude hebdomadaire (en heures) sur la note obtenue \u00e0 un examen standardis\u00e9 de comp\u00e9tences cognitives. L&rsquo;examen pr\u00e9alable des postulats de Gauss-Markov n&rsquo;a r\u00e9v\u00e9l\u00e9 aucune violation manifeste : la relation observ\u00e9e s&rsquo;av\u00e8re lin\u00e9aire, la distribution des r\u00e9sidus d&rsquo;\u00e9chantillonnage ne d\u00e9vie pas significativement de la normalit\u00e9 (test de Shapiro-Wilk : W = 0.965, p = 0.45), et l&rsquo;inspection du graphique des r\u00e9sidus par rapport aux valeurs pr\u00e9dites confirme l&rsquo;homosc\u00e9dasticit\u00e9 de la variance d&rsquo;erreur. \u00bb<\/em><\/p>\n<p><em>\u00ab Le mod\u00e8le de r\u00e9gression estim\u00e9 s&rsquo;av\u00e8re statistiquement hautement significatif, F(1, 22) = 434.62, p &lt; 0.001, expliquant 95.2% de la variance totale des scores de performance (R\u00b2 = 0.952). L&rsquo;\u00e9quation de r\u00e9gression s&rsquo;\u00e9nonce : \u0177 = 2.85 + 9.80 &times; (Heures d&rsquo;\u00e9tude). Le coefficient de r\u00e9gression associ\u00e9 \u00e0 l&rsquo;effort temporel est significativement non nul, t(22) = 20.85, p &lt; 0.001, 95% IC [8.82, 10.77]. Ce param\u00e8tre indique que chaque heure additionnelle d&rsquo;\u00e9tude hebdomadaire engendre en moyenne une progression de 9.80 points sur la note sommative. L&rsquo;\u00e9valuation de l&rsquo;erreur pr\u00e9dictive sur un jeu de test ind\u00e9pendant confirme l&rsquo;excellente capacit\u00e9 de g\u00e9n\u00e9ralisation du mod\u00e8le (RMSE = 4.88 points, MAE = 4.12 points). \u00bb<\/em><\/p>\n<p>L&rsquo;application rigoureuse de ce formalisme garantit une parfaite clart\u00e9 conceptuelle, assure l&rsquo;auditabilit\u00e9 par la communaut\u00e9 scientifique et satisfait aux crit\u00e8res d&rsquo;excellence requis dans les publications acad\u00e9miques de premier rang.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Cohen, J., Cohen, P., West, S. G., &amp; Aiken, L. S. (2003). <em>Applied multiple regression\/correlation analysis for the behavioral sciences<\/em> (3rd ed.). Lawrence Erlbaum Associates. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.4324\/9780203774441\">https:\/\/doi.org\/10.4324\/9780203774441<\/a><\/li>\n<li>Fox, J. (2016). <em>Applied regression analysis and generalized linear models<\/em> (3rd ed.). SAGE Publications.<\/li>\n<li>Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., &#8230; &amp; Oliphant, T. E. (2020). Array programming with NumPy. <em>Nature<\/em>, 585(7825), 357-362. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1038\/s41586-020-2649-2\">https:\/\/doi.org\/10.1038\/s41586-020-2649-2<\/a><\/li>\n<li>Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. <em>Computing in Science &amp; Engineering<\/em>, 9(3), 90-95. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1109\/MCSE.2007.55\">https:\/\/doi.org\/10.1109\/MCSE.2007.55<\/a><\/li>\n<li>McKinney, W. (2010). Data structures for statistical computing in Python. In <em>Proceedings of the 9th Python in Science Conference<\/em> (Vol. 445, pp. 56-61). <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.25080\/Majora-92bf1924-00a\">https:\/\/doi.org\/10.25080\/Majora-92bf1924-00a<\/a><\/li>\n<li>Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., &#8230; &amp; Duchesnay, \u00c9. (2011). Scikit-learn: Machine learning in Python. <em>Journal of Machine Learning Research<\/em>, 12, 2825-2830. <a rel=\"noopener noreferrer\" href=\"https:\/\/jmlr.org\/papers\/v12\/pedregosa11a.html\">https:\/\/jmlr.org\/papers\/v12\/pedregosa11a.html<\/a><\/li>\n<li>Seabold, S., &amp; Perktold, J. (2010). Statsmodels: Econometric and statistical modeling with Python. In <em>Proceedings of the 9th Python in Science Conference<\/em> (Vol. 57, pp. 92-96). <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.25080\/Majora-92bf1924-012\">https:\/\/doi.org\/10.25080\/Majora-92bf1924-012<\/a><\/li>\n<li>Waskom, M. L. (2021). Seaborn: statistical data visualization. <em>Journal of Open Source Software<\/em>, 6(60), 3021. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.21105\/joss.03021\">https:\/\/doi.org\/10.21105\/joss.03021<\/a><\/li>\n<li>Wooldridge, J. M. (2016). <em>Introductory econometrics: A modern approach<\/em> (6th ed.). Cengage Learning.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique pas \u00e0 pas pour r\u00e9aliser une r\u00e9gression lin\u00e9aire simple en Python : pr\u00e9paration des donn\u00e9es, mod\u00e9lisation OLS, validation et pr\u00e9diction.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[2464,1838],"tags":[1884,2468,1910,2904,2903],"class_list":["post-9749","psych_stat","type-psych_stat","status-publish","hentry","category-science-des-donnees","category-statistiques","tag-analyse-de-donnees","tag-python","tag-regression-lineaire","tag-scikit-learn","tag-statsmodels"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/9749","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=9749"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/9749\/revisions"}],"predecessor-version":[{"id":9754,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/9749\/revisions\/9754"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}