Anda di halaman 1dari 43

Modélisation Multivariée des séries

chronologiques

Chapitre 3 :
Introduction
• Souvent, en économie, les données sont collectées sur
plusieurs variables : taux de change quotidien concernant
plusieurs devises.
• Ainsi, dans ce chapitre, nous étendrons le modèle
autorégressif de base à un modèle Vecteur autorégressif ,
noté VAR. Ce dernier présente plus d’une série temporelle
dépendante puis nous présenteront quelques méthodes dans
R pour ajuster de telles modèles. On abordera la notion de
séries cointégrées partageant un même Trend Stochastique.
Ce qui nécessite l’étude des tests statistiques spéciaux pour
détecter cette cointégration. Puisque nos variables sont
temporelles, elles présenteront souvent les mêmes
propriétés. On peut alors étudier la liaison entre elles par des
modèles de régression. Cependant, ces modèles peuvent être
fallacieux (trompeurs). Ce problème sera examiné
minutieusement avant de passer à des modèles appropriés à
des Séries Temporelles Multivariées.
Régression fallacieuse
• Dans le cas des ST, il est prudent de faire attention à des
relations causales avant d'être sûr qu'il n'y a pas 1 autre
variable qi serait la cause de la relation apparente entre
les 2 premières. Cette relation serait due au partage d'un
Trend stochastique ou à des fluctuations saisonnières.

• Exemple : Production d'électricité et consommation du


chocolat en Australie. En effet les2 ST se partagent un
Trend croissant dû à 1 croissance de la population
australienne mais n'implique nullement que le
changement d'une variable cause le changement de
l'autre
> CE=read.table(file.choose(),header=TRUE) # ce.txt

100000 120000 140000 160000


> head(CE)
choc beer elec
1 1451 96.3 1497
2 2037 84.4 1463

as.vector(aggregate(elect.ts))
3 2477 91.2 1648
4 2785 81.9 1595

80000
5 2994 80.5 1777

60000
6 2681 70.4 1824

40000
20000

> elec.ts=ts(CE[,3],st=1958,fr=12) 30000 40000 50000 60000 70000 80000 90000

a s .ve c to r(a g g re g a te (c ho c .ts ))


> choc.ts=ts(CE[,1],st=1958,fr=12)
> ts.plot(elec.ts,choc.ts,col=c(2,4))
> plot(as.vector(aggregate(choc.ts)),as.vector(aggregate(elec.ts)))
> cor(aggregate(choc.ts), aggregate(elec.ts))
[1] 0.958
 DW = 0.49626, p-value = 1.511e-08
Régression fallacieuse
• Le nuage de point ne montre pas une relation de
cause à effet entre les deux séries.
• Remarquons que c’est la croissance de la
population qui cause un Trend croissant dans les
deux séries.
• Quoique, on peut ajuster avec un modèle de
régression linéaire une variable sur une autre.
• Une telle régression est dite fallacieuse à cause
de l’absence d’une relation causale entre les deux
variables.
Régression fallacieuse

• Une autre raison de cette appellation est due


à l’existence d’un trend stochastique commun
dans les deux séries. Rappelons qu’un Trend
stochastique est caractéristique d’un
Processus ARIMA avec racine unitaire.
• En effet :
Régression fallacieuse
> set.seed(10); x <- rnorm(100); y <- rnorm(100)
> for(i in 2:100) {
x[i] <- x[i-1] + rnorm(1)

10
y[i] <- y[i-1] + rnorm(1) }

5
> plot(x, y)

y
> cor(x, y)

0
[1] 0.904

-5
> dwtest(lm(y~x))
DW = 0.33781, p-value < 2.2e-16 0 2 4 6 8 10 12

alternative hypothesis: true autocorrelation is greater than 0 x

Attention aux séries économiques qui présentent le plus souvent des


trends stochastiques
Exemple Taux de change entre livre RU, l’Euro et le $ NZ
pour la période Jan. 2004 à Dec. 2007.

0.85
> acf( diff(tc$UK) )

0.80
> acf( diff(tc$EU) )
> plot(tc$UK, tc$EU, pch = 4)

tc$EU

0.75
> cor(tc$UK, tc$EU)
[1] 0.946

0.70
Series diff(tc$UK)
1.0
0.8

