Estou usando o pacote Causal Impact em R para inferir o efeito causal de uma intervenção em alguns dados altamente correlacionados e sazonais.
Especificamente, recebi 17 dias de dados por hora, a intervenção ocorrendo no final do dia 13. Tenho dois conjuntos de dados de controle que não são afetados pela intervenção (com correlações lineares de 0,708 e 0,701) e o conjunto de dados que inclui a intervenção ( tcp "tratado")
Uma parte dos dados pode ser encontrada aqui
Meu código é o seguinte
days <- 4
daily.obser <- days*24
data.1 <- cbind(treated.signal.3n,the.control.3,the.control.2)
data.1 <- data.1[1:((length(bsl)+1)+daily.obser), ] #check the required amount of data only
matplot(data.1, type = "l",col = c(2,4,9))
legend("bottomright", inset=.05, legend=c("Treated Zone", "Control Zone 1", "Control Zone 2"), pch=1, col=c(2,4,9), horiz=TRUE)
preperiod <- c(1,length(bsl))
postperiod <- c((length(bsl)+1),(length(bsl)+1+daily.obs))
prior.level.sd.level <- 0.01
imp.1 <- CausalImpact(data.1, pre.period = preperiod, post.period = postperiod,
model.args = list(niter = 2500,nseasons=17, season.duration = 24,
dynamic.regression = FALSE, prior.level.sd =prior.level.sd.level,standardize.data = TRUE))
summary(imp.1)
plot(imp.1,c("original","pointwise"))
summary(imp.1,"report")
Minhas perguntas são:
Eu li o artigo e, em algum momento, ele está falando sobre a distribuição anterior da variação. Não entendo como devo definir meu prior.level.sd
parâmetro, com base nos meus dados.
Outro problema que estou enfrentando são os nseasons,season.duration
argumentos. Quando eu especifico isso, nos resultados, estou percebendo que a intervenção é insignificante (e os ICs estão se tornando enormes), enquanto que quando não o faço, a intervenção é significativa. É nseasons
suposto ser dizem que o número de dias para todo o conjunto de dados ou apenas para o período pré-intervenção (por exemplo, 17 ou 13)? O que significa realmente especificar a sazonalidade? Posso, com base nos dados, pular isso?
Resultados com gráficos e números de especificação de sazonalidade
Resultados sem gráficos e números de especificação de sazonalidade
(não fornece cumulativo, pois não é útil no meu caso)
(você notará que no período pré-intervenção o ajuste não é tão bom. Posso corrigir isso de alguma forma?)
Eu não entendo, como devo especificar se eu quero padronizar os dados ou não.
Finalmente, estou pensando em regressão estática ou dinâmica. Li no artigo que é recomendável usar estática quando a relação entre controle e tratamento é estável. Alguém pode explicar o que se entende por estável?
Você pode encontrar o artigo aqui
fonte