7 votos

Determinar la importancia de la tendencia de una serie de tiempo

Tengo algunos datos de series de tiempo y quieres probar la existencia de y estimar los parámetros de una tendencia lineal en una variable dependiente w.r.t. el tiempo, es decir el tiempo es mi variable independiente. Los puntos de tiempo no puede ser considerado IID bajo la nula de que no hay tendencia. Específicamente, los términos de error de los puntos muestreados cerca uno del otro en el tiempo están correlacionados positivamente. Los términos de Error de las muestras obtenidas en suficientemente diferentes momentos puede ser considerado IID para todos los propósitos prácticos.

No tengo un modelo concreto de cómo los términos de error están correlacionados para puntos cerca el uno del otro en el tiempo. Todo lo que sé de conocimiento de un dominio es que están positivamente correlacionadas en un grado u otro. Aparte de este problema, creo que la hipótesis de ordinarly menos de cuadrados de la regresión lineal (homoskedasticity, linealidad, normalmente distribuido términos de error) se cumplen. Modulo la correlación término de error problema, OLS iba a solucionar mi problema.

Soy un completo novato en el manejo de los datos de series de tiempo. Es allí cualquier manera "estándar" para proceder en estas circunstancias?

6voto

Senseful Puntos 116

Para añadir a las respuestas existentes, si usted está utilizando R una forma sencilla de proceder es para permitir que el ARMA de los errores para ser modelados de forma automática utilizando auto.arima(). Si x es tu serie de tiempo, entonces se puede proceder como sigue.

t <- 1:length(x)
auto.arima(x,xreg=t,d=0)

Este será el adecuado para el modelo de $x_t = a + bt + e_t$ donde $e_t\sim\text{ARMA}(p,q)$ $p$ $q$ son seleccionados automáticamente mediante el AIC.

El resultado dará el valor de $b$ y su error estándar. He aquí un ejemplo:

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

Call: auto.arima(x = x, xreg = t) 

Coefficients:
          ar1     ar2      ar3  intercept       t
      -0.3770  0.1454  -0.2351   563.9654  0.0376
s.e.   0.1107  0.1190   0.1145    11.4725  0.2378

sigma^2 estimated as 5541:  log likelihood = -475.85
AIC = 963.7   AICc = 964.81   BIC = 978.21

En este caso, $p=3$$q=0$. Los tres primeros coeficientes de dar a los términos autorregresivos, $a$ es el intercepto y $b$ es en el t de columna. En este (artificial) ejemplo, la pendiente no es significativamente diferente de cero.

El auto.arima función es el uso de MLE en lugar de GLS, pero los dos son asintóticamente equivalentes.

El uso de un Cochrane-Orcutt procedimiento sólo funciona si el error es AR(1). Por lo que la anterior es mucho más general y flexible.

4voto

David J. Sokol Puntos 1730

Mínimos cuadrados generalizados (GLS) es una opción potencial aquí. Las estimaciones de MCO de los parámetros están dados por:

$$\hat{\beta} = (X^{T}\Sigma^{-1}X)^{-1}X^{T}\Sigma^{-1}y$$

Normally we leave out $\Sigma$ as in OLS it is defined as $\sigma^2 \mathbf{I}$, i.e. an identity matrix multiplied by the estimated residual standard error. $\mathbf{I}$ is the assumption of uncorrelated errors; an observation is perfectly correlated with itself and is uncorrelated with any other observation.

GLS relaxes this indepence assumption by allowing $\Sigma$ to take different forms. Usually we choose a simple process to parametrise $\Sigma$, such as an AR(1). In an AR(1) the correlation between two errors at times $t$ and $s$ is

$$\mathrm{cor}(\varepsilon_s \varepsilon_t) = \left\lbrace\begin{array}{ll} 1 & \mathrm{if} \; s = t \\ \rho^{|t-s|} & \mathrm{else} \\ \end{matriz} \right. $$

Which would give us the following error covariance matrix:

$ $\mathbf{\Sigma} = \sigma^2 \left (\begin{array}{ccccc} 1 & \rho & \rho^2 & \cdots & \rho^{n-1} \\ \rho & 1 & \rho & \cdots & \rho^{n-2} \\ \rho^2 & \rho & 1 & \cdots & \rho^{n-3} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \rho^{n-1} & \rho^{n-2} & \rho^{n-3} & \cdots & 1 \\ \end{matriz} \right)$$

An additional parameter estimate is required, $\rho$.

More complex processes for $\Sigma$ can be employed, including ARMA models. In R, these sorts of model s can be fitted using the gls() function in package nlme.

If you are an R user, you might also take a look at the sandwich package which allows for something similar to the above, but where you estimate the OLS model and then afterwards, estimate $\Sigma$ y utilícelo como un plug-in valor para corregir los errores estándar de los parámetros de operación.

3voto

Judioo Puntos 625

Lo que está describiendo es la comúnmente conocida como auto correlación de los errores. Yo le sugiero que busque recursos en la modelización ARIMA. La modelización ARIMA le permitirá modelar la correlación en el término de error, y por lo tanto permiten evaluar la tendencia de la variable independiente de este auto correlación (o de las otras variables independientes que le interesa).

Mis lecturas sugeridas para una en la modelización ARIMA sería Aplicadas Análisis de Series de Tiempo para las Ciencias Sociales1980 por R McCleary ; R Heno ; E E Meidinger ; D McDowall

Pero hay un montón de recursos (análisis de series de tiempo es un enorme campo de estudio). Usted probablemente sería capaz de subir algunos buenos recursos en línea con sólo una búsqueda en google si no tiene acceso a una biblioteca académica. Acabo de cumplir esta página, Statistica ARIMA, tiene una breve pero muy concisa descripción de la modelización ARIMA así como otros métodos de análisis de series de tiempo.

1voto

Zolomon Puntos 250

A lo largo de las líneas de una respuesta anterior, si se cumplen todos los supuestos de OLS excepto por el hecho de que los errores están correlacionados, tal vez algo tan simple como una corrección de Cochrane-Orcutt sería suficiente para resolver su problema.

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