Series diff(tc$EU)
0.48 0.50 0.52 0.54 0.56 0.58
1.0
0.6

tc$UK
ACF

0.8
0.4

0.6
0.2

ACF

0.4
0.0

0.2
0.0

0 5 10 15 20 25 30

Lag

0 5 10 15 20 25 30

Lag
Tests De Racine Unitaire

• Lorsqu'on veut étudier une relation entre


deux ST, on doit s'assurer que les modèles des
ST contenant la racine unitaire conviennent.

• Si c'est le cas, on doit vérifier si oui ou non les


2 ST contiennent un trend stochastique
commun.
Tests De Racine Unitaire

• Plus précisément :

• Vérifier si chaque ST peut être approximer par


un RW. (voir acf de son diff).

• Attention la présence d'un Trend stoch. Peut


être aussi synonyme d'une modélisation par un
Proc ARIMA plus complexe.
Tests De Racine Unitaire
• Test de D.F. (Dickey -Fuller):
H 0 : α = 1

# où x t = α x t −1 + wt et wt est un BB
H : α < 1
 1

• Test de A.D.F. ( Augmented Dickey -Fuller):


• Test plus général s'appliquant à des cas où wt
est stationnaire plutôt que BB et approxime la
série stationnaire par un modèle AR.
Tests de Racine Unitaire

> set.seed(10); x <- rnorm(100)


>for(i in 2:100) x[i] <- x[i-1] + rnorm(1)
>require(tseries)
>adf.test(x)
Augmented Dickey-Fuller Test
data: x
Dickey-Fuller = -2.23, Lag order = 4, p-value = 0.4796
alternative hypothesis: stationary

Attention aux petites séries car la taille détermine la puissance du


Test.
Tests De Racine Unitaire
• Une alternative à ADF est Phillips-Perron test
• Test de p.p.test :
• La principale différence est que le p.p estime l'autocorrélation
dans le Proc stationnaire wt au lieu de l'approximer par un AR
> pp.test(tc$UK)
Phillips-Perron Unit Root Test
data: tc$UK
Dickey-Fuller Z(alpha) = -10.6, Truncation lag parameter = 7, p-value = 0.521
alternative hypothesis: stationary
> pp.test(tc$EU)
Phillips-Perron Unit Root Test
data: tc$EU
Dickey-Fuller Z(alpha) = -6.81, Truncation lag parameter = 7, p-value = 0.7297
alternative hypothesis: stationary
Cointegration
• Plusieurs ST Multiples sont très corrélées dans le temps
• Exemples :
 La haute corrélation entre la Consommation de l'électricité
(fichier ce.txt) et la consommation du chocolat, qui est due à la
croissance de la population plutôt qu'à une relation causale
entre les deux séries.
 Taux de change de la livre et l'euro : tc$UK et tc$EU; ceci
s'explique par la similarité des 2 économies relativement à
l'économie de l' USA). De plus on montre que 2 ST
indépendantes et contenant une racine unitaire (i.e. suivent 2
RW indépendantes) peuvent montrer une relation linéaire
apparente due à une similitude "aléatoire" des RW et d'où faire
état d'1 corrélation fallacieuse (spurious). Cependant, il est fort
possible que 2 ST aient une racine unitaire et soient liées.

De telles séries sont dites cointegrées


Cointegration

Définition 1: La ST Xt est dite intégrée d'ordre d s'il


faut la différencier d fois pour qu'elle soit
stationnaire.
On note alors :  ↝ ()

Remarques :
Les proc. Stationnaires sont (0)
  ↝ () ssi ∇  = (1 − )  ↝ (0)
2
  ↝ (2) ⇒ ∇  ↝ (0)
La plus part des ST économiques sont (0)ou (1)
Cointegration

• Définition 2: Deux ST Xt et Yt sont dites cointégrées si :


    ↝ (1)
 Et s'il existe une contante    −  ↝ (0)

Remarques :
Si  est connue, la cointégration est testée par le
test standard de racine unitaire sur  − 
• Sinon  sera estimée par le modèle  =  +  + 
Et la cointégration sera testée par un test modifié de
racine unitaire sur les résidus 
 = .
