Lorsque vous effectuez une analyse d'intervention avec des données de série temporelle (aka série temporelle interrompue) comme discuté ici, par exemple, une exigence que j'ai est d'estimer le gain (ou la perte) total dû à l'intervention - c'est-à-dire le nombre d'unités gagnées ou perdues (la variable Y ).
Ne comprenant pas entièrement comment estimer la fonction d'intervention à l'aide d'une fonction de filtre dans R, je l'ai fait de manière brutale, en espérant que cela soit assez général pour fonctionner dans n'importe quelle situation.
Disons que compte tenu des données
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")
nous décidons que le meilleur modèle d'ajustement est le suivant, avec la fonction d'intervention
oùXtest une impulsion en octobre 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
J'ai deux questions:
1) Même si nous avons différencié les erreurs ARIMA, pour évaluer la fonction d'intervention qui était alors techniquement adaptée à l'aide de la série différenciée y a- t -il quelque chose que nous devons faire afin de "reculer" l'estimation de ω 0 ou δ de en utilisant ▽ X t à X t ?
Ce processus est-il le bon pour déterminer le gain généralement à partir d'une analyse d'intervention?
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)))
Réponses:
En supposant que c'est un exemple de jouet:
Pour répondre à votre première question:
1) Même si nous avons différencié les erreurs ARIMA, pour évaluer la fonction d'intervention qui était alors techniquement adaptée en utilisant la série différenciée ▽ Xt, y a-t-il quelque chose que nous devons faire afin de "reculer" l'estimation de ω0 ou δ à partir de ▽ Xt à Xt?
Lorsque vous les différences de données, vous devriez différence les variables réponse / intervention. Lorsque vous sauvegardez la différence (transformation) après avoir modélisé, cela se chargera automatiquement de la différenciation ** Je sais que c'est très facile lorsque vous utilisez
SAS Proc ARIMA
. Je ne sais pas comment faire çaR
.Deuxième question:
2) Est-ce correct: Afin de déterminer le gain de l'intervention, j'ai construit l'intervention mt à partir des paramètres. Une fois que j'ai mt, je compare les valeurs ajustées du modèle fit4 (exp () pour inverser le log) à exp (valeurs ajustées moins mt) et je détermine que sur la période observée, l'intervention a entraîné 3342,37 unités supplémentaires.
Pour déterminer, gagner en intervention, vous devez prendre un exposant puis soustraire -1, cela donnerait la proportion ou l'effet incrémental. Pour illustrer cela dans votre cas, voir ci-dessous. Pour le premier mois, l'impact a été de 55% des ventes originales et se dégrade rapidement. Cumulé, vous avez 4580 unités d'effet incrémental (du 13 octobre au février 2014. (J'ai fait référence au principe de prévision et aux applications de Delurgio P: 518. Il y a un excellent chapitre volumineux sur l'analyse d'intervention).
Quelqu'un veuillez corriger si cette méthodologie est correcte?
L'intervention d'impulsion + décroissance n'est clairement pas suffisante dans ce cas, je ferais un décalage d'impulsion + niveau permanent comme le montre le diagramme (e) ci-dessous qui est tiré du papier classique de Box et Tiao .
la source
@forecaster Après avoir permis à AUTOBOX d'identifier 3 valeurs aberrantes en utilisant 29 valeurs (ce qui n'est pas inapproprié dans votre expérience), un modèle utile a été trouvé et ici . Le tracé acf résiduel ne suggère pas un modèle sous-spécifié . Le tracé Réel / Ajustement / Prévision est ici avec Ajustement / Prévision . Forecaster avait (correctement) mentionné précédemment comment une variable d'impulsion peut se transformer en une variable de niveau / échelon lorsqu'un coefficient de dénominateur de près de 1,0 est introduit. En trouvant deux décalages de niveau (le plus récent commençant en 9/2013) et une impulsion à 10/2013, le modèle présente une image plus claire. En termes d'impact de l'impulsion à 10/13, c'est simplement la valeur du coefficient. HTH
la source