5 votos

La manera en que un MA(q) modelo funciona

Estoy tratando de entender la forma MA(q) modelos de trabajo. Para esto he creado un conjunto de datos simples con sólo tres valores. Luego he adaptado un MA(1) en el modelo. Los resultados se muestra a continuación:

x<-c(2,5,3)
m<-arima(x,order=c(0,0,1))

Series: x 
ARIMA(0,0,1) with non-zero mean 

Coefficients:
          ma1  intercept
      -1.0000     3.5000
s.e.   0.8165     0.3163

sigma^2 estimated as 0.5:  log likelihood=-3.91
AIC=13.82   AICc=-10.18   BIC=11.12

Mientras que la MA(1) el modelo se parece a esto: $$X_t = c +a_t - \theta*a_{t-1}$$

and $a_t$ es Ruido Blanco.

Lo que no puedo averiguar es cómo obtener los valores ajustados:

library(forecast)
fitted(m)
Time Series:
Start = 1 
End = 3 
Frequency = 1 
[1] 3.060660 4.387627 3.000000

He intentado de diferentes maneras, pero no puedo averiguar cómo los valores ajustados (3.060660, 4.387627 y 3.000000) se calculan.

Yo estaría muy agradecido por la respuesta!

17voto

Silvercode Puntos 438

En cuanto a lo que estos números vienen, esto parece hacer el truco:

> x - m$residuals
Time Series:
Start = 1 
End = 3 
Frequency = 1 
[1] 3.060660 4.387627 3.000000

O

> x + (m$residuals * ma1)
Time Series:
Start = 1 
End = 3 
Frequency = 1 
[1] 3.060660 4.387627 3.000000

No sé en qué sentido estos están destinados a ser el 'ajustado' values (tal vez alguien te pueda ayudar?). Para un modelo ARIMA nuestros datos explicativos son también nuestros valores ajustados.

Nuestro estimador para $Y_k$ dada la historia hasta el momento $T$, $H_T$, donde$T>k$$\hat y_k = \mathbb E [Y_k | H_T ] = y_k$, es decir, ya tenemos la respuesta en el proceso de la historia. Así tenemos que preguntar, nuestros valores ajustados anclado a qué hora? Para una longitud de $T$ serie supongo que no sería $T$ posible ajustar los valores para cada punto.

Si alguien te pregunta, basándonos en los datos de $y_{1:T}$ ¿cuál es la mejor estimación de $y_k$ - parece que sólo hay una respuesta pragmática, $y_k$. Los residuos son interesantes en el sentido de que si son enormes en relación a los datos, que es decir algo acerca de la magnitud del proceso de la varianza.

5voto

dbb Puntos 1211

Me encontré una, pero no puedo decirte la razón exacta por la que:

El problema es, que la inicialización es desconocido/extraño, si hacer un ejemplo con más valores, verás que con una simple MA(1) previsión de acuerdo a la siguiente regla de trabajo (notación en R de la MA es ligeramente diferente a la suya, el signo de la theta es diferente): \begin{align}\hat{X}_{T|T-1}=E(c+a_T+\theta∗a_{T−1})=c+\theta*a_{T-1}\end{align}

Usted puede calcular estos valores manualmente, considere el siguiente ejemplo:

z<-c(2,5,3,4,3,4,5,4.3,4.3,4.5,4.3,4.5,3.4,5.3,4.2,3.4,2.3,2.3,4.5,3.4,5,5.4,5.4,3.4,5.43,5.64,5.6,3.4,5.3,5,6.3,4.5)
m<-arima(z,order=c(0,0,1))

Esto le da

Series: z 
ARIMA(0,0,1) with non-zero mean 

Coefficients:
         ma1  intercept
      0.1162     4.2748
s.e.  0.1500     0.2076

sigma^2 estimated as 1.11:  log likelihood=-47.09
AIC=100.18   AICc=101.03   BIC=104.57

Los valores de salida pueden ser utilizadas a través de m$coef[1] y m$coef[1]

Así que ahora comparar los valores con el siguiente código:

m$coef[2]+ m$coef[1]*(2-4.259580)
fitted(m)[2]
m$coef[2]+ m$coef[1]*(5-4.013978)
fitted(m)[3]
m$coef[2]+ m$coef[1]*(3-4.389402)
fitted(m)[4]
m$coef[2]+ m$coef[1]*(4-4.113285)
fitted(m)[5]
m$coef[2]+ m$coef[1]*(3-4.261626)
fitted(m)[6]

Usted se dará cuenta, que en el principio, hay una pequeña diferencia, al final, los valores son los mismos! Así que la simple previsión de la regla de un MA(1) sí, pero R parece hacer algunos específicos de inicialización. Sé que STATA utiliza un determinado filtro de Kalman ajuste, tal vez R está haciendo lo mismo. Espero que esto ayude.

Si lo hiciera, usted puede aceptar mi respuesta haciendo clic en el gancho a la izquierda de mi post.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X