9 votos

Encuentre el orden de un modelo ARMA (q y p)

En Matlab, ajusté un modelo ARMA y antes de calcular el valor predicho con el error de predicción, establecí el orden $(p,q)$ a un valor aleatorio. ¿Pero cómo puedo determinar el número de rezagos AR (p) y MA (q)?

4voto

Stefan Puntos 11

Deseas calcular el BIC (Criterio de Información Bayesiano) o el AIC (Criterio de Información de Akaike) para diferentes pares (p,q).

Aquí hay un artículo de wikipedia con información sobre cómo interpretar esos criterios en la práctica.

Aquí hay una página de mathworks con instrucciones detalladas sobre cómo realizar esta tarea dentro de Matlab.

Ten en cuenta que en la práctica y dependiendo de tus datos, es posible que desees elegir valores bajos para los parámetros (p,q) para evitar el sobreajuste.

3voto

Andrey Puntos 137

La Función de Autocorrelación (ACF) $\rho_k=Corr(y_t,y_{t-k})$ expresa la fuerza de la dependencia lineal entre las realizaciones con retraso $k$ y representa una herramienta importante para la identificación de los órdenes de retraso de procesos ARMA y GARCH: $$\rho_k:=Corr(y_t,y_{t-k})=\frac{\gamma_k}{\gamma_0},\,\,k\in\mathbb{Z}$$ donde la Autocovarianza $\gamma_k$ se define como $\gamma_k:=Cov(y_t,y_{t-k})=E((y_t-\mu)(y_{t-k}-\mu))$ con $\gamma_0=Var(y_t)$ y $\mu=E(y_t)$. La Función de Autocorrelación de la Muestra Estimada (SACF) para una muestra $\hat{y}=(y_1,...,y_T)$ con media $\hat{\mu}$ se expresa como: $$\hat{\rho}_k:=\dfrac{\sum_{i=k+1}^T(y_i-\hat{\mu})(y_{i-k}-\hat{\mu})}{\sum_{i=1}^T (y_i-\hat{\mu})^2},\,\,k\in\mathbb{Z}$$ Para procesos estacionarios débilmente, la autocorrelación es simétrica ya que $\rho_k=\rho_{-k}$, $\gamma_k=\gamma_{-k}$. Para una serie alternante entre valores positivos y negativos, $\rho_k$ también alternará.

Para AR(p), las autocorrelaciones siguen una media ponderada, descrita por las {ecuaciones de Yule Walker}: $$\gamma_k=a_1\gamma_{k-1}+a_2\gamma_{k-2}+...+a_p\gamma_{k-p},\,k\in\mathbb{Z}$$ $$\rho_k=a_1\rho_{k-1}+a_2\rho_{k-2}+...+a_p\rho_{k-p},\,k\in\mathbb{Z}$$ Se puede demostrar que un proceso AR(p) tiene autocorrelación distinta de cero hasta el orden de retraso $p$, y luego decae rápidamente a $0$ con el aumento de $k$, ya que la dependencia lineal de $y_t$ más allá de los retrasos $p$ es cero (solo permanecen las innovaciones pasadas incorporadas para órdenes $k>p$). Las ecuaciones de Yule Walker también permiten la estimación de los coeficientes AR(p) $a_i,i=1,...,p$ a partir de una muestra dada. Sin embargo, para procesos no estacionarios, las ecuaciones tienden a volverse inestables.

Para un proceso MA(q), se puede demostrar: $$\gamma_k=\left\{\begin{array}{cl} \sigma_\epsilon^2\sum_{i=k}^qb_ib_{i-k}, &k=0,1,...,q\\ 0, & k>q \end{array}\right.$$ de manera que la autocorrelación teóricamente se corta directamente en el orden $q$ (sin decaimiento exponencial).

Para procesos ARMA(p,q), se pueden aplicar las ecuaciones de Yule Walker Extendidas para mostrar que la ACF después de $q$ y $p$ decae exponencialmente a medida que aumenta $k$. Los órdenes de procesos GARCH también se pueden identificar de la misma manera mediante la ACF de los residuos al cuadrado $\epsilon_t^2$.

Sin embargo, las autocorrelaciones empíricas de la muestra a menudo no se cortan ni disminuyen a $0$ exponencialmente, ya que solo se estiman a partir de muestras reales. El orden significativo con $\hat{\rho}_k=0$ se determina mediante intervalos de confianza. SACF se distribuye normalmente con media cero, de modo que el intervalo de confianza del 95% para $\hat{\rho}_k=0$ se da por $$[\pm1.96\sqrt{Var(\hat{\rho}_k})]$$ con $Var(\hat{\rho}_k)=\frac{1}{T}\left(1+2\sum_{i=1}^T \hat{\rho}_i^2\right),k>T$.

2voto

simonp Puntos 486

Otra posible solución es el EACF de Tsay y Tiao (1984) donde la idea es que si se conoce el orden del proceso AR, se puede inferir el MA. La salida es una tabla donde la esquina superior izquierda 0 se toma como el orden del modelo ARMA(p, q).

2voto

shyam Puntos 4133

Usa acf y pacf para determinar las partes AR y MA. Utiliza la posición del último valor significativo para los dos tests como los términos AR y MA respectivamente, o utiliza autoarima si matlab tiene uno con coeficientes AIC o BIC. AIC devuelve un modelo más general (todos los valores posibles) mientras que BIC resulta en uno más restringido (más simple).

0voto

Mandy Puntos 6

Además de la respuesta anterior que sugiere AIC/BIC y el uso de las propiedades de los gráficos de acf/pacf (y sus pruebas de hipótesis) -- me gustaría agregar que un método adicional (más avanzado) podría ser usar la validación cruzada para un modelo de series temporales.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X