Simulation de séries temporelles

Un billet rapide pour reprendre le code tapé en cours, la semaine passée. Considérons  un processus autorégressif d’ordre 1,  où  est un bruit blanc, stationnaire, i.e.  appartient à l’intervalle . Le code pour simuler un tel processus est

n=1000
bruit=rnorm(n)
phi1= .85
X=rep(NA,n)
X[1]=0
for(t in 2:n){X[t]=phi1*X[t-1]+bruit[t]}
plot(acf(X),lwd=5,col='blue')
plot(pacf(X),lwd=5,col='blue')

ou avec un autocorrélation au premier ordre négative,

phi1= -0.7

On peut aussi regarder un processus autorégressif au second ordre,

sur la figure ci-dessous (avec en haut à gauche le triangle de stationnarité du couple de paramètres).

phi1=  0.3
phi2=  0.5
X=rep(NA,n)
X[1:2]=0
for(t in 3:n){
X[t]=phi1*X[t-1]+phi2*X[t-2]+bruit[t]}

Histoire de changer un peu, on peut regarder un processus moyenne mobile au premier ordre,  où  est un paramètre dans .

theta1=  .8
X=rep(NA,n)
X[1]=0
for(t in 2:n){
X[t]=bruit[t]+theta1*bruit[t-1]}

ou une moyenne mobile du second ordre,

theta1= -.6
theta2=  .5
X=rep(NA,n)
X[1:2]=0
for(t in 3:n){
X[t]=bruit[t]+theta1*bruit[t-1]+
theta2*bruit[t-2]}

 


One thought on “Simulation de séries temporelles”

  1. Bonjour,
    Mon œil a flashé sur le “triangle de stationnarité” des paramètres du processus AR(2) car je m’y étais justement intéressé en juin dernier.

    Je me permets de mentionner le petit script que j’avais créé alors et qui génère un graph interactif qui permet de “jouer” sur la valeur des deux paramètres et d’en voir les effets en temps réel (résponse impulsionnelle et fréquentiel, ainsi que le lieu des pôles).
    http://blog.éole.net/autoregressiv

    Au delà du processus autorégressif, ce qui m’intéressait était l’idée d’un programme interactif, (écrit en Python+Matplotlib plutôt qu’avec R car j’ai plus d’expérience avec le premier) avec l’idée qu’une telle interactivité puisse aider à se forger une intuition sur le comportement du phénomène étudié.

    Bien cordialement,
    Pierre

Leave a Reply

Your email address will not be published. Required fields are marked *