Al realizar un análisis de intervención con datos de series de tiempo (también conocido como series de tiempo interrumpido) como se discute aquí, por ejemplo, un requisito que tengo es estimar la ganancia (o pérdida) total debido a la intervención, es decir, el número de unidades ganadas o perdidas (la variable Y )
Sin comprender completamente cómo estimar la función de intervención utilizando una función de filtro dentro de R, lo hice de manera bruta, con la esperanza de que esto sea lo suficientemente general como para funcionar en cualquier situación.
Digamos que dados los datos
cds<- structure(c(2580L, 2263L, 3679L, 3461L, 3645L, 3716L, 3955L,
3362L, 2637L, 2524L, 2084L, 2031L, 2256L, 2401L, 3253L, 2881L,
2555L, 2585L, 3015L, 2608L, 3676L, 5763L, 4626L, 3848L, 4523L,
4186L, 4070L, 4000L, 3498L), .Dim = c(29L, 1L), .Dimnames = list(
NULL, "CD"), .Tsp = c(2012, 2014.33333333333, 12), class = "ts")
decidimos que el mejor modelo de ajuste es el siguiente, con la función de intervención como
dondeXtes un pulso en octubre de 2013.
fit4 <- arimax(log(cds), order = c(1,1,0),include.mean=FALSE,
xtransf = data.frame(Oct13 = 1*(seq_along(cds)==22)),
transfer = list(c(1,0))
,xreg=1*(seq_along(cds)==3))
fit4
# ARIMA(1,1,0)
# Coefficients:
# ar1 xreg Oct13-AR1 Oct13-MA0
# -0.0184 0.2718 0.4295 0.4392
# s.e. 0.2124 0.1072 0.3589 0.1485
# sigma^2 estimated as 0.02176: log likelihood=13.85
# AIC=-19.71 AICc=-16.98 BIC=-13.05
Tengo dos preguntas:
1) A pesar de que hemos diferenciado los errores ARIMA, para evaluar la función de intervención, que era entonces técnicamente aptos utilizando la serie diferenciada ¿Hay algo que tenemos que hacer con el fin de "volver el cambio" la estimación de ω 0 o δ a partir usando ▽ X t a X t ?
2) ¿Es esto correcto? Para determinar la ganancia de la intervención, construí la intervención partir de los parámetros. Una vez que tengo m t , comparo los valores ajustados del modelo fit4 (exp () para revertir el registro) a exp (valores ajustados menos m t ) y determino que durante el período observado, la intervención resultó en 3342.37 unidades adicionales.
¿Es este proceso el correcto para determinar la ganancia generalmente de un análisis de intervención?
int_vect1<-1*(seq_along(cds)==22)
wo<- 0.4392
delta<-0.4295
mt<-rep(0,length(int_vect1))
for (i in 1:length(int_vect1))
{
if (i>1)
{
mt[i]<-wo*int_vect1[i]+delta*mt[i-1]
}
}
mt
sum(exp(fitted(fit4)) - (exp(fitted(fit4) - mt)))
Respuestas:
Asumiendo que este es un ejemplo de juguete:
Para responder a su primera pregunta:
1) Aunque hemos diferenciado los errores de ARIMA, para evaluar la función de intervención que técnicamente se ajustaba usando la serie diferenciada ▽ Xt, ¿hay algo que debamos hacer para "cambiar" la estimación de ω0 o δ del uso de ▽ Xt a Xt?
Cuando diferencia los datos, debe diferenciar las variables de respuesta / intervención. Cuando retrocede la diferencia (transformación) después de modelar, esto se encargaría automáticamente de la diferenciación ** Sé que esto es muy fácil cuando lo usa
SAS Proc ARIMA
. No se como hacer estoR
.Segunda pregunta:
2) ¿Es correcto? Para determinar la ganancia de la intervención, construí la intervención mt a partir de los parámetros. Una vez que tengo mt, comparo los valores ajustados del modelo fit4 (exp () para invertir el registro) a exp (valores ajustados menos mt) y determino que durante el período observado, la intervención resultó en 3342.37 unidades adicionales.
Para determinar la ganancia en la intervención, debe tomar el exponente y luego restar -1, esto daría la proporción o el efecto incremental. Para demostrar esto en su caso, vea a continuación. Durante el primer mes, el impacto fue del 55% de las ventas originales y decae rápidamente. Acumulativo tiene 4580 unidades de efecto incremental (13 de octubre a febrero de 2014. (Me referí al Principio de pronóstico y aplicaciones de Delurgio P: 518. Hay un excelente capítulo voluminoso sobre análisis de intervención).
Alguien por favor corrija si esta metodología es correcta?
La intervención de pulso + decaimiento claramente no es suficiente en este caso, yo haría un cambio de nivel de pulso + permanente como se muestra en el diagrama (e) a continuación, que es del artículo clásico de Box y Tiao .
fuente
@forecaster Después de permitir que AUTOBOX identificara 3 valores atípicos utilizando 29 valores (no inapropiados en su experiencia) se encontró un modelo útil y aquí . El gráfico de acf residual no sugiere un modelo subespecificado . El gráfico Real / Fit / Forecast es con Fit / Forecast aquí . El pronosticador había mencionado (correctamente) previamente cómo una variable de pulso puede transformarse en una variable de nivel / paso cuando se introduce un coeficiente de denominador de casi 1.0. Al encontrar dos cambios de nivel (el más reciente a partir de 9/2013) y un pulso a 10/2013, el modelo presenta una imagen más clara. En términos del impacto del pulso a 10/13, es simplemente el valor del coeficiente. HTH
fuente