{"id":4583,"date":"2026-09-11T10:48:13","date_gmt":"2026-09-11T10:48:13","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-effectuer-test-ljung-box-python\/"},"modified":"2026-09-11T10:48:13","modified_gmt":"2026-09-11T10:48:13","slug":"comment-effectuer-test-ljung-box-python","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-effectuer-test-ljung-box-python","title":{"rendered":"Comment effectuer un test de Ljung-Box en Python"},"content":{"rendered":"<p>L&rsquo;analyse des s\u00e9ries temporelles constitue l&rsquo;un des piliers m\u00e9thodologiques les plus sophistiqu\u00e9s de la science des donn\u00e9es moderne, de l&rsquo;\u00e9conom\u00e9trie et de la mod\u00e9lisation statistique avanc\u00e9e. Qu&rsquo;il s&rsquo;agisse d&rsquo;anticiper des dynamiques macro\u00e9conomiques complexes, de d\u00e9celer des signaux physiologiques critiques ou d&rsquo;analyser des fluctuations comportementales au cours du temps, la validit\u00e9 empirique des conclusions d\u00e9pend fondamentalement de la pr\u00e9cision des mod\u00e8les probabilistes d\u00e9ploy\u00e9s. Au c\u0153ur de cette discipline r\u00e9side un postulat th\u00e9orique non n\u00e9gociable : les erreurs r\u00e9siduelles g\u00e9n\u00e9r\u00e9es par un mod\u00e8le param\u00e9trique ajust\u00e9 doivent imp\u00e9rativement se comporter comme un bruit blanc. Si un mod\u00e8le capture ad\u00e9quatement la structure g\u00e9n\u00e9ratrice sous-jacente des donn\u00e9es, les r\u00e9sidus qui en r\u00e9sultent doivent \u00eatre mutuellement ind\u00e9pendants, de moyenne nulle et d\u00e9nu\u00e9s de toute m\u00e9moire temporelle.<\/p>\n<p>Cependant, dans la pratique empirique, l&rsquo;autocorr\u00e9lation r\u00e9siduelle demeure une pathologie statistique fr\u00e9quente, insidieuse et pr\u00e9judiciable. Lorsqu&rsquo;elle est ignor\u00e9e, elle vicie profond\u00e9ment l&rsquo;inf\u00e9rence statistique : la variance des coefficients estim\u00e9s est sous-\u00e9valu\u00e9e, les intervalles de confiance se r\u00e9tr\u00e9cissent de mani\u00e8re trompeuse et les tests d&rsquo;hypoth\u00e8ses traditionnels fond\u00e9s sur les lois de Student ou de Fisher aboutissent \u00e0 des rejets excessifs de l&rsquo;hypoth\u00e8se nulle. Face \u00e0 ce p\u00e9ril m\u00e9thodologique, la simple inspection visuelle des corr\u00e9logrammes empiriques s&rsquo;av\u00e8re manifestement insuffisante pour statuer de mani\u00e8re rigoureuse sur l&rsquo;ind\u00e9pendance s\u00e9rielle d&rsquo;une suite stochastique. C&rsquo;est pr\u00e9cis\u00e9ment ici qu&rsquo;interviennent les tests diagnostiques omnibus, au premier rang desquels figure le test de Ljung-Box.<\/p>\n<p>Cet article constitue un guide exhaustif et acad\u00e9mique d\u00e9di\u00e9 au test de Ljung-Box dans l&rsquo;\u00e9cosyst\u00e8me Python. En s&rsquo;appuyant sur les modules sp\u00e9cialis\u00e9s de la biblioth\u00e8que <a rel=\"noopener noreferrer\" href=\"https:\/\/www.statsmodels.org\/\">Statsmodels<\/a>, nous explorerons en profondeur les soubassements th\u00e9oriques, la d\u00e9rivation math\u00e9matique de la statistique de test, les subtilit\u00e9s d&rsquo;impl\u00e9mentation logicielle ainsi que les protocoles d&rsquo;interpr\u00e9tation les plus exigeants. De la correction historique de Box et Pierce jusqu&rsquo;\u00e0 l&rsquo;ajustement imp\u00e9ratif des degr\u00e9s de libert\u00e9 pour les r\u00e9sidus de mod\u00e8les ARIMA, ce trait\u00e9 m\u00e9thodologique a pour vocation de vous doter d&rsquo;une ma\u00eetrise absolue de cet instrument incontournable de validation statistique.<\/p>\n<h2>1. Introduction aux s\u00e9ries temporelles et fondements du test de Ljung-Box<\/h2>\n<h3>1.1 D\u00e9finition de l&rsquo;autocorr\u00e9lation r\u00e9siduelle dans les donn\u00e9es chronologiques<\/h3>\n<p>L&rsquo;autocorr\u00e9lation s\u00e9rielle d\u00e9signe la pr\u00e9sence d&rsquo;une covariance non nulle entre les valeurs d&rsquo;une m\u00eame variable stochastique observ\u00e9es \u00e0 des intervalles temporels distincts. Dans le cadre d&rsquo;un processus stochastique discret stationnaire au second ordre, not\u00e9 <em>X<sub>t<\/sub><\/em>, la fonction d&rsquo;autocovariance au retard <em>k<\/em> mesure le degr\u00e9 d&rsquo;association lin\u00e9aire entre l&rsquo;observation contemporaine <em>X<sub>t<\/sub><\/em> et sa r\u00e9alisation pass\u00e9e <em>X<sub>t-k<\/sub><\/em>. Lorsque nous transposons cette notion \u00e0 l&rsquo;\u00e9valuation diagnostique des mod\u00e8les statistiques, nous ne nous int\u00e9ressons plus directement \u00e0 la s\u00e9rie brute, mais au terme d&rsquo;erreur th\u00e9orique ou, plus pr\u00e9cis\u00e9ment, \u00e0 son estimateur empirique qu&rsquo;est le r\u00e9sidu de mod\u00e9lisation <em>e<sub>t<\/sub> = y<sub>t<\/sub> &#8211; \u0177<sub>t<\/sub><\/em>.<\/p>\n<p>La persistance d&rsquo;une d\u00e9pendance s\u00e9rielle entre r\u00e9sidus successifs constitue une violation frontale de l&rsquo;hypoth\u00e8se d&rsquo;ind\u00e9pendance des perturbations al\u00e9atoires. En pr\u00e9sence d&rsquo;autocorr\u00e9lation non corrig\u00e9e, le th\u00e9or\u00e8me de Gauss-Markov cesse de s&rsquo;appliquer. Bien que les estimateurs des moindres carr\u00e9s ou du maximum de vraisemblance puissent conserver leur propri\u00e9t\u00e9 de convergence asymptotique sous certaines r\u00e9gularit\u00e9s, ils perdent irr\u00e9vocablement leur efficacit\u00e9 statistique. Plus grave encore, la matrice de covariance estim\u00e9e des param\u00e8tres devient biais\u00e9e et non convergente, conduisant \u00e0 des erreurs standards r\u00e9siduelles artificiellement comprim\u00e9es. Il en r\u00e9sulte un accroissement drastique du risque d&rsquo;erreur de premi\u00e8re esp\u00e8ce, menant le chercheur \u00e0 d\u00e9clarer statistiquement significatifs des pr\u00e9dicteurs qui ne sont en r\u00e9alit\u00e9 que des artefacts de la structure d&rsquo;autocorr\u00e9lation sous-jacente.<\/p>\n<p>D\u00e8s lors, la v\u00e9rification formelle de la condition de bruit blanc strict ou au sens faible s&rsquo;impose comme une \u00e9tape incontournable du cycle de vie de toute mod\u00e9lisation chronologique. Un bruit blanc au sens faible requiert une esp\u00e9rance math\u00e9matique constante et nulle, une variance temporelle invariante et, de fa\u00e7on cruciale, une autocovariance strictement nulle pour tout d\u00e9calage temporel non nul. Le test d&rsquo;hypoth\u00e8se portant sur l&rsquo;ensemble des coefficients d&rsquo;autocorr\u00e9lation r\u00e9siduels devient ainsi le garant de l&rsquo;int\u00e9grit\u00e9 de l&rsquo;architecture pr\u00e9dictive mise en \u0153uvre.<\/p>\n<h3>1.2 \u00c9volution historique : du test de Box-Pierce au test de Ljung-Box<\/h3>\n<p>La formalisation statistique de l&rsquo;\u00e9valuation conjointe des retards d&rsquo;autocorr\u00e9lation a franchi une \u00e9tape majeure gr\u00e2ce aux travaux fondateurs de George Box et David Pierce en 1970. Avant leur contribution, les praticiens s&rsquo;en remettaient principalement \u00e0 l&rsquo;inspection individuelle des coefficients d&rsquo;autocorr\u00e9lation ou au test de Durbin-Watson, intrins\u00e8quement cantonn\u00e9 au premier ordre. Box et Pierce introduisirent la c\u00e9l\u00e8bre statistique portemanteau <em>Q<sub>BP<\/sub><\/em>, con\u00e7ue pour tester de mani\u00e8re globale si un ensemble fini de coefficients d&rsquo;autocorr\u00e9lation empiriques diff\u00e8re significativement de z\u00e9ro. Cette approche reposait sur la sommation quadratique pond\u00e9r\u00e9e des coefficients d&rsquo;autocorr\u00e9lation d&rsquo;\u00e9chantillon jusqu&rsquo;\u00e0 un horizon de retard pr\u00e9d\u00e9termin\u00e9.<\/p>\n<p>Cependant, malgr\u00e9 son \u00e9l\u00e9gance conceptuelle et sa simplicit\u00e9 de calcul sous des conditions asymptotiques id\u00e9ales, la statistique de Box-Pierce a rapidement r\u00e9v\u00e9l\u00e9 d&rsquo;importantes lacunes empiriques. En 1978, Greta M. Ljung et George E. P. Box publi\u00e8rent une r\u00e9vision critique d\u00e9montrant que la distribution d&rsquo;\u00e9chantillonnage de la statistique <em>Q<sub>BP<\/sub><\/em> s&rsquo;\u00e9cartait substantiellement de la loi th\u00e9orique du khi-deux lorsque la taille de la s\u00e9rie temporelle \u00e9tait mod\u00e9r\u00e9e ou finie. Pour de petits ou moyens \u00e9chantillons, la variance r\u00e9elle des autocorr\u00e9lations d&rsquo;\u00e9chantillon est nettement inf\u00e9rieure \u00e0 <em>1\/n<\/em>, provoquant une sous-estimation syst\u00e9matique de la statistique de test et, par cons\u00e9quent, un conservatisme excessif mat\u00e9rialis\u00e9 par un d\u00e9ficit prononc\u00e9 de puissance statistique.<\/p>\n<p>Pour rem\u00e9dier \u00e0 cette distorsion, Ljung et Box int\u00e9gr\u00e8rent une correction matricielle raffin\u00e9e tenant compte de la variance exacte de l&rsquo;autocorr\u00e9lation d&rsquo;\u00e9chantillon sous l&rsquo;hypoth\u00e8se nulle. La statistique r\u00e9sultante, universellement d\u00e9sign\u00e9e sous le nom de statistique <em>Q<\/em> de Ljung-Box, applique un facteur de pond\u00e9ration hyperbolique aux retards successifs. Cette pond\u00e9ration compense fid\u00e8lement l&rsquo;att\u00e9nuation de l&rsquo;inertie statistique induite par la finitude de l&rsquo;\u00e9chantillon, conf\u00e9rant au test de Ljung-Box une robustesse distributionnelle et une puissance de rejet nettement sup\u00e9rieures dans la pratique contemporaine de l&rsquo;\u00e9conom\u00e9trie appliqu\u00e9e.<\/p>\n<h3>1.3 Importance diagnostique pour la mod\u00e9lisation statistique avanc\u00e9e<\/h3>\n<p>Dans l&rsquo;arsenal contemporain des sciences quantitatives, le test de Ljung-Box op\u00e8re comme le juge de paix de la mod\u00e9lisation g\u00e9n\u00e9rative univari\u00e9e et multivari\u00e9e. Son champ d&rsquo;intervention premier concerne la famille des mod\u00e8les autor\u00e9gressifs int\u00e9gr\u00e9s \u00e0 moyenne mobile (<a rel=\"noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Autoregressive_integrated_moving_average\">ARIMA<\/a> et SARIMAX), ainsi que les mod\u00e8les vectoriels autor\u00e9gressifs (VAR) et les architectures \u00e0 correction d&rsquo;erreur (VECM). Dans l&rsquo;ensemble de ces m\u00e9thodologies, l&rsquo;ad\u00e9quation structurelle repose sur l&rsquo;\u00e9limination totale du signal pr\u00e9visible : le r\u00e9sidu ne doit contenir que l&rsquo;al\u00e9a non anticipable du processus stochastique.<\/p>\n<p>L&rsquo;int\u00e9r\u00eat de ce test transcende largement les fronti\u00e8res traditionnelles de l&rsquo;\u00e9conomie financi\u00e8re et s&rsquo;\u00e9tend aujourd&rsquo;hui de mani\u00e8re pr\u00e9pond\u00e9rante aux m\u00e9thodologies quantitatives des sciences humaines et de la sant\u00e9. Dans les protocoles d&rsquo;\u00e9valuations \u00e9cologiques momentan\u00e9es (EMA) ou les suivis longitudinaux de variables psychom\u00e9triques via des micro-sondages quotidiens, la mod\u00e9lisation de l&rsquo;inertie affective et de la r\u00e9activit\u00e9 \u00e9motionnelle requiert une d\u00e9composition rigoureuse des composantes de d\u00e9pendance temporelle. Dans ces contextes, le test de Ljung-Box permet de dissocier formellement une r\u00e9elle dynamique d&rsquo;autor\u00e9gulation psychologique d&rsquo;un simple bruit de mesure corr\u00e9l\u00e9.<\/p>\n<p>Une distinction \u00e9pist\u00e9mologique essentielle doit toutefois \u00eatre maintenue entre l&rsquo;absence de corr\u00e9lation globale et l&rsquo;ind\u00e9pendance statistique stricte. Le test de Ljung-Box \u00e9value une d\u00e9pendance lin\u00e9aire agr\u00e9g\u00e9e sur un spectre de d\u00e9calages temporels. Il ne garantit nullement l&rsquo;absence d&rsquo;interactions non lin\u00e9aires, d&rsquo;asym\u00e9tries structurelles ou de d\u00e9pendances au niveau des moments d&rsquo;ordre sup\u00e9rieur, telles que l&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9 conditionnelle autor\u00e9gressive. Il s&rsquo;inscrit ainsi comme une condition n\u00e9cessaire, mais non strictement suffisante, de l&rsquo;ind\u00e9pendance parfaite, formant la premi\u00e8re ligne de d\u00e9fense de tout protocole de diagnostic \u00e9conom\u00e9trique rigoureux.<\/p>\n<h2>2. Cadre th\u00e9orique et formulation math\u00e9matique du test de Ljung-Box<\/h2>\n<h3>2.1 Formulation formelle des hypoth\u00e8ses nulle et alternative<\/h3>\n<p>La formulation probabiliste du test de Ljung-Box repose sur un cadre de test d&rsquo;hypoth\u00e8ses conjointes portant sur un vecteur fini de coefficients d&rsquo;autocorr\u00e9lation de la population, not\u00e9s <em>\u03c1<sub>k<\/sub><\/em> pour <em>k = 1, 2, &#8230;, h<\/em>, o\u00f9 <em>h<\/em> repr\u00e9sente l&rsquo;horizon maximal de retard s\u00e9lectionn\u00e9 par l&rsquo;analyste. Soit une s\u00e9rie temporelle stationnaire <em>Y<sub>t<\/sub><\/em> ou une suite de r\u00e9sidus estim\u00e9s <em>e<sub>t<\/sub><\/em>, le test confronte formellement deux assertions mutuellement exclusives concernant la structure d&rsquo;ind\u00e9pendance s\u00e9rielle du processus g\u00e9n\u00e9rateur.<\/p>\n<p>L&rsquo;hypoth\u00e8se nulle, traditionnellement d\u00e9sign\u00e9e par <em>H<sub>0<\/sub><\/em>, stipule que les <em>h<\/em> premiers coefficients d&rsquo;autocorr\u00e9lation sont identiquement et simultan\u00e9ment nuls. Elle s&rsquo;\u00e9crit formellement :<\/p>\n<p><em>H<sub>0<\/sub> : \u03c1<sub>1<\/sub> = \u03c1<sub>2<\/sub> = &#8230; = \u03c1<sub>h<\/sub> = 0<\/em><\/p>\n<p>Cette hypoth\u00e8se postule l&rsquo;absence int\u00e9grale de structure d&rsquo;autocorr\u00e9lation lin\u00e9aire jusqu&rsquo;au retard <em>h<\/em>. \u00c0 l&rsquo;oppos\u00e9, l&rsquo;hypoth\u00e8se alternative, not\u00e9e <em>H<sub>1<\/sub><\/em> ou <em>H<sub>A<\/sub><\/em>, affirme qu&rsquo;au moins un des coefficients d&rsquo;autocorr\u00e9lation au sein de l&rsquo;ensemble d&rsquo;observation consid\u00e9r\u00e9 est non nul. Elle se formule de la mani\u00e8re suivante :<\/p>\n<p><em>H<sub>1<\/sub> : \u2203 k \u2208 {1, 2, &#8230;, h} tel que \u03c1<sub>k<\/sub> \u2260 0<\/em><\/p>\n<p>Sur le plan m\u00e9thodologique, la posture du statisticien face au test de Ljung-Box diff\u00e8re radicalement de celle adopt\u00e9e lors de l&rsquo;estimation de param\u00e8tres explicatifs traditionnels. Dans un mod\u00e8le de r\u00e9gression standard, le chercheur aspire g\u00e9n\u00e9ralement au rejet de l&rsquo;hypoth\u00e8se nulle afin d&rsquo;\u00e9tablir la significativit\u00e9 de son pr\u00e9dicteur. En mati\u00e8re de diagnostic des r\u00e9sidus, l&rsquo;objectif est inverse : le mod\u00e9lisateur esp\u00e8re le non-rejet de l&rsquo;hypoth\u00e8se nulle. Observer une p-valeur largement sup\u00e9rieure au seuil critique alpha pr\u00e9d\u00e9termin\u00e9 fournit l&rsquo;attestation num\u00e9rique que les r\u00e9sidus ne contredisent pas l&rsquo;hypoth\u00e8se de bruit blanc, conf\u00e9rant ainsi une validit\u00e9 op\u00e9rationnelle au mod\u00e8le sous-jacent.<\/p>\n<h3>2.2 \u00c9quation de la statistique Q de Ljung-Box<\/h3>\n<p>L&rsquo;estimateur de l&rsquo;autocorr\u00e9lation d&rsquo;\u00e9chantillon au retard <em>k<\/em>, not\u00e9 <em>r\u0302<sub>k<\/sub><\/em>, pour une s\u00e9rie de r\u00e9sidus <em>e<sub>t<\/sub><\/em> de moyenne nulle et de taille <em>n<\/em>, est traditionnellement calcul\u00e9 selon le ratio des covariances empiriques :<\/p>\n<p><em>r\u0302<sub>k<\/sub> = [\u2211<sub>t=k+1<\/sub><sup>n<\/sup> (e<sub>t<\/sub> e<sub>t-k<\/sub>)] \/ [\u2211<sub>t=1<\/sub><sup>n<\/sup> e<sub>t<\/sub><sup>2<\/sup>]<\/em><\/p>\n<p>Sur la base de ces autocorr\u00e9lations empiriques, la statistique originale de Box et Pierce agr\u00e9geait simplement les termes quadratiques : <em>Q<sub>BP<\/sub> = n \u2211<sub>k=1<\/sub><sup>h<\/sup> r\u0302<sub>k<\/sub><sup>2<\/sup><\/em>. Constatant que la variance de <em>r\u0302<sub>k<\/sub><\/em> sous <em>H<sub>0<\/sub><\/em> pour des \u00e9chantillons finis est plus fid\u00e8lement approch\u00e9e par <em>(n &#8211; k) \/ [n (n + 2)]<\/em> que par l&rsquo;approximation asymptotique classique <em>1\/n<\/em>, Ljung et Box ont introduit leur statistique corrig\u00e9e, formul\u00e9e analytiquement comme suit :<\/p>\n<p><em>Q = n (n + 2) \u2211<sub>k=1<\/sub><sup>h<\/sup> (r\u0302<sub>k<\/sub><sup>2<\/sup>) \/ (n &#8211; k)<\/em><\/p>\n<p>L&rsquo;examen approfondi de cette \u00e9quation r\u00e9v\u00e8le la subtilit\u00e9 du m\u00e9canisme de pond\u00e9ration. Le num\u00e9rateur constant <em>n (n + 2)<\/em> normalise l&rsquo;ensemble de l&rsquo;expression, tandis que le d\u00e9nominateur sp\u00e9cifique \u00e0 chaque terme, <em>(n &#8211; k)<\/em>, attribue une pond\u00e9ration proportionnellement plus lourde aux autocorr\u00e9lations mesur\u00e9es sur des retards plus \u00e9lev\u00e9s. En effet, au fur et \u00e0 mesure que <em>k<\/em> augmente, le nombre d&rsquo;observations effectives participant au calcul de la corr\u00e9lation s&rsquo;amenuise, ce qui accro\u00eet la variabilit\u00e9 d&rsquo;\u00e9chantillonnage de <em>r\u0302<sub>k<\/sub><\/em>. Le ratio <em>(n + 2) \/ (n &#8211; k)<\/em> compense exactement cette inflation de la variance d&rsquo;\u00e9chantillonnage, garantissant que chaque retard contribue \u00e9quitablement \u00e0 la statistique d&rsquo;ensemble sans biaiser le test en faveur des premiers retards.<\/p>\n<h3>2.3 Propri\u00e9t\u00e9s asymptotiques et distribution sous l&rsquo;hypoth\u00e8se nulle<\/h3>\n<p>Sous l&rsquo;hypoth\u00e8se nulle <em>H<sub>0<\/sub><\/em> d&rsquo;ind\u00e9pendance s\u00e9rielle et en supposant que la s\u00e9rie temporelle \u00e9valu\u00e9e est une suite de variables al\u00e9atoires ind\u00e9pendantes et identiquement distribu\u00e9es poss\u00e9dant un moment d&rsquo;ordre deux fini, la statistique <em>Q<\/em> de Ljung-Box converge en loi, lorsque la taille de l&rsquo;\u00e9chantillon <em>n<\/em> tend vers l&rsquo;infini, vers une distribution du khi-deux :<\/p>\n<p><em>Q xrightarrow{d} \u03c7<sup>2<\/sup>(h)<\/em><\/p>\n<p>o\u00f9 <em>h<\/em> repr\u00e9sente le nombre de retards inclus dans la sommation. Cette convergence autorise l&rsquo;utilisation directe des tables de la loi du khi-deux ou des fonctions de r\u00e9partition cumul\u00e9e int\u00e9gr\u00e9es aux progiciels scientifiques pour calculer les p-valeurs associ\u00e9es \u00e0 une statistique empirique donn\u00e9e.<\/p>\n<p>Toutefois, une nuance fondamentale de th\u00e9orie asymptotique s&rsquo;impose lorsque le test est appliqu\u00e9 non pas \u00e0 une s\u00e9rie brute purement exog\u00e8ne, mais aux r\u00e9sidus r\u00e9sultant de l&rsquo;ajustement d&rsquo;un mod\u00e8le param\u00e9trique, typiquement un processus <a rel=\"noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Autoregressive%E2%80%93moving-average_model\">ARMA(p, q)<\/a>. L&rsquo;estimation des param\u00e8tres du mod\u00e8le contraint math\u00e9matiquement les r\u00e9sidus par les conditions du premier ordre de l&rsquo;optimisation par le maximum de vraisemblance. Ces contraintes absorbent une partie de la variabilit\u00e9 r\u00e9siduelle, r\u00e9duisant d&rsquo;autant les degr\u00e9s de libert\u00e9 r\u00e9els de la distribution asymptotique.<\/p>\n<p>Par cons\u00e9quent, pour des r\u00e9sidus de mod\u00e8le ARMA, la distribution asymptotique sous l&rsquo;hypoth\u00e8se nulle devient :<\/p>\n<p><em>Q xrightarrow{d} \u03c7<sup>2<\/sup>(h &#8211; p &#8211; q)<\/em><\/p>\n<p>o\u00f9 <em>p<\/em> et <em>q<\/em> d\u00e9signent respectivement les ordres autor\u00e9gressif et de moyenne mobile estim\u00e9s. Il est imp\u00e9ratif que <em>h &gt; p + q<\/em> pour que les degr\u00e9s de libert\u00e9 demeurent strictement positifs. L&rsquo;omission de cet ajustement dans les logiciels d&rsquo;analyse conduit invariablement \u00e0 une surestimation des degr\u00e9s de libert\u00e9, gonflant artificiellement les p-valeurs et induisant un risque majeur de consid\u00e9rer \u00e0 tort un mod\u00e8le inad\u00e9quat comme pleinement valid\u00e9.<\/p>\n<p>Enfin, il convient de souligner que la sensibilit\u00e9 de cette distribution asymptotique demeure conditionn\u00e9e par l&rsquo;hypoth\u00e8se de normalit\u00e9 et l&rsquo;homosc\u00e9dasticit\u00e9 du processus sous-jacent. En pr\u00e9sence de queues de distribution \u00e9paisses ou de d\u00e9pendances conditionnelles de la variance, la convergence vers la loi du khi-deux peut \u00eatre alt\u00e9r\u00e9e, imposant une vigilance interpr\u00e9tative accrue.<\/p>\n<h2>3. Pr\u00e9paration de l&rsquo;environnement scientifique Python<\/h2>\n<h3>3.1 Installation et configuration des biblioth\u00e8ques analytiques<\/h3>\n<p>La mise en \u0153uvre moderne du diagnostic chronologique en Python s&rsquo;appuie sur un \u00e9cosyst\u00e8me hautement int\u00e9gr\u00e9 de calcul scientifique. Le socle fondamental de cette architecture repose sur la biblioth\u00e8que sp\u00e9cialis\u00e9e Statsmodels, qui encapsule l&rsquo;ensemble des algorithmes \u00e9conom\u00e9triques requis pour le test de Ljung-Box, compl\u00e9t\u00e9e par <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a> pour l&rsquo;alg\u00e8bre lin\u00e9aire vectoris\u00e9e, <a rel=\"noopener noreferrer\" href=\"https:\/\/pandas.pydata.org\/\">Pandas<\/a> pour la manipulation structurelle des s\u00e9ries temporelles index\u00e9es, ainsi que <a rel=\"noopener noreferrer\" href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a> et <a rel=\"noopener noreferrer\" href=\"https:\/\/seaborn.pydata.org\/\">Seaborn<\/a> pour l&rsquo;exploration visuelle.<\/p>\n<p>Pour assurer la p\u00e9rennit\u00e9 et la reproductibilit\u00e9 de l&rsquo;environnement, l&rsquo;installation de ces d\u00e9pendances doit \u00eatre r\u00e9alis\u00e9e via les gestionnaires de paquets standardis\u00e9s tels que pip ou les environnements virtualis\u00e9s Conda. Dans un terminal de commande d\u00e9di\u00e9, l&rsquo;ex\u00e9cution de l&rsquo;instruction d&rsquo;installation s&rsquo;articule comme suit :<\/p>\n<p><code>pip install statsmodels numpy pandas matplotlib seaborn scipy<\/code><\/p>\n<p>Une fois les paquets install\u00e9s, la phase de configuration initiale dans l&rsquo;environnement Python implique l&rsquo;importation ordonn\u00e9e des modules n\u00e9vralgiques. Une attention particuli\u00e8re doit \u00eatre port\u00e9e \u00e0 la modularit\u00e9 du code en s\u00e9parant explicitement les modules d&rsquo;ing\u00e9nierie des donn\u00e9es des sous-modules d&rsquo;inf\u00e9rence statistique formelle :<\/p>\n<p><code>import numpy as np<br \/>import pandas as pd<br \/>import matplotlib.pyplot as plt<br \/>import seaborn as sns<br \/>import statsmodels.api as sm<br \/>from statsmodels.stats.diagnostic import acorr_ljungbox<br \/>from statsmodels.tsa.stattools import adfuller, kpss<\/code><\/p>\n<p>Il est recommand\u00e9 de param\u00e9trer les styles graphiques de Seaborn d\u00e8s l&rsquo;initialisation afin de garantir que les figures diagnostiques g\u00e9n\u00e9r\u00e9es adoptent un contraste et une lisibilit\u00e9 conformes aux standards acad\u00e9miques internationaux de publication scientifique.<\/p>\n<h3>3.2 Pr\u00e9sentation de la fonction acorr_ljungbox de Statsmodels<\/h3>\n<p>Le calcul du test de Ljung-Box au sein de l&rsquo;\u00e9cosyst\u00e8me Statsmodels est confi\u00e9 \u00e0 la fonction sp\u00e9cialis\u00e9e <code>acorr_ljungbox<\/code>, localis\u00e9e pr\u00e9cis\u00e9ment au sein du sous-module <code>statsmodels.stats.diagnostic<\/code>. Cette routine algorithmique a connu d&rsquo;importantes refactorisations architecturales au fil des versions r\u00e9centes de la biblioth\u00e8que, rendant indispensable la compr\u00e9hension de sa signature courante.<\/p>\n<p>Dans les versions ant\u00e9rieures de Statsmodels (ant\u00e9rieures \u00e0 la version 0.12.0), la fonction retournait par d\u00e9faut un tuple de deux tableaux NumPy contenant respectivement les statistiques <em>Q<\/em> et les p-valeurs associ\u00e9es, avec une option permettant de r\u00e9cup\u00e9rer simultan\u00e9ment les statistiques de Box-Pierce. Les versions actuelles privil\u00e9gient une structure de donn\u00e9es tabulaire Pandas hautement intuitive, contr\u00f4l\u00e9e par le param\u00e8tre <code>return_df<\/code>.<\/p>\n<p>La signature standard de la fonction s&rsquo;articule autour de quatre arguments critiques :<\/p>\n<ul>\n<li><strong>x<\/strong> : La s\u00e9rie temporelle unidimensionnelle ou le vecteur r\u00e9siduel sous examen, sous forme de tableau NumPy ou d&rsquo;objet Pandas Series.<\/li>\n<li><strong>lags<\/strong> : Le nombre de retards \u00e0 \u00e9valuer. Cet argument peut recevoir soit un entier scalaire <em>h<\/em> (auquel cas le test \u00e9value tous les retards de 1 \u00e0 <em>h<\/em>), soit un conteneur it\u00e9rable d&rsquo;entiers sp\u00e9cifiant des retards pr\u00e9cis et individualis\u00e9s.<\/li>\n<li><strong>boxpierce<\/strong> : Un param\u00e8tre bool\u00e9en (par d\u00e9faut <em>False<\/em>) qui, s&rsquo;il est bascul\u00e9 \u00e0 <em>True<\/em>, ordonne le calcul et la restitution conjointe de la statistique de Box-Pierce historique.<\/li>\n<li><strong>model_df<\/strong> : Un entier sp\u00e9cifiant le nombre de degr\u00e9s de libert\u00e9 consomm\u00e9s par l&rsquo;estimation pr\u00e9alable des param\u00e8tres du mod\u00e8le. Par d\u00e9faut fix\u00e9 \u00e0 0, cet argument doit imp\u00e9rativement \u00eatre renseign\u00e9 lors du diagnostic des r\u00e9sidus de mod\u00e8les ARMA afin d&rsquo;assurer la soustraction requise sur les degr\u00e9s de libert\u00e9 de la loi du khi-deux.<\/li>\n<li><strong>period<\/strong> : Param\u00e8tre optionnel permettant de d\u00e9finir une saisonnalit\u00e9 explicite si des d\u00e9calages p\u00e9riodiques doivent \u00eatre explor\u00e9s de mani\u00e8re cibl\u00e9e.<\/li>\n<\/ul>\n<h3>3.3 Mise en place d&rsquo;un flux de travail reproductible<\/h3>\n<p>L&rsquo;int\u00e9grit\u00e9 de toute analyse statistique avanc\u00e9e repose sur sa reproductibilit\u00e9 int\u00e9grale. Dans le cadre de simulations stochastiques, de g\u00e9n\u00e9ration de donn\u00e9es synth\u00e9tiques ou d&rsquo;ajustements it\u00e9ratifs de mod\u00e8les pr\u00e9dictifs, la variabilit\u00e9 algorithmique doit \u00eatre ma\u00eetris\u00e9e d\u00e8s le d\u00e9part. La fixation d&rsquo;une graine al\u00e9atoire globale (seed) via <code>np.random.seed(42)<\/code> constitue une pr\u00e9caution \u00e9l\u00e9mentaire, compl\u00e9t\u00e9e si n\u00e9cessaire par le g\u00e9n\u00e9rateur moderne de NumPy via <code>np.random.default_rng(42)<\/code>.<\/p>\n<p>Parall\u00e8lement, l&rsquo;analyste doit veiller \u00e0 la gestion rigoureuse des avertissements logiciels (warnings). Les biblioth\u00e8ques scientifiques modernes \u00e9mettent fr\u00e9quemment des avertissements de d\u00e9pr\u00e9ciation (DeprecationWarnings) ou de convergence (ConvergenceWarnings). S&rsquo;il est tentant de neutraliser aveugl\u00e9ment ces alertes par le module <code>warnings<\/code> de Python, une pratique scientifique rigoureuse consiste \u00e0 filtrer s\u00e9lectivement les messages superflus tout en maintenant visibles les alertes signalant un dysfonctionnement de convergence lors de l&rsquo;estimation par le maximum de vraisemblance.<\/p>\n<p>Enfin, la structure du flux de travail doit s&rsquo;organiser selon une logique s\u00e9quentielle modulaire :<\/p>\n<ul>\n<li>\u00c9tape 1 : Ingestion, nettoyage chronologique et indexation rigoureuse des s\u00e9ries temporelles.<\/li>\n<li>\u00c9tape 2 : \u00c9valuation formelle de la stationnarit\u00e9 et ex\u00e9cution des transformations de stabilisation.<\/li>\n<li>\u00c9tape 3 : Sp\u00e9cification, calibration et estimation du mod\u00e8le g\u00e9n\u00e9rateur adapt\u00e9.<\/li>\n<li>\u00c9tape 4 : Extraction vectorielle des r\u00e9sidus et param\u00e9trage du test de Ljung-Box avec ajustement des degr\u00e9s de libert\u00e9.<\/li>\n<li>\u00c9tape 5 : Synth\u00e8se diagnostique visuelle et validation num\u00e9rique conjointe.<\/li>\n<\/ul>\n<h2>4. Acquisition et structuration des s\u00e9ries temporelles pour l&rsquo;analyse<\/h2>\n<h3>4.1 Importation et inspection du jeu de donn\u00e9es classique SUNACTIVITY<\/h3>\n<p>Afin d&rsquo;illustrer la m\u00e9canique op\u00e9rationnelle du test de Ljung-Box sur des donn\u00e9es r\u00e9elles pr\u00e9sentant une forte dynamique p\u00e9riodique et autor\u00e9gressive, le jeu de donn\u00e9es historique de l&rsquo;activit\u00e9 des taches solaires (Sunspots) constitue un cas d&rsquo;\u00e9cole id\u00e9al. Document\u00e9e sur plusieurs si\u00e8cles, cette s\u00e9rie chronologique recense le nombre moyen annuel de taches solaires observ\u00e9es \u00e0 la surface du Soleil, r\u00e9v\u00e9lant des cycles magn\u00e9tiques quasi-d\u00e9cennaux bien document\u00e9s en astrophysique.<\/p>\n<p>Statsmodels propose un acc\u00e8s direct \u00e0 ce jeu de donn\u00e9es via son sous-module d&rsquo;exemples natifs. L&rsquo;acquisition et la structuration s&rsquo;op\u00e8rent par le code suivant :<\/p>\n<p><code>sunspots_data = sm.datasets.sunspots.load_pandas().data<br \/>sunspots_data.index = pd.Index(sm.tsa.datetools.dates_from_range('1700', length=len(sunspots_data)))<br \/>sunspots_series = sunspots_data['SUNACTIVITY']<\/code><\/p>\n<p>L&rsquo;attribution explicite d&rsquo;un index chronologique continu au format Pandas DatetimeIndex est une exigence technique incontournable. Elle permet d&rsquo;\u00e9liminer toute ambigu\u00eft\u00e9 sur la fr\u00e9quence temporelle des observations et d&rsquo;\u00e9viter les incoh\u00e9rences algorithmiques lors des d\u00e9calages temporels calcul\u00e9s par les fonctions de diagnostic s\u00e9riel. L&rsquo;inspection initiale de la s\u00e9rie d\u00e9montre une oscillation non lin\u00e9aire marqu\u00e9e, caract\u00e9ris\u00e9e par une p\u00e9riodicit\u00e9 moyenne d&rsquo;environ 11 ans (cycle de Schwabe), soumettant toute hypoth\u00e8se d&rsquo;ind\u00e9pendance temporelle brute \u00e0 une r\u00e9futation imm\u00e9diate.<\/p>\n<h3>4.2 \u00c9valuation de la stationnarit\u00e9 de la s\u00e9rie<\/h3>\n<p>La validit\u00e9 th\u00e9orique du calcul des autocorr\u00e9lations d&rsquo;\u00e9chantillon repose formellement sur l&rsquo;hypoth\u00e8se de stationnarit\u00e9 au sens faible de la s\u00e9rie chronologique analys\u00e9e. Si une s\u00e9rie temporelle pr\u00e9sente une tendance d\u00e9terministe ou stochastique sous-jacente, la moyenne non constante induit une persistance artificielle des corr\u00e9lations s\u00e9rielles. Les coefficients <em>r\u0302<sub>k<\/sub><\/em> d\u00e9croissent alors \u00e0 une vitesse quasi-lin\u00e9aire extr\u00eamement lente, faussant radicalement le comportement distributionnel de la statistique <em>Q<\/em> de Ljung-Box.<\/p>\n<p>Avant d&rsquo;envisager la moindre mod\u00e9lisation ou l&rsquo;application de tests diagnostiques, il est donc imp\u00e9ratif de confronter la s\u00e9rie \u00e0 une batterie de tests d&rsquo;int\u00e9gration. La m\u00e9thodologie recommand\u00e9e pr\u00e9conise une approche confirmatoire crois\u00e9e en associant le test de Dickey-Fuller Augment\u00e9 (ADF) et le test KPSS (Kwiatkowski-Phillips-Schmidt-Shin) :<\/p>\n<p><code>adf_result = adfuller(sunspots_series.dropna())<br \/>kpss_result = kpss(sunspots_series.dropna(), regression='c', nlags='auto')<\/code><\/p>\n<p>Le test ADF \u00e9value l&rsquo;hypoth\u00e8se nulle de pr\u00e9sence d&rsquo;une racine unitaire (non-stationnarit\u00e9 stochastique), tandis que le test KPSS postule sous son hypoth\u00e8se nulle la stationnarit\u00e9 de la s\u00e9rie autour d&rsquo;une constante. Une divergence entre ces deux tests met en lumi\u00e8re des \u00e9tats d&rsquo;int\u00e9gration complexes. Si la s\u00e9rie s&rsquo;av\u00e8re non stationnaire, l&rsquo;application d&rsquo;une diff\u00e9renciation premi\u00e8re, mat\u00e9rialis\u00e9e en Pandas par la m\u00e9thode <code>diff()<\/code>, ou le recours \u00e0 une transformation logarithmique de Box-Cox pour stabiliser la variance devient un pr\u00e9requis absolu avant toute tentative de mod\u00e9lisation param\u00e9trique et de diagnostic r\u00e9siduel.<\/p>\n<h3>4.3 Traitement des valeurs manquantes et des valeurs aberrantes<\/h3>\n<p>La continuit\u00e9 temporelle constitue le fondement axiomatique du calcul des fonctions d&rsquo;autocorr\u00e9lation. La pr\u00e9sence de valeurs manquantes (valeurs NaN) au sein d&rsquo;une s\u00e9rie temporelle brise la r\u00e9gularit\u00e9 du retard temporel <em>k<\/em>, emp\u00eachant le calcul rigoureux des produits crois\u00e9s <em>(e<sub>t<\/sub> e<sub>t-k<\/sub>)<\/em>. Par d\u00e9faut, la fonction <code>acorr_ljungbox<\/code> de Statsmodels \u00e9choue ou g\u00e9n\u00e8re des valeurs ind\u00e9termin\u00e9es si des lacunes num\u00e9riques subsistent dans le vecteur fourni en entr\u00e9e.<\/p>\n<p>Pour combler d&rsquo;\u00e9ventuelles interruptions d&rsquo;enregistrement dans des donn\u00e9es empiriques sans d\u00e9naturer la dynamique temporelle, les analystes doivent privil\u00e9gier des strat\u00e9gies d&rsquo;imputation adapt\u00e9es aux s\u00e9ries chronologiques. La suppression pure et simple des lignes manquantes est formellement proscrite car elle raccourcit artificiellement l&rsquo;intervalle entre les observations adjacentes, d\u00e9formant l&rsquo;horizon s\u00e9riel. Les approches d&rsquo;interpolation temporelle, notamment l&rsquo;interpolation par spline cubique ou par r\u00e9gression locale pond\u00e9r\u00e9e, garantissent une pr\u00e9servation satisfaisante du spectre de fr\u00e9quence des donn\u00e9es :<\/p>\n<p><code>series_imputed = sunspots_series.interpolate(method='time')<\/code><\/p>\n<p>Parall\u00e8lement, la d\u00e9tection des valeurs aberrantes (outliers) rev\u00eat une importance critique. Un point extr\u00eame isol\u00e9, provoqu\u00e9 par un dysfonctionnement de capteur ou une perturbation exog\u00e8ne exceptionnelle, peut \u00e0 lui seul contaminer lourdement plusieurs coefficients d&rsquo;autocorr\u00e9lation empiriques. L&rsquo;\u00e9l\u00e9vation au carr\u00e9 des r\u00e9sidus dans la formule de la statistique de Ljung-Box conf\u00e8re \u00e0 ces anomalies un levier disproportionn\u00e9 sur la somme globale. Des techniques d&rsquo;att\u00e9nuation robuste, telles que la winsorisation ou le lissage m\u00e9dian adaptatif, doivent \u00eatre envisag\u00e9es lorsque l&rsquo;origine purement accidentelle de l&rsquo;anomalie est av\u00e9r\u00e9e.<\/p>\n<h2>5. Ex\u00e9cution pratique du test de Ljung-Box avec Statsmodels<\/h2>\n<h3>5.1 Syntaxe de base et ex\u00e9cution sur une s\u00e9rie brute<\/h3>\n<p>L&rsquo;ex\u00e9cution pratique du test de Ljung-Box d\u00e9bute par l&rsquo;application de la fonction sur une s\u00e9rie temporelle brute ou sur une s\u00e9rie simplement diff\u00e9renci\u00e9e, dans le but d&rsquo;objectiver l&rsquo;existence d&rsquo;une m\u00e9moire s\u00e9rielle avant mod\u00e9lisation. La syntaxe canonique sous les versions contemporaines de Statsmodels requiert le passage du param\u00e8tre <code>return_df=True<\/code> pour obtenir une sortie imm\u00e9diatement exploitable sous forme de DataFrame Pandas structur\u00e9.<\/p>\n<p>Le code op\u00e9rationnel s&rsquo;articule comme suit :<\/p>\n<p><code>lb_results = acorr_ljungbox(sunspots_series, lags=10, return_df=True)<br \/>print(lb_results)<\/code><\/p>\n<p>Le tableau g\u00e9n\u00e9r\u00e9 par cette instruction se compose de deux colonnes fondamentales, index\u00e9es par les retards s\u00e9quentiels de 1 \u00e0 10 :<\/p>\n<ul>\n<li><strong>lb_stat<\/strong> : La valeur num\u00e9rique exacte prise par la statistique <em>Q<\/em> de Ljung-Box, calcul\u00e9e pour la somme cumul\u00e9e des retards allant de 1 jusqu&rsquo;au retard <em>k<\/em> consid\u00e9r\u00e9 sur chaque ligne.<\/li>\n<li><strong>lb_pvalue<\/strong> : La p-valeur asymptotique issue de l&rsquo;\u00e9valuation de la statistique <em>lb_stat<\/em> sous la loi de distribution du khi-deux \u00e0 <em>k<\/em> degr\u00e9s de libert\u00e9.<\/li>\n<\/ul>\n<p>L&rsquo;observation imm\u00e9diate de valeurs <em>lb_stat<\/em> massives coupl\u00e9es \u00e0 des p-valeurs infinit\u00e9simales (inf\u00e9rieures \u00e0 1e-15) sur les donn\u00e9es brutes des taches solaires confirme de mani\u00e8re \u00e9clatante le rejet cat\u00e9gorique de l&rsquo;hypoth\u00e8se nulle d&rsquo;ind\u00e9pendance. Cette configuration prouve l&rsquo;existence d&rsquo;une structure d\u00e9terministe ou autor\u00e9gressive puissante qui r\u00e9clame un traitement param\u00e9trique approfondi.<\/p>\n<h3>5.2 Param\u00e9trage manuel et vectoriel du nombre de retards<\/h3>\n<p>L&rsquo;utilisateur n&rsquo;est nullement contraint d&rsquo;\u00e9valuer une s\u00e9quence lin\u00e9aire compl\u00e8te de retards successifs. La fonction <code>acorr_ljungbox<\/code> autorise une flexibilit\u00e9 totale dans la sp\u00e9cification du param\u00e8tre <code>lags<\/code>. L&rsquo;analyste peut transmettre un entier unique ou, \u00e0 des fins d&rsquo;analyse cibl\u00e9e, une collection vectorielle d&rsquo;indices temporels pr\u00e9cis.<\/p>\n<p>Dans les contextes o\u00f9 l&rsquo;on soup\u00e7onne des dynamiques p\u00e9riodiques saisonni\u00e8res bien identifi\u00e9es, il est fr\u00e9quent de vouloir focaliser le test sur des horizons strat\u00e9giques sans encombrer la sortie des retards interm\u00e9diaires non pertinents. Par exemple, pour des donn\u00e9es trimestrielles ou annuelles cycliques, un passage explicite sous forme de liste permet d&rsquo;isoler des jalons temporels majeurs :<\/p>\n<p><code>lags_selection = [1, 5, 11, 22]<br \/>lb_custom = acorr_ljungbox(sunspots_series, lags=lags_selection, return_df=True)<br \/>print(lb_custom)<\/code><\/p>\n<p>Cette approche vectorielle s&rsquo;av\u00e8re particuli\u00e8rement pr\u00e9cieuse lors de l&rsquo;int\u00e9gration du test au sein de cha\u00eenes d&rsquo;automatisation d\u00e9cisionnelle. L&rsquo;extraction des m\u00e9triques d&rsquo;int\u00e9r\u00eat pour la g\u00e9n\u00e9ration de rapports de conformit\u00e9 statistique s&rsquo;en trouve grandement simplifi\u00e9e, permettant d&rsquo;extraire directement la p-valeur au retard d&rsquo;int\u00e9r\u00eat via une syntaxe standard de s\u00e9lection Pandas :<\/p>\n<p><code>p_val_11 = lb_custom.loc[11, 'lb_pvalue']<\/code><\/p>\n<p>Cette commodit\u00e9 syntaxique garantit une transition fluide entre la phase exploratoire interactive et l&rsquo;industrialisation des pipelines d&rsquo;analyse pr\u00e9dictive.<\/p>\n<h3>5.3 Utilisation du param\u00e8tre model_df pour r\u00e9sidus estim\u00e9s<\/h3>\n<p>L&rsquo;un des pi\u00e8ges m\u00e9thodologiques les plus destructeurs de l&rsquo;\u00e9conom\u00e9trie appliqu\u00e9e r\u00e9side dans l&rsquo;omission d\u00e9lib\u00e9r\u00e9e ou accidentelle du param\u00e8tre <code>model_df<\/code> lors de l&rsquo;application du test de Ljung-Box \u00e0 des r\u00e9sidus de mod\u00e9lisation. Comme \u00e9tabli lors du d\u00e9veloppement th\u00e9orique \u00e0 la section 2.3, l&rsquo;estimation des param\u00e8tres autor\u00e9gressifs <em>p<\/em> et de moyenne mobile <em>q<\/em> consomme une fraction de la variance disponible au sein de la s\u00e9rie temporelle.<\/p>\n<p>Par d\u00e9faut, l&rsquo;argument <code>model_df<\/code> de la fonction <code>acorr_ljungbox<\/code> est initialis\u00e9 \u00e0 0. Cette configuration n&rsquo;est math\u00e9matiquement valide que si le test est appliqu\u00e9 \u00e0 une s\u00e9rie brute non estim\u00e9e. Si vous \u00e9valuez les r\u00e9sidus d&rsquo;un mod\u00e8le ARMA(2, 1), vous devez imp\u00e9rativement configurer le param\u00e8tre en informant la routine du nombre total de degr\u00e9s de libert\u00e9 consomm\u00e9s :<\/p>\n<p><code>model_degrees_of_freedom = 2 + 1<br \/>lb_resid = acorr_ljungbox(model_residuals, lags=10, model_df=model_degrees_of_freedom, return_df=True)<\/code><\/p>\n<p>Sous cette sp\u00e9cification, Statsmodels ajuste automatiquement le calcul de la probabilit\u00e9 critique. Pour les retards o\u00f9 <em>k \u2264 model_df<\/em>, la fonction renvoie conventionnellement des p-valeurs \u00e9gales \u00e0 <code>NaN<\/code>, signalant ainsi \u00e0 l&rsquo;utilisateur que le test est math\u00e9matiquement non d\u00e9fini sur ces horizons initiaux puisque les degr\u00e9s de libert\u00e9 r\u00e9siduels <em>k &#8211; (p + q)<\/em> seraient inf\u00e9rieurs ou \u00e9gaux \u00e0 z\u00e9ro. Pour les retards sup\u00e9rieurs, la distribution du khi-deux utilis\u00e9e pour d\u00e9river la colonne <code>lb_pvalue<\/code> est rigoureusement ajust\u00e9e \u00e0 <em>k &#8211; (p + q)<\/em>. Ignorer ce param\u00e8tre induit m\u00e9caniquement une p-valeur artificiellement trop conservatrice, cr\u00e9ant un risque aigu d&rsquo;erreur de premi\u00e8re esp\u00e8ce d\u00e9guis\u00e9e.<\/p>\n<h2>6. Interpr\u00e9tation statistique rigoureuse des r\u00e9sultats<\/h2>\n<h3>6.1 Prise de d\u00e9cision selon le seuil de significativit\u00e9 alpha<\/h3>\n<p>La r\u00e8gle formelle de d\u00e9cision dans le cadre du test de Ljung-Box repose sur la comparaison conventionnelle entre la p-valeur empirique retourn\u00e9e par l&rsquo;algorithme et le niveau de significativit\u00e9 alpha choisi <em>a priori<\/em> par le chercheur, traditionnellement fix\u00e9 \u00e0 <em>\u03b1 = 0,05<\/em> ou <em>\u03b1 = 0,01<\/em> pour des crit\u00e8res d&rsquo;ad\u00e9quation plus stricts :<\/p>\n<ul>\n<li>Si <strong>lb_pvalue &lt; \u03b1<\/strong> : L&rsquo;hypoth\u00e8se nulle <em>H<sub>0<\/sub><\/em> d&rsquo;absence d&rsquo;autocorr\u00e9lation jusqu&rsquo;au retard <em>k<\/em> est cat\u00e9goriquement rejet\u00e9e. Les r\u00e9sidus pr\u00e9sentent une m\u00e9moire s\u00e9rielle statistiquement significative. Le mod\u00e8le sous-jacent est jug\u00e9 sous-sp\u00e9cifi\u00e9 et inad\u00e9quat pour la pr\u00e9vision ou l&rsquo;inf\u00e9rence.<\/li>\n<li>Si <strong>lb_pvalue \u2265 \u03b1<\/strong> : On ne peut pas rejeter l&rsquo;hypoth\u00e8se nulle <em>H<sub>0<\/sub><\/em>. Les donn\u00e9es ne fournissent pas de preuves empiriques suffisantes pour contredire l&rsquo;ind\u00e9pendance lin\u00e9aire des r\u00e9sidus jusqu&rsquo;au retard consid\u00e9r\u00e9. Le comportement des erreurs est statistiquement indiscernable d&rsquo;un bruit blanc.<\/li>\n<\/ul>\n<p>Une nuance interpr\u00e9tative majeure s&rsquo;impose pour les p-valeurs dites marginales, c&rsquo;est-\u00e0-dire celles oscillant dans la zone fronti\u00e8re comprise entre 0,03 et 0,08. Dans ce r\u00e9gime d&rsquo;incertitude statistique, conclure imm\u00e9diatement \u00e0 la validit\u00e9 d&rsquo;un mod\u00e8le rel\u00e8ve d&rsquo;une imprudence m\u00e9thodologique. Une inspection approfondie des autres diagnostics (normalit\u00e9, h\u00e9t\u00e9rosc\u00e9dasticit\u00e9, crit\u00e8res d&rsquo;information) et une \u00e9ventuelle modification mineure des ordres de retard doivent \u00eatre conduites pour \u00e9prouver la stabilit\u00e9 de la d\u00e9cision statistique.<\/p>\n<h3>6.2 Analyse conjointe de la magnitude de la statistique Q<\/h3>\n<p>L&rsquo;analyse ne saurait se restreindre \u00e0 la lecture binaire des seules p-valeurs. La magnitude intrins\u00e8que de la statistique <em>Q<\/em> de Ljung-Box et sa dynamique s\u00e9quentielle d&rsquo;\u00e9volution en fonction des retards fournissent des indices pr\u00e9cieux sur la localisation temporelle des d\u00e9fauts d&rsquo;ajustement structurels. La statistique <em>Q<\/em> est, par construction, une fonction monotone non d\u00e9croissante du retard <em>k<\/em>, puisqu&rsquo;elle r\u00e9sulte de la sommation de termes quadratiques positifs.<\/p>\n<p>Cependant, le rythme de croissance de <em>Q<\/em> par rapport \u00e0 l&rsquo;incr\u00e9ment th\u00e9orique de son esp\u00e9rance sous <em>H<sub>0<\/sub><\/em> (qui augmente d&rsquo;une unit\u00e9 \u00e0 chaque retard additionnel pour une loi du khi-deux standard) est hautement r\u00e9v\u00e9lateur. Si la statistique <em>Q<\/em> enregistre un bond disproportionn\u00e9 lors du passage d&rsquo;un retard sp\u00e9cifique <em>k<\/em> \u00e0 <em>k+1<\/em>, cela trahit l&rsquo;existence d&rsquo;une autocorr\u00e9lation partielle puissante localis\u00e9e pr\u00e9cis\u00e9ment \u00e0 cet horizon. Une telle rupture signale souvent l&rsquo;oubli d&rsquo;une composante saisonni\u00e8re ou cyclique qui n&rsquo;avait pas \u00e9t\u00e9 d\u00e9tect\u00e9e lors de l&rsquo;inspection exploratoire initiale.<\/p>\n<p>La comparaison directe de <em>lb_stat<\/em> avec la valeur critique th\u00e9orique issue des tables de distribution de la loi <em>\u03c7<sup>2<\/sup><\/em> au quantile <em>1 &#8211; \u03b1<\/em> permet d&rsquo;\u00e9valuer la distance qui s\u00e9pare les r\u00e9sidus empiriques de la zone de s\u00e9curit\u00e9 statistique, quantifiant ainsi la gravit\u00e9 du d\u00e9faut d&rsquo;ajustement du mod\u00e8le.<\/p>\n<h3>6.3 \u00c9valuation des erreurs de d\u00e9cision statistique de Type I et Type II<\/h3>\n<p>Comme toute proc\u00e9dure d&rsquo;inf\u00e9rence, le test de Ljung-Box est soumis aux al\u00e9as des erreurs de d\u00e9cision statistique de Type I (rejeter l&rsquo;hypoth\u00e8se nulle alors qu&rsquo;elle est vraie) et de Type II (ne pas rejeter l&rsquo;hypoth\u00e8se nulle alors qu&rsquo;elle est fausse). La ma\u00eetrise de ces risques n\u00e9cessite une contextualisation rigoureuse de la puissance statistique du test.<\/p>\n<p>Le risque d&rsquo;erreur de Type I survient notamment lorsque l&rsquo;analyste applique le test sur un tr\u00e8s grand nombre de retards individuels en traitant chaque ligne du tableau comme un test isol\u00e9. Cette pratique induit un probl\u00e8me de multiplicit\u00e9 des tests d&rsquo;hypoth\u00e8ses, augmentant m\u00e9caniquement la probabilit\u00e9 globale d&rsquo;observer une p-valeur inf\u00e9rieure \u00e0 0,05 par pur hasard stochastique, m\u00eame sur un v\u00e9ritable bruit blanc gaussien.<\/p>\n<p>Inversement, le risque d&rsquo;erreur de Type II constitue une menace redoutable lorsque le test est appliqu\u00e9 \u00e0 de tr\u00e8s petits \u00e9chantillons (typiquement <em>n &lt; 50<\/em>). Dans cette configuration, la puissance du test s&rsquo;\u00e9rode dramatiquement : la statistique <em>Q<\/em> peine \u00e0 atteindre le seuil critique face \u00e0 des autocorr\u00e9lations r\u00e9elles mod\u00e9r\u00e9es. Le mod\u00e9lisateur risque alors d&rsquo;accepter un mod\u00e8le d\u00e9ficient qui ignore des d\u00e9pendances \u00e9conomiques ou comportementales tangibles. De surcro\u00eet, le test de Ljung-Box \u00e9tant un test lin\u00e9aire, il demeure totalement aveugle aux structures d&rsquo;autocorr\u00e9lation non lin\u00e9aires, telles que les d\u00e9pendances chaotiques ou les dynamiques bilin\u00e9aires, cr\u00e9ant un angle mort statistique non n\u00e9gligeable.<\/p>\n<h2>7. Strat\u00e9gies de calibrage optimal du nombre de retards (lags)<\/h2>\n<h3>7.1 R\u00e8gles empiriques et heuristiques acad\u00e9miques reconnues<\/h3>\n<p>Le choix de l&rsquo;horizon maximal de retard <em>h<\/em> pour le test de Ljung-Box constitue un arbitrage d\u00e9licat qui ne doit jamais \u00eatre laiss\u00e9 au hasard ou \u00e0 la simple commodit\u00e9 num\u00e9rique. S\u00e9lectionner une valeur arbitraire sans justification th\u00e9orique expose l&rsquo;analyste \u00e0 des critiques m\u00e9thodologiques substantielles. La litt\u00e9rature en s\u00e9ries temporelles propose plusieurs heuristiques formelles largement valid\u00e9es pour calibrer ce param\u00e8tre.<\/p>\n<p>La r\u00e8gle empirique la plus universellement reconnue et int\u00e9gr\u00e9e dans les pratiques contemporaines est celle formalis\u00e9e par Rob J. Hyndman. Pour une s\u00e9rie temporelle ne pr\u00e9sentant pas de p\u00e9riodicit\u00e9 saisonni\u00e8re, la recommandation prescrit de fixer l&rsquo;horizon de retard selon la formulation :<\/p>\n<p><em>h = min(10, n \/ 5)<\/em><\/p>\n<p>o\u00f9 <em>n<\/em> repr\u00e9sente la taille effective de l&rsquo;\u00e9chantillon. Cette formulation garantit que l&rsquo;horizon de test capture les d\u00e9pendances d&rsquo;ordre court tout en \u00e9vitant d&rsquo;engager plus de 20 % des observations dans le calcul des produits crois\u00e9s. Pour les s\u00e9ries temporelles saisonni\u00e8res pr\u00e9sentant une p\u00e9riode <em>m<\/em> (par exemple, <em>m = 12<\/em> pour des donn\u00e9es mensuelles ou <em>m = 4<\/em> pour des donn\u00e9es trimestrielles), Hyndman adapte son crit\u00e8re pour garantir que le test englobe au moins deux cycles complets :<\/p>\n<p><em>h = min(2m, n \/ 5)<\/em><\/p>\n<p>Une alternative acad\u00e9mique influente provient des travaux de Ruey S. Tsay en \u00e9conom\u00e9trie financi\u00e8re, qui pr\u00e9conise l&rsquo;utilisation d&rsquo;une r\u00e8gle fond\u00e9e sur l&rsquo;\u00e9chelle logarithmique de la taille de l&rsquo;\u00e9chantillon :<\/p>\n<p><em>h approx ln(n)<\/em><\/p>\n<p>Cette heuristique se montre plus conservatrice pour les volumineux jeux de donn\u00e9es \u00e0 haute fr\u00e9quence, \u00e9vitant ainsi d&rsquo;accro\u00eetre inutilement les degr\u00e9s de libert\u00e9 du test.<\/p>\n<h3>7.2 Cons\u00e9quences du sur-calibrage et du sous-calibrage des retards<\/h3>\n<p>La violation de ces recommandations de calibrage entra\u00eene des dysfonctionnements m\u00e9thodologiques sym\u00e9triques mais de nature oppos\u00e9e :<\/p>\n<ul>\n<li><strong>Le sous-calibrage (h trop faible)<\/strong> : Si l&rsquo;analyste se contente d&rsquo;\u00e9valuer seulement un ou deux retards, le test est structurellement incapable d&rsquo;intercepter les d\u00e9pendances diff\u00e9r\u00e9es d&rsquo;ordre sup\u00e9rieur. Cela s&rsquo;av\u00e8re particuli\u00e8rement d\u00e9sastreux dans les s\u00e9ries pr\u00e9sentant une m\u00e9moire longue ou des structures saisonni\u00e8res latentes o\u00f9 l&rsquo;autocorr\u00e9lation ne se manifeste qu&rsquo;au retard 4, 12 ou 24, laissant les premiers retards apparemment vierges de toute corr\u00e9lation.<\/li>\n<li><strong>Le sur-calibrage (h excessif)<\/strong> : \u00c0 l&rsquo;autre extr\u00eame, sp\u00e9cifier un horizon <em>h<\/em> d\u00e9mesur\u00e9 (par exemple fixer <em>h = 50<\/em> pour une s\u00e9rie de taille <em>n = 100<\/em>) dilue dramatiquement la puissance statistique du test. L&rsquo;adjonction de nombreux retards non corr\u00e9l\u00e9s au-del\u00e0 de la m\u00e9moire r\u00e9elle du processus gonfle la statistique <em>Q<\/em> d&rsquo;une quantit\u00e9 marginale infime, alors m\u00eame que les degr\u00e9s de libert\u00e9 de la distribution du khi-deux augmentent lin\u00e9airement. La valeur critique requise pour rejeter l&rsquo;hypoth\u00e8se nulle s&rsquo;\u00e9l\u00e8ve alors plus vite que la statistique elle-m\u00eame, provoquant un masquage statistique d&rsquo;autocorr\u00e9lations courtes bien r\u00e9elles.<\/li>\n<\/ul>\n<p>La stabilit\u00e9 du diagnostic s&rsquo;\u00e9value id\u00e9alement en testant un panel restreint de retards th\u00e9oriquement motiv\u00e9s (par exemple <em>h = 5, 10, 15<\/em>) et en s&rsquo;assurant que la d\u00e9cision statistique demeure invariante face \u00e0 ces variations de fen\u00eatrage.<\/p>\n<h3>7.3 Protocoles de correction face aux tests d&rsquo;hypoth\u00e8ses multiples<\/h3>\n<p>Lorsque le statisticien examine le tableau produit par <code>acorr_ljungbox<\/code>, il fait face \u00e0 un vecteur s\u00e9quentiel de p-valeurs correspondant \u00e0 des valeurs incr\u00e9mentales de <em>k<\/em>. Une tentation fr\u00e9quente consiste \u00e0 scruter individuellement chaque retard et \u00e0 rejeter l&rsquo;ind\u00e9pendance d\u00e8s qu&rsquo;une ligne quelconque affiche une valeur inf\u00e9rieure \u00e0 0,05. Cette attitude ignore les lois fondamentales de la probabilit\u00e9 conjointe.<\/p>\n<p>Par sa nature m\u00eame, le test de Ljung-Box est con\u00e7u comme un test portemanteau (ou test omnibus) : la statistique au retard <em>h<\/em> \u00e9value l&rsquo;hypoth\u00e8se globale sur le bloc des retards de 1 \u00e0 <em>h<\/em>. Elle ne constitue pas une somme de tests ind\u00e9pendants, car les statistiques cumulatives sont fortement interd\u00e9pendantes. Appliquer des corrections d&rsquo;hypoth\u00e8ses multiples strictes de type Bonferroni sur chaque ligne d&rsquo;une m\u00eame ex\u00e9cution de Ljung-Box est donc conceptuellement inappropri\u00e9 et conduit \u00e0 un sur-conservatisme injustifi\u00e9.<\/p>\n<p>Toutefois, si l&rsquo;analyste d\u00e9cide d&rsquo;extraire des tests conduits sur des sous-\u00e9chantillons temporels ind\u00e9pendants ou de comparer les r\u00e9sidus de dizaines de mod\u00e8les concurrents dans le cadre d&rsquo;un benchmark de mod\u00e8les, l&rsquo;application de proc\u00e9dures d&rsquo;ajustement du taux de faux rejets (False Discovery Rate &#8211; FDR), via la m\u00e9thode de Benjamini-Hochberg, redevient indispensable :<\/p>\n<p><code>from statsmodels.stats.multitest import multipletests<br \/>p_values = lb_results['lb_pvalue'].values<br \/>reject, pvals_corrected, _, _ = multipletests(p_values, alpha=0.05, method='fdr_bh')<\/code><\/p>\n<p>Dans la conduite courante du diagnostic d&rsquo;un mod\u00e8le unique, la bonne pratique consiste \u00e0 choisir un unique horizon <em>h<\/em> en amont, dict\u00e9 par les r\u00e8gles d&rsquo;Hyndman, et \u00e0 baser la conclusion m\u00e9thodologique formelle exclusivement sur la p-valeur obtenue pour ce jalon terminal.<\/p>\n<h2>8. Protocole appliqu\u00e9 : diagnostic des r\u00e9sidus d&rsquo;un mod\u00e8le ARIMA<\/h2>\n<h3>8.1 Ajustement d&rsquo;un mod\u00e8le ARIMA via statsmodels.tsa.arima.model<\/h3>\n<p>Pour mat\u00e9rialiser l&rsquo;application pratique rigoureuse du protocole diagnostique, consid\u00e9rons l&rsquo;ajustement d&rsquo;un mod\u00e8le de la famille Box-Jenkins sur la s\u00e9rie annuelle des taches solaires pr\u00e9alablement index\u00e9e. La structure dynamique de cette s\u00e9rie oscillatoire sugg\u00e8re la pertinence d&rsquo;un mod\u00e8le autor\u00e9gressif d&rsquo;ordre 2, soit un <a rel=\"noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Autoregressive_model\">AR(2)<\/a>, capable de capturer math\u00e9matiquement des cycles pseudo-p\u00e9riodiques via les racines complexes conjugu\u00e9es de son polyn\u00f4me caract\u00e9ristique.<\/p>\n<p>L&rsquo;impl\u00e9mentation contemporaine de Statsmodels mobilise la classe unifi\u00e9e <code>ARIMA<\/code> du sous-module <code>statsmodels.tsa.arima.model<\/code>. L&rsquo;instanciation et l&rsquo;optimisation par le maximum de vraisemblance s&rsquo;ex\u00e9cutent de la fa\u00e7on suivante :<\/p>\n<p><code>from statsmodels.tsa.arima.model import ARIMA<\/p>\n<p>arima_spec = ARIMA(sunspots_series, order=(2, 0, 0), trend='c')<br \/>arima_fitted = arima_spec.fit()<br \/>print(arima_fitted.summary())<\/code><\/p>\n<p>L&rsquo;estimation produit un vecteur d&rsquo;erreurs r\u00e9siduelles que l&rsquo;on extrait directement via l&rsquo;attribut <code>.resid<\/code> du mod\u00e8le ajust\u00e9. Ce vecteur repr\u00e9sente les innovations empiriques non captur\u00e9es par les deux composantes autor\u00e9gressives et la constante d\u00e9terministe. Ces r\u00e9sidus doivent d\u00e9sormais faire l&rsquo;objet du contr\u00f4le d&rsquo;ind\u00e9pendance s\u00e9rielle le plus strict.<\/p>\n<h3>8.2 Ex\u00e9cution du test de Ljung-Box conditionn\u00e9 sur les r\u00e9sidus<\/h3>\n<p>L&rsquo;application du test de Ljung-Box aux r\u00e9sidus extraits <code>arima_fitted.resid<\/code> impose la prise en compte scrupuleuse des degr\u00e9s de libert\u00e9 consomm\u00e9s lors de l&rsquo;ajustement de l&rsquo;AR(2). Dans cette configuration, les param\u00e8tres autor\u00e9gressifs estim\u00e9s sont au nombre de deux (<em>p = 2, q = 0<\/em>). L&rsquo;argument <code>model_df<\/code> doit imp\u00e9rativement \u00eatre configur\u00e9 \u00e0 2.<\/p>\n<p>Conform\u00e9ment \u00e0 la r\u00e8gle d&rsquo;Hyndman pour une s\u00e9rie non saisonni\u00e8re de plus de 300 observations, un horizon terminal de 10 retards offre une base diagnostique \u00e9quilibr\u00e9e :<\/p>\n<p><code>residuals = arima_fitted.resid<br \/>lb_diag = acorr_ljungbox(residuals, lags=10, model_df=2, return_df=True)<br \/>print(lb_diag)<\/code><\/p>\n<p>L&rsquo;examen de l&rsquo;objet <code>lb_diag<\/code> montre que pour les retards 1 et 2, les p-valeurs sont logiquement renseign\u00e9es comme <code>NaN<\/code> par Statsmodels, attestant que le calcul est impossible sous <em>h \u2264 p + q<\/em>. \u00c0 partir du retard 3, les p-valeurs s&rsquo;affichent avec des degr\u00e9s de libert\u00e9 ajust\u00e9s :<\/p>\n<ul>\n<li>Retard 3 : <em>stat = 12.41, ddl = 1, p-value = 0.0004<\/em><\/li>\n<li>Retard 5 : <em>stat = 28.19, ddl = 3, p-value = 3.3e-06<\/em><\/li>\n<li>Retard 10 : <em>stat = 64.85, ddl = 8, p-value = 5.1e-11<\/em><\/li>\n<\/ul>\n<p>Ce r\u00e9sultat fournit un verdict statistique sans \u00e9quivoque : bien que le mod\u00e8le AR(2) absorbe une fraction majeure de la variance cyclique, l&rsquo;hypoth\u00e8se d&rsquo;ind\u00e9pendance s\u00e9rielle des r\u00e9sidus est massivement rejet\u00e9e pour l&rsquo;ensemble des retards post-estimation. Le mod\u00e8le AR(2) lin\u00e9aire est formellement jug\u00e9 insuffisant pour capturer l&rsquo;asym\u00e9trie temporelle et la non-lin\u00e9arit\u00e9 inh\u00e9rentes au cycle solaire. L&rsquo;analyste se trouve contraint de complexifier sa structure vers un mod\u00e8le AR plus \u00e9lev\u00e9, un mod\u00e8le ARMA ou une architecture non lin\u00e9aire \u00e0 seuil (TAR).<\/p>\n<h3>8.3 Automatisation du diagnostic dans une boucle de s\u00e9lection de mod\u00e8les<\/h3>\n<p>Dans un contexte d&rsquo;ing\u00e9nierie pr\u00e9dictive ou d&rsquo;impl\u00e9mentation d&rsquo;algorithmes de type auto-ARIMA, le test de Ljung-Box peut \u00eatre transform\u00e9 en un filtre diagnostique binaire enti\u00e8rement automatis\u00e9. L&rsquo;objectif consiste \u00e0 parcourir un espace multidimensionnel d&rsquo;hyperparam\u00e8tres <em>(p, d, q)<\/em>, \u00e0 estimer chaque configuration et \u00e0 \u00e9carter syst\u00e9matiquement les mod\u00e8les qui \u00e9chouent au test de Ljung-Box, ind\u00e9pendamment de leurs crit\u00e8res d&rsquo;information AIC ou BIC.<\/p>\n<p>Le bloc d&rsquo;automatisation suivant illustre l&rsquo;impl\u00e9mentation de cette logique d\u00e9cisionnelle :<\/p>\n<p><code>best_aic = np.inf<br \/>best_model_order = None<br \/>valid_models = []<\/p>\n<p>for p in range(1, 5):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;for q in range(0, 3):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model = ARIMA(sunspots_series, order=(p, 0, q), trend='c').fit()<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_and_q = p + q<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eval_lag = max(10, p_and_q + 3)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lb_test = acorr_ljungbox(model.resid, lags=[eval_lag], model_df=p_and_q, return_df=True)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pval = lb_test.loc[eval_lag, 'lb_pvalue']<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if pval &gt; 0.05:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valid_models.append({'order': (p, 0, q), 'aic': model.aic, 'pval': pval})<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if model.aic &lt; best_aic:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best_aic = model.aic<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best_model_order = (p, 0, q)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except Exception:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue<\/code><\/p>\n<p>Cette approche garantit qu&rsquo;aucun mod\u00e8le affichant une performance trompeusement optimis\u00e9e par sur-apprentissage ne puisse \u00eatre retenu s&rsquo;il \u00e9choue au contr\u00f4le fondamental de l&rsquo;absence de corr\u00e9lation s\u00e9rielle r\u00e9siduelle.<\/p>\n<h2>9. Visualisation graphique et diagnostics compl\u00e9mentaires en Python<\/h2>\n<h3>9.1 Trac\u00e9 des fonctions d&rsquo;autocorr\u00e9lation simple (ACF) et partielle (PACF)<\/h3>\n<p>L&rsquo;inf\u00e9rence num\u00e9rique fournie par le test de Ljung-Box gagne \u00e0 \u00eatre syst\u00e9matiquement compl\u00e9t\u00e9e par une inspection graphique fine des corr\u00e9logrammes empiriques. Le module <code>statsmodels.graphics.tsaplots<\/code> fournit les fonctions haut niveau <code>plot_acf<\/code> et <code>plot_pacf<\/code>, sp\u00e9cifiquement con\u00e7ues pour mat\u00e9rialiser la structure s\u00e9rielle des r\u00e9sidus.<\/p>\n<p>Ces repr\u00e9sentations graphiques associent \u00e0 chaque b\u00e2ton d&rsquo;autocorr\u00e9lation une zone ombrag\u00e9e mat\u00e9rialisant l&rsquo;intervalle de confiance asymptotique \u00e0 95 % selon la formule classique de Bartlett :<\/p>\n<p><em>pm 1.96 \/ sqrt{n}<\/em><\/p>\n<p>Le code d&rsquo;affichage s&rsquo;articule comme suit :<\/p>\n<p><code>from statsmodels.graphics.tsaplots import plot_acf, plot_pacf<\/p>\n<p>fig, axes = plt.subplots(1, 2, figsize=(14, 5))<br \/>plot_acf(residuals, lags=20, ax=axes[0], title='Autocorr\u00e9lation simple (ACF) des r\u00e9sidus')<br \/>plot_pacf(residuals, lags=20, ax=axes[1], title='Autocorr\u00e9lation partielle (PACF) des r\u00e9sidus', method='yule_walker')<br \/>plt.tight_layout()<br \/>plt.show()<\/code><\/p>\n<p>L&rsquo;int\u00e9r\u00eat de confronter visuellement l&rsquo;ACF et le test de Ljung-Box est d&rsquo;une grande clart\u00e9. Alors que le test de Ljung-Box d\u00e9livre une m\u00e9trique globale d&rsquo;agr\u00e9gation r\u00e9sumant la d\u00e9pendance totale sous la forme d&rsquo;une seule valeur scalaire, l&rsquo;ACF identifie pr\u00e9cis\u00e9ment les coordonn\u00e9es g\u00e9om\u00e9triques de chaque violation. Un d\u00e9passement ponctuel isol\u00e9 au retard 11, alors que tous les retards de 1 \u00e0 10 demeurent strictement inscrits dans le c\u00f4ne de Bartlett, oriente imm\u00e9diatement le mod\u00e9lisateur vers l&rsquo;adjonction d&rsquo;une composante autor\u00e9gressive \u00e0 retard long, une nuance que le test omnibus global agr\u00e8ge sans distinction anatomique.<\/p>\n<h3>9.2 Exploration compl\u00e8te via la m\u00e9thode plot_diagnostics<\/h3>\n<p>Statsmodels propose au sein des objets de r\u00e9sultats de mod\u00e8les d&rsquo;\u00e9tat et de mod\u00e8les ARIMA une m\u00e9thode de synth\u00e8se graphique int\u00e9gr\u00e9e particuli\u00e8rement puissante : la commande <code>plot_diagnostics()<\/code>. Cet outil compile sur une matrice de 2&#215;2 sous-graphiques l&rsquo;ensemble des contr\u00f4les de conformit\u00e9 postul\u00e9s par la th\u00e9orie du bruit blanc gaussien :<\/p>\n<p><code>fig = arima_fitted.plot_diagnostics(figsize=(15, 10))<br \/>plt.tight_layout()<br \/>plt.show()<\/code><\/p>\n<p>Ce tableau de bord diagnostique pr\u00e9sente quatre visualisations essentielles :<\/p>\n<ul>\n<li><strong>Graphique temporel standardis\u00e9 (Haut-Gauche)<\/strong> : Visualisation de l&rsquo;\u00e9volution s\u00e9quentielle des r\u00e9sidus standardis\u00e9s au cours du temps. Il permet de contr\u00f4ler visuellement la constance de la moyenne autour de z\u00e9ro et de rep\u00e9rer les \u00e9ventuels clusters de volatilit\u00e9 trahissant de l&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9.<\/li>\n<li><strong>Histogramme et densit\u00e9 estim\u00e9e (Haut-Droite)<\/strong> : Superposition de l&rsquo;histogramme empirique des r\u00e9sidus, de l&rsquo;ajustement d&rsquo;une densit\u00e9 par noyau (KDE) et d&rsquo;une distribution normale th\u00e9orique N(0, 1). Il met en \u00e9vidence d&rsquo;\u00e9ventuelles asym\u00e9tries (skewness) ou un aplatissement excessif (kurtosis).<\/li>\n<li><strong>Diagramme Quantile-Quantile Normal (Bas-Gauche)<\/strong> : Le Q-Q Plot statistique qui confronte les quantiles empiriques des r\u00e9sidus aux quantiles th\u00e9oriques de la loi gaussienne. Tout d\u00e9collement prononc\u00e9 aux extr\u00e9mit\u00e9s d\u00e9nonce la pr\u00e9sence de queues \u00e9paisses ou de valeurs aberrantes non trait\u00e9es.<\/li>\n<li><strong>Corr\u00e9logramme ACF r\u00e9siduel (Bas-Droite)<\/strong> : Trac\u00e9 direct de la fonction d&rsquo;autocorr\u00e9lation jusqu&rsquo;\u00e0 l&rsquo;horizon par d\u00e9faut, permettant de valider instantan\u00e9ment l&rsquo;absence de d\u00e9passement des bornes critiques \u00e0 95 %.<\/li>\n<\/ul>\n<h3>9.3 Trac\u00e9 personnalis\u00e9 de la statistique de test en fonction des retards<\/h3>\n<p>Bien que les graphiques natifs de Statsmodels soient extr\u00eamement complets, la mise en valeur explicite du profil de p-valeurs issues du test de Ljung-Box en fonction des retards s\u00e9quentiels constitue un apport visuel p\u00e9dagogique de premier ordre pour des rapports d&rsquo;audit statistique ou des publications acad\u00e9miques. Un tel graphique trace l&rsquo;\u00e9volution de la p-valeur pour chaque retard <em>k<\/em>, superpos\u00e9e \u00e0 une ligne de seuil critique horizontale \u00e0 <em>\u03b1 = 0,05<\/em>.<\/p>\n<p>Ce visuel personnalis\u00e9 se construit ais\u00e9ment avec Matplotlib et Seaborn :<\/p>\n<p><code>lags_range = range(3, 21)<br \/>lb_seq = acorr_ljungbox(residuals, lags=list(lags_range), model_df=2, return_df=True)<\/p>\n<p>plt.figure(figsize=(10, 5))<br \/>plt.plot(lb_seq.index, lb_seq['lb_pvalue'], marker='o', linestyle='-', color='#1f77b4', label='p-valeur Ljung-Box')<br \/>plt.axhline(y=0.05, color='#d62728', linestyle='--', linewidth=1.5, label='Seuil critique \u03b1 = 0.05')<br \/>plt.fill_between(lb_seq.index, 0, 0.05, color='#d62728', alpha=0.1, label='Zone de rejet (Non-ind\u00e9pendance)')<br \/>plt.title(\"Profil s\u00e9quentiel des p-valeurs du test de Ljung-Box apr\u00e8s AR(2)\")<br \/>plt.xlabel(\"Horizon de retard (Lags)\")<br \/>plt.ylabel(\"P-valeur asymptotique\")<br \/>plt.ylim(-0.02, 1.02)<br \/>plt.grid(True, linestyle=':', alpha=0.6)<br \/>plt.legend(loc='upper right')<br \/>plt.show()<\/code><\/p>\n<p>Cette repr\u00e9sentation conf\u00e8re une lisibilit\u00e9 imm\u00e9diate : tout point plongeant dans la zone rouge d&rsquo;alerte mat\u00e9rialise l&rsquo;horizon exact \u00e0 partir duquel la mod\u00e9lisation \u00e9choue \u00e0 garantir le comportement de bruit blanc, offrant ainsi un guide visuel direct pour la re-sp\u00e9cification structurelle du mod\u00e8le.<\/p>\n<h2>10. Comparaison m\u00e9thodologique avec d&rsquo;autres tests diagnostiques<\/h2>\n<h3>10.1 Ljung-Box vs Test de Durbin-Watson<\/h3>\n<p>Dans l&rsquo;histoire de la mod\u00e9lisation par r\u00e9gression lin\u00e9aire, le test de Durbin-Watson a longtemps constitu\u00e9 l&rsquo;indicateur diagnostique par d\u00e9faut. Sa statistique classique <em>d<\/em>, born\u00e9e entre 0 et 4, \u00e9value la covariance s\u00e9rielle adjacente des r\u00e9sidus d&rsquo;estimation. Cependant, la comparaison avec le test de Ljung-Box r\u00e9v\u00e8le des limitations structurelles majeures qui rel\u00e8guent Durbin-Watson \u00e0 un r\u00f4le marginal dans l&rsquo;\u00e9conom\u00e9trie moderne des s\u00e9ries temporelles.<\/p>\n<p>La premi\u00e8re faille fondamentale de Durbin-Watson r\u00e9side dans son incapacit\u00e9 ontologique \u00e0 sonder l&rsquo;autocorr\u00e9lation au-del\u00e0 du retard unitaire <em>(k = 1)<\/em>. Il est incapable d&rsquo;intercepter des dynamiques d&rsquo;ordre sup\u00e9rieur, telles que des autocorr\u00e9lations saisonni\u00e8res ou des d\u00e9pendances altern\u00e9es. Un mod\u00e8le peut afficher une statistique de Durbin-Watson proche de 2 (indiquant faussement une absence de d\u00e9pendance au retard 1) tout en h\u00e9bergeant une corr\u00e9lation massive au retard 4 ou au retard 12.<\/p>\n<p>La seconde limitation, formellement d\u00e9montr\u00e9e par Nerlove et Wallis en 1966, concerne la validit\u00e9 m\u00eame du test de Durbin-Watson en pr\u00e9sence de variables explicatives autor\u00e9gressives (pr\u00e9sence de retards de la variable d\u00e9pendante <em>Y<sub>t-1<\/sub><\/em> parmi les r\u00e9gresseurs). Dans cette configuration, la statistique <em>d<\/em> est structurellement biais\u00e9e vers 2, conduisant \u00e0 une absence de d\u00e9tection syst\u00e9matique des corr\u00e9lations r\u00e9elles. Le test de Ljung-Box, enrichi de la correction appropri\u00e9e de ses degr\u00e9s de libert\u00e9 via <code>model_df<\/code>, ne souffre pas de cette limitation et s&rsquo;applique l\u00e9gitimement \u00e0 l&rsquo;\u00e9valuation diagnostique de tout mod\u00e8le autor\u00e9gressif.<\/p>\n<h3>10.2 Ljung-Box vs Test de Breusch-Godfrey (LM test)<\/h3>\n<p>Le test du multiplicateur de Lagrange (LM) de Breusch-Godfrey s&rsquo;impose comme le principal concurrent et compl\u00e9ment m\u00e9thodologique du test de Ljung-Box. Contrairement \u00e0 ce dernier, qui repose exclusivement sur les coefficients d&rsquo;autocorr\u00e9lation empiriques de la s\u00e9rie r\u00e9siduelle, le test de Breusch-Godfrey proc\u00e8de par une r\u00e9gression auxiliaire des moindres carr\u00e9s. Dans cette proc\u00e9dure, les r\u00e9sidus <em>e<sub>t<\/sub><\/em> sont r\u00e9gress\u00e9s conjointement sur les variables explicatives originelles du mod\u00e8le et sur les retards r\u00e9siduels <em>e<sub>t-1<\/sub>, &#8230;, e<sub>t-p<\/sub><\/em>.<\/p>\n<p>Cette formulation par r\u00e9gression auxiliaire conf\u00e8re au test de Breusch-Godfrey un avantage th\u00e9orique substantiel lorsque les r\u00e9gresseurs contiennent des variables stochastiques pr\u00e9-d\u00e9termin\u00e9es ou que le mod\u00e8le de r\u00e9gression incorpore simultan\u00e9ment des dynamiques exog\u00e8nes et autor\u00e9gressives complexes. Il ne requiert aucun ajustement manuel externe de degr\u00e9s de libert\u00e9 puisque les restrictions d&rsquo;orthogonalit\u00e9 sont naturellement prises en compte par la matrice d&rsquo;information de Fisher de la r\u00e9gression auxiliaire.<\/p>\n<p>Statsmodels impl\u00e9mente ce test via la fonction <code>acorr_breusch_godfrey<\/code> dans le m\u00eame sous-module diagnostique :<\/p>\n<p><code>from statsmodels.stats.diagnostic import acorr_breusch_godfrey<br \/>bg_stat, bg_pval, f_stat, f_pval = acorr_breusch_godfrey(arima_fitted, nlags=10)<\/code><\/p>\n<p>En pratique empirique, pour des mod\u00e8les purement univari\u00e9s de type ARMA standard, les deux tests aboutissent le plus souvent \u00e0 des conclusions statistiques concordantes. Toutefois, face \u00e0 des mod\u00e8les de r\u00e9gression dynamique enrichis de covariables exog\u00e8nes, le test de Breusch-Godfrey offre une robustesse structurelle l\u00e9g\u00e8rement sup\u00e9rieure \u00e0 celle de Ljung-Box.<\/p>\n<h3>10.3 Compl\u00e9mentarit\u00e9 avec les tests d&rsquo;h\u00e9t\u00e9rosc\u00e9dasticit\u00e9 conditionnelle (ARCH)<\/h3>\n<p>Une erreur \u00e9pist\u00e9mologique classique consiste \u00e0 assimiler la conformit\u00e9 au test de Ljung-Box \u00e0 une d\u00e9monstration d&rsquo;ind\u00e9pendance statistique absolue. Comme soulign\u00e9 pr\u00e9c\u00e9demment, la statistique <em>Q<\/em> de Ljung-Box mesure l&rsquo;absence de corr\u00e9lation s\u00e9rielle lin\u00e9aire du premier ordre. Elle est totalement insensible aux structures de d\u00e9pendance temporelle log\u00e9es dans les moments d&rsquo;ordre sup\u00e9rieur, en particulier la d\u00e9pendance de la variance conditionnelle caract\u00e9ristique des s\u00e9ries financi\u00e8res et comportementales \u00e0 forte volatilit\u00e9.<\/p>\n<p>Un processus peut \u00eatre rigoureusement d\u00e9nu\u00e9 de toute autocorr\u00e9lation s\u00e9rielle lin\u00e9aire (affichant des p-valeurs de Ljung-Box de 0,80 sur les r\u00e9sidus bruts <em>e<sub>t<\/sub><\/em>) tout en pr\u00e9sentant une structure de d\u00e9pendance d\u00e9terministe majeure au niveau de ses carr\u00e9s <em>e<sub>t<\/sub><sup>2<\/sup><\/em>. Ce ph\u00e9nom\u00e8ne, connu sous le nom d&rsquo;effets <a rel=\"noopener noreferrer\" href=\"https:\/\/en.wikipedia.org\/wiki\/Autoregressive_conditional_heteroskedasticity\">ARCH<\/a> (Autoregressive Conditional Heteroskedasticity), traduit une alternance de p\u00e9riodes calmes et de p\u00e9riodes de turbulences intenses.<\/p>\n<p>Pour d\u00e9celer cette d\u00e9pendance conditionnelle, le protocole diagnostique complet exige l&rsquo;application conjointe du test ARCH-LM d&rsquo;Engle, disponible sous Statsmodels via <code>het_arch<\/code>, ou l&rsquo;application directe du test de Ljung-Box appliqu\u00e9 non plus aux r\u00e9sidus simples, mais aux carr\u00e9s des r\u00e9sidus standardis\u00e9s :<\/p>\n<p><code>from statsmodels.stats.diagnostic import het_arch<br \/>lm_stat, lm_pval, fval, fpval = het_arch(residuals)<br \/>lb_arch = acorr_ljungbox(residuals**2, lags=10, return_df=True)<\/code><\/p>\n<p>Si le test sur les r\u00e9sidus simples valide l&rsquo;absence d&rsquo;autocorr\u00e9lation lin\u00e9aire mais que le test sur les carr\u00e9s rejette l&rsquo;hypoth\u00e8se nulle, le mod\u00e9lisateur doit imp\u00e9rativement compl\u00e9ter son architecture ARMA par un mod\u00e8le de volatilit\u00e9 conditionnelle de type GARCH.<\/p>\n<h2>11. R\u00e9solution des probl\u00e8mes courants et pi\u00e8ges m\u00e9thodologiques<\/h2>\n<h3>11.1 Gestion du rejet persistant de l&rsquo;hypoth\u00e8se nulle<\/h3>\n<p>Dans la pratique empirique, l&rsquo;analyste fait fr\u00e9quemment face \u00e0 une situation frustrante : malgr\u00e9 plusieurs it\u00e9rations de complexification du mod\u00e8le, le test de Ljung-Box continue de rejeter obstin\u00e9ment l&rsquo;hypoth\u00e8se nulle d&rsquo;ind\u00e9pendance r\u00e9siduelle. Face \u00e0 cette impasse, une m\u00e9thodologie syst\u00e9matique de rem\u00e9diation doit \u00eatre d\u00e9ploy\u00e9e.<\/p>\n<p>La premi\u00e8re initiative consiste \u00e0 r\u00e9examiner attentivement la nature de la non-stationnarit\u00e9 initiale. L&rsquo;omission d&rsquo;une diff\u00e9renciation stochastique ad\u00e9quate ou la pr\u00e9sence d&rsquo;une rupture structurelle de niveau (structural break) induit une pseudo-persistance qui ne peut \u00eatre r\u00e9solue par de simples termes autor\u00e9gressifs standards. L&rsquo;introduction de variables indicatrices d&rsquo;intervention (dummy variables) pour absorber des chocs exog\u00e8nes massifs r\u00e9sout souvent les rejets artificiels de Ljung-Box.<\/p>\n<p>La seconde voie d&rsquo;action r\u00e9side dans l&rsquo;int\u00e9gration explicite de structures saisonni\u00e8res autor\u00e9gressives et de moyennes mobiles multiplicatives SARIMA <em>(P, D, Q)<sub>s<\/sub><\/em>. Tr\u00e8s souvent, une d\u00e9pendance qui semble se manifester de fa\u00e7on erratique sur les premiers retards n&rsquo;est que la r\u00e9verb\u00e9ration d&rsquo;une p\u00e9riodicit\u00e9 saisonni\u00e8re profonde non mod\u00e9lis\u00e9e.<\/p>\n<p>Enfin, l&rsquo;instabilit\u00e9 de la variance marginale au cours du temps constitue une cause majeure de distorsion du test de Ljung-Box. Si la dispersion des r\u00e9sidus s&rsquo;accro\u00eet ou se contracte avec le temps, l&rsquo;application d&rsquo;une transformation pr\u00e9alable stabilisatrice de variance de Box-Cox sur la s\u00e9rie brute s&rsquo;impose :<\/p>\n<p><code>from scipy.stats import boxcox<br \/>transformed_series, best_lambda = boxcox(sunspots_series + 1)<\/code><\/p>\n<p>Cette transformation non lin\u00e9aire assainit la distribution des erreurs et permet fr\u00e9quemment de restaurer les propri\u00e9t\u00e9s asymptotiques n\u00e9cessaires \u00e0 la validation de l&rsquo;ind\u00e9pendance par le test de Ljung-Box.<\/p>\n<h3>11.2 Erreurs fr\u00e9quentes d&rsquo;impl\u00e9mentation en Python<\/h3>\n<p>L&rsquo;exploitation de biblioth\u00e8ques logicielles de pointe n&rsquo;immunise pas contre des erreurs de manipulation algorithmique dont les cons\u00e9quences sur l&rsquo;inf\u00e9rence peuvent \u00eatre d\u00e9vastatrices. Nous recensons ci-dessous les trois pi\u00e8ges d&rsquo;impl\u00e9mentation les plus fr\u00e9quemment observ\u00e9s dans le code des praticiens :<\/p>\n<ul>\n<li><strong>L&rsquo;omission des param\u00e8tres estim\u00e9s dans model_df<\/strong> : Utiliser <code>acorr_ljungbox(residuals)<\/code> sans sp\u00e9cifier <code>model_df=p+q<\/code> est une erreur omnipr\u00e9sente. Cette n\u00e9gligence gonfle les degr\u00e9s de libert\u00e9 de la loi du khi-deux, diminuant m\u00e9caniquement la valeur critique et conduisant \u00e0 des p-valeurs artificiellement trop \u00e9lev\u00e9es. Des mod\u00e8les d\u00e9ficients sont ainsi valid\u00e9s par erreur.<\/li>\n<li><strong>Le mauvais alignement des index temporels lors de la diff\u00e9renciation<\/strong> : L&rsquo;utilisation d&rsquo;op\u00e9rations comme <code>df.diff()<\/code> g\u00e9n\u00e8re des valeurs initiales nulles (NaN). Si ces cellules ne sont pas rigoureusement nettoy\u00e9es via <code>dropna()<\/code> avant l&rsquo;estimation ou l&rsquo;application du test, les calculs de covariances matricielles de Statsmodels peuvent g\u00e9n\u00e9rer des tableaux de r\u00e9sultats enti\u00e8rement corrompus par des valeurs ind\u00e9termin\u00e9es.<\/li>\n<li><strong>L&rsquo;application du test sur des r\u00e9sidus bruts au lieu de r\u00e9sidus standardis\u00e9s<\/strong> : Dans les mod\u00e8les \u00e0 variance h\u00e9t\u00e9rog\u00e8ne (comme les mod\u00e8les \u00e0 espace d&rsquo;\u00e9tat ou GARCH), le test doit \u00eatre appliqu\u00e9 aux innovations standardis\u00e9es par leur \u00e9cart-type conditionnel estim\u00e9 <em>(e<sub>t<\/sub> \/ \u03c3\u0302<sub>t<\/sub>)<\/em>, et non aux r\u00e9sidus bruts, sous peine de violer l&rsquo;hypoth\u00e8se d&rsquo;homosc\u00e9dasticit\u00e9 indispensable \u00e0 la loi limite.<\/li>\n<\/ul>\n<h3>11.3 Sensibilit\u00e9 aux petits \u00e9chantillons et alternatives robustes<\/h3>\n<p>Bien que la statistique de Ljung-Box int\u00e8gre une correction de taille finie par rapport \u00e0 celle de Box-Pierce, ses propri\u00e9t\u00e9s asymptotiques demeurent pr\u00e9caires lorsque la taille de la s\u00e9rie est tr\u00e8s restreinte (typiquement <em>n &lt; 50<\/em>). Dans ce contexte d&rsquo;\u00e9chantillons r\u00e9duits, la distribution empirique exacte de la statistique <em>Q<\/em> s&rsquo;\u00e9carte notablement de la loi th\u00e9orique du khi-deux, particuli\u00e8rement dans les queues sup\u00e9rieures de distribution o\u00f9 se prennent les d\u00e9cisions critiques de rejet.<\/p>\n<p>Pour contourner ce verrou asymptotique, le praticien peut recourir \u00e0 des m\u00e9thodes de r\u00e9\u00e9chantillonnage computationnel de type bootstrap r\u00e9siduel. En g\u00e9n\u00e9rant des milliers de r\u00e9pliques synth\u00e9tiques de la s\u00e9rie sous l&rsquo;hypoth\u00e8se nulle d&rsquo;ind\u00e9pendance par permutation al\u00e9atoire des r\u00e9sidus, il devient possible de construire la fonction de r\u00e9partition empirique exacte de la statistique de Ljung-Box, affranchie de toute hypoth\u00e8se distributionnelle th\u00e9orique.<\/p>\n<p>Une impl\u00e9mentation vectoris\u00e9e d&rsquo;un tel protocole bootstrap se structure de la sorte :<\/p>\n<p><code>n_boots = 5000<br \/>obs_stat = acorr_ljungbox(residuals, lags=[10], model_df=2, return_df=True).loc[10, 'lb_stat']<br \/>boot_stats = []<br \/>clean_resid = residuals.dropna().values - np.mean(residuals)<\/p>\n<p>for _ in range(n_boots):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;boot_res = np.random.choice(clean_resid, size=len(clean_resid), replace=True)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;b_stat = acorr_ljungbox(boot_res, lags=[10], model_df=0, return_df=True).loc[10, 'lb_stat']<br \/>&nbsp;&nbsp;&nbsp;&nbsp;boot_stats.append(b_stat)<\/p>\n<p>bootstrap_pvalue = np.mean(np.array(boot_stats) &gt;= obs_stat)<\/code><\/p>\n<p>Cette probabilit\u00e9 critique empirique fournit un arbitrage d&rsquo;une pr\u00e9cision absolue pour les contextes o\u00f9 la th\u00e9orie asymptotique standard perd sa fiabilit\u00e9.<\/p>\n<h2>12. \u00c9tude de cas avanc\u00e9e : application \u00e0 des s\u00e9ries comportementales<\/h2>\n<h3>12.1 Contexte des donn\u00e9es : suivi longitudinal d&rsquo;\u00e9valuations \u00e9cologiques momentan\u00e9es (EMA)<\/h3>\n<p>Pour illustrer la polyvalence contemporaine du test de Ljung-Box au-del\u00e0 des exemples traditionnels de la macro\u00e9conomie, abordons une \u00e9tude de cas appliqu\u00e9e issue des sciences du comportement et de la psychiatrie quantitative. Dans les protocoles modernes d&rsquo;\u00e9valuation \u00e9cologique momentan\u00e9e (Ecological Momentary Assessment &#8211; EMA), les participants rapportent plusieurs fois par jour sur leur ordiphone leur niveau de stress ressenti, leur affect n\u00e9gatif et leurs m\u00e9canismes de r\u00e9gulation \u00e9motionnelle au moment pr\u00e9cis de leur survenue.<\/p>\n<p>Ces donn\u00e9es chronologiques intensives se caract\u00e9risent par une inertie psychologique mesurable : la capacit\u00e9 d&rsquo;un individu \u00e0 revenir \u00e0 son niveau de stress de base apr\u00e8s une perturbation \u00e9motionnelle se mod\u00e9lise fid\u00e8lement par un processus autor\u00e9gressif univari\u00e9. Si un individu pr\u00e9sente une inertie excessive (coefficient autor\u00e9gressif proche de 1), cela constitue un marqueur robuste de vuln\u00e9rabilit\u00e9 aux \u00e9pisodes d\u00e9pressifs majeurs.<\/p>\n<p>G\u00e9n\u00e9rons un jeu de donn\u00e9es synth\u00e9tique r\u00e9aliste simulant le suivi longitudinal d&rsquo;un participant sur 100 jours, avec 4 sondages quotidiens (soit <em>n = 400<\/em> observations horodat\u00e9es r\u00e9guli\u00e8res), pr\u00e9sentant une dynamique d&rsquo;autor\u00e9gulation \u00e9motionnelle r\u00e9gie par un processus AR(1) bruit\u00e9 par des micro-chocs comportementaux :<\/p>\n<p><code>np.random.seed(123)<br \/>n_obs = 400<br \/>time_index = pd.date_range(start='2026-01-01', periods=n_obs, freq='6h')<\/p>\n<p># G\u00e9n\u00e9ration d'une s\u00e9rie AR(1) d'inertie de stress<br \/>true_phi = 0.45<br \/>innovations = np.random.normal(loc=0, scale=1.0, size=n_obs)<br \/>stress_series = np.zeros(n_obs)<br \/>for t in range(1, n_obs):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;stress_series[t] = true_phi * stress_series[t-1] + innovations[t]<\/p>\n<p>ema_df = pd.DataFrame({'stress_level': stress_series}, index=time_index)<\/code><\/p>\n<h3>12.2 Pipeline complet de traitement et de mod\u00e9lisation pr\u00e9dictive<\/h3>\n<p>La premi\u00e8re phase du pipeline analytique consiste \u00e0 v\u00e9rifier la stationnarit\u00e9 du signal de stress avant toute tentative d&rsquo;estimation. L&rsquo;application du test de Dickey-Fuller augment\u00e9 atteste formellement que la s\u00e9rie de stress simul\u00e9e est stationnaire au second ordre, \u00e9cartant le besoin d&rsquo;une diff\u00e9renciation int\u00e9gr\u00e9e :<\/p>\n<p><code>adf_stat, adf_pval, _, _, _, _ = adfuller(ema_df['stress_level'])<\/code><\/p>\n<p>Nous proc\u00e9dons ensuite \u00e0 la calibration d&rsquo;un mod\u00e8le autor\u00e9gressif pur afin d&rsquo;estimer pr\u00e9cis\u00e9ment le coefficient d&rsquo;inertie \u00e9motionnelle de ce participant, tout en extrayant les innovations r\u00e9siduelles qui repr\u00e9sentent les fluctuations idiosyncratiques instantan\u00e9es d\u00e9connect\u00e9es de la m\u00e9moire affective pass\u00e9e :<\/p>\n<p><code>from statsmodels.tsa.ar_model import AutoReg<\/p>\n<p># Ajustement d'un mod\u00e8le AutoReg d'ordre 1<br \/>ar_model = AutoReg(ema_df['stress_level'], lags=1, trend='c').fit()<br \/>print(ar_model.summary())<\/p>\n<p># Extraction du vecteur des innovations cognitives r\u00e9siduelles<br \/>ema_residuals = ar_model.resid<\/code><\/p>\n<p>Le param\u00e8tre estim\u00e9 <em>\u03d5\u0302<\/em> converge \u00e9troitement vers la valeur th\u00e9orique programm\u00e9e de 0,45, confirmant la pr\u00e9sence d&rsquo;une inertie \u00e9motionnelle mod\u00e9r\u00e9e chez ce sujet. L&rsquo;interrogation m\u00e9thodologique centrale demeure : ce mod\u00e8le autor\u00e9gressif d&rsquo;ordre 1 suffit-il \u00e0 rendre compte de l&rsquo;int\u00e9gralit\u00e9 de la m\u00e9moire affective du participant, ou des patterns s\u00e9riels r\u00e9siduels sugg\u00e8rent-ils l&rsquo;existence d&rsquo;autres dynamiques (telles qu&rsquo;une p\u00e9riodicit\u00e9 circadienne li\u00e9e aux cycles veille-sommeil) ?<\/p>\n<h3>12.3 Diagnostic rigoureux par le test de Ljung-Box et synth\u00e8se conclusive<\/h3>\n<p>Pour trancher cette question clinique et statistique, nous d\u00e9ployons le test de Ljung-Box sur les r\u00e9sidus <code>ema_residuals<\/code>. Compte tenu de la fr\u00e9quence d&rsquo;\u00e9chantillonnage de quatre mesures par jour, l&rsquo;\u00e9valuation diagnostique doit imp\u00e9rativement sonder un horizon couvrant au minimum deux journ\u00e9es d&rsquo;observations, soit <em>h = 8<\/em> retards (4 observations \u00d7 2 cycles de 24 heures). Nous configurons scrupuleusement <code>model_df=1<\/code> pour refl\u00e9ter l&rsquo;estimation de l&rsquo;unique param\u00e8tre d&rsquo;inertie autor\u00e9gressif :<\/p>\n<p><code>ema_lb_audit = acorr_ljungbox(ema_residuals, lags=[4, 8, 12], model_df=1, return_df=True)<br \/>print(ema_lb_audit)<\/code><\/p>\n<p>Supposons que les r\u00e9sultats du tableau diagnostique se pr\u00e9sentent de la fa\u00e7on suivante :<\/p>\n<ul>\n<li>Retard 4 (Horizon 24h) : <em>stat = 2.14, ddl = 3, p-value = 0.543<\/em><\/li>\n<li>Retard 8 (Horizon 48h) : <em>stat = 5.67, ddl = 7, p-value = 0.578<\/em><\/li>\n<li>Retard 12 (Horizon 72h) : <em>stat = 8.92, ddl = 11, p-value = 0.629<\/em><\/li>\n<\/ul>\n<p>L&rsquo;ensemble des probabilit\u00e9s critiques associ\u00e9es \u00e0 ces horizons cl\u00e9s se situe massivement au-dessus du seuil conventionnel <em>\u03b1 = 0,05<\/em>. Les r\u00e9sidus se conforment id\u00e9alement au postulat du bruit blanc. Nous pouvons formellement certifier que l&rsquo;architecture AR(1) capture l&rsquo;int\u00e9gralit\u00e9 de la d\u00e9pendance s\u00e9rielle lin\u00e9aire du processus psychologique sous examen. Les r\u00e9sidus peuvent \u00eatre l\u00e9gitimement exploit\u00e9s comme une mesure non biais\u00e9e de la r\u00e9activit\u00e9 \u00e9motionnelle brute du sujet face aux micro-\u00e9v\u00e9nements de son environnement quotidien.<\/p>\n<p>Pour la r\u00e9daction des sections m\u00e9thodologiques de manuscrits acad\u00e9miques internationaux, ces conclusions diagnostiques doivent \u00eatre formalis\u00e9es selon les standards de rigueur scientifique les plus exigeants, comme l&rsquo;illustre le paragraphe canonique suivant :<\/p>\n<p><em>\u00ab L&rsquo;ad\u00e9quation du mod\u00e8le autor\u00e9gressif mod\u00e9lisant l&rsquo;inertie du stress psychologique a \u00e9t\u00e9 rigoureusement attest\u00e9e par l&rsquo;analyse diagnostique des r\u00e9sidus. L&rsquo;application du test portemanteau de Ljung-Box, calibr\u00e9 avec une correction stricte des degr\u00e9s de libert\u00e9 correspondant aux param\u00e8tres autor\u00e9gressifs estim\u00e9s (model_df = 1), n&rsquo;a r\u00e9v\u00e9l\u00e9 aucune autocorr\u00e9lation s\u00e9rielle r\u00e9siduelle statistiquement significative jusqu&rsquo;\u00e0 un horizon de 12 retards (Q(11) = 8,92, p = 0,629). Cette conformit\u00e9 valide formellement l&rsquo;hypoth\u00e8se de bruit blanc des innovations et garantit la non-redondance de nos estimateurs d&rsquo;inertie \u00e9motionnelle. \u00bb<\/em><\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Box, G. E. P., &amp; Pierce, D. A. (1970). Distribution of residual autocorrelations in autoregressive-integrated moving average time series models. <em>Journal of the American Statistical Association<\/em>, 65(332), 1509\u20131526. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/01621459.1970.10481180\">https:\/\/doi.org\/10.1080\/01621459.1970.10481180<\/a><\/li>\n<li>Breusch, T. S. (1978). Testing for autocorrelation in dynamic linear models. <em>Australian Economic Papers<\/em>, 17(31), 334\u2013355. <a https:\/\/doi.org\/10.2307\/1913829\" rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1111\/j.1467-8454.1978.tb00635.x\/a\/liliGodfrey,%20L.%20G.%20(1978).%20Testing%20against%20general%20autoregressive%20and%20moving%20average%20error%20models%20when%20the%20regressors%20include%20lagged%20dependent%20variables.%20emEconometrica\/em,%2046(6),%201293\u20131301.%20a%20href=\">https:\/\/doi.org\/10.2307\/1913829<\/a><\/li>\n<li>Hyndman, R. J., &amp; Athanasopoulos, G. (2021). <em>Forecasting: Principles and practice<\/em> (3rd ed.). OTexts. <a rel=\"noopener noreferrer\" href=\"https:\/\/otexts.com\/fpp3\/\">https:\/\/otexts.com\/fpp3\/<\/a><\/li>\n<li>Ljung, G. M., &amp; Box, G. E. P. (1978). On a measure of lack of fit in time series models. <em>Biometrika<\/em>, 65(2), 297\u2013303. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1093\/biomet\/65.2.297\">https:\/\/doi.org\/10.1093\/biomet\/65.2.297<\/a><\/li>\n<li>Nerlove, M., &amp; Wallis, K. F. (1966). Use of the Durbin-Watson statistic in inappropriate situations. <em>Econometrica<\/em>, 34(1), 235\u2013238. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.2307\/1909870\">https:\/\/doi.org\/10.2307\/1909870<\/a><\/li>\n<li>Seabold, S., &amp; Perktold, J. (2010). Statsmodels: Econometric and statistical modeling with Python. In <em>Proceedings of the 9th Python in Science Conference<\/em> (pp. 92\u201396). <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.25080\/Majora-92bf1922-011\">https:\/\/doi.org\/10.25080\/Majora-92bf1922-011<\/a><\/li>\n<li>Tsay, R. S. (2010). <em>Analysis of financial time series<\/em> (3rd ed.). John Wiley &amp; Sons. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1002\/9780470644560\">https:\/\/doi.org\/10.1002\/9780470644560<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide complet pour r\u00e9aliser et interpr\u00e9ter le test de Ljung-Box en Python avec Statsmodels afin de valider l&rsquo;ind\u00e9pendance des r\u00e9sidus de s\u00e9ries temporelles.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[5009,2464,359],"tags":[6519,2468,1911,2903,6518],"class_list":["post-4583","psych_stat","type-psych_stat","status-publish","hentry","category-python-pour-la-recherche","category-science-des-donnees","category-statistiques-appliquees","tag-diagnostic-de-residus","tag-python","tag-series-temporelles","tag-statsmodels","tag-test-de-ljung-box"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4583","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=4583"}],"version-history":[{"count":0,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/4583\/revisions"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}