Comment calculer la valeur de p des paramètres pour le modèle ARIMA dans R?

23

Lors de la recherche de séries chronologiques dans R, j'ai trouvé que arima seules les valeurs de coefficient et leurs erreurs standard du modèle ajusté étaient fournies. Cependant, je veux également obtenir la valeur de p des coefficients.

Je n'ai trouvé aucune fonction qui donne la signification de coef.

Je souhaite donc le calculer moi-même, mais je ne connais pas le degré de liberté dans la distribution t ou chisq des coefficients. Ma question est donc de savoir comment obtenir les valeurs de p pour les coefficients du modèle arima ajusté dans R?

Lisa
la source
9
Pourquoi voulez-vous la valeur p? Les tests de signification pour les coefficients d'un modèle AR ne sont pas particulièrement utiles car la signification n'est pas un bon moyen de sélectionner l'ordre du modèle. Utilisez plutôt l'AIC.
Rob Hyndman
1
Souvent, plus d'un modèle correspond bien aux données. Donc, généralement, c'est agréable d'avoir plus d'un diagnostic. Donc, si j'utilise déjà pacf / acf, AIC / BIC (peut-être aussi la précision des prévisions) et que je ne peux toujours pas choisir entre deux modèles - y a-t-il quelque chose de mal à regarder la signification des coefficients aussi?
hans0l0

Réponses:

4

La "valeur t" est le rapport du coefficient à l'erreur standard. Les degrés de liberté (ndf) seraient le nombre d'observations moins l'ordre maximal de différence dans le modèle moins le nombre de coefficients estimés. La «valeur F» serait le carré de la «valeur t». Pour calculer exactement la probabilité, il faudrait appeler une fonction chi carré non centrale et transmettre la valeur F et les degrés de liberté (1, ndf) ou peut-être simplement appeler une recherche de fonction F.

IrishStat
la source
Merci beaucoup! Je l'ai écrit comme ça ... Mais à ma grande surprise que presque tous les paramètres sont insignifiants ... Mais dans SAS, il dit qu'ils sont importants ... Donc je doute qu'il y ait une erreur dans mes mots de programmation ....
Lisa
vuner.coeF[je,je])t[je]=Fjet
L'utilisation des résultats d'un programme SAS non décrit ne constitue guère une preuve d'exactitude statistique. SAS n'est pas un oracle. Dommage que la popup SO-AskAnExpert introduite le 1er avril soit si circulaire dans sa stratégie de raisonnement, hein.
DWin
22

Etant donné que le arimamaximum de vraisemblance est utilisé pour l'estimation, les coefficients sont asymptotiquement normaux. Par conséquent, divisez les coefficients par leurs erreurs standard pour obtenir les statistiques z, puis calculez les valeurs p. Voici l'exemple avec dans R avec le premier exemple de la arima page d'aide:

> aa <- arima(lh, order = c(1,0,0))
> aa

Call:
arima(x = lh, order = c(1, 0, 0))

Coefficients:
         ar1  intercept
      0.5739     2.4133
s.e.  0.1161     0.1466

sigma^2 estimated as 0.1975:  log likelihood = -29.38,  aic = 64.76
> (1-pnorm(abs(aa$coef)/sqrt(diag(aa$var.coef))))*2
         ar1    intercept 
1.935776e-07 0.000000e+00 

La dernière ligne donne les valeurs de p.

mpiktas
la source
H0:coeF=0,0H1:coeF0,0
Vous pouvez le faire via le rapport log-vraisemblance, car le modèle est estimé à l'aide de log-vraisemblance.
mpiktas
λ-2λχ2nn
10

Vous pouvez également utiliser à coeftestpartir du lmtestpackage:

> aa <- arima(lh, order = c(1,0,0))

> coeftest(aa)

z test of coefficients:

          Estimate Std. Error z value  Pr(>|z|)    
ar1        0.57393    0.11614  4.9417 7.743e-07 ***
intercept  2.41329    0.14661 16.4602 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
Robert
la source