Si séries non-stationnaires, tester la cointégration afin d'éviter une
régression fallacieuse.
Exemple 1 : de RW
• >require(tseries)
• > x <- y <- u <- rep(0, 1000)
• > for (i in 2:1000) u[i] <- u[i - 1] + rnorm(1)
• > x <- u + rnorm(1000)
• > y <- u + rnorm(1000)
• > adf.test(x)$p.value # β connue-racine unitaire - non stationnaire - I(1)
[1] 0.681518
• > adf.test(y)$p.value # β connue-racine unitaire - non stationnaire - I(1)
[1] 0.6680389
• > po.test(cbind(x, y)) # cointégrée
Phillips-Ouliaris Cointegration Test #null hypothesis that XY is not cointegrated
data: cbind(x, y)
Phillips-Ouliaris demeaned = -1051.2,
Truncation lag parameter = 9, p-value = 0.01
Exemple 2 : du Taux de change
• > po.test(cbind(tc$UK, tc$EU)) # β inconnue - racine unitaire - non stationnaire - I(1)
Phillips-Ouliaris Cointegration Test
data: cbind(tc$UK, tc$EU)
Phillips-Ouliaris demeaned = -21.662 , Truncation lag parameter = 10,
p-value = 0.04118
• > tc.lm <- lm(tc$UK ~ tc$EU) # β inconnue – Estimation par régression  = 0.587
• > tc.res <- resid(tc.lm) # β inconnue – >  
• > tc.res.ar <- ar(tc.res)
• > tc.res.ar$order
[1] 3
• > AIC(arima(tc.res, order = c(3, 0, 0)))
[1] -9886.26
• > AIC(arima(tc.res, order = c(2, 0, 0)))
[1] -9886.157
• > AIC(arima(tc.res, order = c(1, 0, 0)))
[1] -9880
• > AIC(arima(tc.res, order = c(1, 1, 0))) #  choix AR(2) : faible diff entre 2 et 3 : station : d=0
[1] -9876
Exemple 2 : du Taux de change
> ts.plot(cbind(tc$UK,
0.8
0.7
0.6
0.5
tc$EU),col=c(2,4))

0 200 400 600 800 1000

Time
Modèles à Correction d'Erreur (MCE)
• Soient Xt et Yt deux ST cointégrées :    ↝ (1)
 −  −  ↝ (0)
On peut alors estimer le modèle à correction d'erreur
suivant :
∇ = !∇ + " (−1 − −1 −  ) + # $ù " < 0
On aura
∇ = !∇ + "−1 + # $ù " < 0

 =  −  − 
Bruit Blanc bivarié et multivarié
Définition 1: Deux ST WXt et WYt sont dites BB bivarié
si elles sont stationnaires et si leurs covariance
γXY (*) = +$,-. , .+* 0 vérifie(k≠0) γXY (* ) = γXX (* ) = γYY (*) = 0

Remarque : γXX (0) = γYY (0) = 1 ; 2"34 γXY (0) = 0 $# ≠ 0


BB bivarié peut être corrélé à l'ordre (retard) 1.

Définition 2: (Wi,t )1<=i<=n est dit BB multivarié si elles


sont stationnaires et si chacune des Wi,t est un BB
leurs covariance
γij (*) = +$,-.3 , .8 +* 0 vérifie γij (* ) = γii (* ) = γjj (*) = 0
où (k ≠ 0)
Exemple 1 : de W BB bivarié
>require(mvtnorm)
> cov.mat <- matrix(c(1, 0.8, 0.8, 1), nr = 2)
> w <- rmvnorm(1000, sigma = cov.mat) # BB Gaussien multivarié
> cov(w)

0.8
[,1] [,2]

0.6
[1,] 0.9998004 0.7974458

0.4
[2,] 0.7974458 0.9581381

ACF
> wx <- w[, 1] # BB Gaussien univarié

0.2
> wy <- w[, 2] # BB Gaussien univarié

0.0
> ccf(wx, wy, main = "")
-20 -10 0 10 20

> acf(wx ) Lag

> acf(wx )
Modèles VAR : Vecteur AutoRegressif
• Définition : Deux ST Xt et Yt suivent un processus
autoregressif d'ordre 1 (noté VAR(1)) si :
 = :11 −1 + :12 −1 + .;, =
9
 = :21 −1 + :22 −1 + .< ,

• Où Wx,t et Wy,t est BB bivarié et (φ ij )sont les paramètres


du modèle.
• D'où l'écriture matricielle :
•  −1 (*)
• Où
 :11 :12 ;,
