{"id":1362,"date":"2026-09-04T18:00:11","date_gmt":"2026-09-04T18:00:11","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-calculer-le-mse-dans-r\/"},"modified":"2026-09-04T18:00:11","modified_gmt":"2026-09-04T18:00:11","slug":"comment-calculer-le-mse-dans-r","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-calculer-le-mse-dans-r","title":{"rendered":"Comment calculer le MSE dans R"},"content":{"rendered":"<p>Dans le vaste univers de l&rsquo;analyse statistique, de l&rsquo;\u00e9conom\u00e9trie et de l&rsquo;apprentissage automatique, l&rsquo;\u00e9valuation de la performance pr\u00e9dictive d&rsquo;un mod\u00e8le constitue une \u00e9tape m\u00e9thodologique fondamentale. Au c\u0153ur de cette d\u00e9marche d&rsquo;\u00e9valuation r\u00e9side une m\u00e9trique omnipr\u00e9sente et th\u00e9oriquement rigoureuse : l&rsquo;erreur quadratique moyenne, couramment d\u00e9sign\u00e9e sous l&rsquo;acronyme anglophone <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Mean_squared_error\">MSE (Mean Squared Error)<\/a>. Mesure fondamentale de la divergence entre des valeurs observ\u00e9es et des valeurs estim\u00e9es, le MSE quantifie l&rsquo;esp\u00e9rance math\u00e9matique du carr\u00e9 des \u00e9carts r\u00e9siduels, offrant ainsi un crit\u00e8re objectif pour guider le choix d&rsquo;un estimateur, calibrer des hyperparam\u00e8tres ou d\u00e9partager plusieurs architectures algorithmiques concurrentes. Comprendre ses fondements th\u00e9oriques, sa m\u00e9canique computationnelle et ses subtilit\u00e9s d&rsquo;interpr\u00e9tation s&rsquo;av\u00e8re indispensable pour quiconque manipule des donn\u00e9es quantitatives complexes.<\/p>\n<p>Le langage statistique <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/www.r-project.org\/\">R<\/a> s&rsquo;est impos\u00e9 comme l&rsquo;environnement d&rsquo;excellence pour la mise en \u0153uvre de ces calculs, alliant une souplesse de programmation vectorielle native \u00e0 un \u00e9cosyst\u00e8me de paquets hautement sp\u00e9cialis\u00e9s. Que l&rsquo;on op\u00e8re au sein de l&rsquo;environnement de base au moyen de fonctions arithm\u00e9tiques pures, ou que l&rsquo;on mobilise des cadres avanc\u00e9s tels que <em>caret<\/em> ou le m\u00e9ta-paquet <em>tidymodels<\/em>, R fournit une palette d&rsquo;outils particuli\u00e8rement robuste pour calculer, analyser et d\u00e9composer le MSE. La pr\u00e9sente contribution se propose d&rsquo;explorer de fa\u00e7on exhaustive la quantification de cette m\u00e9trique sous R, en abordant successivement ses ancrages math\u00e9matiques, ses variantes algorithmiques, ses adaptations aux mod\u00e8les r\u00e9gularis\u00e9s et non lin\u00e9aires, ainsi que les \u00e9cueils computationnels inh\u00e9rents aux grands volumes de donn\u00e9es.<\/p>\n<p>Au-del\u00e0 de la simple ex\u00e9cution de scripts informatiques, cet expos\u00e9 examine les implications m\u00e9thodologiques de l&rsquo;usage du MSE, notamment le redoutable compromis biais-variance, la sensibilit\u00e9 accrue aux valeurs aberrantes induite par la p\u00e9nalisation quadratique, et les adaptations requises dans des contextes disciplinaires exigeants tels que la psychom\u00e9trie ou les sciences sociales computationnelles. \u00c0 travers des d\u00e9monstrations d\u00e9taill\u00e9es, des impl\u00e9mentations pas \u00e0 pas et des diagnostics de robustesse, ce guide fournit aux chercheurs, statisticiens et praticiens de la science des donn\u00e9es l&rsquo;ensemble des cl\u00e9s th\u00e9oriques et techniques pour ma\u00eetriser l&rsquo;erreur quadratique moyenne dans l&rsquo;environnement R.<\/p>\n<h2>1. Introduction th\u00e9orique \u00e0 l&rsquo;erreur quadratique moyenne (MSE)<\/h2>\n<h3>1.1 D\u00e9finition formelle et fondements conceptuels du MSE<\/h3>\n<p>L&rsquo;erreur quadratique moyenne s&rsquo;inscrit au sommet de la hi\u00e9rarchie des m\u00e9triques utilis\u00e9es pour juger de la qualit\u00e9 d&rsquo;ajustement global d&rsquo;un mod\u00e8le statistique param\u00e9trique ou non param\u00e9trique. Fondamentalement, le MSE \u00e9value la proximit\u00e9 g\u00e9om\u00e9trique et probabiliste entre les observations r\u00e9elles constituant un ph\u00e9nom\u00e8ne empirique et les pr\u00e9dictions g\u00e9n\u00e9r\u00e9es par un op\u00e9rateur math\u00e9matique formalis\u00e9. Lorsque nous postulons l&rsquo;existence d&rsquo;une variable cible continue not\u00e9e Y et d&rsquo;un ensemble de covariables X, le mod\u00e8le d&rsquo;ajustement cherche \u00e0 approcher au mieux la fonction sous-jacente g\u00e9n\u00e9ratrice des donn\u00e9es. Dans cette optique, l&rsquo;\u00e9cart mesur\u00e9 pour chaque unit\u00e9 statistique individuellement repr\u00e9sente une erreur de mod\u00e9lisation, et le MSE propose d&rsquo;agr\u00e9ger ces \u00e9carts individuels en une valeur scalaire unique repr\u00e9sentative.<\/p>\n<p>Le r\u00f4le du MSE dans la validation des mod\u00e8les empiriques d\u00e9coule de sa capacit\u00e9 \u00e0 r\u00e9sumer l&rsquo;erreur totale en combinant \u00e0 la fois l&rsquo;impr\u00e9cision syst\u00e9matique et la dispersion stochastique des pr\u00e9visions. Contrairement aux approches bas\u00e9es sur des m\u00e9triques d&rsquo;erreur lin\u00e9aire, telles que l&rsquo;erreur absolue moyenne (MAE), le MSE accorde une importance disproportionn\u00e9e aux grands \u00e9carts en vertu de l&rsquo;op\u00e9ration d&rsquo;\u00e9l\u00e9vation au carr\u00e9. Cette caract\u00e9ristique fait du MSE un indicateur d&rsquo;une grande sensibilit\u00e9 statistique : une seule pr\u00e9diction tr\u00e8s divergente entra\u00eenera une hausse substantielle de la m\u00e9trique, alertant le mod\u00e9lisateur sur l&rsquo;existence de d\u00e9fauts d&rsquo;ajustement locaux ou d&rsquo;observations mal captur\u00e9es par la sp\u00e9cification fonctionnelle retenue. Cette propri\u00e9t\u00e9 le rend incontournable pour les disciplines o\u00f9 les erreurs de grande amplitude entra\u00eenent des co\u00fbts op\u00e9rationnels, cliniques ou financiers critiques.<\/p>\n<p>Dans le cadre de l&rsquo;inf\u00e9rence statistique et de l&rsquo;estimation ponctuelle, le MSE est \u00e9galement utilis\u00e9 comme une fonction de co\u00fbt direct dans le paradigme de la th\u00e9orie de la d\u00e9cision statistique d\u00e9velopp\u00e9e par des math\u00e9maticiens comme Abraham Wald. En posant le risque quadratique comme \u00e9talon fondamental de la perte, l&rsquo;optimisation des estimateurs revient \u00e0 identifier les param\u00e8tres qui rendent ce risque minimal. Par cons\u00e9quent, \u00e9valuer le MSE d&rsquo;un mod\u00e8le sous R ne se r\u00e9sume pas \u00e0 un simple calcul descriptif <em>post-hoc<\/em> ; il s&rsquo;agit de tester la concordance de notre d\u00e9marche empirique avec les postulats d&rsquo;optimalit\u00e9 r\u00e9gissant l&rsquo;estimation probabiliste moderne.<\/p>\n<h3>1.2 Utilit\u00e9 statistique de l&rsquo;\u00e9valuation r\u00e9siduelle<\/h3>\n<p>L&rsquo;analyse des r\u00e9sidus constitue le prolongement logique de tout processus d&rsquo;ajustement param\u00e9trique, notamment dans le cadre de la r\u00e9gression lin\u00e9aire classique. L&rsquo;erreur r\u00e9siduelle, d\u00e9finie formellement comme la diff\u00e9rence arithm\u00e9tique entre la valeur observ\u00e9e et la valeur ajust\u00e9e par le mod\u00e8le, contient l&rsquo;ensemble des informations que la structure explicative n&rsquo;a pas \u00e9t\u00e9 en mesure d&rsquo;assimiler. L&rsquo;analyse fine du MSE fournit une premi\u00e8re mesure scalaire de l&rsquo;ampleur moyenne de ces r\u00e9sidus, permettant de d\u00e9terminer si la part de variance inexpliqu\u00e9e est acceptable ou si le mod\u00e8le souffre d&rsquo;un d\u00e9faut de sp\u00e9cification majeur.<\/p>\n<p>La distribution des r\u00e9sidus influence directement la validit\u00e9 des inf\u00e9rences statistiques ult\u00e9rieures, \u00e0 l&rsquo;image des tests de Student sur les coefficients de r\u00e9gression ou des tests de Fisher \u00e9valuant la significativit\u00e9 globale d&rsquo;un mod\u00e8le. Lorsque le mod\u00e8le minimise le MSE dans des conditions de validit\u00e9 id\u00e9ales \u00e9nonc\u00e9es par le <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Gauss%E2%80%93Markov_theorem\">th\u00e9or\u00e8me de Gauss-Markov<\/a> (homosc\u00e9dasticit\u00e9, ind\u00e9pendance et esp\u00e9rance nulle des erreurs conditionnelles), les estimateurs obtenus par les moindres carr\u00e9s ordinaires s&rsquo;av\u00e8rent \u00eatre les meilleurs estimateurs lin\u00e9aires sans biais (BLUE, <em>Best Linear Unbiased Estimator<\/em>). La minimisation de la somme des r\u00e9sidus au carr\u00e9, qui est directement proportionnelle au calcul du MSE, s&rsquo;affirme donc comme le m\u00e9canisme central garantissant l&rsquo;efficacit\u00e9 statistique des estimateurs empiriques.<\/p>\n<p>En outre, un examen attentif de la contribution des r\u00e9sidus au MSE permet d&rsquo;explorer des ph\u00e9nom\u00e8nes de non-lin\u00e9arit\u00e9 cach\u00e9e. Si une d\u00e9composition du MSE met en \u00e9vidence des r\u00e9sidus syst\u00e9matiquement concentr\u00e9s dans des segments particuliers de la distribution des variables explicatives, cela traduit l&rsquo;incapacit\u00e9 de l&rsquo;architecture actuelle \u00e0 capturer la complexit\u00e9 du signal. L&rsquo;\u00e9valuation r\u00e9siduelle mat\u00e9rialis\u00e9e par le MSE ne se borne donc pas \u00e0 valider une pr\u00e9diction : elle agit comme un outil d&rsquo;audit structurel pour l&rsquo;architecture math\u00e9matique choisie.<\/p>\n<h3>1.3 Applications quantitatives dans les sciences comportementales et sociales<\/h3>\n<p>Dans les sciences sociales et comportementales, l&rsquo;erreur quadratique moyenne trouve un champ d&rsquo;application particuli\u00e8rement vaste, notamment dans l&rsquo;\u00e9valuation des mod\u00e8les psychom\u00e9triques pr\u00e9dictifs et des estimations de scores latents. La psychom\u00e9trie moderne utilise fr\u00e9quemment des variables latentes pour mesurer des construits inobservables directement, comme l&rsquo;intelligence fluide, l&rsquo;anxi\u00e9t\u00e9 ou les traits de personnalit\u00e9. L&rsquo;ad\u00e9quation des mod\u00e8les structurels d&rsquo;\u00e9quations (SEM) ou des mod\u00e9lisations de r\u00e9ponses aux items (IRT) s&rsquo;appuie couramment sur des crit\u00e8res r\u00e9siduels quadratiques pour d\u00e9terminer avec quelle pr\u00e9cision les scores observ\u00e9s \u00e0 des \u00e9chelles d&rsquo;\u00e9valuation convergent vers les traits latents th\u00e9oris\u00e9s.<\/p>\n<p>La quantification de l&rsquo;incertitude dans les mod\u00e8les comportementaux longitudinaux b\u00e9n\u00e9ficie \u00e9galement de mani\u00e8re d\u00e9cisive du calcul du MSE. Par exemple, dans les \u00e9tudes de suivi de cohortes o\u00f9 l&rsquo;on cherche \u00e0 pr\u00e9dire l&rsquo;\u00e9volution cognitive de patients ou l&rsquo;adoption d&rsquo;un comportement de sant\u00e9 au fil du temps, le calcul de l&rsquo;erreur quadratique moyenne entre les trajectoires projet\u00e9es et les trajectoires empiriques r\u00e9elles offre un moyen empirique rigoureux de valider les algorithmes pr\u00e9dictifs. La mod\u00e9lisation par courbes de croissance latente et les mod\u00e8les mixtes lin\u00e9aires s&rsquo;appuient ainsi sur le MSE pour affiner la pr\u00e9diction au niveau intra-individuel et inter-individuel.<\/p>\n<p>Enfin, dans les domaines de la sociologie quantitative et de l&rsquo;\u00e9conomie comportementale, o\u00f9 les \u00e9chantillons peuvent pr\u00e9senter une grande h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 non observ\u00e9e, l&rsquo;\u00e9valuation du MSE permet de quantifier l&rsquo;erreur de g\u00e9n\u00e9ralisation lorsque des politiques publiques cibl\u00e9es ou des interventions \u00e9ducatives sont mod\u00e9lis\u00e9es. Le recours syst\u00e9matique au MSE sous R fournit aux chercheurs des indicateurs comparables pour valider si les mod\u00e8les psychologiques d\u00e9velopp\u00e9s en laboratoire conservent leur robustesse analytique et pr\u00e9dictive lorsqu&rsquo;ils sont appliqu\u00e9s \u00e0 des populations \u00e9cologiques r\u00e9elles.<\/p>\n<h2>2. Formulation math\u00e9matique et d\u00e9composition statistique du MSE<\/h2>\n<h3>2.1 Analyse d\u00e9taill\u00e9e de l&rsquo;\u00e9quation math\u00e9matique<\/h3>\n<p>L&rsquo;expression math\u00e9matique formelle de l&rsquo;erreur quadratique moyenne repose sur un calcul d&rsquo;esp\u00e9rance ou, dans son application sur \u00e9chantillon fini, sur une moyenne arithm\u00e9tique de carr\u00e9s. Consid\u00e9rons un \u00e9chantillon de taille <em>n<\/em> issu d&rsquo;une population cible, o\u00f9 nous disposons d&rsquo;un vecteur de valeurs observ\u00e9es <em>y = (y<sub>1<\/sub>, y<sub>2<\/sub>, &#8230;, y<sub>n<\/sub>)<\/em> et d&rsquo;un vecteur correspondant de pr\u00e9dictions issues d&rsquo;un mod\u00e8le statistique, not\u00e9 <em>\u0177 = (\u0177<sub>1<\/sub>, \u0177<sub>2<\/sub>, &#8230;, \u0177<sub>n<\/sub>)<\/em>. L&rsquo;\u00e9quation canonique du MSE s&rsquo;\u00e9nonce selon l&rsquo;\u00e9criture alg\u00e9brique suivante :<\/p>\n<p><strong>MSE = (1 \/ n) * &Sigma;<sub>i=1<\/sub><sup>n<\/sup> (y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub>)<sup>2<\/sup><\/strong><\/p>\n<p>Dans cette formulation, la sommation parcourt l&rsquo;ensemble des unit\u00e9s statistiques de l&rsquo;\u00e9chantillon, de la premi\u00e8re observation \u00e0 la n-i\u00e8me. Le terme <em>e<sub>i<\/sub> = y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub><\/em> repr\u00e9sente le r\u00e9sidu individuel associ\u00e9 \u00e0 l&rsquo;observation <em>i<\/em>. L&rsquo;application de la fonction carr\u00e9 \u00e0 ce terme a deux implications math\u00e9matiques distinctes. Premi\u00e8rement, elle r\u00e9sout le probl\u00e8me de l&rsquo;annulation mutuelle des erreurs positives et n\u00e9gatives : en transformant chaque \u00e9cart en une grandeur strictement non n\u00e9gative, elle garantit que chaque d\u00e9viation contribue positivement \u00e0 l&rsquo;erreur globale. Deuxi\u00e8mement, la fonction quadratique conf\u00e8re une convexit\u00e9 forte \u00e0 la m\u00e9trique, ce qui facilite consid\u00e9rablement sa manipulation dans les algorithmes d&rsquo;optimisation bas\u00e9s sur le calcul diff\u00e9rentiel, tels que la descente de gradient ou la r\u00e9solution matricielle exacte des moindres carr\u00e9s.<\/p>\n<p>L&rsquo;effet le plus prononc\u00e9 de cette mise au carr\u00e9 r\u00e9side toutefois dans l&rsquo;amplification disproportionn\u00e9e des r\u00e9sidus extr\u00eames. \u00c0 titre d&rsquo;illustration th\u00e9orique, consid\u00e9rons une observation dont l&rsquo;erreur r\u00e9siduelle est de 2 unit\u00e9s, et une seconde dont l&rsquo;\u00e9cart atteint 10 unit\u00e9s. Si l&rsquo;\u00e9cart lin\u00e9aire entre les deux erreurs r\u00e9siduelles pr\u00e9sente un facteur de 5, leur contribution au calcul du MSE pr\u00e9sente un facteur de 25 (car 2<sup>2<\/sup> = 4 et 10<sup>2<\/sup> = 100). Le param\u00e8tre de taille d&rsquo;\u00e9chantillon <em>n<\/em> au d\u00e9nominateur normalise cette somme totale, faisant du MSE une moyenne d&rsquo;erreurs quadratiques, ce qui lui conf\u00e8re une dimension invariante face \u00e0 la taille de l&rsquo;\u00e9chantillon analys\u00e9, facilitant ainsi les comparaisons entre diff\u00e9rentes cohortes ou sous-groupes.<\/p>\n<h3>2.2 Le compromis biais-variance (Bias-Variance Tradeoff)<\/h3>\n<p>L&rsquo;une des propri\u00e9t\u00e9s fondamentales du MSE dans le cadre de la th\u00e9orie de l&rsquo;apprentissage statistique r\u00e9side dans sa d\u00e9composabilit\u00e9 analytique en trois composantes distinctes. Lorsque l&rsquo;on \u00e9value l&rsquo;esp\u00e9rance th\u00e9orique du MSE conditionnellement \u00e0 une nouvelle observation <em>x<\/em>, l&rsquo;erreur quadratique attendue d&rsquo;un estimateur <em>f\u0302(x)<\/em> par rapport \u00e0 la v\u00e9ritable cible <em>Y = f(x) + &epsilon;<\/em> (avec un bruit al\u00e9atoire centr\u00e9 de variance &sigma;<sup>2<\/sup>) se structure selon l&rsquo;\u00e9galit\u00e9 fondamentale :<\/p>\n<p><strong>E[(Y &#8211; f\u0302(x))<sup>2<\/sup>] = (Biais[f\u0302(x)])<sup>2<\/sup> + Var(f\u0302(x)) + &sigma;<sup>2<\/sup><\/strong><\/p>\n<p>Cette relation th\u00e9orique met en lumi\u00e8re le fameux compromis biais-variance. Le premier terme, le biais au carr\u00e9, mesure l&rsquo;erreur introduite par l&rsquo;approximation d&rsquo;un probl\u00e8me r\u00e9el potentiellement complexe au moyen d&rsquo;un mod\u00e8le simplifi\u00e9. Un biais \u00e9lev\u00e9 refl\u00e8te un sous-apprentissage (<em>underfitting<\/em>), o\u00f9 le mod\u00e8le est incapable de saisir la structure sous-jacente des donn\u00e9es. Le deuxi\u00e8me terme, la variance, quantifie la sensibilit\u00e9 du mod\u00e8le aux fluctuations al\u00e9atoires du jeu de donn\u00e9es d&rsquo;apprentissage : un mod\u00e8le \u00e0 forte variance produira des pr\u00e9dictions radicalement diff\u00e9rentes si l&rsquo;on modifie l\u00e9g\u00e8rement les donn\u00e9es d&rsquo;entra\u00eenement. Enfin, le terme &sigma;<sup>2<\/sup> repr\u00e9sente l&rsquo;erreur irr\u00e9ductible, issue du bruit stochastique intrins\u00e8que au syst\u00e8me \u00e9tudi\u00e9, seuil en de\u00e7\u00e0 duquel aucun algorithme, quelle que soit sa sophistication, ne peut descendre.<\/p>\n<p>L&rsquo;objectif sous-jacent \u00e0 la minimisation du MSE sur un \u00e9chantillon de test consiste pr\u00e9cis\u00e9ment \u00e0 identifier la zone d&rsquo;\u00e9quilibre optimal entre ce biais et cette variance. Lorsque la complexit\u00e9 du mod\u00e8le s&rsquo;accro\u00eet, le biais diminue m\u00e9caniquement au d\u00e9triment d&rsquo;une augmentation sensible de la variance, conduisant au surajustement (<em>overfitting<\/em>). Dans ce cas pr\u00e9cis, le MSE calcul\u00e9 sur les donn\u00e9es d&rsquo;entra\u00eenement continuera de d\u00e9cro\u00eetre vers z\u00e9ro, cr\u00e9ant une illusion de perfection, alors que le MSE \u00e9valu\u00e9 sur des donn\u00e9es ind\u00e9pendantes explosera en raison de la variance disproportionn\u00e9e de l&rsquo;estimateur. La surveillance du MSE externe constitue donc le garde-fou primordial contre ce pi\u00e8ge m\u00e9thodologique.<\/p>\n<h3>2.3 Propri\u00e9t\u00e9s asymptotiques et convergence des estimateurs<\/h3>\n<p>D&rsquo;un point de vue de statistique math\u00e9matique asymptotique, le MSE calcul\u00e9 sur un \u00e9chantillon empirique b\u00e9n\u00e9ficie de propri\u00e9t\u00e9s de convergence particuli\u00e8rement attractives r\u00e9gies par la loi forte des grands nombres et le <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Central_limit_theorem\">th\u00e9or\u00e8me central limite<\/a>. D\u00e8s lors que les observations sont identiquement et ind\u00e9pendamment distribu\u00e9es (i.i.d.) et que les r\u00e9sidus poss\u00e8dent des moments d&rsquo;ordre 4 finis, le MSE empirique converge presque s\u00fbrement vers l&rsquo;erreur quadratique moyenne th\u00e9orique de la population au fur et \u00e0 mesure que la taille de l&rsquo;\u00e9chantillon <em>n<\/em> tend vers l&rsquo;infini.<\/p>\n<p>Il est cependant imp\u00e9ratif d&rsquo;\u00e9tablir une distinction th\u00e9orique fondamentale entre le MSE empirique utilis\u00e9 comme m\u00e9trique de performance pure et le carr\u00e9 moyen des r\u00e9sidus ajust\u00e9, souvent not\u00e9 <em>s<sup>2<\/sup><\/em> ou <em>MSR<\/em> dans les tableaux d&rsquo;analyse de la variance (ANOVA). Dans un mod\u00e8le de r\u00e9gression lin\u00e9aire \u00e0 <em>p<\/em> covariables estim\u00e9 par les moindres carr\u00e9s ordinaires, la somme des carr\u00e9s des r\u00e9sidus (SSE) divis\u00e9e par <em>n<\/em> produit un estimateur biais\u00e9 vers le bas de la variance du terme d&rsquo;erreur &sigma;<sup>2<\/sup>. Pour corriger ce biais induit par l&rsquo;estimation pr\u00e9alable des param\u00e8tres du mod\u00e8le, la statistique inf\u00e9rentielle utilise les degr\u00e9s de libert\u00e9 r\u00e9siduels au d\u00e9nominateur, soit <em>(n &#8211; p &#8211; 1)<\/em> au lieu de <em>n<\/em> :<\/p>\n<p><strong>s<sup>2<\/sup> = (1 \/ (n &#8211; p &#8211; 1)) * &Sigma;<sub>i=1<\/sub><sup>n<\/sup> (y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub>)<sup>2<\/sup><\/strong><\/p>\n<p>Tandis que le statisticien travaillant dans une optique inf\u00e9rentielle privil\u00e9gie la correction par les degr\u00e9s de libert\u00e9 pour obtenir un estimateur sans biais de la dispersion des perturbations, le praticien de l&rsquo;apprentissage statistique ou de la mod\u00e9lisation pr\u00e9dictive utilise le diviseur <em>n<\/em> strict. Dans les contextes o\u00f9 <em>n<\/em> est grand par rapport au nombre de r\u00e9gresseurs <em>p<\/em>, la divergence asymptotique entre les deux calculs s&rsquo;amenuise pour devenir n\u00e9gligeable, garantissant une stabilit\u00e9 num\u00e9rique et conceptuelle aux conclusions tir\u00e9es du calcul du MSE.<\/p>\n<h2>3. Pr\u00e9paration de l&rsquo;environnement de travail et structuration des donn\u00e9es sous R<\/h2>\n<h3>3.1 Configuration de session R et gestion des d\u00e9pendances<\/h3>\n<p>L&rsquo;ex\u00e9cution de travaux statistiques rigoureux n\u00e9cessite la mise en place d&rsquo;une session R propre, reproductible et document\u00e9e. Avant d&rsquo;entamer les op\u00e9rations d&rsquo;ajustement de mod\u00e8les et de calcul de m\u00e9triques d&rsquo;erreur, il est essentiel de configurer les param\u00e8tres de base de l&rsquo;interpr\u00e9teur R. La ma\u00eetrise de la reproductibilit\u00e9 passe prioritairement par la fixation explicite de la graine du g\u00e9n\u00e9rateur de nombres pseudo-al\u00e9atoires \u00e0 l&rsquo;aide de la fonction <code>set.seed()<\/code>. Cette pr\u00e9caution assure que tout partitionnement subs\u00e9quent de donn\u00e9es ou toute proc\u00e9dure de r\u00e9\u00e9chantillonnage produira des r\u00e9sultats strictement identiques lors de r\u00e9plications ult\u00e9rieures par des tiers.<\/p>\n<p>Pour initialiser l&rsquo;environnement, on veille \u00e9galement \u00e0 g\u00e9rer les options globales d&rsquo;affichage et de pr\u00e9cision num\u00e9rique via l&rsquo;instruction <code>options()<\/code>, en r\u00e9glant par exemple le nombre de chiffres significatifs (<code>digits = 5<\/code>) et en d\u00e9sactivant la notation scientifique pr\u00e9matur\u00e9e gr\u00e2ce \u00e0 <code>scipen = 999<\/code> si une lecture d\u00e9cimale directe est souhait\u00e9e. La v\u00e9rification de la version active de R via <code>R.version.string<\/code> permet par ailleurs de certifier la compatibilit\u00e9 des biblioth\u00e8ques logicielles qui seront mobilis\u00e9es tout au long du cycle analytique.<\/p>\n<p>Voici l&rsquo;agencement programmatique standard recommand\u00e9 pour d\u00e9marrer un script de calcul sous R :<\/p>\n<p><code># Configuration initiale de l'environnement de travail<br \/>\nset.seed(42)<br \/>\noptions(digits = 6, scipen = 10)<br \/>\nsessionInfo()<\/code><\/p>\n<p>L&rsquo;utilisation de scripts bien ordonn\u00e9s, d\u00e9pourvus de d\u00e9pendances r\u00e9siduelles issues d&rsquo;objets en m\u00e9moire ant\u00e9rieurement cr\u00e9\u00e9s, constitue le socle indispensable sur lequel reposent la validit\u00e9 et l&rsquo;exactitude des calculs de performance statistique.<\/p>\n<h3>3.2 Importation et exploration des jeux de donn\u00e9es de r\u00e9f\u00e9rence<\/h3>\n<p>Pour illustrer de mani\u00e8re tangible les proc\u00e9dures de calcul du MSE, nous nous appuierons sur des donn\u00e9es d&rsquo;\u00e9talonnage standard int\u00e9gr\u00e9es \u00e0 la distribution native de R, au premier rang desquelles figure le jeu de donn\u00e9es historique <code>mtcars<\/code>, issu des publications de l&rsquo;organisme Motor Trend de 1974. Ce corpus d&rsquo;observations documente la consommation de carburant exprim\u00e9e en miles par gallon (variable <code>mpg<\/code>, qui constituera notre cible quantitative continue) ainsi que 10 caract\u00e9ristiques techniques et architecturales de 32 v\u00e9hicules automobiles (cylindr\u00e9e, puissance, poids du v\u00e9hicule, rapport de transmission, etc.).<\/p>\n<p>L&rsquo;exploration pr\u00e9alable de la structure interne des donn\u00e9es constitue une \u00e9tape obligatoire avant toute tentative de mod\u00e9lisation math\u00e9matique. Elle s&rsquo;articule autour de fonctions canoniques de R telles que <code>str()<\/code>, qui d\u00e9taille la typologie de chaque variable (num\u00e9rique, enti\u00e8re, facteur), <code>head()<\/code>, qui affiche les premi\u00e8res lignes de la table, et <code>summary()<\/code>, qui fournit une s\u00e9rie de statistiques descriptives univari\u00e9es fondamentales (minimum, quartiles, moyenne, maximum).<\/p>\n<p><code># Chargement et inspection structurelle du jeu de donnees mtcars<br \/>\ndata(mtcars)<br \/>\nstr(mtcars)<br \/>\nsummary(mtcars[, c(\"mpg\", \"wt\", \"hp\", \"disp\")])<\/code><\/p>\n<p>L&rsquo;examen des variables explicatives nous permet d&rsquo;identifier des covariables continues prometteuses telles que le poids du v\u00e9hicule (<code>wt<\/code>) et la puissance du moteur (<code>hp<\/code>), dont les corr\u00e9lations avec la variable cible <code>mpg<\/code> sont th\u00e9oriquement fortes et n\u00e9gatives. Cet ancrage empirique servira d&rsquo;assise aux illustrations comparatives d\u00e9velopp\u00e9es dans les sections ult\u00e9rieures.<\/p>\n<h3>3.3 Pr\u00e9traitement et traitement rigoureux des donn\u00e9es manquantes<\/h3>\n<p>L&rsquo;occurrence de donn\u00e9es manquantes, not\u00e9es <code>NA<\/code> sous R, pose un d\u00e9fi m\u00e9thodologique direct lors de la phase de calcul des m\u00e9triques r\u00e9siduelles. En pr\u00e9sence d&rsquo;un seul vecteur contenant des valeurs non d\u00e9finies, l&rsquo;application na\u00efve des op\u00e9rateurs arithm\u00e9tiques tels que la soustraction ou la mise au carr\u00e9 produit in\u00e9vitablement la propagation de valeurs <code>NA<\/code>, ce qui rend l&rsquo;estimation du MSE totalement caduque. Deux d\u00e9marches principales s&rsquo;opposent alors : l&rsquo;imputation statistique ou l&rsquo;exclusion par liste (<em>listwise deletion<\/em>).<\/p>\n<p>Dans un contexte de calcul strict du MSE, l&rsquo;exclusion d&rsquo;observations incompl\u00e8tes au moyen de la primitive <code>na.omit()<\/code> ou <code>complete.cases()<\/code> constitue l&rsquo;approche la plus directe, mais elle modifie m\u00e9caniquement la valeur du d\u00e9nominateur <em>n<\/em>. Il est donc capital que la taille effective de l&rsquo;\u00e9chantillon utilis\u00e9 pour l&rsquo;ajustement du mod\u00e8le corresponde scrupuleusement au nombre de r\u00e9sidus int\u00e9gr\u00e9s dans la sommation finale. Si des imputations par la moyenne, la m\u00e9diane ou via des approches multivari\u00e9es (comme l&rsquo;algorithme MICE) sont mises en \u0153uvre, le praticien doit garder \u00e0 l&rsquo;esprit que ces valeurs artificiellement renseign\u00e9es risquent d&rsquo;att\u00e9nuer artificiellement la variance r\u00e9siduelle et, par cons\u00e9quent, de sous-estimer le MSE r\u00e9el.<\/p>\n<p><code># Demonstration de la gestion des donnees incompletes<br \/>\ndonnees_test &lt;- mtcars<br \/>\ndonnees_test[c(3, 7), \"hp\"] &lt;- NA<br \/>\nsum(is.na(donnees_test))<br \/>\ndonnees_propres &lt;- na.omit(donnees_test)<br \/>\nnrow(donnees_propres)<\/code><\/p>\n<p>Le respect m\u00e9ticuleux de l&rsquo;alignement dimensionnel entre le vecteur d&rsquo;observations et le vecteur de pr\u00e9dictions, particuli\u00e8rement apr\u00e8s filtrage des <code>NA<\/code>, \u00e9vite les discordances d&rsquo;indexation qui constituent l&rsquo;une des causes les plus courantes d&rsquo;erreurs d&rsquo;ex\u00e9cution dans les scripts d&rsquo;analyse sous R.<\/p>\n<h2>4. M\u00e9thode 1 : Calcul du MSE directement \u00e0 partir d&rsquo;un mod\u00e8le de r\u00e9gression lin\u00e9aire (lm)<\/h2>\n<h3>4.1 Ajustement d&rsquo;un mod\u00e8le de r\u00e9gression multiple sous R<\/h3>\n<p>L&rsquo;ajustement d&rsquo;un mod\u00e8le lin\u00e9aire sous l&rsquo;interpr\u00e9teur R s&rsquo;articule autour de la fonction centrale <code>lm()<\/code> (pour <em>Linear Model<\/em>). Cette fonction impl\u00e9mente la m\u00e9thode classique des moindres carr\u00e9s ordinaires en s&rsquo;appuyant sur une d\u00e9composition QR pour garantir une stabilit\u00e9 num\u00e9rique optimale lors de l&rsquo;inversion matricielle. La syntaxe canonique exploite l&rsquo;op\u00e9rateur tilde (<code>~<\/code>) pour isoler la variable expliqu\u00e9e \u00e0 gauche de la sp\u00e9cification explicative d\u00e9taill\u00e9e \u00e0 droite.<\/p>\n<p>Pour illustrer notre d\u00e9marche, nous formulons un mod\u00e8le de r\u00e9gression lin\u00e9aire multiple dans lequel la consommation (<code>mpg<\/code>) est expliqu\u00e9e simultan\u00e9ment par le poids du v\u00e9hicule (<code>wt<\/code>), la puissance brute (<code>hp<\/code>) et la cylindr\u00e9e du bloc moteur (<code>disp<\/code>) :<\/p>\n<p><code># Ajustement du modele de regression lineaire multiple<br \/>\nmodele_lineaire &lt;- lm(mpg ~ wt + hp + disp, data = mtcars)<br \/>\nresume_modele &lt;- summary(modele_lineaire)<\/code><\/p>\n<p>L&rsquo;objet retourn\u00e9, de classe <code>lm<\/code>, contient une structure de liste complexe encapsulant l&rsquo;ensemble des m\u00e9tadonn\u00e9es du mod\u00e8le : coefficients estim\u00e9s, valeurs ajust\u00e9es, r\u00e9sidus bruts, degr\u00e9s de libert\u00e9 r\u00e9siduels, ainsi que la d\u00e9composition QR sous-jacente. L&rsquo;appel \u00e0 <code>summary.lm<\/code> permet d&rsquo;inspecter les coefficients de r\u00e9gression et confirme la significativit\u00e9 statistique des covariables retenues, posant ainsi les bases du calcul r\u00e9siduel subs\u00e9quent.<\/p>\n<h3>4.2 Extraction programmatique des r\u00e9sidus d&rsquo;ajustement<\/h3>\n<p>Une fois le mod\u00e8le calibr\u00e9, l&rsquo;acc\u00e8s aux r\u00e9sidus constitue l&rsquo;\u00e9tape pr\u00e9paratoire essentielle au calcul du MSE d&rsquo;apprentissage (\u00e9galement qualifi\u00e9 de MSE <em>in-sample<\/em>). Sous R, il existe deux mani\u00e8res courantes d&rsquo;extraire ce vecteur d&rsquo;\u00e9carts. La premi\u00e8re m\u00e9thode, directe mais fortement d\u00e9conseill\u00e9e dans le cadre d&rsquo;une programmation orient\u00e9e objet robuste, consiste \u00e0 acc\u00e9der directement au champ nomm\u00e9 de la liste via l&rsquo;op\u00e9rateur dollar : <code>modele_lineaire$residuals<\/code>.<\/p>\n<p>La seconde approche, pr\u00e9conis\u00e9e par les standards d&rsquo;ing\u00e9nierie logicielle sous R, recourt \u00e0 la fonction g\u00e9n\u00e9rique <code>residuals()<\/code> ou \u00e0 sa version abr\u00e9g\u00e9e <code>resid()<\/code>. L&rsquo;avantage fonctionnel de cette m\u00e9thode g\u00e9n\u00e9rique r\u00e9side dans sa capacit\u00e9 \u00e0 g\u00e9rer de mani\u00e8re transparente la compatibilit\u00e9 avec divers types d&rsquo;objets mod\u00e9lis\u00e9s (mod\u00e8les lin\u00e9aires g\u00e9n\u00e9ralis\u00e9s <code>glm<\/code>, mod\u00e8les non lin\u00e9aires <code>nls<\/code>, ou mod\u00e8les additifs) tout en pr\u00e9servant le traitement appropri\u00e9 des \u00e9tiquettes et des donn\u00e9es initialement exclues.<\/p>\n<p><code># Extraction des residus via la fonction generique standard<br \/>\nresidus_ajustes &lt;- residuals(modele_lineaire)<br \/>\nlength(residus_ajustes)<br \/>\nhead(residus_ajustes)<\/code><\/p>\n<p>Une v\u00e9rification dimensionnelle rigoureuse s&rsquo;impose : le vecteur retourn\u00e9 doit obligatoirement pr\u00e9senter une longueur \u00e9gale au nombre d&rsquo;observations compl\u00e8tes utilis\u00e9es lors de l&rsquo;appel \u00e0 <code>lm()<\/code> (dans ce cas pr\u00e9cis, 32 \u00e9l\u00e9ments). Cette confirmation pr\u00e9vient toute discordance arithm\u00e9tique ult\u00e9rieure.<\/p>\n<h3>4.3 Calcul arithm\u00e9tique pas \u00e0 pas du MSE d&rsquo;apprentissage<\/h3>\n<p>Le calcul du MSE d&rsquo;apprentissage repose sur la traduction s\u00e9quentielle de la formule math\u00e9matique en commandes R \u00e9l\u00e9mentaires. Gr\u00e2ce au paradigme de programmation vectorielle inh\u00e9rent au langage R, l&rsquo;op\u00e9ration d&rsquo;\u00e9l\u00e9vation au carr\u00e9 s&rsquo;applique directement \u00e0 chaque composante du vecteur r\u00e9siduel sans qu&rsquo;il soit n\u00e9cessaire de recourir \u00e0 une boucle explicite. Cette op\u00e9ration s&rsquo;exprime par la syntaxe \u00e9l\u00e9mentaire <code>residus_ajustes^2<\/code>.<\/p>\n<p>Par la suite, l&rsquo;obtention de la moyenne arithm\u00e9tique finale s&rsquo;effectue via l&rsquo;application de la primitive optimis\u00e9e <code>mean()<\/code>. En parall\u00e8le, pour asseoir la coh\u00e9rence didactique et valider l&rsquo;absence de biais algorithmique, il est formateur de confronter cette syntaxe compacte \u00e0 sa version d\u00e9compos\u00e9e faisant intervenir la somme globale normalis\u00e9e par l&rsquo;effectif :<\/p>\n<p><code># Calcul arithmetique direct du MSE in-sample<br \/>\nmse_apprentissage &lt;- mean(residus_ajustes^2)<br \/>\n# Methode alternative de verification explicite<br \/>\nmse_verification &lt;- sum(residus_ajustes^2) \/ length(residus_ajustes)<br \/>\nprint(mse_apprentissage)<br \/>\nprint(mse_verification)<\/code><\/p>\n<p>Pour le mod\u00e8le sp\u00e9cifi\u00e9 sur les donn\u00e9es <code>mtcars<\/code>, ce calcul produit une valeur num\u00e9rique d&rsquo;environ 5.76. Ce r\u00e9sultat signifie que l&rsquo;\u00e9cart quadratique moyen entre la consommation r\u00e9elle observ\u00e9e et la consommation projet\u00e9e par notre r\u00e9gression lin\u00e9aire sur l&rsquo;\u00e9chantillon d&rsquo;entra\u00eenement s&rsquo;\u00e9tablit \u00e0 5.76 (miles par gallon)<sup>2<\/sup>. L&rsquo;\u00e9galit\u00e9 parfaite entre les deux formulations confirme la conformit\u00e9 de l&rsquo;op\u00e9ration vectorielle.<\/p>\n<h2>5. M\u00e9thode 2 : Calcul vectoriel du MSE \u00e0 partir de valeurs r\u00e9elles et pr\u00e9dites<\/h2>\n<h3>5.1 G\u00e9n\u00e9ration de pr\u00e9dictions sur de nouvelles donn\u00e9es<\/h3>\n<p>Dans un contexte d&rsquo;\u00e9valuation pr\u00e9dictive authentique, le calcul du MSE ne s&rsquo;effectue pas exclusivement sur les donn\u00e9es ayant servi \u00e0 l&rsquo;estimation des param\u00e8tres, mais sur de nouvelles donn\u00e9es ind\u00e9pendantes (approche <em>out-of-sample<\/em>). L&rsquo;obtention de ces valeurs projet\u00e9es sous R fait intervenir la m\u00e9thode g\u00e9n\u00e9rique <code>predict()<\/code>, laquelle accepte en argument principal l&rsquo;objet de mod\u00e9lisation ajust\u00e9 ainsi qu&rsquo;un nouveau jeu d&rsquo;observations fourni via le param\u00e8tre formel <code>newdata<\/code>.<\/p>\n<p>Il est imp\u00e9ratif que le tableau de donn\u00e9es soumis au param\u00e8tre <code>newdata<\/code> respecte rigoureusement la nomenclature et la typologie des covariables d\u00e9clar\u00e9es dans la formule d&rsquo;ajustement d&rsquo;origine. Tout manquement \u00e0 cette exigence, qu&rsquo;il s&rsquo;agisse d&rsquo;une coquille dans le libell\u00e9 d&rsquo;une colonne ou de la pr\u00e9sence d&rsquo;un niveau de facteur non observ\u00e9 lors de la phase d&rsquo;apprentissage, provoque une interruption d&rsquo;ex\u00e9cution ou l&rsquo;\u00e9mission d&rsquo;un avertissement formel par le moteur d&rsquo;inf\u00e9rence de R.<\/p>\n<p><code># Generation de predictions a partir du modele lineaire<br \/>\npredictions_ajustees &lt;- predict(modele_lineaire, newdata = mtcars)<br \/>\nvaleurs_reelles &lt;- mtcars$mpg<br \/>\nhead(data.frame(Reel = valeurs_reelles, Predit = predictions_ajustees))<\/code><\/p>\n<p>Cette distinction conceptuelle entre valeurs cibles effectives et estimations calcul\u00e9es constitue le fondement m\u00eame de la d\u00e9marche pr\u00e9dictive. L&rsquo;alignement point \u00e0 point des deux vecteurs garantit l&rsquo;exactitude de la comparaison diff\u00e9rentielle subs\u00e9quente.<\/p>\n<h3>5.2 Impl\u00e9mentation d&rsquo;une fonction R personnalis\u00e9e pour le MSE<\/h3>\n<p>Afin de structurer son code selon les pr\u00e9ceptes de modularit\u00e9 et de maintenabilit\u00e9 logicielle, tout statisticien a int\u00e9r\u00eat \u00e0 encapsuler la logique du calcul d&rsquo;erreur quadratique au sein d&rsquo;une fonction r\u00e9utilisable et param\u00e9trable. Une telle routine doit inclure des m\u00e9canismes de validation d\u00e9fensive \u00e0 l&rsquo;aide de l&rsquo;instruction <code>stopifnot()<\/code> pour s&rsquo;assurer de la compatibilit\u00e9 des entr\u00e9es.<\/p>\n<p>La fonction personnalis\u00e9e doit s&rsquo;assurer que les deux arguments vectoriels poss\u00e8dent la m\u00eame longueur et qu&rsquo;ils sont exclusivement compos\u00e9s de valeurs num\u00e9riques r\u00e9elles. En compl\u00e9ment, l&rsquo;ajout d&rsquo;un argument optionnel <code>na.rm = FALSE<\/code> permet \u00e0 l&rsquo;utilisateur de d\u00e9cider explicitement de la gestion des donn\u00e9es manquantes \u00e9ventuelles :<\/p>\n<p><code># Implementation d'une fonction robuste de calcul du MSE<br \/>\ncalculer_mse &lt;- function(reel, predit, na.rm = FALSE) {<br \/>\n&nbsp;&nbsp;stopifnot(is.numeric(reel), is.numeric(predit))<br \/>\n&nbsp;&nbsp;stopifnot(length(reel) == length(predit))<br \/>\n&nbsp;&nbsp;if (na.rm) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;masque &lt;- !is.na(reel) &amp; !is.na(predit)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;reel &lt;- reel[masque]<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;predit &lt;- predit[masque]<br \/>\n&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;ecart &lt;- reel - predit<br \/>\n&nbsp;&nbsp;mean(ecart^2)<br \/>\n}<\/code><\/p>\n<p>Cette impl\u00e9mentation pr\u00e9serve l&rsquo;int\u00e9grit\u00e9 du calcul arithm\u00e9tique tout en offrant une protection contre les incoh\u00e9rences dimensionnelles fr\u00e9quentes lors de traitements automatis\u00e9s \u00e0 grande \u00e9chelle.<\/p>\n<h3>5.3 Ex\u00e9cution et validation num\u00e9rique sur des vecteurs simul\u00e9s<\/h3>\n<p>Afin d&rsquo;attester de la validit\u00e9 algorithmique et de la pr\u00e9cision en arithm\u00e9tique \u00e0 virgule flottante de notre fonction personnalis\u00e9e, il est recommand\u00e9 de la confronter \u00e0 un jeu de donn\u00e9es synth\u00e9tiques dont les propri\u00e9t\u00e9s statistiques sont parfaitement ma\u00eetris\u00e9es. Nous g\u00e9n\u00e9rons artificiellement un vecteur d&rsquo;observations th\u00e9oriques suivant une loi normale et lui appliquons une perturbation contr\u00f4l\u00e9e simulant l&rsquo;erreur de mod\u00e9lisation :<\/p>\n<p><code># Simulation d'epreuve avec controle stochastique<br \/>\nn_sim &lt;- 1000<br \/>\ny_vrai &lt;- rnorm(n_sim, mean = 50, sd = 10)<br \/>\ny_pred &lt;- y_vrai + rnorm(n_sim, mean = 0, sd = 2)<\/p>\n<p># Calcul via la fonction sur-mesure<br \/>\nmse_simule &lt;- calculer_mse(y_vrai, y_pred)<br \/>\n# Comparaison directe avec le calcul matriciel manuel<br \/>\nmse_theorique &lt;- mean((y_vrai - y_pred)^2)<br \/>\nall.equal(mse_simule, mse_theorique)<\/code><\/p>\n<p>L&rsquo;utilisation de la fonction <code>all.equal()<\/code> est ici primordiale dans l&rsquo;\u00e9cosyst\u00e8me R : contrairement \u00e0 l&rsquo;op\u00e9rateur d&rsquo;\u00e9galit\u00e9 stricte <code>==<\/code>, qui peut \u00e9chouer en raison de d\u00e9calages infinit\u00e9simaux dans les derniers bits de pr\u00e9cision en virgule flottante (conform\u00e9ment \u00e0 la norme IEEE 754), <code>all.equal()<\/code> tol\u00e8re une diff\u00e9rence d&rsquo;arrondi machine n\u00e9gligeable de l&rsquo;ordre de 10<sup>-16<\/sup>. Le retour formel <code>TRUE<\/code> valide la justesse op\u00e9rationnelle de notre fonction.<\/p>\n<h2>6. Utilisation des packages statistiques R sp\u00e9cialis\u00e9s pour extraire le MSE<\/h2>\n<h3>6.1 Calcul de la performance avec le package Metrics<\/h3>\n<p>L&rsquo;installation et la mobilisation de biblioth\u00e8ques tierces permettent d&rsquo;acc\u00e9l\u00e9rer les processus d&rsquo;\u00e9valuation en \u00e9vitant la r\u00e9\u00e9criture manuelle d&rsquo;algorithmes \u00e9l\u00e9mentaires. Le paquet <em>Metrics<\/em> constitue \u00e0 cet \u00e9gard une bo\u00eete \u00e0 outils l\u00e9g\u00e8re et tr\u00e8s utilis\u00e9e, d\u00e9di\u00e9e \u00e0 l&rsquo;agr\u00e9gation de fonctions d&rsquo;\u00e9valuation pour la r\u00e9gression, la classification et le classement ordonn\u00e9. La biblioth\u00e8que ne poss\u00e8de que peu de d\u00e9pendances externes, ce qui en fait un choix privil\u00e9gi\u00e9 pour les d\u00e9ploiements logiciels compacts.<\/p>\n<p>Le calcul du MSE via <em>Metrics<\/em> s&rsquo;effectue par l&rsquo;interm\u00e9diaire de sa fonction d\u00e9di\u00e9e <code>mse()<\/code>, dont la signature attend en premier argument le vecteur des observations r\u00e9elles (<code>actual<\/code>) et en second le vecteur des valeurs pr\u00e9dites (<code>predicted<\/code>) :<\/p>\n<p><code># Chargement du package Metrics et evaluation<br \/>\nlibrary(Metrics)<br \/>\nmse_metrics &lt;- mse(actual = mtcars$mpg, predicted = predictions_ajustees)<br \/>\nprint(mse_metrics)<\/code><\/p>\n<p>Ce r\u00e9sultat co\u00efncide rigoureusement avec les valeurs calcul\u00e9es \u00e0 la main lors des sections pr\u00e9c\u00e9dentes. L&rsquo;int\u00e9r\u00eat m\u00e9thodologique de recourir \u00e0 une fonction standardis\u00e9e issue d&rsquo;une biblioth\u00e8que certifi\u00e9e r\u00e9side dans l&rsquo;assurance d&rsquo;une maintenance p\u00e9renne et de tests unitaires int\u00e9gr\u00e9s, garantissant la stabilit\u00e9 du calcul au fil des mont\u00e9es en version de l&rsquo;interpr\u00e9teur R.<\/p>\n<h3>6.2 \u00c9valuation int\u00e9gr\u00e9e dans l&rsquo;\u00e9cosyst\u00e8me Caret<\/h3>\n<p>Le m\u00e9ta-paquet <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/cran.r-project.org\/package=caret\">caret<\/a> (<em>Classification And REgression Training<\/em>), d\u00e9velopp\u00e9 de longue date par Max Kuhn, constitue l&rsquo;un des piliers de l&rsquo;apprentissage automatique supervis\u00e9 sous R. Con\u00e7u pour unifier la syntaxe d&rsquo;ajustement de centaines d&rsquo;algorithmes disparates, il int\u00e8gre des routines de calcul de m\u00e9triques d&rsquo;erreur regroup\u00e9es sous la fonction g\u00e9n\u00e9rique <code>postResample()<\/code>.<\/p>\n<p>Contrairement aux fonctions atomiques simples, <code>postResample()<\/code> g\u00e9n\u00e8re simultan\u00e9ment un vecteur nomm\u00e9 comprenant le RMSE (la racine carr\u00e9e du MSE), le coefficient de d\u00e9termination (R-carr\u00e9) et, par d\u00e9faut, l&rsquo;erreur absolue moyenne (MAE). Pour r\u00e9cup\u00e9rer formellement la valeur brute du MSE \u00e0 partir de cette sortie consolid\u00e9e, il convient d&rsquo;extraire la composante RMSE puis de lui appliquer une \u00e9l\u00e9vation au carr\u00e9 :<\/p>\n<p><code># Utilisation du package caret pour les metriques globales<br \/>\nlibrary(caret)<br \/>\nmetriques_caret &lt;- postResample(pred = predictions_ajustees, obs = mtcars$mpg)<br \/>\nprint(metriques_caret)<br \/>\nmse_caret &lt;- (metriques_caret[\"RMSE\"])^2<br \/>\nnames(mse_caret) &lt;- \"MSE\"<br \/>\nprint(mse_caret)<\/code><\/p>\n<p>Cette approche s&rsquo;ins\u00e8re directement dans les boucles d&rsquo;optimisation d&rsquo;hyperparam\u00e8tres g\u00e9r\u00e9es par la fonction <code>train()<\/code> de <em>caret<\/em>, o\u00f9 l&rsquo;algorithme s\u00e9lectionne les configurations minimisant automatiquement l&rsquo;erreur quadratique sur les partitions de validation.<\/p>\n<h3>6.3 Approche moderne et fluide avec Tidymodels et Yardstick<\/h3>\n<p>L&rsquo;\u00e9cosyst\u00e8me moderne <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/www.tidymodels.org\/\">tidymodels<\/a>, successeur conceptuel de <em>caret<\/em> respectant scrupuleusement la philosophie du <em>tidyverse<\/em>, d\u00e9l\u00e8gue le calcul des indicateurs de performance au paquet sp\u00e9cialis\u00e9 <em>yardstick<\/em>. Cette suite logicielle privil\u00e9gie l&rsquo;usage de structures de donn\u00e9es tabulaires (<code>tibble<\/code>) o\u00f9 les colonnes r\u00e9elles et pr\u00e9dites cohabitent explicitement sous une forme standardis\u00e9e.<\/p>\n<p>Sous <em>yardstick<\/em>, la fonction <code>rmse()<\/code> permet de calculer la racine de l&rsquo;erreur quadratique moyenne. L&rsquo;obtention directe du MSE s&rsquo;op\u00e8re ensuite en combinant cette m\u00e9trique avec les verbes de manipulation usuels de <em>dplyr<\/em>, ou en d\u00e9finissant une fonction personnalis\u00e9e conforme aux sp\u00e9cifications d&rsquo;\u00e9valuation de <em>tidymodels<\/em>. L&rsquo;atout majeur de cette m\u00e9thode r\u00e9side dans sa prise en charge native des regroupements par facteurs via la fonction <code>group_by()<\/code>, permettant d&rsquo;extraire instantan\u00e9ment le MSE segment\u00e9 par strate :<\/p>\n<p><code># Evaluation tibble moderne via yardstick<br \/>\nlibrary(tibble)<br \/>\nlibrary(dplyr)<br \/>\nlibrary(yardstick)<\/p>\n<p>table_eval &lt;- tibble(<br \/>\n&nbsp;&nbsp;verite = mtcars$mpg,<br \/>\n&nbsp;&nbsp;estimation = predictions_ajustees,<br \/>\n&nbsp;&nbsp;cylindres = as.factor(mtcars$cyl)<br \/>\n)<\/p>\n<p># Calcul global du MSE via transformation du RMSE<br \/>\ntable_eval %&gt;%<br \/>\n&nbsp;&nbsp;rmse(truth = verite, estimate = estimation) %&gt;%<br \/>\n&nbsp;&nbsp;mutate(mse = .estimate^2)<\/p>\n<p># Calcul strate par sous-groupe (par nombre de cylindres)<br \/>\ntable_eval %&gt;%<br \/>\n&nbsp;&nbsp;group_by(cylindres) %&gt;%<br \/>\n&nbsp;&nbsp;rmse(truth = verite, estimate = estimation) %&gt;%<br \/>\n&nbsp;&nbsp;mutate(mse_strate = .estimate^2)<\/code><\/p>\n<p>Cette souplesse d&rsquo;agr\u00e9gation conditionnelle s&rsquo;av\u00e8re particuli\u00e8rement pr\u00e9cieuse lors de l&rsquo;analyse d&rsquo;\u00e9quit\u00e9 algorithmique ou de la recherche d&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9s inexpliqu\u00e9es entre sous-populations empiriques.<\/p>\n<h2>7. \u00c9valuation des mod\u00e8les pr\u00e9dictifs et validation crois\u00e9e (Cross-Validation) avec le MSE<\/h2>\n<h3>7.1 Partitionnement des donn\u00e9es : ensemble d&rsquo;apprentissage et ensemble de test<\/h3>\n<p>L&rsquo;\u00e9valuation de la performance d&rsquo;un mod\u00e8le statistique sur le m\u00eame jeu de donn\u00e9es que celui employ\u00e9 pour calibrer ses param\u00e8tres constitue un \u00e9cueil m\u00e9thodologique classique. Ce MSE d&rsquo;apprentissage (ou <em>in-sample error<\/em>) souffre d&rsquo;un biais optimiste structurel : le mod\u00e8le s&rsquo;ajuste non seulement au signal structurel mais \u00e9galement au bruit \u00e9chantillonnal contingent. Pour contourner cette limite, la s\u00e9paration rigoureuse de l&rsquo;\u00e9chantillon initial en deux partitions mutuellement exclusives \u2014 l&rsquo;ensemble d&rsquo;apprentissage (<em>training set<\/em>) et l&rsquo;ensemble de test (<em>test set<\/em>) \u2014 s&rsquo;impose comme une r\u00e8gle de base incontournable.<\/p>\n<p>Le ratio de partitionnement standard oscille fr\u00e9quemment entre 70\/30 et 80\/20 selon le volume d&rsquo;observations globalement disponible. La calibration du mod\u00e8le s&rsquo;effectue exclusivement sur les donn\u00e9es d&rsquo;entra\u00eenement, apr\u00e8s quoi les pr\u00e9dictions sont projet\u00e9es sur le sous-ensemble de test, compl\u00e8tement ignor\u00e9 durant la phase d&rsquo;estimation. L&rsquo;\u00e9cart quadratique moyen calcul\u00e9 sur ce dernier sous-ensemble refl\u00e8te fid\u00e8lement la capacit\u00e9 r\u00e9elle de g\u00e9n\u00e9ralisation (<em>out-of-sample error<\/em>) :<\/p>\n<p><code># Protocole de partitionnement Train\/Test sous R<br \/>\ntaille_base &lt;- nrow(mtcars)<br \/>\nindices_entrainement &lt;- sample(seq_len(taille_base), size = floor(0.75 * taille_base))<\/p>\n<p>donnees_train &lt;- mtcars[indices_entrainement, ]<br \/>\ndonnees_test &lt;- mtcars[-indices_entrainement, ]<\/p>\n<p>modele_split &lt;- lm(mpg ~ wt + hp + disp, data = donnees_train)<br \/>\npred_test &lt;- predict(modele_split, newdata = donnees_test)<\/p>\n<p>mse_test &lt;- mean((donnees_test$mpg - pred_test)^2)<br \/>\nprint(mse_test)<\/code><\/p>\n<p>Si le MSE de test s&rsquo;av\u00e8re consid\u00e9rablement plus \u00e9lev\u00e9 que le MSE calcul\u00e9 sur la partition d&rsquo;apprentissage, le statisticien dispose d&rsquo;une alerte empirique indiscutable signalant un surapprentissage potentiel qu&rsquo;il conviendra de r\u00e9gulariser.<\/p>\n<h3>7.2 Validation crois\u00e9e \u00e0 K-blocs (K-Fold Cross-Validation)<\/h3>\n<p>Bien que s\u00e9duisant par sa simplicit\u00e9 conceptuelle, le partitionnement simple en deux blocs uniques pr\u00e9sente une vuln\u00e9rabilit\u00e9 : il d\u00e9pend fortement de l&rsquo;al\u00e9a du tirage d&rsquo;\u00e9chantillonnage, particuli\u00e8rement face \u00e0 des jeux de donn\u00e9es d&rsquo;effectif modeste. La technique de la <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Cross-validation_(statistics)\">validation crois\u00e9e \u00e0 K-blocs (K-fold cross-validation)<\/a> r\u00e9sout ce probl\u00e8me en partitionnant les <em>n<\/em> observations en <em>K<\/em> blocs disjoints de taille sensiblement \u00e9quivalente (typiquement <em>K = 5<\/em> ou <em>K = 10<\/em>).<\/p>\n<p>L&rsquo;algorithme it\u00e8re \u00e0 <em>K<\/em> reprises : \u00e0 chaque \u00e9tape, l&rsquo;un des blocs est r\u00e9serv\u00e9 \u00e0 la validation tandis que les <em>K &#8211; 1<\/em> blocs restants servent \u00e0 l&rsquo;ajustement du mod\u00e8le. Le MSE moyen valid\u00e9 par croisement correspond \u00e0 la moyenne arithm\u00e9tique des <em>K<\/em> valeurs de MSE obtenues, fournissant un estimateur bien plus stable et robuste de l&rsquo;erreur pr\u00e9dictive globale :<\/p>\n<p><code># Algorithme explicite de validation croisee a 5 blocs<br \/>\nk &lt;- 5<br \/>\nplis &lt;- sample(rep(1:k, length.out = nrow(mtcars)))<br \/>\nvecteur_mse_k &lt;- numeric(k)<\/p>\n<p>for (i in 1:k) {<br \/>\n&nbsp;&nbsp;train_k &lt;- mtcars[plis != i, ]<br \/>\n&nbsp;&nbsp;validation_k &lt;- mtcars[plis == i, ]<br \/>\n&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;mod_k &lt;- lm(mpg ~ wt + hp + disp, data = train_k)<br \/>\n&nbsp;&nbsp;pred_k &lt;- predict(mod_k, newdata = validation_k)<br \/>\n&nbsp;&nbsp;vecteur_mse_k[i] &lt;- mean((validation_k$mpg - pred_k)^2)<br \/>\n}<\/p>\n<p>mse_cv_moyen &lt;- mean(vecteur_mse_k)<br \/>\nvariance_inter_plis &lt;- var(vecteur_mse_k)<br \/>\nprint(mse_cv_moyen)<\/code><\/p>\n<p>La quantification de la variance inter-blocs permet de v\u00e9rifier l&rsquo;homog\u00e9n\u00e9it\u00e9 de la pr\u00e9cision pr\u00e9dictive et d&rsquo;identifier si certaines sous-r\u00e9gions de l&rsquo;espace d&rsquo;\u00e9chantillonnage p\u00e9nalisent s\u00e9v\u00e8rement la performance du mod\u00e8le.<\/p>\n<h3>7.3 Validation crois\u00e9e Leave-One-Out (LOOCV) et raccourcis analytiques<\/h3>\n<p>Pouss\u00e9e \u00e0 son extr\u00eame th\u00e9orique, la validation crois\u00e9e \u00e0 K-blocs devient la validation crois\u00e9e unitaire ou <em>Leave-One-Out<\/em> (LOOCV), dans laquelle <em>K<\/em> est \u00e9gal \u00e0 l&rsquo;effectif global <em>n<\/em>. Chaque observation est ainsi mise de c\u00f4t\u00e9 \u00e0 son tour et pr\u00e9dite par le mod\u00e8le ajust\u00e9 sur les <em>n &#8211; 1<\/em> autres donn\u00e9es. Cette proc\u00e9dure a l&rsquo;avantage de maximiser la taille de l&rsquo;\u00e9chantillon d&rsquo;apprentissage et de fournir une estimation quasi sans biais de l&rsquo;erreur pr\u00e9dictive, mais elle peut s&rsquo;av\u00e9rer extr\u00eamement co\u00fbteuse en temps de calcul si l&rsquo;algorithme doit \u00eatre r\u00e9ajust\u00e9 <em>n<\/em> fois.<\/p>\n<p>Dans le cas sp\u00e9cifique des mod\u00e8les lin\u00e9aires ajust\u00e9s par les moindres carr\u00e9s ordinaires, il existe un raccourci analytique \u00e9l\u00e9gant bas\u00e9 sur les valeurs leviers (<em>hat values<\/em>, issues de la diagonale de la matrice de projection <code>H = X(X'X)<sup>-1<\/sup>X'<\/code>). Ce r\u00e9sultat math\u00e9matique fondamental permet de calculer l&rsquo;erreur exacte de pr\u00e9diction LOOCV pour chaque observation \u00e0 partir des seuls r\u00e9sidus du mod\u00e8le complet, sans r\u00e9ajustement s\u00e9quentiel :<\/p>\n<p><strong>e<sub>(i)<\/sub> = e<sub>i<\/sub> \/ (1 &#8211; h<sub>ii<\/sub>)<\/strong><\/p>\n<p>Sous R, ce calcul d&rsquo;une remarquable efficacit\u00e9 computationnelle se programme en une seule ligne matricielle ou s&rsquo;extrait directement via la fonction <code>cv.glm()<\/code> du paquet <em>boot<\/em> :<\/p>\n<p><code># Calcul matriciel instantane du LOOCV MSE via les leviers<br \/>\nleviers &lt;- hatvalues(modele_lineaire)<br \/>\nresidus_loocv &lt;- residuals(modele_lineaire) \/ (1 - leviers)<br \/>\nmse_loocv_analytique &lt;- mean(residus_loocv^2)<\/p>\n<p># Verification via le package boot standard<br \/>\nlibrary(boot)<br \/>\nmodele_glm &lt;- glm(mpg ~ wt + hp + disp, data = mtcars)<br \/>\nloocv_boot &lt;- cv.glm(mtcars, modele_glm)<br \/>\nprint(mse_loocv_analytique)<br \/>\nprint(loocv_boot$delta[1])<\/code><\/p>\n<p>L&rsquo;accord num\u00e9rique parfait entre ces deux approches atteste de la puissance des fondements th\u00e9oriques de la r\u00e9gression lin\u00e9aire sous R, \u00e9vitant des boucles it\u00e9ratives superflues lors du traitement d&rsquo;\u00e9chantillons de taille moyenne.<\/p>\n<h2>8. Diff\u00e9renciation conceptuelle et num\u00e9rique : MSE, RMSE, MAE et R-carr\u00e9 dans R<\/h2>\n<h3>8.1 Racine de l&rsquo;erreur quadratique moyenne (RMSE)<\/h3>\n<p>Si l&rsquo;erreur quadratique moyenne jouit d&rsquo;une r\u00e9putation solide en mati\u00e8re d&rsquo;optimisation math\u00e9matique et d&rsquo;analyse asymptotique, elle souffre d&rsquo;une limite pratique majeure : son unit\u00e9 d&rsquo;expression physique. En effet, l&rsquo;\u00e9l\u00e9vation au carr\u00e9 des r\u00e9sidus entra\u00eene ipso facto la mise au carr\u00e9 des dimensions de la variable cible. Ainsi, lorsque l&rsquo;on mod\u00e9lise un salaire en euros, le MSE s&rsquo;exprime en \u00ab euros au carr\u00e9 \u00bb ; pour une taille en centim\u00e8tres, il se d\u00e9cline en \u00ab centim\u00e8tres carr\u00e9s \u00bb. Cette abstraction dimensionnelle complique l&rsquo;interpr\u00e9tation intuitive des r\u00e9sultats aupr\u00e8s des d\u00e9cideurs ou des lecteurs non avertis.<\/p>\n<p>Pour rem\u00e9dier \u00e0 cette contrainte d&rsquo;interpr\u00e9tation tout en pr\u00e9servant la sensibilit\u00e9 relative aux grands \u00e9carts propres aux formulations quadratiques, les statisticiens recourent universellement \u00e0 la racine carr\u00e9e de l&rsquo;erreur quadratique moyenne (RMSE, pour <em>Root Mean Squared Error<\/em>). La relation math\u00e9matique fondamentale s&rsquo;exprime par :<\/p>\n<p><strong>RMSE = sqrt(MSE)<\/strong><\/p>\n<p>Cette m\u00e9trique r\u00e9int\u00e8gre l&rsquo;\u00e9chelle de mesure originale de la variable d\u00e9pendante. Sous l&rsquo;environnement R, le passage de l&rsquo;une \u00e0 l&rsquo;autre de ces deux m\u00e9triques s&rsquo;effectue sans difficult\u00e9 gr\u00e2ce \u00e0 la primitive vectorielle <code>sqrt()<\/code> :<\/p>\n<p><code># Comparaison directe MSE versus RMSE<br \/>\nmse_valeur &lt;- mean(residuals(modele_lineaire)^2)<br \/>\nrmse_valeur &lt;- sqrt(mse_valeur)<\/p>\n<p>cat(sprintf(\"MSE : %.4f (mpg^2)nRMSE: %.4f (mpg)n\", mse_valeur, rmse_valeur))<\/code><\/p>\n<p>La valeur de RMSE ainsi obtenue indique directement que, sous l&rsquo;hypoth\u00e8se d&rsquo;une r\u00e9partition approximativement normale des perturbations, l&rsquo;\u00e9cart-type d&rsquo;ajustement du mod\u00e8le s&rsquo;\u00e9l\u00e8ve \u00e0 environ 2.40 miles par gallon par rapport aux consommations observ\u00e9es.<\/p>\n<h3>8.2 Erreur absolue moyenne (MAE) vs Erreur quadratique moyenne (MSE)<\/h3>\n<p>L&rsquo;analyse comparative entre l&rsquo;erreur absolue moyenne (MAE, <em>Mean Absolute Error<\/em>) et l&rsquo;erreur quadratique moyenne (MSE) \u00e9claire les hypoth\u00e8ses sous-jacentes \u00e0 la fonction de co\u00fbt retenue. La MAE s&rsquo;appuie sur la norme L1 (valeur absolue des r\u00e9sidus) plut\u00f4t que sur la norme L2 euclidienne :<\/p>\n<p><strong>MAE = (1 \/ n) * &Sigma;<sub>i=1<\/sub><sup>n<\/sup> |y<sub>i<\/sub> &#8211; \u0177<sub>i<\/sub>|<\/strong><\/p>\n<p>Cette distinction conf\u00e8re \u00e0 la MAE une robustesse statistique nettement sup\u00e9rieure face aux observations aberrantes ou aux distributions d&rsquo;erreurs \u00e0 queues lourdes (telles que les lois de Laplace ou de Cauchy). Dans un calcul de MAE, chaque erreur contribue \u00e0 l&rsquo;indicateur final de mani\u00e8re strictement proportionnelle \u00e0 sa d\u00e9viation absolue, l\u00e0 o\u00f9 le MSE p\u00e9nalise les d\u00e9viations de fa\u00e7on parabolique.<\/p>\n<p><code># Calcul conjoint et comparatif du MSE et de la MAE<br \/>\nresidus &lt;- residuals(modele_lineaire)<br \/>\nmae_valeur &lt;- mean(abs(residus))<\/p>\n<p>cat(sprintf(\"MAE: %.4fnMSE: %.4fnRatio RMSE\/MAE: %.4fn\", mae_valeur, mse_valeur, sqrt(mse_valeur)\/mae_valeur))<\/code><\/p>\n<p>Le ratio entre le RMSE et la MAE fournit un indicateur pr\u00e9cieux sur la structure des erreurs du mod\u00e8le : plus ce ratio s&rsquo;\u00e9loigne de 1 pour s&rsquo;\u00e9lever au-del\u00e0 des valeurs canoniques attendues sous l&rsquo;hypoth\u00e8se de normalit\u00e9 (environ 1.253 pour une loi normale pure), plus l&rsquo;\u00e9chantillon r\u00e9siduel est soumis \u00e0 la pr\u00e9sence de quelques anomalies locales de pr\u00e9diction dont la s\u00e9v\u00e9rit\u00e9 perturbe fortement le calcul du MSE.<\/p>\n<h3>8.3 Le coefficient de d\u00e9termination (R-carr\u00e9) et sa relation avec le MSE<\/h3>\n<p>Le coefficient de d\u00e9termination, universellement d\u00e9sign\u00e9 par le symbole R<sup>2<\/sup>, formalise la proportion de variance de la variable cible expliqu\u00e9e par l&rsquo;ensemble des r\u00e9gresseurs int\u00e9gr\u00e9s dans le mod\u00e8le. Sa relation avec le MSE repose sur le ratio liant la somme des carr\u00e9s r\u00e9siduels (SSE) \u00e0 la somme des carr\u00e9s totaux (SST) centr\u00e9e sur la moyenne empirique globale <em>y\u0304<\/em> :<\/p>\n<p><strong>R<sup>2<\/sup> = 1 &#8211; (SSE \/ SST) = 1 &#8211; (MSE \/ Var(Y))<\/strong> (au biais d&rsquo;\u00e9chantillonnage pr\u00e8s)<\/p>\n<p>Contrairement au MSE, qui d\u00e9pend directement de l&rsquo;unit\u00e9 de mesure retenue, le R<sup>2<\/sup> pr\u00e9sente l&rsquo;avantage d&rsquo;\u00eatre un indicateur adimensionnel born\u00e9 entre 0 et 1 dans le cadre des ajustements lin\u00e9aires avec constante. Toutefois, il convient d&rsquo;\u00eatre prudent : un R<sup>2<\/sup> \u00e9lev\u00e9 n&rsquo;implique pas obligatoirement une bonne ad\u00e9quation pr\u00e9dictive, car il a tendance \u00e0 cro\u00eetre m\u00e9caniquement \u00e0 mesure que l&rsquo;on ajoute des variables explicatives, m\u00eame si celles-ci sont de simples bruits al\u00e9atoires.<\/p>\n<p>Afin de synth\u00e9tiser l&rsquo;ensemble de ces m\u00e9triques diagnostiques au sein d&rsquo;une proc\u00e9dure unifi\u00e9e sous R, nous pouvons b\u00e2tir une fonction de synth\u00e8se produisant un bilan complet :<\/p>\n<p><code># Fonction synthetique d'audit des performances globales<br \/>\nevaluer_regression &lt;- function(reel, predit) {<br \/>\n&nbsp;&nbsp;res &lt;- reel - predit<br \/>\n&nbsp;&nbsp;mse &lt;- mean(res^2)<br \/>\n&nbsp;&nbsp;rmse &lt;- sqrt(mse)<br \/>\n&nbsp;&nbsp;mae &lt;- mean(abs(res))<br \/>\n&nbsp;&nbsp;sst &lt;- sum((reel - mean(reel))^2)<br \/>\n&nbsp;&nbsp;sse &lt;- sum(res^2)<br \/>\n&nbsp;&nbsp;r_carre &lt;- 1 - (sse \/ sst)<br \/>\n&nbsp;&nbsp;<br \/>\n&nbsp;&nbsp;data.frame(<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;M\u00e9trique = c(\"MSE\", \"RMSE\", \"MAE\", \"R-carr\u00e9\"),<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;Valeur = c(mse, rmse, mae, r_carre)<br \/>\n&nbsp;&nbsp;)<br \/>\n}<br \/>\nevaluer_regression(mtcars$mpg, predict(modele_lineaire))<\/code><\/p>\n<p>Ce tableau r\u00e9capitulatif regroupe les indicateurs cl\u00e9s sous une forme directement lisible, facilitant ainsi l&rsquo;interpr\u00e9tation crois\u00e9e de l&rsquo;ajustement et de l&rsquo;erreur r\u00e9siduelle.<\/p>\n<h2>9. Diagnostic d&rsquo;influence, valeurs aberrantes et sensibilit\u00e9 du MSE sous R<\/h2>\n<h3>9.1 Identification des points \u00e0 fort levier et valeurs r\u00e9siduelles extr\u00eames<\/h3>\n<p>La d\u00e9pendance quadratique du MSE le rend particuli\u00e8rement sensible \u00e0 la pr\u00e9sence d&rsquo;observations aberrantes ou de points \u00e0 fort levier statistique. Un point \u00e0 fort levier correspond \u00e0 une observation dont les valeurs des covariables s&rsquo;\u00e9cartent significativement du centre de gravit\u00e9 multidimensionnel de l&rsquo;\u00e9chantillon. Lorsqu&rsquo;un tel point pr\u00e9sente en outre un r\u00e9sidu important, il exerce une traction disproportionn\u00e9e sur l&rsquo;ajustement des param\u00e8tres par les moindres carr\u00e9s ordinaires, tout en tirant artificiellement vers le haut la valeur globale du MSE.<\/p>\n<p>Pour d\u00e9tecter ces observations influentes dans l&rsquo;environnement R, le mod\u00e9lisateur s&rsquo;appuie sur la distance de Cook, calcul\u00e9e via la fonction <code>cooks.distance()<\/code>, et sur les valeurs leviers extraites par <code>hatvalues()<\/code>. Une distance de Cook exc\u00e9dant la valeur seuil usuelle de <em>4 \/ n<\/em> ou de <em>1<\/em> signale une observation dont l&rsquo;exclusion modifierait substantiellement les estimations du mod\u00e8le et la valeur du MSE :<\/p>\n<p><code># Diagnostic des observations influentes<br \/>\ndistances_cook &lt;- cooks.distance(modele_lineaire)<br \/>\nseuil_cook &lt;- 4 \/ nrow(mtcars)<br \/>\npoints_critiques &lt;- which(distances_cook &gt; seuil_cook)<br \/>\nprint(points_critiques)<\/p>\n<p># Visualisation des diagnostics graphiques de base<br \/>\npar(mfrow = c(2, 2))<br \/>\nplot(modele_lineaire, which = 1:4)<br \/>\npar(mfrow = c(1, 1))<\/code><\/p>\n<p>L&rsquo;affichage des quatre graphiques diagnostiques standards de la fonction <code>plot.lm()<\/code> met en lumi\u00e8re les r\u00e9sidus studentis\u00e9s en regard des leviers, permettant d&rsquo;identifier imm\u00e9diatement les v\u00e9hicules particuliers (par exemple la Maserati Bora dans <code>mtcars<\/code>) qui contribuent le plus \u00e0 l&rsquo;erreur quadratique globale.<\/p>\n<h3>9.2 \u00c9valuation de la robustesse du MSE par r\u00e9\u00e9chantillonnage<\/h3>\n<p>Dans la mesure o\u00f9 le calcul ponctuel du MSE sur un \u00e9chantillon empirique est lui-m\u00eame une variable al\u00e9atoire soumise \u00e0 la variance d&rsquo;\u00e9chantillonnage, il est m\u00e9thodologiquement imprudent de se fier \u00e0 une valeur scalaire isol\u00e9e sans quantifier son intervalle de confiance. En l&rsquo;absence de postulats distributionnels stricts quant \u00e0 la normalit\u00e9 des r\u00e9sidus quadratiques, l&rsquo;inf\u00e9rence non param\u00e9trique par r\u00e9\u00e9chantillonnage (<a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Bootstrapping_(statistics)\">bootstrap<\/a>) offre une m\u00e9thode d&rsquo;estimation empirique robuste.<\/p>\n<p>En tirant avec remise des milliers d&rsquo;\u00e9chantillons de m\u00eame taille <em>n<\/em> \u00e0 partir du tableau d&rsquo;origine, on calibre le mod\u00e8le sur chaque r\u00e9plique et l&rsquo;on calcule la distribution empirique du MSE. Cette d\u00e9marche permet d&rsquo;isoler les centiles \u00e0 2.5% et 97.5% afin d&rsquo;\u00e9tablir un intervalle de confiance \u00e0 95% pour l&rsquo;erreur quadratique :<\/p>\n<p><code># Estimation de l'intervalle de confiance du MSE par Bootstrap<br \/>\nlibrary(boot)<\/p>\n<p>fonction_boot_mse &lt;- function(data, indices) {<br \/>\n&nbsp;&nbsp;echantillon &lt;- data[indices, ]<br \/>\n&nbsp;&nbsp;ajustement &lt;- lm(mpg ~ wt + hp + disp, data = echantillon)<br \/>\n&nbsp;&nbsp;mean(residuals(ajustement)^2)<br \/>\n}<\/p>\n<p>resultats_boot &lt;- boot(data = mtcars, statistic = fonction_boot_mse, R = 2000)<br \/>\nintervalle_confiance &lt;- boot.ci(resultats_boot, type = \"perc\")<br \/>\nprint(intervalle_confiance)<\/code><\/p>\n<p>L&rsquo;intervalle de confiance ainsi g\u00e9n\u00e9r\u00e9 quantifie l&rsquo;incertitude pesant sur l&rsquo;estimation de l&rsquo;erreur moyenne du mod\u00e8le, prot\u00e9geant le statisticien contre des interpr\u00e9tations trop optimistes formul\u00e9es \u00e0 partir de jeux de donn\u00e9es fortement asym\u00e9triques.<\/p>\n<h3>9.3 Alternatives robustes au MSE classique<\/h3>\n<p>Face \u00e0 des donn\u00e9es fortement bruit\u00e9es ou contamin\u00e9es par des valeurs aberrantes impossibles \u00e0 \u00e9carter l\u00e9gitimement de l&rsquo;analyse, l&rsquo;application du MSE traditionnel peut d\u00e9grader l&rsquo;\u00e9valuation globale en surrepr\u00e9sentant les queues de distribution. Dans ces contextes, plusieurs alternatives de mod\u00e9lisation robuste s&rsquo;offrent au praticien.<\/p>\n<p>D&rsquo;une part, on peut utiliser des variantes tronqu\u00e9es de l&rsquo;erreur quadratique, telles que le MSE tronqu\u00e9 (<em>Trimmed Mean Squared Error<\/em>), qui exclut de la sommation les 5% ou 10% d&rsquo;erreurs les plus extr\u00eames. D&rsquo;autre part, sur le plan de l&rsquo;estimation, on peut substituer aux moindres carr\u00e9s ordinaires les estimateurs M de la r\u00e9gression robuste, impl\u00e9ment\u00e9s dans la fonction <code>rlm()<\/code> du paquet <em>MASS<\/em>, qui emploie des fonctions de perte pond\u00e9r\u00e9es (comme la perte de Huber ou la fonction biweight de Tukey) :<\/p>\n<p><code># Comparaison du MSE usuel face a la regression robuste de Huber<br \/>\nlibrary(MASS)<br \/>\nmodele_robuste &lt;- rlm(mpg ~ wt + hp + disp, data = mtcars)<\/p>\n<p>residus_classiques &lt;- residuals(modele_lineaire)<br \/>\nresidus_robustes &lt;- residuals(modele_robuste)<\/p>\n<p># Comparaison du MSE usuel et du MSE tronque a 10%<br \/>\nmse_usuel &lt;- mean(residus_classiques^2)<br \/>\nmse_tronque &lt;- mean(sort(residus_classiques^2)[1:floor(0.9 * length(residus_classiques))])<\/p>\n<p>cat(sprintf(\"MSE usuel: %.4fnMSE tronque (90%%): %.4fn\", mse_usuel, mse_tronque))<\/code><\/p>\n<p>Ce type d&rsquo;analyse de sensibilit\u00e9 permet de confirmer si l&rsquo;erreur globale observ\u00e9e refl\u00e8te un manque de pr\u00e9cision syst\u00e9matique du mod\u00e8le ou si elle d\u00e9coule simplement d&rsquo;une poign\u00e9e d&rsquo;anomalies isol\u00e9es au sein de l&rsquo;\u00e9chantillon.<\/p>\n<h2>10. Application du MSE aux mod\u00e8les non lin\u00e9aires et d&rsquo;apprentissage automatique dans R<\/h2>\n<h3>10.1 Calcul du MSE pour les mod\u00e8les polynomiaux et additifs g\u00e9n\u00e9ralis\u00e9s (GAM)<\/h3>\n<p>L&rsquo;hypoth\u00e8se d&rsquo;une relation strictement lin\u00e9aire entre variables explicatives et variable cible est fr\u00e9quemment contredite par les donn\u00e9es r\u00e9elles. Lorsque l&rsquo;on enrichit la sp\u00e9cification avec des termes d&rsquo;ordre sup\u00e9rieur au moyen de r\u00e9gressions polynomiales (via la fonction <code>poly()<\/code>) ou que l&rsquo;on mobilise des mod\u00e8les additifs g\u00e9n\u00e9ralis\u00e9s (GAM, <em>Generalized Additive Models<\/em>) via le paquet <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/cran.r-project.org\/package=mgcv\">mgcv<\/a>, le MSE demeure la m\u00e9trique d&rsquo;arbitrage de r\u00e9f\u00e9rence pour choisir le degr\u00e9 de lissage ad\u00e9quat.<\/p>\n<p>Les splines de r\u00e9gression p\u00e9nalis\u00e9es impl\u00e9ment\u00e9es dans la fonction <code>gam()<\/code> optimisent par d\u00e9faut un crit\u00e8re d&rsquo;erreur quadratique pond\u00e9r\u00e9 (GCV, <em>Generalized Cross-Validation<\/em>). L&rsquo;extraction manuelle du MSE pr\u00e9dictif permet d&rsquo;\u00e9valuer directement l&rsquo;apport de ces courbures non lin\u00e9aires par rapport \u00e0 un mod\u00e8le lin\u00e9aire simple :<\/p>\n<p><code># Ajustement polynomial et modele additif generalise (GAM)<br \/>\nlibrary(mgcv)<br \/>\nmodele_poly &lt;- lm(mpg ~ poly(wt, 2) + hp, data = mtcars)<br \/>\nmodele_gam &lt;- gam(mpg ~ s(wt) + s(hp), data = mtcars)<\/p>\n<p>mse_poly &lt;- mean(residuals(modele_poly)^2)<br \/>\nmse_gam &lt;- mean(residuals(modele_gam)^2)<\/p>\n<p>cat(sprintf(\"MSE Lineaire: %.4fnMSE Polynomial: %.4fnMSE GAM: %.4fn\", <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mean(residuals(modele_lineaire)^2), mse_poly, mse_gam))<\/code><\/p>\n<p>La r\u00e9duction substantielle du MSE d&rsquo;apprentissage observ\u00e9e avec le mod\u00e8le GAM confirme que les courbures non param\u00e9triques \u00e9pousent plus fid\u00e8lement la distribution empirique. N\u00e9anmoins, il conviendra de v\u00e9rifier cette baisse de l&rsquo;erreur par validation crois\u00e9e pour \u00e9carter tout risque de surajustement des splines.<\/p>\n<h3>10.2 \u00c9valuation par le MSE des arbres de d\u00e9cision et for\u00eats al\u00e9atoires<\/h3>\n<p>Le calcul du MSE ne se cantonne pas aux mod\u00e8les diff\u00e9rentiables : il s&rsquo;applique de mani\u00e8re identique aux architectures algorithmiques non param\u00e9triques bas\u00e9es sur l&rsquo;apprentissage ensembliste par arbres de d\u00e9cision. Les mod\u00e8les de r\u00e9gression par partitionnement r\u00e9cursif (paquet <em>rpart<\/em>) et les for\u00eats al\u00e9atoires de r\u00e9gression (paquet <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/cran.r-project.org\/package=randomForest\">randomForest<\/a>) utilisent l&rsquo;erreur quadratique \u00e0 la fois comme crit\u00e8re de division interne des n\u0153uds (crit\u00e8re d&rsquo;impuret\u00e9) et comme m\u00e9trique d&rsquo;\u00e9valuation globale finale.<\/p>\n<p>Un atout majeur des for\u00eats al\u00e9atoires r\u00e9side dans leur capacit\u00e9 \u00e0 calculer de mani\u00e8re interne l&rsquo;erreur quadratique sur les donn\u00e9es hors-sac (<em>Out-of-Bag<\/em> ou OOB). Durant la construction de chaque arbre de r\u00e9gression issu d&rsquo;un \u00e9chantillon bootstrap, environ un tiers des donn\u00e9es est laiss\u00e9 de c\u00f4t\u00e9. La pr\u00e9diction de ces unit\u00e9s non incluses fournit une estimation non biais\u00e9e du MSE sans qu&rsquo;il soit n\u00e9cessaire d&rsquo;orchestrer manuellement une boucle de validation crois\u00e9e externe :<\/p>\n<p><code># Foret aleatoire de regression et extraction du MSE OOB<br \/>\nlibrary(randomForest)<br \/>\nforet_modele &lt;- randomForest(mpg ~ wt + hp + disp, data = mtcars, ntree = 500, importance = TRUE)<\/p>\n<p># Le vecteur mse dans l'objet rf contient le MSE OOB cumule au fil des arbres<br \/>\nmse_oob_final &lt;- foret_modele<span class=\"arabpsy-math-inline\" data-latex=\"mse[length(foret_modele\">$mse[length(foret_modele$<\/span>mse)]<br \/>\ncat(sprintf(\"MSE OOB Foret Aleatoire: %.4fn\", mse_oob_final))<\/code><\/p>\n<p>La comparaison directe de ce MSE hors-sac avec l&rsquo;erreur de validation crois\u00e9e obtenue sur le mod\u00e8le lin\u00e9aire aide \u00e0 d\u00e9terminer si les interactions non lin\u00e9aires complexes capt\u00e9es par la for\u00eat al\u00e9atoire am\u00e9liorent r\u00e9ellement la pr\u00e9cision pr\u00e9dictive sur le probl\u00e8me consid\u00e9r\u00e9.<\/p>\n<h3>10.3 R\u00e9gression r\u00e9gularis\u00e9e (Ridge et Lasso) et minimisation du MSE<\/h3>\n<p>Face \u00e0 des configurations o\u00f9 le nombre de covariables <em>p<\/em> s&rsquo;av\u00e8re \u00e9lev\u00e9 par rapport \u00e0 l&rsquo;\u00e9chantillon <em>n<\/em> (voire dans les cas de grande dimension o\u00f9 <em>p &gt; n<\/em>), la r\u00e9gression lin\u00e9aire classique par moindres carr\u00e9s souffre d&rsquo;une variance excessive qui d\u00e9grade fortement le MSE sur de nouvelles donn\u00e9es. Les techniques de r\u00e9gression p\u00e9nalis\u00e9e impl\u00e9ment\u00e9es dans le paquet <em>glmnet<\/em> \u2014 la r\u00e9gression Ridge (p\u00e9nalit\u00e9 L2) et le Lasso (p\u00e9nalit\u00e9 L1) \u2014 stabilisent l&rsquo;estimation en introduisant sciemment un l\u00e9ger biais pour r\u00e9duire substantiellement la variance globale.<\/p>\n<p>La fonction <code>cv.glmnet()<\/code> orchestre automatiquement une validation crois\u00e9e \u00e0 10 blocs destin\u00e9e \u00e0 s\u00e9lectionner la valeur optimale du param\u00e8tre de p\u00e9nalisation &lambda; (lambda). L&rsquo;algorithme retient la valeur minimisant formellement le MSE de validation crois\u00e9e (not\u00e9e <code>lambda.min<\/code>), ou applique la r\u00e8gle plus conservatrice de l&rsquo;\u00e9cart-type 1-SE (<code>lambda.1se<\/code>) pour privil\u00e9gier un mod\u00e8le plus parcimonieux \u00e0 un niveau d&rsquo;erreur statistiquement \u00e9quivalent :<\/p>\n<p><code># Regression penalisee Lasso via glmnet et suivi du MSE<br \/>\nlibrary(glmnet)<br \/>\nmatrice_x &lt;- as.matrix(mtcars[, c(\"wt\", \"hp\", \"disp\", \"qsec\", \"drat\")])<br \/>\nvecteur_y &lt;- mtcars$mpg<\/p>\n<p>cv_lasso &lt;- cv.glmnet(matrice_x, vecteur_y, alpha = 1) # alpha = 1 pour Lasso<\/p>\n<p>plot(cv_lasso)<br \/>\ncat(sprintf(\"MSE minimal en validation croisee: %.4f (pour lambda = %.4f)n\", <br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min(cv_lasso<span class=\"arabpsy-math-inline\" data-latex=\"cvm), cv_lasso\">$cvm), cv_lasso$<\/span>lambda.min))<\/code><\/p>\n<p>La courbe r\u00e9sultante trace de mani\u00e8re claire l&rsquo;\u00e9volution du MSE en fonction de la p\u00e9nalisation &lambda;, illustrant concr\u00e8tement le compromis biais-variance dans l&rsquo;espace des hyperparam\u00e8tres r\u00e9gularis\u00e9s.<\/p>\n<h2>11. Bonnes pratiques computationnelles et optimisation du calcul du MSE pour grands jeux de donn\u00e9es<\/h2>\n<h3>11.1 Vectorisation avanc\u00e9e versus structures it\u00e9ratives<\/h3>\n<p>Le langage R a \u00e9t\u00e9 con\u00e7u d\u00e8s l&rsquo;origine autour du principe de la vectorisation algorithmique. Cela signifie que les boucles it\u00e9ratives explicites construites avec des instructions <code>for()<\/code> ou <code>while()<\/code> entra\u00eenent un surco\u00fbt d&rsquo;ex\u00e9cution important dans l&rsquo;interpr\u00e9teur, particuli\u00e8rement lorsqu&rsquo;elles r\u00e9allouent dynamiquement des espaces m\u00e9moire \u00e0 chaque it\u00e9ration. Dans le calcul du MSE, l&#8217;emploi de fonctions vectoris\u00e9es natives permet d&rsquo;ex\u00e9cuter les op\u00e9rations directement en code C compiled et optimis\u00e9 sous le capot.<\/p>\n<p>L&rsquo;utilisation du paquet <em>microbenchmark<\/em> offre un moyen rigoureux d&rsquo;\u00e9valuer la sup\u00e9riorit\u00e9 computationnelle des approches vectoris\u00e9es face \u00e0 une boucle it\u00e9rative classique, sur un vecteur artificiel de plusieurs millions d&rsquo;\u00e9l\u00e9ments :<\/p>\n<p><code># Benchmark de performance computationnelle sous R<br \/>\nlibrary(microbenchmark)<\/p>\n<p>n_gros &lt;- 1000000<br \/>\nv_reel &lt;- rnorm(n_gros)<br \/>\nv_pred &lt;- rnorm(n_gros)<\/p>\n<p>resultats_bench &lt;- microbenchmark(<br \/>\n&nbsp;&nbsp;Boucle_Iterative = {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;somme_carres &lt;- 0<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;for (j in 1:n_gros) {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;somme_carres &lt;- somme_carres + (v_reel[j] - v_pred[j])^2<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;mse_iteratif &lt;- somme_carres \/ n_gros<br \/>\n&nbsp;&nbsp;},<br \/>\n&nbsp;&nbsp;Vectorisation_Native = {<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;mse_vect &lt;- mean((v_reel - v_pred)^2)<br \/>\n&nbsp;&nbsp;},<br \/>\n&nbsp;&nbsp;times = 5<br \/>\n)<br \/>\nprint(resultats_bench)<\/code><\/p>\n<p>L&rsquo;\u00e9cart de rapidit\u00e9 d\u00e9passe couramment un ordre de grandeur de 50 \u00e0 100 en faveur de l&rsquo;op\u00e9ration vectoris\u00e9e, ce qui souligne l&rsquo;importance d&rsquo;adopter des structures compactes d\u00e8s que le volume de donn\u00e9es augmente.<\/p>\n<h3>11.2 Traitement matriciel haute performance<\/h3>\n<p>Dans les contextes industriels o\u00f9 les calculs de MSE doivent \u00eatre r\u00e9p\u00e9t\u00e9s des millions de fois (par exemple lors de simulations de Monte-Carlo ou d&rsquo;optimisations par essaims particulaires), le calcul vectoriel classique peut encore \u00eatre acc\u00e9l\u00e9r\u00e9 en exploitant l&rsquo;alg\u00e8bre lin\u00e9aire pure via le produit matriciel interne. La somme des carr\u00e9s r\u00e9siduels d&rsquo;un vecteur d&rsquo;erreurs <em>e<\/em> correspond math\u00e9matiquement \u00e0 son produit scalaire transpos\u00e9 :<\/p>\n<p><strong>SSE = e<sup>T<\/sup>e = t(e) %*% e<\/strong><\/p>\n<p>Pour des tables de donn\u00e9es volumineuses, l&rsquo;exploitation du paquet haute performance <em>data.table<\/em> permet en outre d&rsquo;ex\u00e9cuter ces agr\u00e9gations r\u00e9siduelles directement en m\u00e9moire vive sans duplication de colonnes, tandis que les paquets <em>parallel<\/em> et <em>future<\/em> autorisent la parall\u00e9lisation transparente de l&rsquo;\u00e9valuation sur de multiples c\u0153urs de processeur :<\/p>\n<p><code># Calcul matriciel haute vitesse et utilisation de data.table<br \/>\nlibrary(data.table)<\/p>\n<p># Formulation matricielle directe<br \/>\nerreur_vect &lt;- matrix(v_reel - v_pred, ncol = 1)<br \/>\nmse_matriciel &lt;- as.numeric(crossprod(erreur_vect) \/ n_gros)<\/p>\n<p># Agregation optimisee avec data.table<br \/>\ndt &lt;- data.table(reel = v_reel, pred = v_pred)<br \/>\nmse_dt &lt;- dt[, mean((reel - pred)^2)]<br \/>\nall.equal(mse_matriciel, mse_dt)<\/code><\/p>\n<p>L&#8217;emploi de la primitive <code>crossprod(e)<\/code> s&rsquo;av\u00e8re particuli\u00e8rement rapide, car elle court-circuite la cr\u00e9ation explicite de la matrice transpos\u00e9e en m\u00e9moire, r\u00e9duisant ainsi la surcharge sur le ramasse-miettes (<em>garbage collector<\/em>) de R.<\/p>\n<h3>11.3 Pr\u00e9cision num\u00e9rique et contr\u00f4le des d\u00e9passements<\/h3>\n<p>L&rsquo;op\u00e9ration d&rsquo;\u00e9l\u00e9vation au carr\u00e9 inh\u00e9rente au calcul du MSE comporte un risque num\u00e9rique particulier : le d\u00e9passement de capacit\u00e9 vers l&rsquo;infini (<em>overflow<\/em>) ou vers z\u00e9ro (<em>underflow<\/em>). Dans les syst\u00e8mes informatiques respectant la norme IEEE 754 en double pr\u00e9cision (format standard de stockage sous R), la valeur maximale repr\u00e9sentable plafonne \u00e0 environ 1.79 &times; 10<sup>308<\/sup>. Si une variable d\u00e9pendante s&rsquo;exprime dans des grandeurs astronomiques (par exemple des agr\u00e9gats mon\u00e9taires nationaux en centimes) et que ses erreurs r\u00e9siduelles exc\u00e8dent 10<sup>154<\/sup>, leur \u00e9l\u00e9vation au carr\u00e9 provoquera une valeur infinie (<code>Inf<\/code>), faussant totalement le calcul du MSE.<\/p>\n<p>Pour pr\u00e9venir ces instabilit\u00e9s de calcul et garantir la robustesse des op\u00e9rations en virgule flottante, deux r\u00e8gles fondamentales doivent \u00eatre appliqu\u00e9es :<\/p>\n<ul>\n<li><strong>Normalisation pr\u00e9alable des variables :<\/strong> Centrer et r\u00e9duire la variable r\u00e9ponse ou exprimer ses ordres de grandeur dans des unit\u00e9s adapt\u00e9es (par exemple, convertir des milliards d&rsquo;euros en millions d&rsquo;euros) avant d&rsquo;engager les calculs quadratiques.<\/li>\n<li><strong>Surveillance de la pr\u00e9cision d&rsquo;accumulation :<\/strong> Si les r\u00e9sidus pr\u00e9sentent de tr\u00e8s grands \u00e9carts d&rsquo;ordres de grandeur, la sommation na\u00efve peut perdre les plus petits termes en raison des limites de pr\u00e9cision machine (environ 16 chiffres d\u00e9cimaux significatifs). L&rsquo;utilisation d&rsquo;algorithmes de sommation compens\u00e9e (tels que l&rsquo;algorithme de Kahan) \u00e9vite l&rsquo;accumulation d&rsquo;erreurs d&rsquo;arrondi lors du traitement d&rsquo;\u00e9chantillons massifs.<\/li>\n<\/ul>\n<p>Ces bonnes pratiques de calcul garantissent que les estimations obtenues restent stables et fid\u00e8les \u00e0 la th\u00e9orie sous-jacente, y compris sur des jeux de donn\u00e9es complexes et bruit\u00e9s.<\/p>\n<h2>12. Synth\u00e8se m\u00e9thodologique et interpr\u00e9tation d\u00e9cisionnelle du MSE en mod\u00e9lisation statistique<\/h2>\n<h3>12.1 Grille d&rsquo;interpr\u00e9tation contextuelle des seuils de MSE<\/h3>\n<p>L&rsquo;un des questionnements r\u00e9currents formul\u00e9s par les praticiens novices concerne l&rsquo;identification d&rsquo;une valeur seuil universelle permettant de qualifier un MSE de \u00ab bon \u00bb ou de \u00ab mauvais \u00bb. Il convient d&rsquo;affirmer avec la plus grande fermet\u00e9 m\u00e9thodologique qu&rsquo;un tel seuil universel n&rsquo;existe pas. Dans la mesure o\u00f9 le MSE est directement proportionnel au carr\u00e9 de l&rsquo;unit\u00e9 de mesure de la variable d\u00e9pendante, sa valeur brute ne peut \u00eatre interpr\u00e9t\u00e9e de mani\u00e8re isol\u00e9e sans une mise en relation \u00e9troite avec la variance totale du syst\u00e8me \u00e9tudi\u00e9.<\/p>\n<p>Afin de relativiser la performance du mod\u00e8le et de rendre le MSE comparable d&rsquo;un jeu de donn\u00e9es \u00e0 l&rsquo;autre, les chercheurs utilisent couramment le MSE normalis\u00e9 (NMSE, <em>Normalized Mean Squared Error<\/em>). Cette m\u00e9trique consiste \u00e0 rapporter l&rsquo;erreur quadratique moyenne empirique \u00e0 la variance \u00e9chantillonnale brute de la variable observ\u00e9e :<\/p>\n<p><strong>NMSE = MSE \/ Var(Y)<\/strong><\/p>\n<p>Cette \u00e9chelle relative permet d&rsquo;\u00e9tablir une grille d&rsquo;arbitrage standardis\u00e9e particuli\u00e8rement claire :<\/p>\n<ul>\n<li><strong>NMSE &ge; 1.0 :<\/strong> Le mod\u00e8le n&rsquo;offre aucune valeur ajout\u00e9e pr\u00e9dictive. Ses pr\u00e9dictions s&rsquo;av\u00e8rent moins performantes ou strictement \u00e9quivalentes \u00e0 l&rsquo;\u00e9mission syst\u00e9matique de la simple moyenne empirique <em>y\u0304<\/em> pour chaque observation.<\/li>\n<li><strong>0.5 &le; NMSE &lt; 1.0 :<\/strong> Le mod\u00e8le capte une partie du signal, mais le niveau d&rsquo;erreur r\u00e9siduelle reste pr\u00e9dominant. L&rsquo;architecture n\u00e9cessite des ajustements structurels ou l&rsquo;incorporation de covariables plus informatives.<\/li>\n<li><strong>0.2 &le; NMSE &lt; 0.5 :<\/strong> Le mod\u00e8le pr\u00e9sente un ajustement satisfaisant et commence \u00e0 capturer fid\u00e8lement la dynamique du ph\u00e9nom\u00e8ne sous-jacent.<\/li>\n<li><strong>NMSE &lt; 0.2 :<\/strong> Le mod\u00e8le d\u00e9montre une excellente pr\u00e9cision pr\u00e9dictive. Il convient n\u00e9anmoins de s&rsquo;assurer, par validation crois\u00e9e out-of-sample, que cette performance ne cache pas un ph\u00e9nom\u00e8ne de surajustement (<em>overfitting<\/em>).<\/li>\n<\/ul>\n<p>Cette relativisation transforme une mesure brute difficilement interpr\u00e9table en un indicateur synth\u00e9tique actionnable pour l&rsquo;aide \u00e0 la d\u00e9cision.<\/p>\n<h3>12.2 Check-list m\u00e9thodologique pour une \u00e9valuation rigoureuse sous R<\/h3>\n<p>Avant de communiquer les r\u00e9sultats de performance d&rsquo;un mod\u00e8le statistique ou d&rsquo;un algorithme d&rsquo;apprentissage sous R, le respect d&rsquo;une discipline m\u00e9thodologique stricte s&rsquo;impose. La check-list op\u00e9rationnelle suivante r\u00e9capitule les \u00e9tapes d&rsquo;audit indispensables pour \u00e9viter les biais courants :<\/p>\n<ul>\n<li><strong>Absence totale de fuite de donn\u00e9es (<em>Data Leakage<\/em>) :<\/strong> S&rsquo;assurer que les pr\u00e9traitements (imputation de valeurs manquantes, centrage, r\u00e9duction, s\u00e9lection de variables) ont \u00e9t\u00e9 rigoureusement conduits \u00e0 l&rsquo;int\u00e9rieur des partitions d&rsquo;apprentissage sans utiliser d&rsquo;information issue des ensembles de test ou de validation.<\/li>\n<li><strong>Gestion coh\u00e9rente des observations incompl\u00e8tes :<\/strong> S&rsquo;assurer que le d\u00e9nominateur <em>n<\/em> appliqu\u00e9 au calcul du MSE correspond exactement au nombre de r\u00e9sidus effectifs calcul\u00e9s sur les donn\u00e9es compl\u00e8tes.<\/li>\n<li><strong>Confrontation syst\u00e9matique in-sample \/ out-of-sample :<\/strong> \u00c9valuer le diff\u00e9rentiel entre le MSE d&rsquo;entra\u00eenement et le MSE de validation crois\u00e9e afin de d\u00e9tecter imm\u00e9diatement toute d\u00e9rive vers le surapprentissage.<\/li>\n<li><strong>V\u00e9rification des leviers r\u00e9siduels :<\/strong> R\u00e9aliser un examen syst\u00e9matique des r\u00e9sidus extr\u00eames et des distances de Cook pour s&rsquo;assurer que la valeur finale du MSE n&rsquo;est pas artificiellement tir\u00e9e par une anomalie de saisie ou une observation aberrante isol\u00e9e.<\/li>\n<li><strong>Reproductibilit\u00e9 computationnelle :<\/strong> Consigner l&rsquo;ensemble des scripts de traitement au sein d&rsquo;un document ex\u00e9cutable structur\u00e9 (document R Markdown ou Quarto) en fixant syst\u00e9matiquement la graine pseudo-al\u00e9atoire via <code>set.seed()<\/code>.<\/li>\n<\/ul>\n<p>L&rsquo;application rigoureuse de ces \u00e9tapes garantit la transparence, la fiabilit\u00e9 et la reproductibilit\u00e9 des \u00e9valuations de mod\u00e8les dans les environnements de recherche et de production.<\/p>\n<h3>12.3 Directives de publication scientifique pour la restitution du MSE<\/h3>\n<p>La pr\u00e9sentation de travaux de mod\u00e9lisation statistique au sein de revues scientifiques \u00e0 comit\u00e9 de lecture r\u00e9pond \u00e0 des exigences strictes d\u00e9finies par les manuels de style internationaux, tels que les standards m\u00e9thodologiques de l&rsquo;American Psychological Association (<a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/apastyle.apa.org\/\">APA 7th edition<\/a>) ou les directives de l&rsquo;American Statistical Association (ASA). Ces instances d\u00e9conseillent formellement l&rsquo;affichage du seul MSE brut sous forme de statistique ponctuelle d\u00e9contextualis\u00e9e.<\/p>\n<p>Pour assurer une restitution scientifique irr\u00e9prochable des performances dans les sections de r\u00e9sultats empiriques, les auteurs doivent respecter les trois conventions de diffusion suivantes :<\/p>\n<ul>\n<li><strong>Compl\u00e9mentarit\u00e9 dimensionnelle :<\/strong> Toujours adjoindre au MSE sa racine carr\u00e9e (RMSE), qui s&rsquo;exprime dans l&rsquo;unit\u00e9 de mesure d&rsquo;origine de la variable, ainsi qu&rsquo;une m\u00e9trique bas\u00e9e sur la norme L1 (comme la MAE) pour permettre aux relecteurs d&rsquo;\u00e9valuer la sensibilit\u00e9 du mod\u00e8le aux valeurs extr\u00eames.<\/li>\n<li><strong>Quantification formelle de l&rsquo;incertitude :<\/strong> Accompagner syst\u00e9matiquement l&rsquo;estimation ponctuelle de l&rsquo;erreur d&rsquo;un intervalle de confiance empirique obtenu par r\u00e9\u00e9chantillonnage bootstrap ou calcul\u00e9 \u00e0 partir de la variance inter-blocs de la validation crois\u00e9e (ex. : <em>MSE = 5.76, IC \u00e0 95% [4.12, 7.85]<\/em>).<\/li>\n<li><strong>Documentation compl\u00e8te des protocoles logiciels :<\/strong> Sp\u00e9cifier explicitement dans les notes m\u00e9thodologiques la version pr\u00e9cise de l&rsquo;environnement R employ\u00e9e ainsi que les versions exactes des paquets mobilis\u00e9s (par exemple <em>caret<\/em>, <em>yardstick<\/em> ou <em>glmnet<\/em>), tout en mettant \u00e0 disposition le code source n\u00e9cessaire \u00e0 la reproduction des calculs.<\/li>\n<\/ul>\n<p>En respectant ces standards acad\u00e9miques, les praticiens conf\u00e8rent \u00e0 leurs conclusions statistiques une assise rigoureuse, autorisant des comparaisons empiriques fiables et contribuant \u00e0 la reproductibilit\u00e9 de la science computationnelle.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Bates, D., M\u00e4chler, M., Bolker, B., &amp; Walker, S. (2015). Fitting Linear Mixed-Effects Models Using lme4. <em>Journal of Statistical Software<\/em>, 67(1), 1\u201348. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v067.i01\">https:\/\/doi.org\/10.18637\/jss.v067.i01<\/a><\/li>\n<li>Breiman, L. (2001). Random Forests. <em>Machine Learning<\/em>, 45(1), 5\u201332. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.1023\/A:1010933404324\">https:\/\/doi.org\/10.1023\/A:1010933404324<\/a><\/li>\n<li>Canty, A., &amp; Ripley, B. D. (2021). <em>boot: Bootstrap R (S-Plus) Functions<\/em> (R package version 1.3-28). CRAN. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/cran.r-project.org\/package=boot\">https:\/\/cran.r-project.org\/package=boot<\/a><\/li>\n<li>Friedman, J., Hastie, T., &amp; Tibshirani, R. (2010). Regularization Paths for Generalized Linear Models via Coordinate Descent. <em>Journal of Statistical Software<\/em>, 33(1), 1\u201322. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v033.i01\">https:\/\/doi.org\/10.18637\/jss.v033.i01<\/a><\/li>\n<li>Hastie, T., Tibshirani, R., &amp; Friedman, J. (2009). <em>The Elements of Statistical Learning: Data Mining, Inference, and Prediction<\/em> (2nd ed.). Springer. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/978-0-387-84858-7\">https:\/\/doi.org\/10.1007\/978-0-387-84858-7<\/a><\/li>\n<li>Kuhn, M. (2008). Building Predictive Models in R Using the caret Package. <em>Journal of Statistical Software<\/em>, 28(5), 1\u201326. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v028.i05\">https:\/\/doi.org\/10.18637\/jss.v028.i05<\/a><\/li>\n<li>Kuhn, M., &amp; Wickham, H. (2020). <em>Tidymodels: a collection of packages for modeling and machine learning using tidyverse principles<\/em>. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/www.tidymodels.org\">https:\/\/www.tidymodels.org<\/a><\/li>\n<li>R Core Team. (2023). <em>R: A Language and Environment for Statistical Computing<\/em>. R Foundation for Statistical Computing, Vienna, Austria. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/www.R-project.org\/\">https:\/\/www.R-project.org\/<\/a><\/li>\n<li>Venables, W. N., &amp; Ripley, B. D. (2002). <em>Modern Applied Statistics with S<\/em> (4th ed.). Springer. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.1007\/978-0-387-21706-2\">https:\/\/doi.org\/10.1007\/978-0-387-21706-2<\/a><\/li>\n<li>Wickham, H., Averick, M., Bryan, J., Chang, W., McGowan, L. D., Fran\u00e7ois, R., Grolemund, G., Hayes, A., Henry, L., Hester, J., Kuhn, M., Pedersen, T. L., Miller, E., Bache, S. M., M\u00fcller, K., Ooms, J., Robinson, D., Seidel, D. P., Spinu, V., \u2026 Yutani, H. (2019). Welcome to the Tidyverse. <em>Journal of Open Source Software<\/em>, 4(43), 1686. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.21105\/joss.01686\">https:\/\/doi.org\/10.21105\/joss.01686<\/a><\/li>\n<li>Wood, S. N. (2017). <em>Generalized Additive Models: An Introduction with R<\/em> (2nd ed.). Chapman and Hall\/CRC. <a target=\"_blank\" rel=\"noopener noopener noreferrer\" href=\"https:\/\/doi.org\/10.1201\/9781315370279\">https:\/\/doi.org\/10.1201\/9781315370279<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour calculer et interpr\u00e9ter l&rsquo;erreur quadratique moyenne (MSE) dans R \u00e0 l&rsquo;aide de m\u00e9thodes natives et de packages sp\u00e9cialis\u00e9s.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[1829,2193],"tags":[2989,2189,1910,2991,2990],"class_list":["post-1362","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-statistique","category-programmation-r","tag-calcul-mse-r","tag-erreur-quadratique-moyenne","tag-regression-lineaire","tag-statistiques-computationnelles","tag-validation-croisee"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/1362","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=1362"}],"version-history":[{"count":0,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/1362\/revisions"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1362"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}