¿Tiene sentido incluir el tiempo como efecto fijo junto con los predictores para eliminar la autocorrelación? ¿Por qué sí o por qué no?
Respuestas
¿Demasiados anuncios?TL;DR
Es puede tiene sentido. Depende del tipo de autocorrelación que tengas. La tendencia es un posible tipo de autocorrelación, pero también hay otros.
Puede que quiera echar un vistazo a arima . Recomiendo el excelente libro gratuito en línea Previsión: Principios y práctica (2ª ed.) de Athanasopoulos & Hyndman En particular, aquí el capítulo sobre los modelos ARIMA .
Versión más larga
Su autocorrelación puede provenir efectivamente de una tendencia:
Obsérvese que la línea pero lentamente dejando caer la parcela ACF que, y la parcela PACF que es esencialmente insignificante. Esta combinación es característica de una serie temporal con tendencia global. (Piense por qué una tendencia global produciría este patrón ACF/PACF).
En este caso, tiene sentido incluir simplemente el tiempo como una covariable lineal. Aquí están los residuos:
No hay autocorrelación restante en los residuos. Todo está bien.
Sin embargo, su serie temporal puede tener una estructura de autocorrelación no tendencial. Por ejemplo, una serie AR(1) con un término AR alto de 0,8:
Obsérvese cómo si la serie está en un nivel determinado, tiende a mantenerse en ese nivel, pero no se aprecia ninguna tendencia general.
En este caso, el ACF desciende mucho más rápidamente hasta la insigibilidad.
Si ajustamos una tendencia a esta serie, obtenemos residuos y gráficos ACF/PACF que se parecen bastante a la serie original. Lo cual no es sorprendente, ya que la tendencia ajustada es esencialmente plana - porque hay es ninguna tendencia en esta serie.
Sin embargo, supongamos que ajustamos un modelo AR(1) correctamente especificado, esencialmente regresando $y_t$ en $y_{t-1}$ . Tenemos ruido blanco, que es bueno:
Código R
set.seed(1)
nn <- 100
obs_trend <- ts((1:nn)+rnorm(nn,0,5))
plot(obs_trend)
acf(obs_trend)
pacf(obs_trend)
model_trend_trend <- lm(obs_trend~as.vector((1:nn)))
plot(ts(resid(model_trend_trend)))
acf(ts(resid(model_trend)))
pacf(ts(resid(model_trend)))
################################################
obs_ar <- arima.sim(list(ar=0.8),n=nn)
plot(obs_ar)
acf(obs_ar)
pacf(obs_ar)
model_ar_trend <- lm(obs_ar~as.vector((1:nn)))
plot(ts(resid(model_ar_trend)))
acf(ts(resid(model_ar_trend)))
pacf(ts(resid(model_ar_trend)))
model_ar_ar <- arima(obs_ar,order=c(1,0,0))
plot(resid(model_ar_ar))
acf(ts(resid(model_ar_ar)))
pacf(ts(resid(model_ar_ar)))
Autorregresión frente a regresión lineal de x(t)-con-t para modelar series temporales presenta un debate sobre los modelos que pueden tener múltiples tendencias e incluso múltiples cambios de nivel . Véase también Series temporales estocásticas y deterministas