> = ? @ ; Φ = ? @  . = B C
 :21 :22 < ,
Modèles VAR : Vecteur AutoRegressif

Remarques : L'équation (*) est l'expression vectorielle d'un


processus AR(1). D'où la notation VAR(1).
En utilisant l'opérateur retard " ", on obtient :
(I − Φ)> = E()> = .
Où I est la matrice identité (2x2) et A est un polynôme
d'ordre 1 de matrices.
Le VAR(1) peut s'étendre à un VAR(p) avec m ST et où Z
matrice (mx1) et I est la matrice identité (mxm) et A est un
polynôme d'ordre p dep
matrices et Wt est un BB multivarié :
> = F Φi >−3 + .
i=1
Modèles VAR : Vecteur AutoRegressif

• Remarque :
Pour estimer les paramètres du
modèle VAR, il faut que les deux
Séries Temporelles Xt et Yt soient
stationnaires.
Modèles VAR : Vecteur AutoRegressif

Remarques :
 L'équation caractéristique d'un VAR(p) est donné par le
déterminant de E(; ) .
 Un VAR(p) est stationnaire si les racines, en valeur
absolue du déterminant de|E(; )| sont supérieurs à
1.
Pour Le VAR(1), le déterminant est donné par :
1 − :11 ; −:12 ;
I I = (1 − :11 ; )(1 − :22 ; )−:21 :12 ; 2
−:21 ; 1 − :22 ;
Modèles VAR : Vecteur AutoRegressif

• Exemple : Soit le VAR(1) suivant :


 = 0.4−1 + 0.3−1 + .; , =
9
 = 0.2−1 + 0.1−1 + .< ,
0.4 0.3
⇒Φ=B C
0.2 0.1

1 − 0.4; −0.3;
⇒ |E(; )| = L L = 1 − 0.5; − 0.02; 2
−0.2; 1 − 0.1;

> Mod(polyroot(c(1, -0.5, -0.02)))


[1] 1.86 26.86 # >1  stationnaire
Modèles VAR : Vecteur AutoRegressif
• Exemple : Simulation du VAR(1) précédent :
 = 0.4−1 + 0.3−1 + .; , =
9
 = 0.2−1 + 0.1−1 + .< ,
> x <- y <- rep(0, 1000)
> x[1] <- wx[1]
> y[1] <- wy[1]
> for (i in 2:1000) {
x[i] <- 0.4 * x[i - 1] + 0.3 * y[i - 1] + wx[i]
y[i] <- 0.2 * x[i - 1] + 0.1 * y[i - 1] + wy[i]
}
> xy.ar <- ar(cbind(x, y))
> xy.ar$ar[, , ]
x y
x 0.4148006 0.30191590
y 0.2267795 0.09846432
Modèles VAR : Vecteur AutoRegressif

Exemple 2 : Le modèle VAR ajusté aux séries de "US economic"


> library(tseries)
> data(USeconomic)
>summary(ur.df(GNP,lags=5,type="trend"))
>summary(ur.df(GNP,lags=2,type="trend"))#-> non stationnaire + drift
>Arima(GNP,order=c(2,1,0),include.drift=TRUE)
>Arima(diff(GNP),order=c(2,0,0),include.drift=FALSE)#
diff(GNP) est AR(2) Stationnaire
>summary(ur.df(M1,lags=5,type="trend"))
>summary(ur.df(M1,lags=1,type="trend"))#---> non stationnaire sans
drift ni tendance
>Arima(M1,order=c(1,1,0),include.drift=FALSE)
>Arima(diff(M1),order=c(1,0,0),include.mean=FALSE,include.drift=FALSE)
donc diff(M1) AR(1) stationnaire
Modèles VAR : Vecteur AutoRegressif

Exemple 2 : Le modèle VAR ajusté aux séries de "US economic"


> library(tseries)
> data(USeconomic)
> US.ar <- ar(cbind(diff(GNP), diff(M1)), method="ols", dmean=T, intercept=FALSE)
>US.ar$ar # méthode de min AIC

