J'exécute le test de racine unitaire suivant (Dickey-Fuller) sur une série chronologique en utilisant la ur.df()
fonction dans le urca
package.
La commande est:
summary(ur.df(d.Aus, type = "drift", 6))
La sortie est:
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################
Test regression drift
Call:
lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
Residuals:
Min 1Q Median 3Q Max
-0.266372 -0.036882 -0.002716 0.036644 0.230738
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.001114 0.003238 0.344 0.73089
z.lag.1 -0.010656 0.006080 -1.753 0.08031 .
z.diff.lag1 0.071471 0.044908 1.592 0.11214
z.diff.lag2 0.086806 0.044714 1.941 0.05279 .
z.diff.lag3 0.029537 0.044781 0.660 0.50983
z.diff.lag4 0.056348 0.044792 1.258 0.20899
z.diff.lag5 0.119487 0.044949 2.658 0.00811 **
z.diff.lag6 -0.082519 0.045237 -1.824 0.06874 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.06636 on 491 degrees of freedom
Multiple R-squared: 0.04211, Adjusted R-squared: 0.02845
F-statistic: 3.083 on 7 and 491 DF, p-value: 0.003445
Value of test-statistic is: -1.7525 1.6091
Critical values for test statistics:
1pct 5pct 10pct
tau2 -3.43 -2.86 -2.57
phi1 6.43 4.59 3.78
Que signifient les codes de signification (codes significatifs)? J'ai remarqué que certains d'entre eux étaient écrits contre: z.lag.1, z.diff.lag.2, z.diff.lag.3 (le code de signification ".") Et z.diff.lag.5 (le " ** "code de signification).
La sortie me donne deux (2) valeurs de statistiques de test: -1,7525 et 1,6091. Je sais que la statistique de test ADF est la première (c'est-à-dire -1,7525). Quel est donc le deuxième?
Enfin, afin de tester l'hypothèse de racine unitaire au niveau de signification de 95%, je dois comparer ma statistique de test ADF (c'est-à-dire -1,7525) à une valeur critique, que j'obtiens normalement à partir d'un tableau. La sortie ici semble me donner les valeurs critiques à travers. Cependant, la question est: quelle valeur critique entre "tau2" et "phi1" dois-je utiliser.
Merci pour votre réponse.
la source
Réponses:
Il semble que les créateurs de cette commande R particulière présument que l'on connaît les formules originales de Dickey-Fuller, donc ils n'ont pas fourni la documentation pertinente sur la façon d'interpréter les valeurs. J'ai trouvé que Enders était une ressource incroyablement utile (Applied Econometric Time Series 3e, 2010, p. 206-209 - j'imagine que d'autres éditions iraient aussi bien). Ci-dessous, je vais utiliser les données du package URCA, le revenu réel au Danemark à titre d'exemple.
Il pourrait être utile de décrire d'abord les 3 formules différentes utilisées par Dickey-Fuller pour obtenir différentes hypothèses, car celles-ci correspondent aux options "type" ur.df. Enders précise que dans chacun de ces 3 cas, le terme cohérent utilisé est gamma, le coefficient de la valeur précédente de y, le terme de décalage. Si gamma = 0, alors il y a une racine unitaire (marche aléatoire, non stationnaire). Lorsque l'hypothèse nulle est gamma = 0, si p <0,05, alors nous rejetons la valeur nulle (au niveau de 95%) et supposons qu'il n'y a pas de racine unitaire. Si nous ne parvenons pas à rejeter la valeur nulle (p> 0,05), nous supposons qu'une racine unitaire existe. De là, nous pouvons procéder à l'interprétation des tau et phi.
1) type = "aucun": (formule de Enders p. 208)Δ y( t ) = γ∗ y( t - 1 ) + e ( t )
(où est le terme d'erreur, supposé être du bruit blanc; de ; fait référence au précédent valeur de y, est donc le terme de retard)e ( t ) γ= a - 1 y= a ∗ y( t - 1 ) + e ( t ) y( t - 1 )
Pour type = "none", tau (ou tau1 dans la sortie R) est l'hypothèse nulle pour gamma = 0. En utilisant l'exemple du revenu du Danemark, j'obtiens "La valeur de la statistique de test est 0,7944" et les "Valeurs critiques pour les statistiques de test sont : tau1 -2,6 -1,95 -1,61. Étant donné que la statistique de test se trouve dans les 3 régions (1%, 5%, 10%) où nous ne rejetons pas le zéro, nous devons présumer que les données sont une marche aléatoire, c'est-à-dire que une racine unitaire est présente. Dans ce cas, le tau1 se réfère à l'hypothèse gamma = 0. Le "z.lag1" est le terme gamma, le coefficient pour le terme de retard (y (t-1)), qui est p = 0,431, que nous ne rejetons pas comme significatif, impliquant simplement que le gamma n'est pas statistiquement significatif pour ce modèle. Voici la sortie de R
2) type = "dérive" (votre question spécifique ci-dessus):: (formule de Enders p. 208)Δ y( t ) = a 0 + γ∗ y( t - 1 ) + e ( t )
(où a0 est "un sous-zéro" et se réfère au terme constant ou dérive) C'est là que l'interprétation de la sortie devient plus délicate. "tau2" est toujours l' hypothèse nulle . Dans ce cas, où la première statistique de test = -1,4462 se situe dans la zone d'échec du rejet de la valeur nulle, nous devons à nouveau présumer une racine unitaire, .γ= 0 γ=0
Le terme phi1 fait référence à la deuxième hypothèse, qui est une hypothèse nulle combinée de a0 = gamma = 0. Cela signifie que les DEUX des valeurs sont testées pour être égales à 0 en même temps. Si p <0,05, nous rejetons le null et supposons qu'au MOINS l'un d'eux est faux - c'est-à-dire que l'un ou les deux termes a0 ou gamma ne sont pas 0. Le fait de ne pas rejeter ce null implique que les deux a0 ET gamma = 0, impliquant 1) que gamma = 0 donc une racine unitaire est présente, ET 2) a0 = 0, donc il n'y a pas de terme de dérive. Voici la sortie R
3) Enfin, pour le type = "tendance": (formule de Enders p. 208)Δy(t)=a0+gamma∗y(t−1)+a2(t)+e(t)
(où a2 (t) est un terme de tendance temporelle) Les hypothèses (de Enders p. 208) sont les suivantes: tau: gamma = 0 phi3: gamma = a2 = 0 phi2: a0 = gamma = a2 = 0 Ceci est similaire à la sortie R. Dans ce cas, les statistiques de test sont -2,4216 2,1927 2,9343. Dans tous ces cas, ceux-ci se situent dans les zones "ne pas rejeter les valeurs nulles" (voir les valeurs critiques ci-dessous). Ce que tau3 implique, comme ci-dessus, c'est que nous ne parvenons pas à rejeter le zéro de la racine unitaire, ce qui implique qu'une racine unitaire est présente. Ne pas rejeter phi3 implique deux choses: 1) gamma = 0 (racine unitaire) ET 2) il n'y a pas de terme de tendance temporelle, c'est-à-dire a2 = 0. Si nous rejetions cette valeur nulle, cela impliquerait que l'un ou les deux de ces termes n'étaient pas 0. Ne pas rejeter phi2 implique 3 choses: 1) gamma = 0 ET 2) pas de terme de tendance temporelle ET 3) pas de terme de dérive, c'est-à-dire que gamma = 0, que a0 = 0 et que a2 = 0.
Voici la sortie R
Dans votre exemple spécifique ci-dessus, pour les données d.Aus, étant donné que les deux statistiques de test sont à l'intérieur de la zone "échec de rejet", cela implique que gamma = 0 ET a0 = 0, ce qui signifie qu'il existe une racine unitaire, mais aucun terme de dérive.
la source
Comme l'a déjà souligné joint-p, les codes de signification sont assez standard et correspondent à des valeurs de p, c'est-à-dire la signification statistique d'un test d'hypothèse. une valeur de p de 0,01 signifie que la conclusion est vraie avec une confiance de 99%.
L'article de Wikipedia sur Dickey-Fuller décrit les trois versions du test de Dickey-Fuller: la "racine unitaire", "la racine unitaire avec dérive" et "la racine unitaire avec dérive et tendance temporelle déterministe", ou ce qui est mentionné dans le
urca
documentation comme type = "none", "drift" et "trend", respectivement.Chacun de ces tests est une régression linéaire progressivement plus complexe. Dans chacun d'eux il y a la racine, mais dans la dérive il y a aussi un coefficient de dérive, et dans la tendance il y a aussi un coefficient de tendance. Chacun de ces coefficients a un niveau de signification associé. Bien que la signification du coefficient racine soit la plus importante et la principale cible du test DF, nous pourrions également être intéressés de savoir si la tendance / dérive est également statistiquement significative. Après avoir bricolé les différents modes et vu quels coefficients apparaissent / disparaissent dans les tests t, j'ai pu facilement identifier quel coefficient correspondait à quel test t.
Ils peuvent être écrits comme suit (à partir de la page wiki):
Dans votre cas, "tau2" correspond à , tandis que "phi1" correspond à . Vous verrez également apparaître un troisième coefficient dans le test "tendance", qui correspondrait à dans la troisième équation ci-dessus. Cependant, les noms des variables changeront lorsque vous passerez à "tendance", alors soyez prudent et assurez-vous de faire vous-même ce bricolage pour vérifier. Je crois en mode "tendance", "tau3" correspond à , "phi2" correspond à et "phi3" correspond à .a 0 a 1 δ a 0 a 1δ a0 a1 δ a0 a1
la source
Plus d'informations dans les notes de cours de Roger Perman sur les tests de racine unitaire
Voir également le tableau 4.2 dans Enders, Applied Econometric Time Series (4e), qui résume les différentes hypothèses auxquelles ces statistiques de test se réfèrent. Le contenu est conforme à l'image fournie ci-dessus.
la source
J'ai trouvé la réponse de Jeramy assez facile à suivre, mais je me suis constamment trouvé à essayer de marcher correctement dans la logique et à faire des erreurs. J'ai codé une fonction R qui interprète chacun des trois types de modèles et donne des avertissements s'il y a des incohérences ou des résultats non concluants (je ne pense pas qu'il devrait y avoir des incohérences si je comprends correctement les mathématiques ADF, mais je pensais quand même un bon vérifiez si la fonction ur.df présente des défauts).
S'il vous plaît, jetez un oeil. Heureux de prendre des commentaires / correction / améliorations.
https://gist.github.com/hankroark/968fc28b767f1e43b5a33b151b771bf9
la source
poste et réponses très intéressants. J'ai juste un doute concernant le tableau expliqué par user3096626. Quel logiciel rapporte dans le test ADF les valeurs de
\tau_{\alpha \mu}
,\tau_{\alpha \tau}
et\tau_{\beta \tau}
? De toute évidence, R ne le fait pasla source
phi1 phi2 phi3 sont équivalents aux tests F dans le cadre ADF
la source