Intervenção com Diferenciação

10

Ao conduzir uma análise de intervenção com dados de séries temporais (também conhecidos como séries temporais interrompidas), como discutido aqui, por exemplo, um requisito que tenho é estimar o ganho total (ou perda) devido à intervenção - ou seja, número de unidades ganhas ou perdidas (a variável Y )

Não entendendo completamente como estimar a função de intervenção usando uma função de filtro dentro de R, eu fiz isso de maneira bruta, esperando que isso seja geral o suficiente para funcionar em qualquer situação.

Digamos que, dados os dados

 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 o melhor modelo de ajuste é o seguinte, com a função de intervenção como

mt=ω0(1δB)Xt que é um pulso em outubro de 2013.Xt

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

Eu tenho duas perguntas:

1) Embora tenhamos diferenciado os erros ARIMA, para avaliar a função de intervenção que era tecnicamente adequada usando a série diferenciada há algo que precisamos fazer para "voltar" a estimativa de ou de usar para ?Xtω0δXtXt

2) Está correto: Para determinar o ganho da intervenção, construí a intervenção partir dos parâmetros. Depois que eu tenho , comparo os valores ajustados do modelo fit4 (exp () para reverter o log) para exp (valores ajustados menos ) e determino que, durante o período observado, a intervenção resultou em 3342,37 unidades extras.mtmtmt

Esse processo é o correto para determinar o ganho geralmente de uma análise de intervenção?

    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)))
B_Miner
fonte
2
Pensando se alguém pode esclarecer a maneira correta de estimar o impacto de uma intervenção - geralmente, se o procedimento que demonstrei está de fato correto?
B_Miner 12/08
Esta é uma grande pergunta. Suspeito que a escolha da função do indicador possa não ser a melhor opção, dependendo da natureza da intervenção. Talvez uma função de decaimento exponencial para algum parâmetro de escala . mt=exp(α(ti))ifitelse0α
Jessica Collins

Respostas:

4

Supondo que este seja um exemplo de brinquedo:

Para responder sua primeira pergunta:

1) Embora tenhamos diferenciado os erros ARIMA, para avaliar a função de intervenção que era tecnicamente adequada usando a série diferenciada ▽ Xt, há algo que precisamos fazer para "voltar" a estimativa de ω0 ou δ do uso de ▽ Xt para Xt?

Ao diferenciar os dados, você deve diferenciar as variáveis ​​de resposta / intervenção. Quando você apóia a diferença (transformação) após modelar, isso resolveria automaticamente a diferenciação ** Eu sei que isso é muito fácil quando você usa SAS Proc ARIMA. Eu não sei como fazer isso R.

Segunda questão:

2) Está correto: Para determinar o ganho da intervenção, construí a intervenção mt a partir dos parâmetros. Uma vez que eu tenho mt, comparo os valores ajustados do modelo fit4 (exp () para reverter o log) para exp (valores ajustados menos mt) e determino que, durante o período observado, a intervenção resultou em 3342,37 unidades extras.

Para determinar o ganho de intervenção, você precisa pegar o expoente e subtrair -1, isso daria a proporção ou o efeito incremental. Para demonstrar isso no seu caso, veja abaixo. No primeiro mês, o impacto foi de 55% das vendas originais e decai rapidamente. Cumulativamente, você tem 4580 unidades de efeito incremental (13 de outubro a fevereiro de 2014. ( Consultei o Princípio de Previsão e Aplicações de Delurgio P: 518. Há um excelente capítulo volumoso sobre análise de intervenção).

Alguém por favor corrija se esta metodologia está correta?

A intervenção por pulso + decaimento claramente não é suficiente neste caso, eu faria uma troca de nível permanente por pulso +, como mostra o diagrama (e) abaixo, que é do artigo clássico de Box e Tiao .

insira a descrição da imagem aqui

insira a descrição da imagem aqui

previsor
fonte
Oi @forecaster. Como você conseguiu 3170 como efeito? Aqui está o que eu fiz, observei os valores ajustados do modelo, que era 8,64245833 (ainda na escala de log). Em seguida, exp (8.64245833) = 5667.244674. Então, peguei 8,64245833 - 0,4392 = 8,20325833. Como exp (8.64245833) - exp (8.20325833) = 2014.411599, esse é o efeito. exp (8.64245833) / exp (8.20325833) = 1.55, o que me pareceu um suporte para isso.
B_Miner 27/11
Acho que você usou os dados reais e o efeito modelado, em comparação à minha abordagem, que usou o modelo para ambos. Eu usei a idéia do que o modelo diz com e sem o efeito. Qual é certo?
B_Miner 27/11
Oi @B_miner, com escala de transformação logarítmica, precisamos observar a taxa de mudança. A abordagem que descrevi é a abordagem direta de acordo com o livro, citei. No entanto, sua abordagem também é razoável. Capturarei as páginas dos livros didáticos em um futuro próximo.
forecaster
A taxa de mudança foi de 0,55, que também é a taxa de mudança na abordagem do modelo adotada. Gostaria de saber qual abordagem é mais certa? Eu me inclino para o meu, pois a abordagem é baseada no modelo (veruss actuals ajustados). Se o modelo estiver muito próximo do real, as duas abordagens serão a amostra. Eu gostaria de ver as páginas. Vejo que o livro parece esgotado?
B_Miner
Sim, o livro está esgotado. O exemplo do livro é uma mudança permanente versus intervenção de pulso no seu exemplo. Eu acho que sua abordagem é direta e precisa.
forecaster
0

@forecaster Depois de permitir que a AUTOBOX identifique 3 outliers usando 29 valores (não é inapropriado na sua experiência), um modelo útil foi encontrado insira a descrição da imagem aquiaqui insira a descrição da imagem aqui. O gráfico ACF residual não sugere um modelo subespecificado insira a descrição da imagem aqui. O gráfico Real / Ajuste / Previsão está insira a descrição da imagem aquicom Ajuste / Previsão aqui insira a descrição da imagem aqui. O Forecaster mencionou (corretamente) anteriormente como uma variável de pulso pode se transformar em uma variável de nível / etapa quando um coeficiente de denominador de quase 1,0 é introduzido. Ao encontrar duas mudanças de nível (a mais recente a partir de 9/2013) e um pulso em 10/2013, o modelo apresenta uma imagem mais clara. Em termos do impacto do pulso em 10/13, é simplesmente o valor do coeficiente. HTH

IrishStat
fonte
2
Qual das duas perguntas você estava respondendo?
B_Miner 27/11
A primeira pergunta premissa um modelo que assumiu uma transformação de log que eu acredito que não se justifica. O pulso em 10/2013 = 1710, que é a estimativa do efeito em 10/2013
IrishStat
@B_Miner você poderia dizer que a mudança de nível no 9/2013 coisas levantadas por 1480, portanto, o elevador líquida no 10/2013 seria 1710 + 1480 = 3190
IrishStat
Este post parece ser um comentário mais extenso sobre a pergunta do que uma resposta para qualquer parte da pergunta. Talvez possa ser aumentado para responder diretamente às perguntas?
whuber
A falsa premissa da primeira pergunta é o cerne da minha resposta: pegar registros e incorporar diferenças desnecessárias é questionável / incorreto na minha opinião ... portanto, minha "resposta" é em parte para corrigir a premissa e sugerir o efeito do impacto em 10/2013 é simplesmente a soma de uma mudança temporária e permanente. Mesmo que o OP tenha aceitado outra resposta, não aceito.
precisa saber é o seguinte