Quando si esegue un'analisi di intervento con i dati delle serie temporali (aka serie temporali interrotte), come discusso qui per esempio, un requisito che ho è di stimare il guadagno (o la perdita) totale dovuto all'intervento, ovvero il numero di unità guadagnate o perse (la variabile Y ).
Non capendo del tutto come stimare la funzione di intervento usando una funzione di filtro all'interno di R, ci sono andato in modo bruto, sperando che questo sia abbastanza generale da funzionare in qualsiasi situazione.
Diciamo che dato i dati
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")
decidiamo che il modello più adatto sia il seguente, con la funzione di intervento come
doveXtè un impulso a ottobre 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
Ho due domande:
1) Anche se abbiamo differenziato gli errori ARIMA, per valutare la funzione di intervento che era quindi tecnicamente adatta usando la serie differenziata c'è qualcosa che dobbiamo fare per "tornare indietro" la stima di ω 0 o δ da usando ▽ da X t a X t ?
2) È corretto: per determinare il guadagno dell'intervento, ho costruito l'intervento dai parametri. Una volta che ho m t, allora confronto i valori adattati dal modello fit4 (exp () per invertire il registro) con exp (valori adattati meno m t ) e determino che durante il periodo osservato, l'intervento ha comportato 3342,37 unità extra.
Questo processo è quello corretto per determinare il guadagno generalmente da un'analisi di intervento?
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)))