, , diff(GNP)
2
M
> = ? @ = F Φi >−3 + . ;
diff(GNP) diff(M1) N
3=1
1 0.1172613 -0.04414894 # où
0.117 1.006
2 0.1106320 0.01845652
Φ1 = B C;
−.044 0.601
, , diff(M1) 0.111 0.807
Φ2 = B C;
0.018 0.111
diff(GNP) diff(M1)
1 1.0060505 0.6007530
2 0.8074642 0.1107727
Modèles VAR : Vecteur AutoRegressif

Exemple 2 (suite) : Le modèle VAR "US economic"

> acf(US.ar$res[-c(1:2), 1]) # car e1, e2 sont NA


> acf(US.ar$res[-c(1:2), 2])
Series US.ar$res[-c(1:2), 2]
Series US.ar$res[-c(1:2), 1]

1.0
1.0

0.8
0.8

0.6
0.6

ACF
ACF

0.4
0.4

0.2
0.2

0.0
0.0

-0.2
-0.2

0 5 10 15 20 0 5 10 15 20

Lag Lag
Modèles VAR : Vecteur AutoRegressif

Exemple 2 (suite) : Le modèle VAR "US economic"


Pour la stationnarité du VAR(2), on calcule les racines :

⇒ |E(; )|
1 0 0.117 1.006 −.111 0.807 2
= LB C−B C; − B C; L
0 1 −.044 0.601 . 018 0.111

= 1 – 0.718; + 0.111; 2 − 0.109; 3 − 0.027; 4

> Mod( polyroot(c(1, -.718, .111, -0.109, -0.027)))


[1] 1.247527 2.272116 2.272116 5.750761

# Elles sont > 1  VAR(2) stationnaire


Modèles VAR : Vecteur AutoRegressif

Exemple 2 :
(suite)
VAR ajusté à"US economic"par "VAR"

En utilisant la fonction "VAR" de package "vars"


qui calcule les écart-types des paramètres
estimés et qui tient compte de l'existence du
Trend dans les données et, puisque GNP
montre une tendance suite à l'expansion de la
pop. Et augmentation de la productivité.
L'ajustement se fait sur le principe des
Moindres Carrés:
Modèles VAR : Vecteur AutoRegressif
Exemple 2 (suite) : VAR ajusté à"US economic"par "VAR"
• > library(vars)
• > US.var <- VAR(cbind(GNP, M1), p =2, type = "const")
• > coef(US.var)
• $diff.GNP.
• Estimate Std. Error t value Pr(>|t|)
• diff.GNP..l1 0.1172613 0.08785866 1.334658 1.843574e-01
• diff.M1..l1 1.0060505 0.41419844 2.428909 1.653302e-02
• diff.GNP..l2 0.1106320 0.08524336 1.297837 1.966773e-01
• diff.M1..l2 0.8074642 0.44639518 1.808855 7.282067e-02
• const 12.1961150 2.75135392 4.432768 1.979068e-05

• $diff.M1.
• Estimate Std. Error t value Pr(>|t|)
• diff.GNP..l1 -0.04414894 0.01865945 -2.366037 1.948024e-02
• diff.M1..l1 0.60075296 0.08796758 6.829254 3.089539e-10
• diff.GNP..l2 0.01845652 0.01810401 1.019471 3.099024e-01
• diff.M1..l2 0.11077272 0.09480554 1.168420 2.448088e-01
• const 0.81825793 0.58433333 1.400327 1.638347e-01
Modèles VAR : Vecteur AutoRegressif

Exemple 2 (suite) : VAR ajusté à"US economic"par "VAR"


• > library(vars)
• > US.var <- VAR(cbind(diff(GNP),diff( M1)) ,p = 1, type = "const")
• > coef(US.var)
$diff.GNP.
Estimate Std. Error t value Pr(>|t|)
diff.GNP..l1 0.2000335 0.08286988 2.413826 1.716855e-02
diff.M1..l1 1.4287861 0.34179014 4.180302 5.288382e-05
const 13.2386512 2.52308768 5.247004 6.053970e-07

$diff.M1.
Estimate Std. Error t value Pr(>|t|)
diff.GNP..l1 -0.03275837 0.01739816 -1.882864 6.193634e-02
diff.M1..l1 0.66023328 0.07175730 9.200921 7.250591e-16
const 1.04270637 0.52971091 1.968444 5.112841e-02
> US.var
• VAR Estimation Results:
• =======================

• Estimated coefficients for equation diff.GNP.:


• ==============================================
• Call:
• diff.GNP. = diff.GNP..l1 + diff.M1..l1 + const

