next up previous
Next: Simulation d'une série ARIMA Up: TP1 : Manipulation des Previous: Transformation d'une serie temporelle

Moyenne mobile

  1. Appliquer la moyenne mobile arithmétique centrée d'ordre 3 à la serie $y_t$ dans une étape Data à l'aide de la fonction Lag, stocker le résultat dans $a3$

    Corrigé

     
    /* Moyenne mobile */
    /* Avec des lags */
    data mlag;
      set serie;
      a3=(y+lag(y)+lag2(y))/3;
      y=lag(y); 
      x=lag(x);
      t=lag(t);
    run;
    

  2. tracer \bgroup\color{blue}$(x, y, a3)$\egroup de facon superposée.

    Corrigé

     
    proc gplot data=mlag;
      plot (x y a3)*t/ overlay legend;
    run;
    quit;
    

  3. Utiliser la procédure Expand pour appliquer les moyennes mobiles arithmétiques centrées d'ordre 3,5,13 et 23 à la série \bgroup\color{blue}$y_t$\egroup.

    Corrigé

     
    /* Avec expand */
    proc expand data=serie out=xlag;
      id t;
      convert y=a3 / transform=(cmovave 3);
      convert y=a5 / transform=(cmovave 5);
      convert y=a13 / transform=(cmovave 13);
      convert y=a23 / transform=(cmovave 23);
    run;
    

  4. Utiliser la fonction Lag pour claculer la moyenne mobile de Henderson d'ordre 13

    \begin{displaymath}\bgroup\color{blue}
\frac{1}{16796}(-325, -468, 0, 1100, 2475, 3600, 4032, 3600, 2475, 1100, 0, -468, -325)
\egroup\end{displaymath}

    Corrigé

     
    /* Moyenne mobile de henderson */
    data xlagh;
      set serie;
      h13=(
        -325*y
        -468*lag1(y)
        +1100*lag3(y)
        +2475*lag4(y)
        +3600*lag5(y)
        +4032*lag6(y)
        +3600*lag7(y)
        +2475*lag8(y)
        +1100*lag9(y)
        -468*lag11(y)
        -325*lag12(y))/16796;
      t=lag6(t);
      x=lag6(x);
      y=lag6(y);
      if h13 ne .;
    run;
    
    proc gplot data=xlagh;
      plot (x y h13)*t / overlay legend;
    run;
    quit;
    
  5. Calculer la même moyenne mobile avec la procedure procedure Expand. (lire les documents sur internet). La procédure Expand n'accepte que des poids positifs. Comparer la moyenne mobile de Henderson à l'application successive de 3 moyennes mobile centré d'ordre 5 à la série \bgroup\color{blue}$y$\egroup.

    Corrigé

     
    /* Moyenne mobile de Henderson avec expand */
    proc expand data=serie out=xlag2;
      id t;
      convert xb=a5_5_5 / transform=(cmovave 5 cmovave 5 cmovave 5);
      convert xb=h13_p / transform=(cmovave (0 0 0 1100 2475 3600 4032 3600 2475 1100 0 0 0));
      convert xb=h13_n / transform=(cmovave (325 468 0 0 0 0 0 0 0 0 0 468 325));
    run;
    
    data xlag2;
      set xlag2;
      h13=(h13_p*(+1100 +2475 +3600 +4032 +3600 +2475 +1100)
           -h13_n*(+325 +468 +468 +325))/16796;
    run;
    
    proc gplot data=xlag2;
      plot (x xb a5_5_5 h13)*t      / overlay legend;
    run;
    quit;
    


next up previous
Next: Simulation d'une série ARIMA Up: TP1 : Manipulation des Previous: Transformation d'une serie temporelle
Huilong Zhang 2009-12-16