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)?
Respuestas
¿Demasiados anuncios?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.
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$.
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).