• diff.GNP..l1 diff.M1..l1 const


• 0.2000335 1.4287861 13.2386512

• Estimated coefficients for equation diff.M1.:


• =============================================
• Call:
• diff.M1. = diff.GNP..l1 + diff.M1..l1 + const

• diff.GNP..l1 diff.M1..l1 const


• -0.03275837 0.66023328 1.04270637
Modèles VAR : Vecteur AutoRegressif

• On test la Blancheur des résidus :


• > acf(resid(US.var)[, 1])
• > acf(resid(US.var)[, 2])
Series resid(US.var)[, 1] Series resid(US.var)[, 2]

1.0
1.0

0.8
0.8

0.6
0.6

ACF
ACF

0.4
0.4

0.2
0.2

0.0
0.0

-0.2
-0.2

0 5 10 15 20 0 5 10 15 20

Lag Lag
Modèles VAR : Prédiction
• Revenons à l' "US economic"par "VAR" et faisons
une prévision pour l'année suivante 4 Trim):
• > US.pred <- predict(US.var, n.ahead = 4)
• > US.pred
• $diff.GNP.
• fcst lower upper CI
• [1,] 25.35210 -21.67216 72.37636 47.02426
• [2,] 17.47642 -32.86731 67.82016 50.34373
• [3,] 16.48743 -35.28902 68.26387 51.77644
• [4,] 17.04537 -35.32941 69.42015 52.37478

• $diff.M1.
• fcst lower upper CI
• [1,] -0.5833584 -10.45589 9.289173 9.872532
• [2,] -0.1729397 -11.98905 11.643170 11.816110
• [3,] 0.3560266 -12.08428 12.796336 12.440309
• [4,] 0.7376657 -11.89501 13.370342 12.632676
Modèles VAR : Prédiction
> GNP.pred <- ts(US.pred$fcst$ diff.GNP[, 1], st = 1988, fr = 4)
> ts.plot(cbind(window(diff(GNP), start = 1981), GNP.pred),
col=c(4,2),lty = 1:2,lwd=c(1,2))
> abline(v=1987.75,lty=2)
80
60
40
20
0
-20
-40

1982 1984 1986 1988

Time
Modèles VAR : Prédiction
> M1.pred <- ts(US.pred$fcst$diff.M1[, 1], st = 1988, fr = 4)
> ts.plot(cbind(window(diff(M1), start = 1981), M1.pred ),
col=c(4,2),lty = 1:2,lwd=c(1,2))
> abline(v=1987.75,lty=2)
20
15
10
5
0
-5
-10

1982 1984 1986 1988

Time
Sommaire des commandes de R
utilisées ici

• adf.test Dickey-Fuller : test pour unit roots


• pp.test Phillips-Perron test pour unit roots
• rmvnorm : simulation d'un BB multivarié
• po.test Phillips-Ouliaris : test de cointégration
• ar ajuste un modèle VAR basé sur le plus petit AIC
• VAR ajuste un modèle VAR basé sur les M.C
Causalité au sens de Granger
le cas du VAR(1)
2 ST Xt et Yt stationnaires suivant un processus VAR(1):
 = :11 −1 + :12 −1 + .;,
9
 = :21 −1 + :22 −1 + .< ,
• On dit que Yt ne cause pas Xt si on NRH0
R0 ∶ :12 = 0
• On dit que Xt ne cause pas Yt si on NRH0
R0 ∶ :21 = 0
Application de la causalité
• Voir "US economic" VAR(1)
> require(lmtest)
> grangertest(diff(M1)~diff(GNP), order = 1)
Granger causality test

Model 1: diff(M1) ~ Lags(diff(M1), 1:1) + Lags(diff(GNP), 1:1)


Model 2: diff(M1) ~ Lags(diff(M1), 1:1)
Res.Df Df F Pr(>F)
1 131
2 132 -1 3.5452 0.06194 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> grangertest(diff(GNP)~ diff(M1), order = 1)
Granger causality test

Model 1: diff(GNP) ~ Lags(diff(GNP), 1:1) + Lags(diff(M1), 1:1)


Model 2: diff(GNP) ~ Lags(diff(GNP), 1:1)
Res.Df Df F Pr(>F)
1 131
2 132 -1 17.475 5.288e-05 ***
---