{"id":8019,"date":"2026-09-17T01:26:37","date_gmt":"2026-09-17T01:26:37","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-calculer-moyenne-mobile-exponentielle-dans-r\/"},"modified":"2026-09-17T01:26:39","modified_gmt":"2026-09-17T01:26:39","slug":"comment-calculer-moyenne-mobile-exponentielle-dans-r","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-calculer-moyenne-mobile-exponentielle-dans-r","title":{"rendered":"Comment calculer une moyenne mobile exponentielle dans R"},"content":{"rendered":"<p>Dans le champ de l&rsquo;analyse des s\u00e9ries temporelles, le traitement du signal et l&rsquo;estimation des tendances sous-jacentes constituent des d\u00e9fis m\u00e9thodologiques majeurs pour les chercheurs et les praticiens de la science des donn\u00e9es. Qu&rsquo;il s&rsquo;agisse de mod\u00e9liser des dynamiques psychophysiologiques complexes, de suivre des fluctuations comportementales longitudinales ou d&rsquo;analyser des indicateurs biom\u00e9triques \u00e0 haute fr\u00e9quence, les s\u00e9ries chronologiques brutes pr\u00e9sentent invariablement un niveau substantiel de bruit stochastique. Ce bruit, qu&rsquo;il r\u00e9sulte d&rsquo;erreurs d&rsquo;\u00e9chantillonnage, de variabilit\u00e9 intra-individuelle al\u00e9atoire ou d&rsquo;artefacts instrumentaux, obscurcit la dynamique fondamentale du ph\u00e9nom\u00e8ne \u00e9tudi\u00e9. C&rsquo;est dans ce cadre m\u00e9thodologique pr\u00e9cis que s&rsquo;imposent les techniques de lissage s\u00e9quentiel, au sein desquelles la moyenne mobile exponentielle (souvent abr\u00e9g\u00e9e EMA pour <em>Exponential Moving Average<\/em>) occupe une place fondamentale.<\/p>\n<p>D\u00e9velopp\u00e9e initialement pour les besoins de l&rsquo;ing\u00e9nierie statistique et de la recherche op\u00e9rationnelle, notamment \u00e0 travers les travaux pionniers de Robert Goodell Brown et de Charles C. Holt au milieu du vingti\u00e8me si\u00e8cle, la moyenne mobile exponentielle propose une solution computationnelle \u00e9l\u00e9gante au probl\u00e8me de l&rsquo;inertie et de la r\u00e9activit\u00e9 dans le suivi des signaux temporels. Contrairement aux approches arithm\u00e9tiques conventionnelles qui attribuent un poids \u00e9quivalent \u00e0 toutes les observations situ\u00e9es \u00e0 l&rsquo;int\u00e9rieur d&rsquo;une fen\u00eatre temporelle rigide, le lissage exponentiel repose sur un sch\u00e9ma de pond\u00e9ration g\u00e9om\u00e9triquement d\u00e9croissant. Cette caract\u00e9ristique conf\u00e8re \u00e0 l&rsquo;algorithme une m\u00e9moire \u00e0 la fois longue et \u00e9lastique, accordant une importance primordiale aux observations les plus r\u00e9centes tout en conservant une r\u00e9manence asymptotique des \u00e9tats ant\u00e9rieurs.<\/p>\n<p>L&rsquo;environnement de calcul statistique <a rel=\"noopener noreferrer\" href=\"https:\/\/www.r-project.org\/\">R<\/a> offre une infrastructure exceptionnellement robuste et modulaire pour la conception, le calcul et l&rsquo;optimisation de tels filtres temporels. Gr\u00e2ce \u00e0 une combinaison harmonieuse entre fonctions vectoris\u00e9es natives, packages d&rsquo;analyse num\u00e9rique de haut niveau comme <code>pracma<\/code> ou sp\u00e9cialis\u00e9s comme <code>TTR<\/code>, et pipelines analytiques modernes issus de l&rsquo;\u00e9cosyst\u00e8me <code>tidyverse<\/code>, R permet une flexibilit\u00e9 algorithmique sans \u00e9quivalent. Cet article propose une exploration int\u00e9grale, m\u00e9thodique et approfondie du calcul de la moyenne mobile exponentielle sous R, guidant le lecteur des postulats math\u00e9matiques et th\u00e9oriques jusqu&rsquo;aux impl\u00e9mentations de code les plus rigoureuses, en passant par ses applications appliqu\u00e9es en psychologie quantitative et l&rsquo;analyse de donn\u00e9es chronologiques continues.<\/p>\n<h2>1. Fondements th\u00e9oriques de la moyenne mobile exponentielle (EMA)<\/h2>\n<h3>1.1 D\u00e9finition math\u00e9matique et principe de pond\u00e9ration d\u00e9croissante<\/h3>\n<p>La moyenne mobile exponentielle est une m\u00e9thode de filtrage lin\u00e9aire r\u00e9cursif \u00e0 r\u00e9ponse impulsionnelle infinie (IIR). Sur le plan formel, consid\u00e9rons une s\u00e9rie temporelle discr\u00e8te not\u00e9e <span class=\"arabpsy-math-inline\" data-latex=\"Y = {Y_1, Y_2, dots, Y_t, dots, Y_T}\">$Y = {Y_1, Y_2, dots, Y_t, dots, Y_T}$<\/span>, o\u00f9 chaque valeur <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span> correspond \u00e0 l&rsquo;observation empirique enregistr\u00e9e \u00e0 l&rsquo;instant temporel <span class=\"arabpsy-math-inline\" data-latex=\"t\">$t$<\/span>. L&rsquo;objectif fondamental de l&rsquo;EMA est d&rsquo;estimer un signal liss\u00e9, d\u00e9sign\u00e9 par <span class=\"arabpsy-math-inline\" data-latex=\"S_t\">$S_t$<\/span>, qui capture la composante tendancielle du processus tout en \u00e9liminant les composantes stochastiques \u00e0 haute fr\u00e9quence. L&rsquo;\u00e9quation de r\u00e9currence canonique qui r\u00e9git ce syst\u00e8me s&rsquo;exprime selon la relation lin\u00e9aire du premier ordre suivante :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"S_t = \\alpha Y_t + (1 - \\alpha) S_{t-1}\">$$S_t = \\alpha Y_t + (1 &#8211; \\alpha) S_{t-1}$$<\/span><\/p>\n<p>Dans cette formulation \u00e9l\u00e9mentaire, le scalaire <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> repr\u00e9sente la constante de lissage (ou facteur d&rsquo;amortissement), strictement born\u00e9e au sein de l&rsquo;intervalle ouvert ou semi-ouvert <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha in ]0, 1]\">$\\alpha in ]0, 1]$<\/span>. La valeur de d\u00e9part <span class=\"arabpsy-math-inline\" data-latex=\"S_1\">$S_1$<\/span> est usuellement initialis\u00e9e \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"Y_1\">$Y_1$<\/span>, bien que d&rsquo;autres protocoles d&rsquo;amor\u00e7age existent. Pour saisir la dynamique sous-jacente de cette r\u00e9cursion, il est imp\u00e9ratif d&rsquo;op\u00e9rer une expansion analytique en substituant de mani\u00e8re it\u00e9rative les termes historiques <span class=\"arabpsy-math-inline\" data-latex=\"S_{t-1}, S_{t-2}, dots\">$S_{t-1}, S_{t-2}, dots$<\/span> jusqu&rsquo;\u00e0 l&rsquo;observation initiale :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"S_t = \\alpha Y_t + \\alpha(1 - \\alpha)Y_{t-1} + \\alpha(1 - \\alpha)^2 Y_{t-2} + dots + \\alpha(1 - \\alpha)^{t-2} Y_2 + (1 - \\alpha)^{t-1} S_1\">$$S_t = \\alpha Y_t + \\alpha(1 &#8211; \\alpha)Y_{t-1} + \\alpha(1 &#8211; \\alpha)^2 Y_{t-2} + dots + \\alpha(1 &#8211; \\alpha)^{t-2} Y_2 + (1 &#8211; \\alpha)^{t-1} S_1$$<\/span><\/p>\n<p>Sous une notation sommatoire compacte, en supposant un horizon temporel infini ou une phase de rodage suffisamment longue pour que le terme r\u00e9siduel <span class=\"arabpsy-math-inline\" data-latex=\"(1 - \\alpha)^{t-1} S_1\">$(1 &#8211; \\alpha)^{t-1} S_1$<\/span> tende asymptotiquement vers z\u00e9ro, l&rsquo;expression devient :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"S_t = \\sum_{i=0}^{t-1} w_i Y_{t-i} \\quad \\text{o\u00f9} \\quad w_i = \\alpha (1 - \\alpha)^i\">$$S_t = \\sum_{i=0}^{t-1} w_i Y_{t-i} \\quad \\text{o\u00f9} \\quad w_i = \\alpha (1 &#8211; \\alpha)^i$$<\/span><\/p>\n<p>Ce d\u00e9veloppement math\u00e9matique explicite d\u00e9montre que les coefficients de pond\u00e9ration <span class=\"arabpsy-math-inline\" data-latex=\"w_i\">$w_i$<\/span> diminuent selon une progression g\u00e9om\u00e9trique de raison <span class=\"arabpsy-math-inline\" data-latex=\"(1 - \\alpha)\">$(1 &#8211; \\alpha)$<\/span>. \u00c9tant donn\u00e9 que <span class=\"arabpsy-math-inline\" data-latex=\"0 &lt; (1 - \\alpha) &lt; 1\">$0 &lt; (1 &#8211; \\alpha) &lt; 1$<\/span>, la suite des poids converge strictement vers z\u00e9ro \u00e0 mesure que l&#039;indice de d\u00e9calage temporel <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span> cro\u00eet. Par ailleurs, la somme de ces poids infinis constitue une s\u00e9rie g\u00e9om\u00e9trique dont la somme vaut exactement un, puisque :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\sum_{i=0}^{\\infty} \\alpha (1 - \\alpha)^i = \\alpha \\cdot \\frac{1}{1 - (1 - \\alpha)} = \\frac{\\alpha}{\\alpha} = 1\">$$\\sum_{i=0}^{\\infty} \\alpha (1 &#8211; \\alpha)^i = \\alpha \\cdot \\frac{1}{1 &#8211; (1 &#8211; \\alpha)} = \\frac{\\alpha}{\\alpha} = 1$$<\/span><\/p>\n<p>Cette propri\u00e9t\u00e9 de normalisation garantit que l&rsquo;op\u00e9rateur de lissage ne modifie pas l&rsquo;esp\u00e9rance math\u00e9matique d&rsquo;un signal stationnaire sous-jacent. Ainsi, l&rsquo;EMA poss\u00e8de th\u00e9oriquement une m\u00e9moire infinie car chaque observation historique conserve une contribution non nulle au calcul de l&rsquo;\u00e9tat pr\u00e9sent. Toutefois, d&rsquo;un point de vue empirique et computationnel, cette m\u00e9moire subit une att\u00e9nuation pratique drastique, permettant au filtre de r\u00e9agir avec une grande agilit\u00e9 aux chocs structurels r\u00e9cents sans souffrir de l&rsquo;inertie disproportionn\u00e9e propre aux filtres arithm\u00e9tiques.<\/p>\n<h3>1.2 Distinction entre moyenne mobile simple (SMA) et exponentielle (EMA)<\/h3>\n<p>Pour appr\u00e9hender l&rsquo;utilit\u00e9 statistique de l&rsquo;EMA, il est n\u00e9cessaire de la confronter \u00e0 la moyenne mobile simple (SMA, <em>Simple Moving Average<\/em>). La moyenne mobile simple \u00e0 fen\u00eatre fixe de taille <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> applique une distribution de pond\u00e9ration rectangulaire uniforme, formalis\u00e9e par l&rsquo;\u00e9quation :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\text{SMA}_t(k) = \\frac{1}{k} \\sum_{i=0}^{k-1} Y_{t-i}\">$$\\text{SMA}_t(k) = \\frac{1}{k} \\sum_{i=0}^{k-1} Y_{t-i}$$<\/span><\/p>\n<p>Cette pond\u00e9ration \u00e9quiprobable engendre plusieurs \u00e9cueils statistiques critiques dans l&rsquo;analyse de processus dynamiques. Le premier est le ph\u00e9nom\u00e8ne bien document\u00e9 de saut artificiel ou d&rsquo;art\u00e9fact de sortie de fen\u00eatre (souvent d\u00e9sign\u00e9 sous le terme imag\u00e9 de \u00ab aboiement du chien \u00e0 la sortie \u00bb). Lorsqu&rsquo;une observation atypique, ou une perturbation extr\u00eame survenue \u00e0 l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"t - k + 1\">$t &#8211; k + 1$<\/span>, quitte brusquement la fen\u00eatre temporelle de calcul \u00e0 l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"t + 1\">$t + 1$<\/span>, la valeur de la SMA subit une variation discr\u00e8te instantan\u00e9e. Cette variation ne refl\u00e8te aucun changement contemporain dans le ph\u00e9nom\u00e8ne \u00e9tudi\u00e9 \u00e0 l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"t+1\">$t+1$<\/span>, mais d\u00e9coule uniquement de la troncature abrupte de la m\u00e9moire du filtre. L&rsquo;EMA est math\u00e9matiquement immunis\u00e9e contre cet art\u00e9fact structurel gr\u00e2ce \u00e0 sa fonction de transfert exponentiellement amortie, o\u00f9 aucune coupure nette ne survient dans le pass\u00e9.<\/p>\n<p>Le second contraste majeur r\u00e9side dans la sensibilit\u00e9 directionnelle et le temps de r\u00e9ponse face aux inversions de tendance. Par construction, la SMA accorde le m\u00eame statut d&rsquo;importance \u00e0 une mesure prise il y a <span class=\"arabpsy-math-inline\" data-latex=\"k\">$k$<\/span> jours qu&rsquo;\u00e0 celle enregistr\u00e9e il y a dix secondes. En cons\u00e9quence, lorsqu&rsquo;un choc exog\u00e8ne ou une rupture structurelle modifie la trajectoire du signal, la SMA tarde \u00e0 s&rsquo;infl\u00e9chir, induisant un d\u00e9phasage temporel prononc\u00e9. \u00c0 l&rsquo;inverse, l&rsquo;EMA r\u00e9alloue constamment la masse de pond\u00e9ration statistique vers le bord droit de la s\u00e9rie, maximisant l&rsquo;influence de l&rsquo;information la plus fra\u00eechement acquise. Selon la nature du signal temporel (stationnarit\u00e9, pr\u00e9sence de bruits gaussiens ou impulsifs, fr\u00e9quence d&rsquo;\u00e9chantillonnage), le chercheur privil\u00e9giera l&rsquo;EMA d\u00e8s lors que l&rsquo;objectif analytique consiste \u00e0 d\u00e9tecter pr\u00e9cocement les changements d&rsquo;\u00e9tat sans sacrifier la stabilit\u00e9 globale de l&rsquo;estimation.<\/p>\n<h3>1.3 Param\u00e8tre d&rsquo;amortissement et constante de lissage alpha<\/h3>\n<p>Le comportement dynamique de l&rsquo;EMA est enti\u00e8rement gouvern\u00e9 par le param\u00e8tre d&rsquo;amortissement <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span>. Dans les applications computationnelles et logicielles, il est extr\u00eamement courant de param\u00e9trer le lissage non pas directement par la valeur de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span>, mais par une pseudo-fen\u00eatre temporelle \u00e9quivalente not\u00e9e <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>. La convention standardis\u00e9e, initialement formul\u00e9e dans les travaux d&rsquo;ing\u00e9nierie des processus de contr\u00f4le, \u00e9tablit l&rsquo;\u00e9quivalence suivante entre la largeur de la fen\u00eatre conventionnelle <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> et le scalaire <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\alpha = \\frac{2}{n + 1}\">$$\\alpha = \\frac{2}{n + 1}$$<\/span><\/p>\n<p>Cette conversion math\u00e9matique d\u00e9coule de l&rsquo;\u00e9galisation des retards moyens de phase (les centres de masse temporels respectifs) entre une SMA de longueur <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> et une EMA de param\u00e8tre <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span>. En effet, le d\u00e9lai temporel moyen d&rsquo;une moyenne arithm\u00e9tique de longueur <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> est donn\u00e9 par <span class=\"arabpsy-math-inline\" data-latex=\"(n - 1) \/ 2\">$(n &#8211; 1) \/ 2$<\/span>. Pour une EMA, le d\u00e9lai moyen de retard correspond \u00e0 l&rsquo;esp\u00e9rance de la variable al\u00e9atoire g\u00e9om\u00e9trique sous-jacente, valant <span class=\"arabpsy-math-inline\" data-latex=\"(1 - \\alpha) \/ \\alpha\">$(1 &#8211; \\alpha) \/ \\alpha$<\/span>. En r\u00e9solvant l&rsquo;\u00e9galit\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"(n - 1) \/ 2 = (1 - \\alpha) \/ \\alpha\">$(n &#8211; 1) \/ 2 = (1 &#8211; \\alpha) \/ \\alpha$<\/span>, on aboutit rigoureusement \u00e0 la relation <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 2 \/ (n + 1)\">$\\alpha = 2 \/ (n + 1)$<\/span>.<\/p>\n<p>L&rsquo;ajustement de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> module le compromis fondamental entre sensibilit\u00e9 et stabilit\u00e9 :<\/p>\n<ul>\n<li><strong>Un coefficient <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> \u00e9lev\u00e9 (tendant vers 1, soit un petit <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>) :<\/strong> L&rsquo;algorithme conf\u00e8re une pr\u00e9pond\u00e9rance absolue aux derni\u00e8res observations. Le filtre r\u00e9agit quasi instantan\u00e9ment aux fluctuations rapides du processus. Cependant, cette r\u00e9activit\u00e9 s&rsquo;accompagne d&rsquo;une perm\u00e9abilit\u00e9 substantielle au bruit de mesure \u00e0 haute fr\u00e9quence, produisant une courbe liss\u00e9e tr\u00e8s accident\u00e9e et un risque accru de surajustement stochastique.<\/li>\n<li><strong>Un coefficient <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> faible (tendant vers 0, soit un grand <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>) :<\/strong> L&rsquo;EMA dilue l&rsquo;impact des mesures r\u00e9centes au sein d&rsquo;une longue tra\u00eene m\u00e9morielle. Le signal liss\u00e9 r\u00e9sultant est extr\u00eamement stable, insensible aux fluctuations al\u00e9atoires transitoires. En contrepartie, le syst\u00e8me accumule un d\u00e9calage temporel important, devenant incapable de signaler rapidement une rupture tendancielle majeure.<\/li>\n<\/ul>\n<p>Sur le plan physique et spectral, ce comportement s&rsquo;interpr\u00e8te par le concept de temps de relaxation <span class=\"arabpsy-math-inline\" data-latex=\"tau\">$tau$<\/span> du filtre exponentiel. Le temps de relaxation quantifie le nombre d&rsquo;unit\u00e9s temporelles n\u00e9cessaires pour que l&rsquo;impact d&rsquo;une impulsion unitaire d&rsquo;entr\u00e9e soit amorti d&rsquo;un facteur <span class=\"arabpsy-math-inline\" data-latex=\"1\/e \\approx 0{,}368\">$1\/e \\approx 0{,}368$<\/span> (o\u00f9 <span class=\"arabpsy-math-inline\" data-latex=\"e\">$e$<\/span> est la base du logarithme n\u00e9p\u00e9rien). Math\u00e9matiquement, ce temps continu \u00e9quivalent s&rsquo;exprime par <span class=\"arabpsy-math-inline\" data-latex=\"\\tau = -1 \/ \\ln(1 - \\alpha)\">$\\tau = -1 \/ \\ln(1 &#8211; \\alpha)$<\/span>, que l&rsquo;on peut approximer au premier ordre par <span class=\"arabpsy-math-inline\" data-latex=\"\\tau \\approx 1\/\\alpha\">$\\tau \\approx 1\/\\alpha$<\/span> pour de petites valeurs de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span>. Ce cadre analytique \u00e9claire de mani\u00e8re transparente le fonctionnement interne du lissage exponentiel en tant que filtre passe-bas du premier ordre.<\/p>\n<h2>2. Applications des s\u00e9ries temporelles et de l&rsquo;EMA en psychologie quantitative<\/h2>\n<h3>2.1 Mod\u00e9lisation de la dynamique de l&rsquo;affect et des \u00e9tats \u00e9motionnels<\/h3>\n<p>La psychologie quantitative contemporaine a connu un tournant m\u00e9thodologique d\u00e9cisif avec l&rsquo;av\u00e8nement des m\u00e9thodes d&rsquo;\u00e9valuation \u00e9cologique momentan\u00e9e (ESM, <em>Ecological Momentary Assessment<\/em>) et du recueil continu par journal de bord \u00e9lectronique. Dans ces protocoles, les participants compl\u00e8tent de multiples auto-\u00e9valuations quotidiennes relatives \u00e0 leur valence affective, leur niveau de stress per\u00e7u ou leur activation \u00e9motionnelle, g\u00e9n\u00e9rant ainsi des s\u00e9ries chronologiques denses et intensives. Dans ce domaine d&rsquo;investigation, l&rsquo;EMA (au sens de l&rsquo;algorithme statistique) joue un r\u00f4le analytique d\u00e9terminant pour isoler l&rsquo;inertie \u00e9motionnelle.<\/p>\n<p>L&rsquo;inertie \u00e9motionnelle se d\u00e9finit conceptuellement comme la r\u00e9sistance des \u00e9tats affectifs aux perturbations ext\u00e9rieures, mesurant le degr\u00e9 auquel l&rsquo;humeur d&rsquo;un individu s&rsquo;auto-perp\u00e9tue d&rsquo;un instant \u00e0 l&rsquo;autre. Lorsqu&rsquo;un chercheur analyse ces flux de donn\u00e9es, les mesures brutes sont satur\u00e9es de fluctuations contextuelles mineures (une interaction sociale br\u00e8ve, un \u00e9v\u00e9nement environnemental anodin). En appliquant une moyenne mobile exponentielle sur les trajectoires d&rsquo;affect n\u00e9gatif ou positif, il devient possible d&rsquo;extraire la tendance de fond de l&rsquo;humeur sans \u00e9craser les perturbations aigu\u00ebs. Ce traitement permet aux cliniciens d&rsquo;identifier des basculements critiques d&rsquo;\u00e9tats psychologiques, notamment les transitions vers des \u00e9pisodes d\u00e9pressifs caract\u00e9ris\u00e9s, o\u00f9 le syst\u00e8me psychique perd sa flexibilit\u00e9 dynamique pour s&rsquo;enfermer dans un attracteur stable de d\u00e9tresse psychologique.<\/p>\n<h3>2.2 Analyse des s\u00e9ries de temps de r\u00e9action et de vigilance cognitive<\/h3>\n<p>En neuropsychologie exp\u00e9rimentale et en psychologie cognitive, les paradigmes d&rsquo;\u00e9valuation de l&rsquo;attention soutenue, tels que les tests de performance continue (CPT, <em>Continuous Performance Task<\/em>) ou les t\u00e2ches de temps de r\u00e9action s\u00e9riel, imposent aux sujets l&rsquo;ex\u00e9cution de centaines d&rsquo;essais cons\u00e9cutifs. Chaque essai produit une latence comportementale mesur\u00e9e en millisecondes. L&rsquo;analyse brute de ces latences r\u00e9v\u00e8le une variance intra-individuelle consid\u00e9rable, caract\u00e9ris\u00e9e par une asym\u00e9trie positive prononc\u00e9e et l&rsquo;apparition sporadique de valeurs extr\u00eames.<\/p>\n<p>L&rsquo;impl\u00e9mentation d&rsquo;une moyenne mobile exponentielle sur la s\u00e9rie ordonn\u00e9e des temps de r\u00e9action permet d&rsquo;\u00e9tudier finement l&rsquo;\u00e9volution temporelle de la charge et de l&rsquo;\u00e9puisement cognitifs. Contrairement aux approches par blocs arbitraires qui masquent la dynamique locale par agr\u00e9gation grossi\u00e8re, l&rsquo;EMA offre un monitoring dynamique continu :<\/p>\n<ul>\n<li>Elle isole la d\u00e9rive progressive des temps de r\u00e9ponse moyens, signalant l&rsquo;installation de la fatigue mentale au fil des minutes.<\/li>\n<li>Elle permet de d\u00e9finir des seuils adaptatifs locaux : en comparant la valeur instantan\u00e9e <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span> \u00e0 l&rsquo;\u00e9tat moyen attendu <span class=\"arabpsy-math-inline\" data-latex=\"S_{t-1}\">$S_{t-1}$<\/span>, l&rsquo;algorithme d\u00e9tecte les d\u00e9faillances aigu\u00ebs d&rsquo;attention (souvent associ\u00e9es \u00e0 des micro-sommeils ou des d\u00e9crochages de l&rsquo;ex\u00e9cutif central) lorsque <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span> d\u00e9passe de plusieurs \u00e9carts-types locaux la valeur liss\u00e9e.<\/li>\n<li>Elle facilite la normalisation adaptative intra-individuelle, compensant les diff\u00e9rences inter-individuelles de vitesse de base pour se focaliser exclusivement sur les dynamiques transitoires de la r\u00e9gulation cognitive.<\/li>\n<\/ul>\n<h3>2.3 Suivi longitudinal des trajectoires comportementales et cliniques<\/h3>\n<p>Au-del\u00e0 des \u00e9chelles de temps courtes mesur\u00e9es en millisecondes ou en heures, la moyenne mobile exponentielle trouve un champ d&rsquo;application de premier ordre dans les suivis cliniques longitudinaux s&rsquo;\u00e9tendant sur des mois, voire des ann\u00e9es. Dans le cadre des th\u00e9rapies cognitivo-comportementales ou des prises en charge pharmacologiques, le clinicien \u00e9value p\u00e9riodiquement la s\u00e9v\u00e9rit\u00e9 symptomatique (par exemple via des scores psychom\u00e9triques standardis\u00e9s comme le PHQ-9 pour la d\u00e9pression ou le GAD-7 pour l&rsquo;anxi\u00e9t\u00e9) ou des indicateurs d&rsquo;observance comportementale (fr\u00e9quence de l&rsquo;activit\u00e9 physique, respect des posologies m\u00e9dicamenteuses).<\/p>\n<p>L&rsquo;application d&rsquo;un mod\u00e8le d&rsquo;EMA \u00e0 ces mesures s\u00e9quentielles r\u00e9pond \u00e0 une exigence pragmatique : les \u00e9tats r\u00e9cents d&rsquo;un patient doivent poss\u00e9der une charge diagnostique sup\u00e9rieure aux \u00e9tats historiques pour adapter la d\u00e9cision th\u00e9rapeutique. Si un patient a affich\u00e9 des scores de d\u00e9pression s\u00e9v\u00e8re durant trois mois avant de pr\u00e9senter une r\u00e9mission notable sur les trois derni\u00e8res s\u00e9ances, une moyenne arithm\u00e9tique classique maintiendra un score moyen artificiellement \u00e9lev\u00e9, ne refl\u00e9tant pas l&rsquo;efficacit\u00e9 du traitement contemporain. \u00c0 l&rsquo;oppos\u00e9, l&rsquo;EMA actualise l&rsquo;estimation clinique en surpond\u00e9rant l&rsquo;\u00e9tat pr\u00e9sent, tout en maintenant une r\u00e9gularisation bas\u00e9e sur le pass\u00e9 qui \u00e9vite de conclure pr\u00e9matur\u00e9ment \u00e0 une gu\u00e9rison p\u00e9renne au premier signal positif \u00e9ph\u00e9m\u00e8re. Cette mod\u00e9lisation offre ainsi une base quantitative rigoureuse pour l&rsquo;\u00e9valuation individualis\u00e9e des r\u00e9ponses th\u00e9rapeutiques.<\/p>\n<h2>3. Configuration de l&rsquo;environnement de travail et des packages R<\/h2>\n<h3>3.1 Initialisation de la session et bonnes pratiques de reproductibilit\u00e9<\/h3>\n<p>Avant d&rsquo;entreprendre la manipulation algorithmique de s\u00e9ries temporelles, il est indispensable de structurer un environnement de programmation garantissant la stricte reproductibilit\u00e9 computationnelle des r\u00e9sultats. Dans le langage R, cette rigueur commence par le nettoyage explicite de l&rsquo;espace de noms, la gestion des configurations de l&rsquo;interpr\u00e9teur et la fixation de graines g\u00e9n\u00e9ratrices de nombres pseudo-al\u00e9atoires lorsque des simulations sont impliqu\u00e9es.<\/p>\n<p>Une bonne pratique consiste \u00e0 neutraliser les conversions automatiques de cha\u00eenes en facteurs (devenues le standard depuis R 4.0.0 mais qu&rsquo;il convient de garantir) et \u00e0 param\u00e9trer une pr\u00e9cision num\u00e9rique adapt\u00e9e pour \u00e9viter les troncatures visuelles lors de l&rsquo;examen des vecteurs continus. Le code d&rsquo;initialisation suivant \u00e9tablit ce cadre m\u00e9thodologique :<\/p>\n<p>Dans un script de recherche, on commence par configurer les options d&rsquo;affichage avec <code>options(digits = 7, scipen = 999)<\/code>, garantissant que les d\u00e9cimales soient pr\u00e9serv\u00e9es sans basculer de mani\u00e8re intempestive en notation scientifique. Ensuite, pour assurer que tout processus d&rsquo;\u00e9chantillonnage al\u00e9atoire produise des s\u00e9ries identiques sur diff\u00e9rentes machines, on invoque <code>set.seed(42, kind = \"Mersenne-Twister\", normal.kind = \"Inversion\")<\/code>. Enfin, la s\u00e9paration rigoureuse des sous-r\u00e9pertoires au sein du projet (d\u00e9di\u00e9s aux donn\u00e9es brutes, aux scripts analytiques et aux visualisations graphiques g\u00e9n\u00e9r\u00e9es) constitue une exigence fondamentale selon les standards de la science ouverte (<em>Open Science Framework<\/em>).<\/p>\n<h3>3.2 Installation et chargement des biblioth\u00e8ques requises<\/h3>\n<p>L&rsquo;\u00e9cosyst\u00e8me R dispose d&rsquo;une multitude de packages d\u00e9di\u00e9s aux s\u00e9ries chronologiques et au calcul scientifique. Pour ma\u00eetriser et comparer l&rsquo;ensemble des approches de calcul de l&rsquo;EMA, trois piliers logiciels distincts sont requis :<\/p>\n<ul>\n<li><strong>Le package <code>pracma<\/code> :<\/strong> Abr\u00e9viation de <em>Practical Math<\/em>, ce package fournit des fonctions d&rsquo;analyse num\u00e9rique avanc\u00e9e d\u00e9riv\u00e9es ou inspir\u00e9es de MATLAB. Il embarque notamment la fonction polyvalente <code>movavg()<\/code>, capable d&rsquo;ex\u00e9cuter divers types de moyennes mobiles de mani\u00e8re compacte.<\/li>\n<li><strong>Le package <code>TTR<\/code> :<\/strong> Con\u00e7u initialement pour l&rsquo;analyse technique financi\u00e8re (<em>Technical Trading Rules<\/em>), ce package d\u00e9velopp\u00e9 par Joshua Ulrich est mondialement r\u00e9put\u00e9 pour son impl\u00e9mentation optimis\u00e9e et ultra-performante de primitives statistiques temporelles, dont la fonction d\u00e9di\u00e9e <code>EMA()<\/code>.<\/li>\n<li><strong>Le m\u00e9tapackage <code>tidyverse<\/code> :<\/strong> Comprenant notamment <code>dplyr<\/code> pour la manipulation tabulaire expressive, <code>tibble<\/code> pour la gestion de structures de donn\u00e9es modernis\u00e9es, et <code>ggplot2<\/code> pour la s\u00e9miologie graphique acad\u00e9mique de haute r\u00e9solution.<\/li>\n<\/ul>\n<p>Le chargement de ces biblioth\u00e8ques n\u00e9cessite une attention particuli\u00e8re quant aux conflits d&rsquo;espaces de noms. Par exemple, la fonction <code>filter()<\/code> de <code>dplyr<\/code> masque la fonction fondamentale <code>stats::filter()<\/code> incluse dans le c\u0153ur de R, laquelle s&rsquo;av\u00e8re justement essentielle pour l&rsquo;impl\u00e9mentation de filtres lin\u00e9aires r\u00e9cursifs. L&rsquo;utilisation explicite des doubles deux-points (par exemple <code>dplyr::filter()<\/code> ou <code>stats::filter()<\/code>) est donc vivement pr\u00e9conis\u00e9e pour pr\u00e9venir toute ambigu\u00eft\u00e9 syntaxique et computationnelle.<\/p>\n<h3>3.3 Inspection des capacit\u00e9s computationnelles de R pour les s\u00e9ries temporelles<\/h3>\n<p>La performance du calcul de filtres r\u00e9cursifs sous R est intrins\u00e8quement li\u00e9e \u00e0 la structure de donn\u00e9es sous-jacente mobilis\u00e9e. En R, les vecteurs atomiques num\u00e9riques (de type <code>double<\/code>) constituent les briques fondamentales les plus efficientes sur le plan de l&rsquo;allocation m\u00e9moire. Contrairement aux listes g\u00e9n\u00e9riques ou aux tables complexes, un vecteur atomique stocke ses \u00e9l\u00e9ments de mani\u00e8re contigu\u00eb en m\u00e9moire vive (RAM), ce qui permet au processeur d&rsquo;optimiser l&rsquo;acc\u00e8s via ses m\u00e9moires caches L1 et L2.<\/p>\n<p>Le calcul s\u00e9quentiel d&rsquo;une r\u00e9cursion pose toutefois un d\u00e9fi conceptuel sous R. Le langage est optimis\u00e9 pour les op\u00e9rations vectoris\u00e9es, ex\u00e9cut\u00e9es via des boucles internes \u00e9crites en C ou en Fortran. Une boucle it\u00e9rative brute (<code>for<\/code>) \u00e9crite directement en R peut souffrir d&rsquo;une surcharge d&rsquo;interpr\u00e9tation si elle n&rsquo;est pas cod\u00e9e avec pr\u00e9caution, notamment si la taille du vecteur d&rsquo;allocation n&rsquo;est pas pr\u00e9alablement allou\u00e9e en m\u00e9moire (\u00e9cueil de la r\u00e9allocation dynamique). Il est donc primordial d&rsquo;\u00e9tudier comment les fonctions sp\u00e9cialis\u00e9es compil\u00e9es (comme celles de <code>TTR<\/code>, \u00e9crites en C sous-jacent) rivalisent avec les fonctions internes r\u00e9cursives de Base R (comme <code>stats::filter<\/code>), afin de calibrer le choix des outils selon la granularit\u00e9 des jeux de donn\u00e9es trait\u00e9s, qui peuvent s&rsquo;\u00e9tendre de quelques dizaines de points \u00e0 plusieurs millions d&rsquo;enregistrements physiologiques.<\/p>\n<h2>4. Pr\u00e9paration et structuration des donn\u00e9es de s\u00e9ries chronologiques<\/h2>\n<h3>4.1 Cr\u00e9ation du jeu de donn\u00e9es de r\u00e9f\u00e9rence<\/h3>\n<p>Pour ancrer la d\u00e9monstration dans un cadre tangible, contr\u00f4l\u00e9 et parfaitement v\u00e9rifiable, construisons un jeu de donn\u00e9es exp\u00e9rimental univari\u00e9. Ce jeu simule une s\u00e9quence de mesures continues obtenues lors d&rsquo;un protocole d&rsquo;\u00e9valuation psychom\u00e9trique ou psychophysiologique r\u00e9alis\u00e9 aupr\u00e8s d&rsquo;un sujet sur une p\u00e9riode de 40 pas de temps successifs. Le signal simul\u00e9 incorpore une tendance d\u00e9terministe sous-jacente combin\u00e9e \u00e0 des oscillations p\u00e9riodiques et \u00e0 un bruit blanc gaussien.<\/p>\n<p>Sur le plan programmatique, nous g\u00e9n\u00e9rons cette s\u00e9quence \u00e0 l&rsquo;aide d&rsquo;un vecteur d&rsquo;indices temporels <span class=\"arabpsy-math-inline\" data-latex=\"t in {1, dots, 40}\">$t in {1, dots, 40}$<\/span>. Le mod\u00e8le g\u00e9n\u00e9ratif s&rsquo;\u00e9crit formellement :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"Y_t = 10 + 0{,}2 \\cdot t + 3 \\cdot \\sin\\left(\\frac{2\\pi t}{12}\\right) + \\epsilon_t, \\quad \\epsilon_t \\sim \\mathcal{N}(0, 1)\">$$Y_t = 10 + 0{,}2 \\cdot t + 3 \\cdot \\sin\\left(\\frac{2\\pi t}{12}\\right) + \\epsilon_t, \\quad \\epsilon_t \\sim \\mathcal{N}(0, 1)$$<\/span><\/p>\n<p>Cette formulation permet de combiner une d\u00e9rive positive, une modulation cyclique mimant par exemple une rythmicit\u00e9 circadienne ou hebdomadaire, ainsi qu&rsquo;une perturbation al\u00e9atoire stationnaire. Les valeurs r\u00e9sultantes sont assembl\u00e9es au sein d&rsquo;un <code>tibble<\/code> enrichi, comprenant la date relative, l&rsquo;identifiant du signal et l&rsquo;observation continue. L&rsquo;inspection des statistiques descriptives \u00e9l\u00e9mentaires (moyenne empirique, \u00e9cart-type, m\u00e9diane, quartiles et coefficient de dissym\u00e9trie) permet de certifier que la s\u00e9rie ne pr\u00e9sente pas de d\u00e9g\u00e9n\u00e9rescence structurelle et offre un banc d&rsquo;essai optimal pour l&rsquo;\u00e9valuation comparative des filtres de lissage exponentiel.<\/p>\n<h3>4.2 Gestion des donn\u00e9es manquantes et de l&rsquo;\u00e9quir\u00e9partition temporelle<\/h3>\n<p>Les s\u00e9ries temporelles empiriques en sciences humaines et comportementales ne se conforment que rarement \u00e0 la perfection th\u00e9orique des signaux synth\u00e9tiques. Elles se caract\u00e9risent fr\u00e9quemment par l&rsquo;apparition de donn\u00e9es manquantes (not\u00e9es <code>NA<\/code> sous R), imputables \u00e0 des refus de r\u00e9ponse, des pertes de connectivit\u00e9 des capteurs ou des pannes mat\u00e9rielles. Or, la nature r\u00e9cursive de l&rsquo;\u00e9quation de l&rsquo;EMA pose une vuln\u00e9rabilit\u00e9 critique : si une valeur <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span> est manquante, le terme de mise \u00e0 jour devient imm\u00e9diatement non d\u00e9fini, ce qui risque de propager le statut <code>NA<\/code> en cha\u00eene sur l&rsquo;int\u00e9gralit\u00e9 des termes post\u00e9rieurs <span class=\"arabpsy-math-inline\" data-latex=\"S_{t+1}, S_{t+2}, dots, S_T\">$S_{t+1}, S_{t+2}, dots, S_T$<\/span>.<\/p>\n<p>Pour pallier cette interruption syst\u00e9mique du filtre, plusieurs strat\u00e9gies d&rsquo;imputation doivent \u00eatre consid\u00e9r\u00e9es pr\u00e9alablement au lissage :<\/p>\n<ul>\n<li><strong>L&rsquo;interpolation lin\u00e9aire locale :<\/strong> Si la perte d&rsquo;information est strictement isol\u00e9e (un pas de temps unique), une interpolation lin\u00e9aire directe via des outils comme <code>zoo::na.approx()<\/code> reconstitue le point manquant sans alt\u00e9rer de fa\u00e7on substantielle la dynamique de l&rsquo;EMA.<\/li>\n<li><strong>Le maintien de la derni\u00e8re valeur observ\u00e9e (LOCF, <em>Last Observation Carried Forward<\/em>) :<\/strong> Via <code>zoo::na.locf()<\/code>, cette m\u00e9thode pr\u00e9serve le niveau atteint mais peut artificiellement r\u00e9duire la variance locale.<\/li>\n<li><strong>La mise \u00e0 jour adaptative \u00e0 m\u00e9moire constante :<\/strong> Si <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span> est absent, on peut stipuler au sein de l&rsquo;algorithme que <span class=\"arabpsy-math-inline\" data-latex=\"S_t = S_{t-1}\">$S_t = S_{t-1}$<\/span>. Cette approche revient conceptuellement \u00e0 geler le filtre sur son dernier \u00e9tat stable sans incorporer de nouvelle information d&rsquo;innovation.<\/li>\n<\/ul>\n<p>Parall\u00e8lement, l&rsquo;\u00e9quir\u00e9partition temporelle constitue une condition fondamentale d&rsquo;application de l&rsquo;EMA conventionnelle. L&rsquo;\u00e9quation de base postule implicitement que l&rsquo;intervalle <span class=\"arabpsy-math-inline\" data-latex=\"\\Delta t = t - (t-1)\">$\\Delta t = t &#8211; (t-1)$<\/span> est rigoureusement invariant. Si les observations sont collect\u00e9es \u00e0 des intervalles temporels irr\u00e9guliers (par exemple des notifications al\u00e9atoires sur smartphone dans le cadre d&rsquo;un protocole ESM), l&#8217;emploi d&rsquo;un <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> constant introduit un biais de distorsion g\u00e9om\u00e9trique. Dans ce cas, une \u00e9tape pr\u00e9liminaire de r\u00e9\u00e9chantillonnage temporel avec r\u00e9gularisation sur une grille fixe (par exemple par agr\u00e9gation moyenne horaire) est imp\u00e9rative pour pr\u00e9server la validit\u00e9 th\u00e9orique des constantes d&rsquo;amortissement.<\/p>\n<h3>4.3 Conversion en objets temporels natifs et sp\u00e9cialis\u00e9s<\/h3>\n<p>Bien qu&rsquo;un simple vecteur num\u00e9rique ou un tableau de type <code>data.frame<\/code> suffise pour ex\u00e9cuter des calculs arithm\u00e9tiques, l&rsquo;int\u00e9gration de s\u00e9ries chronologiques dans l&rsquo;\u00e9cosyst\u00e8me sp\u00e9cialis\u00e9 de R gagne en rigueur par l&rsquo;usage d&rsquo;objets temporels d\u00e9di\u00e9s. Les classes de structures de donn\u00e9es les plus pertinentes incluent :<\/p>\n<ul>\n<li><strong>La classe standard <code>ts<\/code> :<\/strong> Faisant partie int\u00e9grante de Base R, elle est adapt\u00e9e aux s\u00e9ries strictement \u00e9quidistantes dot\u00e9es d&rsquo;une saisonnalit\u00e9 explicite (via les arguments <code>frequency<\/code> et <code>start<\/code>). Sa l\u00e9g\u00e8ret\u00e9 est optimale, mais sa manipulation manque de flexibilit\u00e9 lorsqu&rsquo;il s&rsquo;agit de g\u00e9rer des dates r\u00e9elles au format POSIXct ou des m\u00e9tadonn\u00e9es complexes.<\/li>\n<li><strong>La classe <code>zoo<\/code> (du package \u00e9ponyme) :<\/strong> D\u00e9velopp\u00e9e par Achim Zeileis et Gabor Grothendieck, elle associe un vecteur ou une matrice de donn\u00e9es \u00e0 un vecteur arbitraire d&rsquo;indices ordonn\u00e9s (dates calendaires, timestamps haute r\u00e9solution ou entiers). Cette classe est particuli\u00e8rement robuste face aux irr\u00e9gularit\u00e9s temporelles.<\/li>\n<li><strong>La classe <code>xts<\/code> (<em>Extensible Time Series<\/em>) :<\/strong> \u00c9tendant <code>zoo<\/code>, elle offre une indexation temporelle hautement optimis\u00e9e et sert d&rsquo;\u00e9pine dorsale \u00e0 de nombreuses fonctions du package <code>TTR<\/code>.<\/li>\n<\/ul>\n<p>La structuration rigoureuse garantit qu&rsquo;aucune r\u00e9organisation intempestive des lignes, cons\u00e9cutive par exemple \u00e0 une op\u00e9ration de tri accidentelle, ne vienne d\u00e9truire l&rsquo;ordonnancement chronologique strict sur lequel repose la relation de r\u00e9currence de l&rsquo;EMA.<\/p>\n<h2>5. Calcul de l&rsquo;EMA avec le package pracma : La fonction movavg()<\/h2>\n<h3>5.1 Anatomie et syntaxe de la fonction movavg()<\/h3>\n<p>Le package <code>pracma<\/code> int\u00e8gre une fonction unifi\u00e9e de calcul de moyennes mobiles intitul\u00e9e <code>movavg()<\/code>. Cette fonction a \u00e9t\u00e9 con\u00e7ue pour reproduire la flexibilit\u00e9 de calcul des environnements de calcul scientifique matriciel. Sa signature syntaxique g\u00e9n\u00e9rale s&rsquo;articule autour de trois arguments directeurs :<\/p>\n<p>L&rsquo;argument <code>x<\/code> re\u00e7oit le vecteur num\u00e9rique unidimensionnel repr\u00e9sentant la s\u00e9rie temporelle brute observ\u00e9e. L&rsquo;argument <code>n<\/code> d\u00e9finit la dimension de la fen\u00eatre de lissage ; dans le cadre d&rsquo;une moyenne mobile exponentielle, cet entier ne repr\u00e9sente pas une fen\u00eatre glissante stricte au sens d&rsquo;une coupure tronqu\u00e9e, mais le param\u00e8tre d&rsquo;\u00e9chelle temporelle \u00e0 partir duquel la constante de lissage <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> est automatiquement d\u00e9riv\u00e9e. Enfin, l&rsquo;argument <code>type<\/code> d\u00e9termine la famille de moyenne mobile \u00e0 d\u00e9ployer. Pour instruire l&rsquo;algorithme d&rsquo;ex\u00e9cuter un lissage exponentiel, il convient de sp\u00e9cifier la cha\u00eene de caract\u00e8res <code>type = \"e\"<\/code>.<\/p>\n<p>Il est fondamental de noter les contraintes dimensionnelles impos\u00e9es par <code>pracma::movavg()<\/code> : le vecteur <code>x<\/code> ne doit contenir aucune valeur manquante non r\u00e9solue sous peine de propager des anomalies, et la largeur de fen\u00eatre <code>n<\/code> doit \u00eatre un entier positif strictement sup\u00e9rieur \u00e0 1 et strictement inf\u00e9rieur ou \u00e9gal \u00e0 la longueur totale du vecteur sous observation.<\/p>\n<h3>5.2 Ex\u00e9cution pratique sur le vecteur de donn\u00e9es<\/h3>\n<p>L&rsquo;application concr\u00e8te de <code>movavg()<\/code> s&rsquo;effectue avec une remarquable concision syntaxique. Supposons un vecteur de mesures empiriques issu de notre jeu de donn\u00e9es exp\u00e9rimental, nomm\u00e9 <code>signal_brut<\/code>, comportant nos 40 observations continues. Nous souhaitons appliquer un lissage exponentiel param\u00e9tr\u00e9 sur une pseudo-p\u00e9riode de <span class=\"arabpsy-math-inline\" data-latex=\"n = 5\">$n = 5$<\/span> unit\u00e9s temporelles.<\/p>\n<p>L&rsquo;appel de la fonction prend la forme suivante :<\/p>\n<p>L&rsquo;\u00e9valuation s&rsquo;ex\u00e9cute en affectant le r\u00e9sultat \u00e0 une nouvelle variable : <code>ema_pracma &lt;- pracma::movavg(signal_brut, n = 5, type = &quot;e&quot;)<\/code>. Cette commande renvoie un vecteur num\u00e9rique de longueur strictement identique \u00e0 celle du vecteur d&rsquo;entr\u00e9e originel, soit pr\u00e9cis\u00e9ment 40 \u00e9l\u00e9ments dans notre sc\u00e9nario. En inspectant les premi\u00e8res valeurs num\u00e9riques retourn\u00e9es, le chercheur observe l&rsquo;att\u00e9nuation imm\u00e9diate des composantes \u00e0 haute fr\u00e9quence et la production d&rsquo;une trajectoire continue coh\u00e9rente.<\/p>\n<p>Cette approche permet d&rsquo;injecter imm\u00e9diatement le r\u00e9sultat dans le tableau de donn\u00e9es d&rsquo;origine, par exemple en associant la colonne liss\u00e9e au <code>data.frame<\/code> sous le nom \u00e9vocateur <code>EMA_pracma_n5<\/code>, autorisant ainsi des comparaisons statistiques directes avec les donn\u00e9es brutes initiales.<\/p>\n<h3>5.3 Traitement des valeurs initiales et phase de rodage (burn-in)<\/h3>\n<p>L&rsquo;un des aspects les plus d\u00e9licats de l&rsquo;analyse num\u00e9rique du lissage exponentiel r\u00e9side dans le protocole d&rsquo;initialisation du premier terme de la r\u00e9currence, <span class=\"arabpsy-math-inline\" data-latex=\"S_1\">$S_1$<\/span>. Dans la th\u00e9orie pure, l&rsquo;\u00e9quation requiert un \u00e9tat initial <span class=\"arabpsy-math-inline\" data-latex=\"S_0\">$S_0$<\/span>. En pratique, <code>pracma::movavg()<\/code> impl\u00e9mente une strat\u00e9gie d&rsquo;amor\u00e7age sp\u00e9cifique : pour la toute premi\u00e8re observation, le filtre assigne directement la premi\u00e8re valeur empirique de la s\u00e9rie (<span class=\"arabpsy-math-inline\" data-latex=\"S_1 = Y_1\">$S_1 = Y_1$<\/span>). Ensuite, pour les termes situ\u00e9s dans la phase dite de rodage (<em>burn-in<\/em> ou phase transitoire, correspondant aux indices <span class=\"arabpsy-math-inline\" data-latex=\"t &lt; n\">$t &lt; n$<\/span>), l&#039;algorithme applique une transition graduelle.<\/p>\n<p>Cette phase transitoire entra\u00eene un biais d&rsquo;initialisation inh\u00e9rent. Puisque le point de d\u00e9part est fix\u00e9 arbitrairement sur une mesure empirique singuli\u00e8re susceptible d&rsquo;\u00eatre contamin\u00e9e par une erreur de mesure, l&rsquo;estimation des premiers points d\u00e9pend substantiellement de cette condition aux limites. Il faut attendre un nombre suffisant d&rsquo;it\u00e9rations pour que le terme r\u00e9siduel <span class=\"arabpsy-math-inline\" data-latex=\"(1 - \\alpha)^{t-1} S_1\">$(1 &#8211; \\alpha)^{t-1} S_1$<\/span> devienne math\u00e9matiquement n\u00e9gligeable devant la somme des innovations r\u00e9centes.<\/p>\n<p>Dans la litt\u00e9rature m\u00e9thodologique, on consid\u00e8re g\u00e9n\u00e9ralement que la phase de rodage s&rsquo;estompe efficacement apr\u00e8s une p\u00e9riode correspondant \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"3 \\times n\">$3 \\times n$<\/span> observations. Ainsi, pour une fen\u00eatre param\u00e9tr\u00e9e \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"n = 5\">$n = 5$<\/span>, les 15 premiers points de la s\u00e9rie doivent \u00eatre interpr\u00e9t\u00e9s avec une prudence accrue, car ils conservent une trace non n\u00e9gligeable de l&rsquo;arbitraire de l&rsquo;\u00e9tat d&rsquo;amor\u00e7age. Les chercheurs doivent documenter ce comportement lors de la restitution de leurs analyses, particuli\u00e8rement lorsque les s\u00e9ries temporelles analys\u00e9es sont de longueur modeste.<\/p>\n<h2>6. Calcul de l&rsquo;EMA avec le package TTR : La fonction EMA()<\/h2>\n<h3>6.1 Syntaxe et flexibilit\u00e9 du param\u00e9trage de TTR::EMA()<\/h3>\n<p>Le package <code>TTR<\/code> propose une fonction sp\u00e9cialis\u00e9e, <code>EMA()<\/code>, qui fait autorit\u00e9 dans l&rsquo;analyse de signaux temporels quantitatifs en raison de son optimisation et de sa modularit\u00e9 param\u00e9trique. Contrairement \u00e0 des fonctions plus g\u00e9n\u00e9riques, <code>TTR::EMA()<\/code> a \u00e9t\u00e9 con\u00e7ue pour s&rsquo;adapter \u00e0 une multitude de conventions scientifiques et industrielles.<\/p>\n<p>La signature de <code>TTR::EMA()<\/code> offre un ensemble d&rsquo;arguments d\u00e9terminants :<\/p>\n<ul>\n<li><code>x<\/code> : La s\u00e9rie temporelle d&rsquo;entr\u00e9e, pouvant \u00eatre un vecteur classique, une matrice univari\u00e9e, ou un objet de classe <code>ts<\/code>, <code>zoo<\/code> ou <code>xts<\/code>.<\/li>\n<li><code>n<\/code> : Le nombre de p\u00e9riodes de r\u00e9f\u00e9rence servant \u00e0 calculer automatiquement le ratio d&rsquo;amortissement selon la r\u00e8gle <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 2 \/ (n + 1)\">$\\alpha = 2 \/ (n + 1)$<\/span>.<\/li>\n<li><code>ratio<\/code> : Un argument optionnel mais capital permettant \u00e0 l&rsquo;utilisateur de s&rsquo;affranchir enti\u00e8rement du param\u00e8tre <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> pour sp\u00e9cifier directement le coefficient <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha in ]0, 1]\">$\\alpha in ]0, 1]$<\/span>. Lorsque cet argument est renseign\u00e9, il pr\u00e9vaut sur toute valeur attribu\u00e9e \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>.<\/li>\n<li><code>wilder<\/code> : Un argument bool\u00e9en (valant par d\u00e9faut <code>FALSE<\/code>). Lorsqu&rsquo;il est configur\u00e9 \u00e0 <code>TRUE<\/code>, la fonction bascule vers l&rsquo;algorithme de lissage de J. Welles Wilder, o\u00f9 le coefficient d&rsquo;amortissement est d\u00e9fini par la relation alternative <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 1 \/ n\">$\\alpha = 1 \/ n$<\/span>. Ce lissage de Wilder induit une inertie consid\u00e9rablement plus marqu\u00e9e et un amortissement plus lent pour une m\u00eame valeur de <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>.<\/li>\n<li><code>n.init<\/code> : D\u00e9termine le mode d&rsquo;initialisation de la composante de d\u00e9part, influen\u00e7ant directement la phase d&rsquo;amor\u00e7age.<\/li>\n<\/ul>\n<h3>6.2 Mise en \u0153uvre comparative et analyse des \u00e9carts<\/h3>\n<p>L&rsquo;ex\u00e9cution de <code>TTR::EMA()<\/code> sur notre jeu de donn\u00e9es exp\u00e9rimental met en \u00e9vidence des nuances conceptuelles majeures par rapport \u00e0 <code>pracma::movavg()<\/code>. Par d\u00e9faut, la convention algorithmique historique de <code>TTR<\/code> consiste \u00e0 initialiser l&rsquo;EMA non pas au premier point individuel <span class=\"arabpsy-math-inline\" data-latex=\"Y_1\">$Y_1$<\/span>, mais \u00e0 la moyenne arithm\u00e9tique simple (SMA) calcul\u00e9e sur les <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> premiers points de la s\u00e9rie :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"S_n = \\frac{1}{n} \\sum_{i=1}^n Y_i\">$$S_n = \\frac{1}{n} \\sum_{i=1}^n Y_i$$<\/span><\/p>\n<p>En cons\u00e9quence imm\u00e9diate de cette convention statistique, les <span class=\"arabpsy-math-inline\" data-latex=\"n - 1\">$n &#8211; 1$<\/span> premi\u00e8res observations du vecteur r\u00e9sultant renvoy\u00e9 par <code>TTR::EMA()<\/code> re\u00e7oivent la valeur <code>NA<\/code>. Le filtrage r\u00e9cursif proprement dit ne s&rsquo;enclenche qu&rsquo;\u00e0 partir de l&rsquo;indice temporel <span class=\"arabpsy-math-inline\" data-latex=\"t = n\">$t = n$<\/span>. Cette approche a pour vertu th\u00e9orique d&rsquo;ancrer le premier \u00e9tat sur une estimation plus robuste et moins sensible aux fluctuations d&rsquo;un point unique isol\u00e9, mais elle impose le sacrifice formel du d\u00e9but de la s\u00e9rie temporelle.<\/p>\n<p>Si l&rsquo;analyste ex\u00e9cute conjointement sur un m\u00eame vecteur brut <code>pracma::movavg(x, n = 5, type = \"e\")<\/code> et <code>TTR::EMA(x, n = 5)<\/code>, il constatera une divergence syst\u00e9matique sur les premi\u00e8res observations : <code>pracma<\/code> fournit des valeurs num\u00e9riques d\u00e8s <span class=\"arabpsy-math-inline\" data-latex=\"t=1\">$t=1$<\/span>, tandis que <code>TTR<\/code> renvoie des <code>NA<\/code> jusqu&rsquo;\u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"t=4\">$t=4$<\/span> avant d&rsquo;initier sa r\u00e9cursion \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"t=5\">$t=5$<\/span>. \u00c0 mesure que <span class=\"arabpsy-math-inline\" data-latex=\"t\">$t$<\/span> s&rsquo;accro\u00eet et progresse vers l&rsquo;horizon <span class=\"arabpsy-math-inline\" data-latex=\"t &gt; 20\">$t &gt; 20$<\/span>, les deux trajectoires num\u00e9riques convergent asymptotiquement pour devenir virtuellement indiscernables, illustrant la dissipation de l&rsquo;impact des conditions initiales.<\/p>\n<h3>6.3 Extensibilit\u00e9 aux donn\u00e9es multivari\u00e9es<\/h3>\n<p>Un atout technique ind\u00e9niable de <code>TTR::EMA()<\/code> r\u00e9side dans sa capacit\u00e9 native \u00e0 g\u00e9rer des structures de donn\u00e9es multivari\u00e9es et des objets de s\u00e9ries temporelles avanc\u00e9s sans exiger la moindre boucle it\u00e9rative explicite au niveau de l&rsquo;utilisateur. Si l&rsquo;on transmet \u00e0 la fonction une matrice num\u00e9rique \u00e0 colonnes multiples ou un objet <code>xts<\/code> multivari\u00e9 \u2014 o\u00f9 chaque colonne correspond par exemple au suivi longitudinal d&rsquo;un marqueur physiologique distinct chez un m\u00eame individu (tels que la variabilit\u00e9 de la fr\u00e9quence cardiaque, la conductance cutan\u00e9e et la temp\u00e9rature p\u00e9riph\u00e9rique) \u2014, <code>TTR::EMA()<\/code> applique le filtre de lissage sur chaque colonne de fa\u00e7on vectoris\u00e9e.<\/p>\n<p>Cette op\u00e9ration s&rsquo;ex\u00e9cute \u00e0 des vitesses computationnelles extr\u00eamement \u00e9lev\u00e9es gr\u00e2ce aux routines C sous-jacentes du package. De surcro\u00eet, la classe temporelle originale (avec ses indexations calendaires pr\u00e9cises, ses fuseaux horaires et ses attributs de m\u00e9tadonn\u00e9es) est int\u00e9gralement conserv\u00e9e dans l&rsquo;objet de sortie. Cette interop\u00e9rabilit\u00e9 directe simplifie consid\u00e9rablement la cha\u00eene de traitement statistique au sein d&rsquo;architectures logicielles complexes manipulant des flux de donn\u00e9es multidimensionnels \u00e0 haute densit\u00e9 temporelle.<\/p>\n<h2>7. Impl\u00e9mentation algorithmique de l&rsquo;EMA en R natif (Base R)<\/h2>\n<h3>7.1 D\u00e9veloppement d&rsquo;une fonction it\u00e9rative pure<\/h3>\n<p>Comprendre intimement la m\u00e9canique interne du lissage exponentiel requiert de concevoir son impl\u00e9mentation algorithmique \u00e0 partir des seules primitives du langage de base (Base R), en s&rsquo;affranchissant de toute d\u00e9pendance logicielle externe. L&rsquo;approche la plus didactique consiste \u00e0 formaliser une fonction it\u00e9rative pure reposant sur une boucle <code>for<\/code> explicite, m\u00e9ticuleusement optimis\u00e9e pour \u00e9viter les p\u00e9nalit\u00e9s de performance m\u00e9moire.<\/p>\n<p>L&rsquo;impl\u00e9mentation de cette fonction personnalis\u00e9e, que nous nommerons <code>calcul_ema_base<\/code>, se structure selon les \u00e9tapes algorithmiques suivantes :<\/p>\n<p>La fonction prend en entr\u00e9e un vecteur num\u00e9rique <code>x<\/code>, un param\u00e8tre de p\u00e9riode <code>n<\/code> (avec une valeur par d\u00e9faut fix\u00e9e par exemple \u00e0 10) ou alternativement un scalaire <code>alpha<\/code> direct. D\u00e8s l&rsquo;entame, la fonction valide la coh\u00e9rence des param\u00e8tres d&rsquo;entr\u00e9e \u00e0 l&rsquo;aide d&rsquo;assertions formelles (v\u00e9rification que <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha in ]0, 1]\">$\\alpha in ]0, 1]$<\/span> ou calcul de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 2 \/ (n + 1)\">$\\alpha = 2 \/ (n + 1)$<\/span>). Ensuite, elle alloue un vecteur num\u00e9rique vide <code>s<\/code> de dimension strictement \u00e9gale \u00e0 celle de <code>x<\/code> \u00e0 l&rsquo;aide de la primitive <code>numeric(length(x))<\/code>, ce qui constitue une r\u00e8gle de programmation imp\u00e9rative pour pr\u00e9server les adresses m\u00e9moire sans induire de recopiage dynamique it\u00e9ratif.<\/p>\n<p>Le premier \u00e9l\u00e9ment est explicitement initialis\u00e9 selon la convention choisie, par exemple <code>s[1] &lt;- x[1]<\/code>. Puis, une boucle it\u00e9rative d\u00e9marre \u00e0 l&rsquo;indice 2 et progresse jusqu&rsquo;\u00e0 la longueur totale du vecteur. \u00c0 chaque pas <span class=\"arabpsy-math-inline\" data-latex=\"i\">$i$<\/span>, l&rsquo;\u00e9quation de mise \u00e0 jour fondamentale est appliqu\u00e9e : <code>s[i] &lt;- alpha * x[i] + (1 - alpha) * s[i - 1]<\/code>. Enfin, la fonction retourne le vecteur <code>s<\/code> enti\u00e8rement compl\u00e9t\u00e9. Cette formulation offre une lisibilit\u00e9 conceptuelle absolue et garantit un contr\u00f4le total sur la gestion des conditions aux limites.<\/p>\n<h3>7.2 Utilisation de la fonction stats::filter()<\/h3>\n<p>Base R dispose d&rsquo;un outil m\u00e9connu d&rsquo;une puissance computationnelle remarquable pour le traitement des s\u00e9ries chronologiques : la fonction <code>stats::filter()<\/code>. Cette fonction permet d&rsquo;appliquer aussi bien des filtres \u00e0 moyennes mobiles convolutionnels classiques (dits filtres lin\u00e9aires non r\u00e9cursifs ou FIR, <em>Finite Impulse Response<\/em>) que des filtres r\u00e9cursifs autor\u00e9gressifs (IIR, <em>Infinite Impulse Response<\/em>). Or, comme d\u00e9montr\u00e9 dans la section th\u00e9orique, l&rsquo;EMA est rigoureusement \u00e9quivalente \u00e0 un processus autor\u00e9gressif d&rsquo;ordre 1 (AR(1)) dot\u00e9 d&rsquo;un terme d&rsquo;innovation pond\u00e9r\u00e9.<\/p>\n<p>Pour exploiter <code>stats::filter()<\/code> dans le calcul d&rsquo;une EMA, il convient de reformuler math\u00e9matiquement l&rsquo;\u00e9quation de r\u00e9currence :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"S_t = (1 - \\alpha) S_{t-1} + \\alpha Y_t\">$$S_t = (1 &#8211; \\alpha) S_{t-1} + \\alpha Y_t$$<\/span><\/p>\n<p>Dans la syntaxe formelle de <code>stats::filter()<\/code>, un filtre autor\u00e9gressif unilat\u00e9ral se configure en renseignant l&rsquo;argument <code>method = \"recursive\"<\/code> et en sp\u00e9cifiant le coefficient d&rsquo;autor\u00e9gression via l&rsquo;argument <code>filter = (1 - alpha)<\/code>. L&rsquo;argument d&rsquo;entr\u00e9e du signal correspond alors non pas au vecteur brut <span class=\"arabpsy-math-inline\" data-latex=\"Y\">$Y$<\/span>, mais \u00e0 la s\u00e9rie pr\u00e9alablement mise \u00e0 l&rsquo;\u00e9chelle par la constante de lissage, soit <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha Y_t\">$\\alpha Y_t$<\/span>.<\/p>\n<p>La commande s&rsquo;ex\u00e9cute ainsi sous la forme : <code>stats::filter(x * alpha, filter = 1 - alpha, method = \"recursive\", init = c(x[1]))<\/code>. Gr\u00e2ce \u00e0 l&rsquo;argument <code>init<\/code>, l&rsquo;utilisateur a la facult\u00e9 d&rsquo;initialiser pr\u00e9cis\u00e9ment le registre r\u00e9cursif au premier point de la s\u00e9rie. Sur le plan de la vitesse d&rsquo;ex\u00e9cution, <code>stats::filter()<\/code> s&rsquo;av\u00e8re nettement sup\u00e9rieure \u00e0 une boucle <code>for<\/code> cod\u00e9e manuellement en script, car l&rsquo;\u00e9valuation s\u00e9quentielle est enti\u00e8rement d\u00e9l\u00e9gu\u00e9e \u00e0 un sous-programme compil\u00e9 en langage C au c\u0153ur du noyau de R.<\/p>\n<h3>7.3 Calcul vectoris\u00e9 avec la fonction Reduce()<\/h3>\n<p>Une troisi\u00e8me voie d&rsquo;impl\u00e9mentation en Base R, particuli\u00e8rement \u00e9l\u00e9gante pour les adeptes du paradigme de programmation fonctionnelle, mobilise la fonction d&rsquo;ordre sup\u00e9rieur <code>Reduce()<\/code>. La primitive <code>Reduce()<\/code> permet de r\u00e9duire s\u00e9quentiellement une liste ou un vecteur en combinant it\u00e9rativement ses \u00e9l\u00e9ments successifs au moyen d&rsquo;un op\u00e9rateur binaire, tout en disposant de la capacit\u00e9 de conserver la trace int\u00e9grale de tous les \u00e9tats interm\u00e9diaires gr\u00e2ce \u00e0 son argument <code>accumulate = TRUE<\/code>.<\/p>\n<p>Pour conceptualiser l&rsquo;EMA sous l&rsquo;angle de la programmation fonctionnelle, consid\u00e9rons la fonction de mise \u00e0 jour binaire <span class=\"arabpsy-math-inline\" data-latex=\"f(s_{prev}, y_{curr}) = \\alpha \\cdot y_{curr} + (1 - \\alpha) \\cdot s_{prev}\">$f(s_{prev}, y_{curr}) = \\alpha \\cdot y_{curr} + (1 &#8211; \\alpha) \\cdot s_{prev}$<\/span>. Cette expression prend deux arguments : l&rsquo;\u00e9tat accumul\u00e9 issu de l&rsquo;it\u00e9ration pr\u00e9c\u00e9dente et l&rsquo;observation empirique contemporaine.<\/p>\n<p>En R, cette fonction peut \u00eatre d\u00e9clar\u00e9e de mani\u00e8re anonyme et pass\u00e9e directement \u00e0 <code>Reduce()<\/code> :<\/p>\n<p>L&rsquo;\u00e9valuation s&rsquo;\u00e9crit formellement : <code>ema_reduce &lt;- Reduce(function(s_prev, y_curr) alpha * y_curr + (1 - alpha) * s_prev, x, accumulate = TRUE)<\/code>. Bien que cette formulation fonctionnelle se distingue par une compacit\u00e9 syntaxique remarquable et \u00e9limine tout \u00e9tat mutable externe, elle demeure l\u00e9g\u00e8rement plus lente que <code>stats::filter()<\/code> sur de tr\u00e8s larges volumes de donn\u00e9es en raison du co\u00fbt d&rsquo;appel r\u00e9p\u00e9t\u00e9 de la fermeture fonctionnelle en environnement interpr\u00e9t\u00e9. N\u00e9anmoins, pour des s\u00e9ries temporelles de dimensions moyennes (courantes dans les \u00e9tudes psychologiques), elle offre une solution robuste, \u00e9l\u00e9gante et enti\u00e8rement auto-contenue sans d\u00e9pendances annexes.<\/p>\n<h2>8. Int\u00e9gration de l&rsquo;EMA dans l&rsquo;\u00e9cosyst\u00e8me Tidyverse<\/h2>\n<h3>8.1 Calcul de l&rsquo;EMA au sein d&rsquo;un pipeline dplyr<\/h3>\n<p>Dans la pratique contemporaine de l&rsquo;analyse de donn\u00e9es, les chercheurs privil\u00e9gient les structures tabulaires standardis\u00e9es (<em>tidy data<\/em>) o\u00f9 chaque ligne repr\u00e9sente une unit\u00e9 d&rsquo;observation temporelle et chaque colonne une variable conceptuelle distincte. L&rsquo;int\u00e9gration harmonieuse du lissage exponentiel au sein des pipelines de transformation de donn\u00e9es articul\u00e9s autour de <code>dplyr<\/code> constitue donc une comp\u00e9tence m\u00e9thodologique essentielle.<\/p>\n<p>Gr\u00e2ce au verbe <code>mutate()<\/code> et \u00e0 l&rsquo;op\u00e9rateur de cha\u00eenage (le <em>pipe<\/em> natif <code>|&gt;<\/code> ou le pipe historique <code>%&gt;%<\/code> de <code>magrittr<\/code>), il est particuli\u00e8rement ais\u00e9 d&rsquo;enrichir une table de donn\u00e9es avec plusieurs variantes de moyennes mobiles exponentielles, calcul\u00e9es selon diff\u00e9rentes fen\u00eatres temporelles, facilitant ainsi des comparaisons multi-\u00e9chelles imm\u00e9diates :<\/p>\n<p>Au sein d&rsquo;un bloc de code <code>tibble_donnees |&gt; mutate(...)<\/code>, on peut instancier simultan\u00e9ment une colonne <code>EMA_court_terme = TTR::EMA(mesure, n = 5)<\/code>, une colonne <code>EMA_moyen_terme = TTR::EMA(mesure, n = 15)<\/code>, et une colonne <code>EMA_long_terme = TTR::EMA(mesure, n = 30)<\/code>. Cette syntaxe fluide garantit la pr\u00e9servation stricte de la topologie tabulaire et permet d&rsquo;encha\u00eener imm\u00e9diatement des \u00e9tapes subs\u00e9quentes de filtrage, de calcul de r\u00e9sidus ou d&rsquo;exportation sans rupture dans la s\u00e9quence analytique.<\/p>\n<h3>8.2 Gestion des calculs group\u00e9s par sujet (longitudinal)<\/h3>\n<p>L&rsquo;immense majorit\u00e9 des recherches quantitatives en psychologie ou en biom\u00e9trie ne porte pas sur un individu unique, mais sur des cohortes ou des panels comprenant des dizaines ou des centaines de participants suivis longitudinalement. Dans un jeu de donn\u00e9es tabulaire au format long, les trajectoires temporelles individuelles sont empil\u00e9es s\u00e9quentiellement, chaque participant \u00e9tant distingu\u00e9 par une variable cat\u00e9gorielle (par exemple <code>sujet_id<\/code>).<\/p>\n<p>Dans une telle configuration, appliquer une fonction d&rsquo;EMA de mani\u00e8re globale sur la colonne de mesure globale constituerait une aberration m\u00e9thodologique gravissime : les premi\u00e8res valeurs d&rsquo;un sujet donn\u00e9 incorporeraient par r\u00e9currence m\u00e9morielle les derni\u00e8res observations du sujet pr\u00e9c\u00e9dent dans le tableau ! Pour conjurer ce risque d&rsquo;inter-contamination des s\u00e9ries, l&rsquo;instruction <code>dplyr::group_by(sujet_id)<\/code> doit \u00eatre imp\u00e9rativement intercal\u00e9e en amont de l&rsquo;op\u00e9ration <code>mutate()<\/code> :<\/p>\n<p>En encapsulant l&rsquo;\u00e9valuation dans un contexte group\u00e9, R r\u00e9initialise automatiquement l&rsquo;algorithme d&rsquo;EMA au d\u00e9but de chaque strate individuelle. Ainsi, pour chaque participant, la m\u00e9moire du filtre repart de z\u00e9ro (ou de sa propre valeur initiale <span class=\"arabpsy-math-inline\" data-latex=\"Y_{1, \\text{sujet}}\">$Y_{1, \\text{sujet}}$<\/span>), garantissant une isolation stricte des dynamiques temporelles intra-individuelles. Il est imp\u00e9ratif de conclure syst\u00e9matiquement ce pipeline par l&rsquo;instruction <code>ungroup()<\/code> pour lib\u00e9rer la structure de donn\u00e9es et \u00e9viter des effets de bord impr\u00e9vus lors des analyses agr\u00e9g\u00e9es ult\u00e9rieures.<\/p>\n<h3>8.3 Exploitation avanc\u00e9e avec le package slider<\/h3>\n<p>Bien que <code>TTR<\/code> et <code>pracma<\/code> soient des r\u00e9f\u00e9rences incontournables, ils postulent une progression indiciaire discr\u00e8te et r\u00e9guli\u00e8re. D\u00e8s lors que l&rsquo;analyste fait face \u00e0 des s\u00e9ries chronologiques empiriques caract\u00e9ris\u00e9es par des intervalles de temps substantiellement irr\u00e9guliers, le package moderne <code>slider<\/code> (d\u00e9velopp\u00e9 par Davis Vaughan) apporte une souplesse algorithmique consid\u00e9rable. <code>slider<\/code> r\u00e9invente le concept de fen\u00eatre glissante en introduisant des fonctions natives pour les calculs cumulatifs et glissants bas\u00e9s sur des index calendaires r\u00e9els.<\/p>\n<p>Au travers de fonctions telles que <code>slide_index()<\/code> ou <code>slide_index_dbl()<\/code>, <code>slider<\/code> permet de conditionner la s\u00e9lection des donn\u00e9es non pas sur un compte strict d&rsquo;indices de lignes (comme les <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> derni\u00e8res lignes), mais sur une fen\u00eatre de temps r\u00e9elle explicite (par exemple : \u00ab toutes les observations survenues dans les 48 heures pr\u00e9c\u00e9dant l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"t\">$t$<\/span> \u00bb). Bien que le lissage exponentiel r\u00e9cursif classique repose math\u00e9matiquement sur une r\u00e9cursion unitaire, la combinaison des fen\u00eatres temporelles continues de <code>slider<\/code> avec des fonctions d&rsquo;amortissement exponentiel continu adapt\u00e9es au temps physique permet de r\u00e9soudre avec une rigueur statistique optimale les irr\u00e9gularit\u00e9s d&rsquo;\u00e9chantillonnage propres aux protocoles de recherche en vie r\u00e9elle.<\/p>\n<h2>9. Visualisation graphique acad\u00e9mique avec ggplot2<\/h2>\n<h3>9.1 Construction du graphique de base comparatif<\/h3>\n<p>La restitution visuelle d&rsquo;un processus de lissage s\u00e9quentiel exige une rigueur s\u00e9miotique stricte afin de permettre une interpr\u00e9tation non \u00e9quivoque de la trajectoire sous-jacente par rapport aux donn\u00e9es brutes. En utilisant <code>ggplot2<\/code>, le standard d&rsquo;excellence graphique en R, la composition s&rsquo;articule autour de la superposition de couches g\u00e9om\u00e9triques hi\u00e9rarchis\u00e9es.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/ewma1.png\" alt=\"Exponentially weighted moving average in R\" \/><figcaption>Exponentially weighted moving average in R<\/figcaption><\/figure>\n<p>La structure visuelle de r\u00e9f\u00e9rence repose sur la superposition d&rsquo;\u00e9l\u00e9ments discrets et continus :<\/p>\n<ul>\n<li>Les donn\u00e9es empiriques observ\u00e9es (<span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span>) sont avantageusement repr\u00e9sent\u00e9es par des points g\u00e9om\u00e9triques discrets (<code>geom_point()<\/code>) associ\u00e9s \u00e0 un segment filaire de faible \u00e9paisseur et de couleur neutre (comme un gris moyen semi-transparent). Ce choix graphique exprime visuellement la nature fluctuante et bruit\u00e9e du signal instantan\u00e9 sans surcharger la lisibilit\u00e9 cognitive de la figure.<\/li>\n<li>La s\u00e9rie liss\u00e9e par l&rsquo;EMA (<span class=\"arabpsy-math-inline\" data-latex=\"S_t\">$S_t$<\/span>) est mat\u00e9rialis\u00e9e par une courbe continue de fort contraste chromatique et d&rsquo;\u00e9paisseur plus prononc\u00e9e (<code>geom_line(size = 1.2)<\/code>), incarnant la composante tendancielle extraite.<\/li>\n<li>Il est fr\u00e9quemment pertinent d&rsquo;int\u00e9grer une repr\u00e9sentation graphique des \u00e9carts d&rsquo;innovation : en tra\u00e7ant des barres verticales discr\u00e8tes reliant chaque point empirique \u00e0 son estimation liss\u00e9e contemporaine, l&rsquo;observateur per\u00e7oit imm\u00e9diatement l&rsquo;amplitude des r\u00e9sidus non capt\u00e9s par le filtre.<\/li>\n<\/ul>\n<p>L&rsquo;optimisation des \u00e9chelles avec <code>scale_x_continuous()<\/code> et <code>scale_y_continuous()<\/code> doit veiller \u00e0 inclure des coupures majeures coh\u00e9rentes avec la temporalit\u00e9 de l&rsquo;exp\u00e9rience (par exemple des graduations quotidiennes ou hebdomadaires r\u00e9guli\u00e8res).<\/p>\n<h3>9.2 Visualisation de plusieurs fen\u00eatres temporelles simultan\u00e9es<\/h3>\n<p>Pour illustrer de mani\u00e8re p\u00e9dagogique le comportement de l&rsquo;EMA sous diff\u00e9rents r\u00e9gimes d&rsquo;amortissement, la visualisation conjointe de multiples fen\u00eatres de lissage (par exemple <span class=\"arabpsy-math-inline\" data-latex=\"n = 3\">$n = 3$<\/span>, <span class=\"arabpsy-math-inline\" data-latex=\"n = 8\">$n = 8$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"n = 20\">$n = 20$<\/span>) est hautement pr\u00e9conis\u00e9e. Pour ex\u00e9cuter cette t\u00e2che selon les pr\u00e9ceptes du <em>grammar of graphics<\/em>, les donn\u00e9es doivent \u00eatre restructur\u00e9es pr\u00e9alablement au format long au moyen de la fonction <code>tidyr::pivot_longer()<\/code>.<\/p>\n<p>Une fois les diff\u00e9rentes s\u00e9ries liss\u00e9es fondues dans une colonne d&rsquo;indicateur g\u00e9n\u00e9rique et une colonne de valeurs correspondante, l&rsquo;instruction esth\u00e9tique <code>aes(color = Type_Lissage, linetype = Type_Lissage)<\/code> g\u00e9n\u00e8re automatiquement une l\u00e9gende vectorielle d\u00e9taill\u00e9e. Ce proc\u00e9d\u00e9 permet de mettre visuellement en sc\u00e8ne l&rsquo;effet du compromis r\u00e9activit\u00e9-stabilit\u00e9 :<\/p>\n<ul>\n<li>La courbe correspondant \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"n = 3\">$n = 3$<\/span> (r\u00e9activit\u00e9 forte) \u00e9pouse fid\u00e8lement les micro-inflexions du signal brut mais transmet une grande proportion de bruit r\u00e9siduel.<\/li>\n<li>La courbe associ\u00e9e \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"n = 20\">$n = 20$<\/span> (forte inertie) traverse le nuage de points avec une courbure tr\u00e8s douce, r\u00e9v\u00e9lant la tendance macroscopique mais affichant un d\u00e9calage de phase manifeste lors des inversions locales.<\/li>\n<\/ul>\n<p>L&rsquo;utilisation de palettes chromatiques perceptuellement uniformes et adapt\u00e9es aux d\u00e9ficiences de la vision des couleurs (telles que la palette <em>Viridis<\/em> via <code>scale_color_viridis_d()<\/code>) garantit l&rsquo;accessibilit\u00e9 visuelle universelle du document scientifique produit.<\/p>\n<h3>9.3 Mise en forme selon les normes acad\u00e9miques et de l&rsquo;APA<\/h3>\n<p>Pour une publication dans une revue internationale r\u00e9vis\u00e9e par les pairs, notamment dans les disciplines psychologiques et biom\u00e9triques r\u00e9gies par les normes de l&rsquo;<em>American Psychological Association<\/em> (APA 7th edition), l&rsquo;esth\u00e9tique par d\u00e9faut des visualisations informatiques (fonds gris\u00e9s quadrill\u00e9s, typographies standard sans hi\u00e9rarchie) doit \u00eatre substantiellement \u00e9pur\u00e9e.<\/p>\n<p>L&rsquo;application d&rsquo;un th\u00e8me rigoureux tel que <code>theme_classic()<\/code> ou <code>theme_minimal()<\/code> constitue la premi\u00e8re \u00e9tape de cette mise en conformit\u00e9. Les modifications typographiques et structurelles s&rsquo;ex\u00e9cutent via la fonction <code>theme()<\/code> :<\/p>\n<ul>\n<li>Suppression int\u00e9grale des lignes de quadrillage secondaires et att\u00e9nuation des lignes principales pour ne pas distraire l&rsquo;\u0153il de la dynamique des courbes.<\/li>\n<li>Positionnement de la l\u00e9gende \u00e0 l&rsquo;int\u00e9rieur de la zone graphique (si l&rsquo;espace le permet) ou en position sup\u00e9rieure horizontale afin de maximiser le ratio surface utile sur espace total.<\/li>\n<li>D\u00e9finition d&rsquo;\u00e9tiquettes d&rsquo;axes explicites, incluant rigoureusement le nom de la variable et son unit\u00e9 m\u00e9trique de mesure entre parenth\u00e8ses (par exemple : <em>Temps de r\u00e9ponse (en millisecondes)<\/em> ou <em>Score d&rsquo;affect n\u00e9gatif (\u00e9chelle de 1 \u00e0 10)<\/em>).<\/li>\n<li>Int\u00e9gration d&rsquo;un sous-titre ou d&rsquo;une note de bas de figure (<code>labs(caption = \"...\")<\/code>) renseignant avec exactitude les valeurs d&rsquo;<span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> et de <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span> mobilis\u00e9es dans le calcul.<\/li>\n<\/ul>\n<p>L&rsquo;exportation finale s&rsquo;op\u00e8re via la fonction <code>ggsave()<\/code>, en configurant imp\u00e9rativement une r\u00e9solution minimale de 300 \u00e0 600 DPI (<em>Dots Per Inch<\/em>) pour les formats matriciels (TIFF ou PNG haute r\u00e9solution) ou, id\u00e9alement, en g\u00e9n\u00e9rant un trac\u00e9 vectoriel au format PDF ou SVG afin de garantir une nettet\u00e9 absolue \u00e0 tout facteur de grossissement lors de la mise en page \u00e9ditoriale.<\/p>\n<h2>10. Optimisation statistique et s\u00e9lection du param\u00e8tre de lissage<\/h2>\n<h3>10.1 Compromis biais-variance dans le choix de la constante de lissage<\/h3>\n<p>Le choix de la valeur optimale de la constante d&rsquo;amortissement <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> (ou de son \u00e9quivalent <span class=\"arabpsy-math-inline\" data-latex=\"n\">$n$<\/span>) n&rsquo;est pas une simple d\u00e9cision heuristique ou cosm\u00e9tique ; il touche au c\u0153ur de la th\u00e9orie statistique g\u00e9n\u00e9rale de l&rsquo;apprentissage machine et de l&rsquo;estimation : le compromis biais-variance. Dans le cadre de l&rsquo;EMA consid\u00e9r\u00e9e comme un estimateur du niveau local du signal, ce dilemme math\u00e9matique se d\u00e9ploie selon deux polarit\u00e9s oppos\u00e9es :<\/p>\n<p>D&rsquo;un c\u00f4t\u00e9, lorsque <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> est fix\u00e9 \u00e0 une valeur excessivement faible (surlissage), l&rsquo;estimateur int\u00e8gre une quantit\u00e9 massive d&rsquo;informations pass\u00e9es. Si le signal sous-jacent est non-stationnaire et poss\u00e8de une tendance \u00e9volutive, le filtre sera chroniquement en retard d&rsquo;une phase par rapport \u00e0 la v\u00e9ritable trajectoire locale. L&rsquo;erreur syst\u00e9matique augmente de fa\u00e7on drastique : il s&rsquo;agit d&rsquo;une explosion du <strong>biais statistique<\/strong> d&rsquo;estimation. Le mod\u00e8le sous-estime syst\u00e9matiquement les phases d&rsquo;ascension et surestime les phases de d\u00e9clin.<\/p>\n<p>D&rsquo;un autre c\u00f4t\u00e9, lorsque <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> tend vers des valeurs \u00e9lev\u00e9es (sous-lissage), l&rsquo;estimateur \u00e9limine le biais de retard, s&rsquo;alignant au plus pr\u00e8s des variations contemporaines. Toutefois, en accordant un poids d\u00e9terminant \u00e0 l&rsquo;observation <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span>, le filtre incorpore une proportion critique de la variance du terme d&rsquo;erreur stochastique <span class=\"arabpsy-math-inline\" data-latex=\"\\epsilon_t\">$\\epsilon_t$<\/span>. La <strong>variance de l&rsquo;estimateur<\/strong> cro\u00eet alors de mani\u00e8re intenable. L&rsquo;objectif m\u00e9thodologique consiste d\u00e8s lors \u00e0 calibrer analytiquement ou algorithmiquement la valeur de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> qui minimise l&rsquo;erreur globale de reconstruction.<\/p>\n<h3>10.2 Crit\u00e8res quantitatifs d&rsquo;\u00e9valuation de la performance (RMSE, MAE, MAPE)<\/h3>\n<p>Pour objectiver la pr\u00e9cision pr\u00e9dictive et descriptive de l&rsquo;EMA, la mod\u00e9lisation s\u00e9quentielle s&rsquo;appuie sur le concept de pr\u00e9vision \u00e0 un pas (<em>one-step-ahead forecast error<\/em>). \u00c0 l&rsquo;instant temporel <span class=\"arabpsy-math-inline\" data-latex=\"t-1\">$t-1$<\/span>, l&rsquo;estimation liss\u00e9e <span class=\"arabpsy-math-inline\" data-latex=\"S_{t-1}\">$S_{t-1}$<\/span> constitue formellement la pr\u00e9diction de l&rsquo;\u00e9tat futur <span class=\"arabpsy-math-inline\" data-latex=\"Y_t\">$Y_t$<\/span>. L&rsquo;erreur de pr\u00e9vision contemporaine s&rsquo;\u00e9crit :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"e_t = Y_t - S_{t-1}\">$$e_t = Y_t &#8211; S_{t-1}$$<\/span><\/p>\n<p>\u00c0 partir de cette s\u00e9quence d&rsquo;\u00e9carts empiriques mesur\u00e9s sur l&rsquo;intervalle <span class=\"arabpsy-math-inline\" data-latex=\"t in {2, dots, T}\">$t in {2, dots, T}$<\/span>, plusieurs fonctions de perte quantitatives standardis\u00e9es peuvent \u00eatre calcul\u00e9es :<\/p>\n<ul>\n<li><strong>L&rsquo;erreur quadratique moyenne (RMSE, <em>Root Mean Squared Error<\/em>) :<\/strong><br \/>\n    <span class=\"arabpsy-math-display\" data-latex=\"\\text{RMSE} = \\sqrt{\\frac{1}{T-1} \\sum_{t=2}^T (Y_t - S_{t-1})^2}\">$$\\text{RMSE} = \\sqrt{\\frac{1}{T-1} \\sum_{t=2}^T (Y_t &#8211; S_{t-1})^2}$$<\/span><br \/>\n    Cette m\u00e9trique p\u00e9nalise lourdement les \u00e9carts d&rsquo;amplitude extr\u00eame en raison de l&rsquo;\u00e9l\u00e9vation au carr\u00e9, s&rsquo;av\u00e9rant tr\u00e8s adapt\u00e9e si les grandes erreurs d&rsquo;estimation comportent des co\u00fbts m\u00e9thodologiques ou cliniques s\u00e9v\u00e8res.<\/li>\n<li><strong>L&rsquo;erreur absolue moyenne (MAE, <em>Mean Absolute Error<\/em>) :<\/strong><br \/>\n    <span class=\"arabpsy-math-display\" data-latex=\"\\text{MAE} = \\frac{1}{T-1} \\sum_{t=2}^T |Y_t - S_{t-1}|\">$$\\text{MAE} = \\frac{1}{T-1} \\sum_{t=2}^T |Y_t &#8211; S_{t-1}|$$<\/span><br \/>\n    Plus robuste face aux valeurs aberrantes que la RMSE, elle exprime l&rsquo;erreur d&rsquo;estimation dans l&rsquo;unit\u00e9 m\u00e9trique naturelle de la variable mesur\u00e9e.<\/li>\n<li><strong>Le pourcentage d&rsquo;erreur absolue moyenne (MAPE, <em>Mean Absolute Percentage Error<\/em>) :<\/strong> Utilis\u00e9 lorsque des comparaisons doivent \u00eatre effectu\u00e9es entre plusieurs s\u00e9ries temporelles poss\u00e9dant des ordres de grandeur d&rsquo;\u00e9chelle radicalement distincts.<\/li>\n<\/ul>\n<p>Dans l&rsquo;environnement R, la d\u00e9termination de l&rsquo;<span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> optimal s&rsquo;ex\u00e9cute de mani\u00e8re automatis\u00e9e en d\u00e9finissant une fonction de perte param\u00e9trique (qui calcule par exemple la RMSE en fonction d&rsquo;un scalaire d&rsquo;entr\u00e9e <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span>), puis en soumettant cette fonction \u00e0 l&rsquo;optimiseur unidimensionnel natif <code>optimize(f = fonction_rmse, interval = c(0.01, 0.99))<\/code>. Cette proc\u00e9dure computationnelle identifie la constante exacte qui minimise formellement l&rsquo;\u00e9cart quadratique r\u00e9siduel pour la s\u00e9rie analys\u00e9e.<\/p>\n<h3>10.3 Validation crois\u00e9e pour s\u00e9ries chronologiques<\/h3>\n<p>L&rsquo;optimisation de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> sur l&rsquo;int\u00e9gralit\u00e9 d&rsquo;un jeu de donn\u00e9es historique engendre un risque latent de surapprentissage (<em>overfitting<\/em>), o\u00f9 le param\u00e8tre s\u00e9lectionn\u00e9 s&rsquo;av\u00e8re artificiellement adapt\u00e9 au bruit sp\u00e9cifique de l&rsquo;\u00e9chantillon r\u00e9trospectif mais se r\u00e9v\u00e8le sous-optimal pour filtrer des donn\u00e9es prospectives in\u00e9dites. Dans le champ des s\u00e9ries temporelles, l&rsquo;usage de la validation crois\u00e9e standard par partitions al\u00e9atoires (<em>k-fold cross-validation<\/em> standard) est rigoureusement prohib\u00e9 car elle d\u00e9truit la structure causale et l&rsquo;autocorr\u00e9lation s\u00e9rielle du processus en m\u00e9langeant des points futurs et pass\u00e9s.<\/p>\n<p>La validation empirique impose de d\u00e9ployer une strat\u00e9gie de validation crois\u00e9e par fen\u00eatre glissante ou par origine temporelle croissante (<em>rolling origin time series cross-validation<\/em> ou <em>evaluation on expanding window<\/em>). Sous R, ce protocole d&rsquo;\u00e9valuation s\u00e9quentielle proc\u00e8de de la fa\u00e7on suivante :<\/p>\n<p>On alloue un sous-ensemble initial de donn\u00e9es historiques (par exemple les <span class=\"arabpsy-math-inline\" data-latex=\"m\">$m$<\/span> premiers jours d&rsquo;observation) comme ensemble d&rsquo;entra\u00eenement. Le param\u00e8tre <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> y est calibr\u00e9 par minimisation de la RMSE. Ensuite, on utilise cet <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> pour pr\u00e9dire l&rsquo;observation survenue \u00e0 l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"m+1\">$m+1$<\/span>, et l&rsquo;erreur d&rsquo;estimation prospective est enregistr\u00e9e. L&rsquo;ensemble d&rsquo;entra\u00eenement est ensuite \u00e9tendu pour incorporer ce point <span class=\"arabpsy-math-inline\" data-latex=\"m+1\">$m+1$<\/span>, et le processus est r\u00e9it\u00e9r\u00e9 de mani\u00e8re it\u00e9rative jusqu&rsquo;au terme de la s\u00e9rie temporelle. La moyenne des erreurs prospectives obtenues sur l&rsquo;ensemble des segments de test fournit une estimation rigoureusement non biais\u00e9e de la capacit\u00e9 de g\u00e9n\u00e9ralisation r\u00e9elle du param\u00e8tre de lissage retenu.<\/p>\n<h2>11. Diagnostic des pi\u00e8ges m\u00e9thodologiques et erreurs fr\u00e9quentes<\/h2>\n<h3>11.1 Le biais d&rsquo;anticipation temporelle (Look-ahead bias)<\/h3>\n<p>Le biais d&rsquo;anticipation temporelle (d\u00e9sign\u00e9 dans la litt\u00e9rature anglo-saxonne sous les termes de <em>look-ahead bias<\/em> ou <em>data snooping<\/em>) repr\u00e9sente l&rsquo;une des erreurs m\u00e9thodologiques les plus insidieuses dans le traitement de signaux temporels. Il survient d\u00e8s lors qu&rsquo;une op\u00e9ration de transformation de donn\u00e9es int\u00e8gre, de mani\u00e8re explicite ou d\u00e9guis\u00e9e, des informations temporelles qui ne sont pas encore survenues au moment de l&rsquo;\u00e9tat estim\u00e9.<\/p>\n<p>Dans le domaine du filtrage, ce biais s&rsquo;infiltre classiquement lorsque le chercheur recourt par m\u00e9garde \u00e0 des moyennes mobiles centr\u00e9es ou bilat\u00e9rales au lieu de filtres r\u00e9cursifs causaux stricts. Une moyenne mobile centr\u00e9e calcule le point <span class=\"arabpsy-math-inline\" data-latex=\"S_t\">$S_t$<\/span> en utilisant les observations r\u00e9parties sym\u00e9triquement entre <span class=\"arabpsy-math-inline\" data-latex=\"t - k\">$t &#8211; k$<\/span> et <span class=\"arabpsy-math-inline\" data-latex=\"t + k\">$t + k$<\/span>. D\u00e8s lors, l&rsquo;\u00e9tat calcul\u00e9 \u00e0 l&rsquo;instant pr\u00e9sent <span class=\"arabpsy-math-inline\" data-latex=\"t\">$t$<\/span> d\u00e9pend fonctionnellement des valeurs <span class=\"arabpsy-math-inline\" data-latex=\"Y_{t+1}, dots, Y_{t+k}\">$Y_{t+1}, dots, Y_{t+k}$<\/span> qui rel\u00e8vent du futur temporel !<\/p>\n<p>Si l&rsquo;analyste utilise ult\u00e9rieurement cette trajectoire liss\u00e9e artificiellement contamin\u00e9e pour concevoir un mod\u00e8le de pr\u00e9diction statistique ou tester la r\u00e9activit\u00e9 comportementale face \u00e0 un stresseur aigu, les m\u00e9triques pr\u00e9dictives obtenues seront outrageusement surestim\u00e9es : le mod\u00e8le appara\u00eetra comme dot\u00e9 d&rsquo;une prescience artificielle. L&rsquo;EMA canonique, par sa d\u00e9finition purement autor\u00e9gressive unilat\u00e9rale (<span class=\"arabpsy-math-inline\" data-latex=\"S_t = \\alpha Y_t + (1 - \\alpha)S_{t-1}\">$S_t = \\alpha Y_t + (1 &#8211; \\alpha)S_{t-1}$<\/span>), est intrins\u00e8quement causale. Le chercheur doit veiller avec la plus haute rigueur \u00e0 n&#8217;employer aucune fonction utilitaire de r\u00e9tro-lissage (telle que les filtres passe-bas non causaux de type <code>signal::filtfilt<\/code> \u00e0 phase nulle) lorsqu&rsquo;il entend mod\u00e9liser des dynamiques d\u00e9cisionnelles en temps r\u00e9el ou respecter la stricte ant\u00e9riorit\u00e9 temporelle de la causalit\u00e9 psychologique.<\/p>\n<h3>11.2 Le d\u00e9phasage temporel (Lag) et son interpr\u00e9tation<\/h3>\n<p>La contrepartie in\u00e9vitable de la causalit\u00e9 stricte d&rsquo;un filtre unilat\u00e9ral r\u00e9side dans l&rsquo;apparition d&rsquo;un d\u00e9phasage temporel (<em>time lag<\/em>). Tout filtre lin\u00e9aire passe-bas op\u00e9rant exclusivement sur l&rsquo;histoire pass\u00e9e introduit un d\u00e9calage structurel dans la propagation du signal. Sur le plan math\u00e9matique, pour une oscillation harmonique sous-jacente ou un \u00e9chelon unitaire, le retard de groupe moyen induit par une moyenne mobile exponentielle gouvern\u00e9e par la constante <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> s&rsquo;\u00e9tablit tr\u00e8s pr\u00e9cis\u00e9ment selon la relation :<\/p>\n<p><span class=\"arabpsy-math-display\" data-latex=\"\\text{D\u00e9phasage moyen} = \\frac{1 - \\alpha}{\\alpha} = \\frac{n - 1}{2}\">$$\\text{D\u00e9phasage moyen} = \\frac{1 &#8211; \\alpha}{\\alpha} = \\frac{n &#8211; 1}{2}$$<\/span><\/p>\n<p>Ce d\u00e9calage a des implications interpr\u00e9tatives critiques pour la psychologie quantitative :<\/p>\n<ul>\n<li>Si un chercheur analyse l&rsquo;\u00e9volution de l&rsquo;affect n\u00e9gatif suite \u00e0 un \u00e9v\u00e9nement traumatique aigu survenu \u00e0 l&rsquo;instant <span class=\"arabpsy-math-inline\" data-latex=\"t^*\">$t^*$<\/span>, la courbe liss\u00e9e par l&rsquo;EMA n&rsquo;atteindra son pic d&rsquo;amplitude maximale qu&rsquo;avec un retard syst\u00e9matique de <span class=\"arabpsy-math-inline\" data-latex=\"(1 - \\alpha) \/ \\alpha\">$(1 &#8211; \\alpha) \/ \\alpha$<\/span> pas de temps par rapport \u00e0 l&rsquo;\u00e9v\u00e9nement r\u00e9el.<\/li>\n<li>Conclure que le patient a pr\u00e9sent\u00e9 un d\u00e9lai de r\u00e9activit\u00e9 \u00e9motionnelle latente alors que ce retard d\u00e9coule directement de la constante d&rsquo;amortissement de l&rsquo;algorithme de calcul constitue une erreur d&rsquo;inf\u00e9rence substantive majeure.<\/li>\n<\/ul>\n<p>Il est donc essentiel de quantifier explicitement ce d\u00e9phasage lors de la restitution des r\u00e9sultats ou de recourir, lorsque la causalit\u00e9 temps r\u00e9el n&rsquo;est pas requise (dans le cadre strict d&rsquo;analyses purement r\u00e9trospectives de signaux biom\u00e9triques de laboratoire), \u00e0 des m\u00e9thodes de compensation de phase ou \u00e0 des algorithmes \u00e0 double passe temporelle (aller-retour) qui annulent th\u00e9oriquement le d\u00e9phasage global au d\u00e9triment de la causalit\u00e9 en ligne.<\/p>\n<h3>11.3 Instabilit\u00e9 num\u00e9rique li\u00e9e aux s\u00e9ries courtes et aux donn\u00e9es atypiques<\/h3>\n<p>L&rsquo;application non critique de l&rsquo;EMA sur des s\u00e9ries temporelles courtes (inf\u00e9rieures \u00e0 une trentaine d&rsquo;observations) ou hautement contamin\u00e9es par des points extr\u00eames aberrants (<em>outliers<\/em>) confronte le chercheur \u00e0 des \u00e9cueils de robustesse num\u00e9rique et statistique majeurs :<\/p>\n<p>Le premier \u00e9cueil concerne la non-convergence de la m\u00e9moire g\u00e9om\u00e9trique. Comme nous l&rsquo;avons th\u00e9oris\u00e9, la somme des poids exponentiels ne vaut rigoureusement $1$ que lorsque le nombre de points pass\u00e9s tend vers l&rsquo;infini. Sur une s\u00e9rie tr\u00e8s courte (par exemple <span class=\"arabpsy-math-inline\" data-latex=\"T = 10\">$T = 10$<\/span> avec <span class=\"arabpsy-math-inline\" data-latex=\"n = 5\">$n = 5$<\/span> soit <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 0{,}333\">$\\alpha = 0{,}333$<\/span>), la somme tronqu\u00e9e des poids effectifs <span class=\"arabpsy-math-inline\" data-latex=\"\\sum_{i=0}^{t-1} \\alpha (1 - \\alpha)^i\">$\\sum_{i=0}^{t-1} \\alpha (1 &#8211; \\alpha)^i$<\/span> reste substantiellement inf\u00e9rieure \u00e0 $1$ lors des premi\u00e8res it\u00e9rations, induisant une compression artificielle de l&rsquo;\u00e9chelle du signal si un facteur de normalisation dynamique du d\u00e9nominateur n&rsquo;est pas programm\u00e9 au sein du code.<\/p>\n<p>Le second \u00e9cueil r\u00e9side dans la vuln\u00e9rabilit\u00e9 intrins\u00e8que de la moyenne mobile exponentielle face aux perturbations impulsives isol\u00e9es. Bien que l&rsquo;EMA amortisse la sortie des valeurs extr\u00eames (\u00e9liminant le saut rectangulaire de la SMA), elle demeure un estimateur bas\u00e9 sur l&rsquo;esp\u00e9rance arithm\u00e9tique : elle ne poss\u00e8de aucun point de rupture au sens de la statistique robuste. Une unique valeur aberrante d&rsquo;amplitude colossale (par exemple une d\u00e9faillance de capteur cardiovasculaire g\u00e9n\u00e9rant un artefact \u00e0 250 battements par minute chez un individu au repos) va instantan\u00e9ment contaminer le niveau estim\u00e9 <span class=\"arabpsy-math-inline\" data-latex=\"S_t\">$S_t$<\/span> \u00e0 hauteur de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha \\times 250\">$\\alpha \\times 250$<\/span>. Cette perturbation se dissipera lentement au fil des it\u00e9rations futures, alt\u00e9rant l&rsquo;\u00e9valuation de la tendance durant toute la p\u00e9riode de relaxation du filtre. Face \u00e0 de telles donn\u00e9es empiriques bruit\u00e9es, des alternatives m\u00e9thodologiques robustes, telles que les m\u00e9dianes mobiles exponentielles ou les filtres de Hampel appliqu\u00e9s en amont de l&rsquo;EMA, doivent \u00eatre imp\u00e9rativement mobilis\u00e9es.<\/p>\n<h2>12. \u00c9tude de cas compl\u00e8te et reproductible sous R<\/h2>\n<h3>12.1 Pr\u00e9sentation du sc\u00e9nario exp\u00e9rimental et des donn\u00e9es<\/h3>\n<p>Pour parachever ce trait\u00e9 m\u00e9thodologique, d\u00e9veloppons une \u00e9tude de cas int\u00e9grale, document\u00e9e et reproductible. Imaginons une recherche men\u00e9e en psychologie clinique longitudinale \u00e9valuant la cin\u00e9tique de la d\u00e9tresse psychologique chez un patient b\u00e9n\u00e9ficiant d&rsquo;une intervention psychoth\u00e9rapeutique cibl\u00e9e sur une dur\u00e9e de 60 jours cons\u00e9cutifs. Le niveau de d\u00e9tresse est quantifi\u00e9 quotidiennement via une \u00e9chelle psychom\u00e9trique standardis\u00e9e continue gradu\u00e9e de 0 (s\u00e9r\u00e9nit\u00e9 absolue) \u00e0 100 (d\u00e9tresse aigu\u00eb insoutenable).<\/p>\n<p>Le profil temporel sous-jacent du patient pr\u00e9sente trois phases dynamiques distinctes :<\/p>\n<ul>\n<li><strong>Phase 1 (Jours 1 \u00e0 20) :<\/strong> Une phase de base (<em>baseline<\/em>) oscillant autour d&rsquo;un plateau moyen \u00e9lev\u00e9 de 70 points, refl\u00e9tant une souffrance psychique chronique stabilis\u00e9e.<\/li>\n<li><strong>Phase 2 (Jours 21 \u00e0 23) :<\/strong> Un choc \u00e9motionnel aigu induisant une aggravation brutale transitoire propulsant le score vers 90 points.<\/li>\n<li><strong>Phase 3 (Jours 24 \u00e0 60) :<\/strong> Une d\u00e9croissance th\u00e9rapeutique progressive mod\u00e9lisant la r\u00e9mission symptomatique, amenant asymptotiquement le score vers une valeur cible de 25 points au soixanti\u00e8me jour.<\/li>\n<\/ul>\n<p>\u00c0 cette trajectoire th\u00e9orique d\u00e9terministe s&rsquo;ajoute une variabilit\u00e9 intra-individuelle quotidienne non pr\u00e9dictible mod\u00e9lis\u00e9e par un bruit gaussien <span class=\"arabpsy-math-inline\" data-latex=\"\\epsilon_t \\sim \\mathcal{N}(0, 4^2)\">$\\epsilon_t \\sim \\mathcal{N}(0, 4^2)$<\/span>. L&rsquo;objectif analytique consiste \u00e0 mobiliser l&rsquo;environnement R pour extraire le signal tendanciel net au moyen de l&rsquo;EMA, optimiser la s\u00e9lection de <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span>, comparer les impl\u00e9mentations logicielles de r\u00e9f\u00e9rence, et produire une restitution graphique acad\u00e9mique finale irr\u00e9prochable.<\/p>\n<h3>12.2 Script complet d&rsquo;analyse pas \u00e0 pas<\/h3>\n<p>La mise en \u0153uvre computationnelle de cette \u00e9tude de cas s&rsquo;articule selon un script s\u00e9quentiel comment\u00e9, int\u00e9grant l&rsquo;ensemble des bonnes pratiques et des packages \u00e9tudi\u00e9s. Nous allons d\u00e9crire pr\u00e9cis\u00e9ment chaque \u00e9tape m\u00e9thodologique de cette s\u00e9quence ex\u00e9cutable :<\/p>\n<p>Dans la premi\u00e8re section du code, nous proc\u00e9dons \u00e0 l&rsquo;initialisation de l&rsquo;environnement, \u00e0 la fixation de la graine pseudo-al\u00e9atoire (<code>set.seed(123)<\/code>) et au chargement ordonn\u00e9 des biblioth\u00e8ques <code>tidyverse<\/code>, <code>pracma<\/code>, <code>TTR<\/code> et <code>scales<\/code>. Ensuite, nous construisons le tableau de donn\u00e9es empiriques. Le vecteur d\u00e9terministe sous-jacent est formalis\u00e9 en concat\u00e9nant les trois segments temporels d\u00e9crits pr\u00e9c\u00e9demment, auquel est additionn\u00e9 le vecteur de bruits gaussiens g\u00e9n\u00e9r\u00e9 par <code>rnorm(60, mean = 0, sd = 4)<\/code>. Le tout est scell\u00e9 dans un tibble contenant la variable temporelle <code>Jour<\/code> et la variable de r\u00e9ponse <code>Detresse_Brute<\/code>.<\/p>\n<p>Dans la deuxi\u00e8me \u00e9tape, nous ex\u00e9cutons le calcul comparatif des moyennes mobiles exponentielles. Nous appliquons la fonction <code>pracma::movavg()<\/code> avec une pseudo-fen\u00eatre <span class=\"arabpsy-math-inline\" data-latex=\"n = 7\">$n = 7$<\/span> (correspondant \u00e0 un cycle de lissage hebdomadaire, soit <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 2 \/ (7 + 1) = 0{,}25\">$\\alpha = 2 \/ (7 + 1) = 0{,}25$<\/span>). Parall\u00e8lement, nous invoquons <code>TTR::EMA()<\/code> sur la m\u00eame variable avec le m\u00eame param\u00e8tre <span class=\"arabpsy-math-inline\" data-latex=\"n = 7\">$n = 7$<\/span>. Nous stockons ces deux sorties dans les colonnes <code>EMA_pracma<\/code> et <code>EMA_ttr<\/code>. Une colonne additionnelle est calcul\u00e9e \u00e0 l&rsquo;aide de notre fonction personnalis\u00e9e d&rsquo;autor\u00e9gression r\u00e9cursive d\u00e9velopp\u00e9e en Base R afin de v\u00e9rifier la stricte \u00e9quivalence math\u00e9matique des trajectoires obtenues d\u00e8s la sortie de la phase de rodage.<\/p>\n<p>La troisi\u00e8me \u00e9tape s&rsquo;attelle \u00e0 l&rsquo;optimisation param\u00e9trique. Nous d\u00e9finissons formellement une fonction de perte <code>calcul_rmse_ema(alpha_candidat)<\/code> qui applique le lissage exponentiel r\u00e9cursif sur la s\u00e9rie empirique et quantifie l&rsquo;erreur quadratique moyenne de pr\u00e9diction \u00e0 un pas. En sollicitant l&rsquo;optimiseur natif <code>optimize(calcul_rmse_ema, interval = c(0.05, 0.95))<\/code>, nous extrayons computationnellement la constante de lissage empirique optimale <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha^*\">$\\alpha^*$<\/span>, que nous convertissons en sa pseudo-fen\u00eatre temporelle \u00e9quivalente <span class=\"arabpsy-math-inline\" data-latex=\"n^* = (2 \/ \\alpha^*) - 1\">$n^* = (2 \/ \\alpha^*) &#8211; 1$<\/span>. Cette valeur optimis\u00e9e est alors utilis\u00e9e pour calculer une derni\u00e8re colonne de lissage haute performance nomm\u00e9e <code>EMA_Optimale<\/code>.<\/p>\n<p>Enfin, la quatri\u00e8me \u00e9tape pilote l&rsquo;ing\u00e9nierie visuelle sous <code>ggplot2<\/code>. Les donn\u00e9es sont pr\u00e9par\u00e9es pour int\u00e9grer \u00e0 la fois le nuage de points brut, la courbe calcul\u00e9e selon la fen\u00eatre clinique heuristique hebdomadaire (<span class=\"arabpsy-math-inline\" data-latex=\"n = 7\">$n = 7$<\/span>) et la trajectoire optimis\u00e9e par minimisation d&rsquo;erreur. Le graphique est enrichi d&rsquo;un bandeau d&rsquo;annotation contextuelle situant le choc aigu du jour 21, configur\u00e9 selon les pr\u00e9ceptes esth\u00e9tiques de <code>theme_classic()<\/code>, pourvu d&rsquo;\u00e9tiquettes typographiques conformes aux normes acad\u00e9miques internationales, et export\u00e9 dans le syst\u00e8me de fichiers local via <code>ggsave()<\/code> avec une r\u00e9solution calibr\u00e9e \u00e0 300 DPI.<\/p>\n<h3>12.3 Interpr\u00e9tation substantive des r\u00e9sultats et conclusion<\/h3>\n<p>L&rsquo;examen des trajectoires num\u00e9riques et visuelles g\u00e9n\u00e9r\u00e9es par notre protocole d&rsquo;analyse s\u00e9quentielle livre des enseignements fondamentaux pour le clinicien et le m\u00e9thodologiste :<\/p>\n<p>En premier lieu, la confrontation entre le signal brut accident\u00e9 et les s\u00e9ries liss\u00e9es par l&rsquo;EMA met en lumi\u00e8re la remarquable capacit\u00e9 de l&rsquo;algorithme \u00e0 extraire l&rsquo;essence de la trajectoire clinique sans masquer la cin\u00e9tique des \u00e9v\u00e9nements critiques. Alors que les oscillations journali\u00e8res al\u00e9atoires (bruit de fond) cr\u00e9ent l&rsquo;illusion d&rsquo;une alternance constante de rechutes et de r\u00e9missions mineures, l&rsquo;EMA d&rsquo;\u00e9chelle hebdomadaire (<span class=\"arabpsy-math-inline\" data-latex=\"n = 7\">$n = 7$<\/span>, <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha = 0{,}25\">$\\alpha = 0{,}25$<\/span>) neutralise ces artefacts stochastiques tout en r\u00e9agissant promptement lors du choc survenu au jour 21. Le pic de souffrance est clairement identifi\u00e9, et la transition vers la phase de d\u00e9croissance th\u00e9rapeutique est imm\u00e9diatement restitu\u00e9e sans l&rsquo;inertie paralysante qu&rsquo;aurait impos\u00e9e une moyenne arithm\u00e9tique simple de m\u00eame envergure.<\/p>\n<p>En second lieu, l&rsquo;optimisation computationnelle de la constante <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha\">$\\alpha$<\/span> r\u00e9v\u00e8le la g\u00e9om\u00e9trie profonde du signal temporel \u00e9tudi\u00e9. Si la valeur optimale <span class=\"arabpsy-math-inline\" data-latex=\"\\alpha^*\">$\\alpha^*$<\/span> converge vers un \u00e9quilibre stable (par exemple autour de <span class=\"arabpsy-math-inline\" data-latex=\"0{,}20\">$0{,}20$<\/span> \u00e0 <span class=\"arabpsy-math-inline\" data-latex=\"0{,}30\">$0{,}30$<\/span>), elle valide quantitativement l&rsquo;intuition empirique du chercheur quant \u00e0 la temporalit\u00e9 hebdomadaire de la r\u00e9gulation de l&rsquo;affect chez ce participant. Le filtre exponentiel s&rsquo;impose ainsi non seulement comme un simple instrument de nettoyage cosm\u00e9tique de figures scientifiques, mais comme un puissant outil de mod\u00e9lisation math\u00e9matique capable d&rsquo;objectiver l&rsquo;inertie \u00e9motionnelle et la cin\u00e9tique de r\u00e9cup\u00e9ration psychologique au fil du temps.<\/p>\n<p>En conclusion de ce trait\u00e9, le calcul de la moyenne mobile exponentielle sous l&rsquo;environnement R se r\u00e9v\u00e8le \u00eatre une d\u00e9marche m\u00e9thodologique hautement polyvalente, articulant harmonieusement des fondements th\u00e9oriques math\u00e9matiques rigoureux et une diversit\u00e9 d&rsquo;outils computationnels allant de l&rsquo;abstraction fonctionnelle native de Base R \u00e0 la haute performance de packages sp\u00e9cialis\u00e9s comme <code>pracma<\/code> ou <code>TTR<\/code>. En respectant scrupuleusement les exigences de causalit\u00e9 temporelle, en anticipant le d\u00e9phasage inh\u00e9rent au filtrage, en g\u00e9rant de fa\u00e7on appropri\u00e9e les phases d&rsquo;amor\u00e7age et en int\u00e9grant ces processus dans l&rsquo;\u00e9cosyst\u00e8me modulaire du <code>tidyverse<\/code>, le chercheur en sciences quantitatives dispose d&rsquo;un appareillage statistique d&rsquo;exception pour percer la structure latente des s\u00e9ries chronologiques complexes.<\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Box, G. E. P., Jenkins, G. M., Reinsel, G. C., &amp; Ljung, G. M. (2015). <em>Time series analysis: Forecasting and control<\/em> (5th ed.). John Wiley &amp; Sons. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1002\/9781118619193\">https:\/\/doi.org\/10.1002\/9781118619193<\/a><\/li>\n<li>Borchers, H. W. (2023). <em>pracma: Practical numerical math functions<\/em> (R package version 2.4.4). CRAN. <a rel=\"noopener noreferrer\" href=\"https:\/\/CRAN.R-project.org\/package=pracma\">https:\/\/CRAN.R-project.org\/package=pracma<\/a><\/li>\n<li>Brown, R. G. (1959). <em>Statistical forecasting for inventory control<\/em>. McGraw-Hill.<\/li>\n<li>Cleveland, W. S. (1979). Robust locally weighted regression and smoothing scatterplots. <em>Journal of the American Statistical Association<\/em>, 74(368), 829-836. &lt;a href=&quot;https:\/\/doi.org\/10.1080\/01621459.1979.10481038<\/a><\/li>\n<li>Holt, C. C. (2004). Forecasting seasonals and trends by exponentially weighted moving averages. <em>International Journal of Forecasting<\/em>, 20(1), 5-10. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1016\/j.ijforecast.2003.09.015\">https:\/\/doi.org\/10.1016\/j.ijforecast.2003.09.015<\/a><\/li>\n<li>Hunter, J. S. (1986). The exponentially weighted moving average. <em>Journal of Quality Technology<\/em>, 18(4), 203-210. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1080\/00224065.1986.11979014\">https:\/\/doi.org\/10.1080\/00224065.1986.11979014<\/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>Kuppens, P., Allen, N. B., &amp; Sheeber, L. B. (2010). Emotional inertia and psychological maladjustment. <em>Psychological Science<\/em>, 21(7), 984-991. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1177\/0956797610372634\">https:\/\/doi.org\/10.1177\/0956797610372634<\/a><\/li>\n<li>Ulrich, J. (2023). <em>TTR: Technical trading rules<\/em> (R package version 0.24.4). CRAN. <a rel=\"noopener noreferrer\" href=\"https:\/\/CRAN.R-project.org\/package=TTR\">https:\/\/CRAN.R-project.org\/package=TTR<\/a><\/li>\n<li>Vaughan, D. (2023). <em>slider: Sliding window functions<\/em> (R package version 0.3.1). CRAN. <a rel=\"noopener noreferrer\" href=\"https:\/\/CRAN.R-project.org\/package=slider\">https:\/\/CRAN.R-project.org\/package=slider<\/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 rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.21105\/joss.01686\">https:\/\/doi.org\/10.21105\/joss.01686<\/a><\/li>\n<li>Wilder, J. W. (1978). <em>New concepts in technical trading systems<\/em>. Trend Research.<\/li>\n<li>Zeileis, A., &amp; Grothendieck, G. (2005). zoo: S3 infrastructure for regular and irregular time series. <em>Journal of Statistical Software<\/em>, 14(6), 1-27. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v014.i06\">https:\/\/doi.org\/10.18637\/jss.v014.i06<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour calculer et optimiser une moyenne mobile exponentielle (EMA) dans R avec pracma, TTR et les m\u00e9thodes vectoris\u00e9es natives.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[2141,2193,9214],"tags":[2203,5668,9215,16,2658,1911,9216],"class_list":["post-8019","psych_stat","type-psych_stat","status-publish","hentry","category-methodologie-quantitative","category-programmation-r","category-series-temporelles","tag-lissage-exponentiel","tag-moyenne-mobile-exponentielle","tag-pracma","tag-psychometrie","tag-r","tag-series-temporelles","tag-ttr"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/8019","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=8019"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/8019\/revisions"}],"predecessor-version":[{"id":8021,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/8019\/revisions\/8021"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}