Nos últimos anos, uma técnica poderosa e computacionalmente intensiva conhecida como Análise de Espectro Singular (SSA) ou Análise da Séries Temporais Estruturais foi desenvolvida no campo da análise de séries temporais. SSA é uma técnica nova e poderosa aplicável a muitos problemas práticos, como o estudo de séries temporais clássicas, estatística multivariada, geometria multivariada, sistemas dinâmicos e processamento de sinais.

Possíveis áreas de aplicação do SSA são diversas: da matemática e física à economia e matemática financeira. Outras áreas podem incluir meteorologia e oceanologia às ciências sociais, pesquisa de mercado e medicina. Qualquer série temporal aparentemente complexa pode fornecer outro exemplo de aplicação bem-sucedida do SSA.

O método básico SSA consiste em duas etapas complementares: decomposição e reconstrução; ambos os estágios incluem duas etapas separadas. No primeiro estágio decompomos a série e no segundo estágio reconstruímos a série original e usamos a série reconstruída para prever novos pontos de dados. O conceito principal no estudo das propriedades do SSA é a separabilidade, que caracteriza o quão bem diferentes componentes podem ser separadas umas das outras.

A ausência de separabilidade aproximada é frequentemente observada em séries com estrutura complexa. Para essas séries e séries com estrutura especial, existem diferentes maneiras de modificar o SSA levando a diferentes versões, como SSA com centralização simples e dupla, Toeplitz SSA e SSA sequencial.

Notemos que, embora alguns conceitos probabilísticos e estatísticos sejam empregados nos métodos baseados em SSA, não precisamos fazer nenhuma suposição estatística, como estacionariedade das séries ou normalidade dos resíduos.

SSA é uma ferramenta muito útil que pode ser usada para resolver diferentes problemas, como: encontrar tendências; alisamento; extração de componentes de sazonalidade; extração simultânea de ciclos com períodos pequenos e grandes; extração de periodicidades com amplitudes variadas; extração simultânea de tendências e periodicidades complexas; encontrar estruturas em séries temporais curtas; teste de causalidade baseado no SSA.

A resolução de todos estes problemas corresponde às chamadas capacidades básicas do SSA. Além disso, o método tem várias extensões essenciais. Primeiro, a versão multivariada do método permite a expansão simultânea de várias séries temporais; ver, por exemplo Danilov, D. and Zhigljavsky, A. (1997).

Em segundo lugar, as ideias do SSA levam a vários procedimentos de previsão para séries temporais; ver Golyandina, N., Nekrutkin, V. and Zhigljavsky, A. (2001) e Danilov, D. and Zhigljavsky, A. (1997). Além disso, as mesmas idéias são usadas em Golyandina, N., Nekrutkin, V., and Zhigljavsky, A. (2001) e Moskvina, V. G., and Zhigljavsky, A. (2003) para detecção de ponto de mudança em séries temporais.

Na área de análise de séries temporais não lineares, o SSA foi considerado como uma técnica que poderia competir com métodos clássicos (ARIMA, Holt-Winters, etc.). Há uma série de pesquisas que consideraram o SSA como um método de filtragem ver, por exemplo, Hassani, H., Dionisio, A., and Ghodsi, M. (2010) e suas referências. Em outra pesquisa, a informação de ruído extraída pela técnica SSA, tem sido utilizada como teste de diagnóstico biomédico Ghodsi, M., Hassani, H., Sanei, S., and Hick, Y. (2009).

A técnica SSA também é utilizada como método de filtragem para medições longitudinais. Foi demonstrado que a redução de ruído é importante para o ajuste de curvas em modelos de curva de crescimento e que o SSA pode ser empregado como uma ferramenta poderosa para redução de ruído para medições longitudinais Hassani, H. et all (2009).

Estamos motivados a usar o SSA porque é uma técnica não paramétrica que trabalha com processos estatísticos arbitrários, sejam lineares ou não lineares, estacionários ou não estacionários, gaussianos ou não gaussianos.

Motivação

A dinâmica das séries temporais geralmente passa por mudanças estruturais durante o período considerado e é preciso ter certeza de que o método de previsão não é sensível às variações dinâmicas.

Além disso, ao contrário dos métodos tradicionais de previsão de séries temporais (tanto modelos autorregressivos quanto estruturais que assumem normalidade e estacionaridade da série), o método SSA é não paramétrico e não faz suposições prévias sobre os dados.

A série em tempo real geralmente possui uma estrutura complexa desse tipo; como consequência, encontramos superioridade da SSA sobre as técnicas clássicas. Além disso, o método SSA decompõe uma série em suas partes componentes e a reconstrói, deixando o componente aleatório (ruído) para trás.

Outro aspecto importante do SSA, que pode ser muito útil em economia, é que, ao contrário de muitos outros métodos, ele funciona bem mesmo para amostras pequenas ver, por exemplo, Hassani, H. and Zhigljavsky, A. (2009) e Hassani, H. (2007).

Deve-se ressaltar que, embora conceitos probabilísticos e estatísticos sejam empregados nos métodos baseados no SSA, não são necessárias suposições estatísticas como estacionaridade da série ou normalidade dos resíduos e o SSA usa o bootstrapping para obter os intervalos de confiança para as previsões.

Descrição do algoritmo SSA

Consideramos uma série temporal \(Y_T = (y_1,\cdots,y_T)\) unidimensional. Seja \(L\) um número inteiro fixo tal que \(L\leq T/2\) representando o comprimento da janela e também seja \(K = T-L+1\).

Exemplo

Utilizaremos como exemplo de aplicação uma das séries temporais disponíveis na bilbioteca tsdl.


library(tsdl)
industria = subset(tsdl,12,"Industry")
attributes(industria[[1]])
## $tsp
## [1] 1972.00 1979.75   12.00
## 
## $class
## [1] "ts"
## 
## $source
## [1] "Abraham & Ledolter (1983)"
## 
## $description
## [1] "Monthly demand repair parts large/heavy equip. Iowa 1972 – 1979"
## 
## $subject
## [1] "Industry"
par(mfrow=c(1,1), mar = c(4,5,3,1), pch=19)
plot(industria[[1]], type="b", xlab="", ylab="", main="Demanda mensal de peças de reparo \n equipamentos grandes/pesados. Iowa 1972 – 1979")
grid()


library(Rssa)
mod = ssa(industria[[1]], L=24)
plot(mod, type = "values")


mod1 = ssa(industria[[1]], L=36)
plot(mod1, type = "values")


Esta figura mostra os autovalores.

mod2 <- reconstruct(mod, groups = list(Trend = 1, Seasonality = 2:11))
plot(mod2, add.residuals = TRUE, add.original = TRUE, plot.method = "xyplot",
     superpose = TRUE, auto.key = list(columns = 2)) 

Observemos melhor os resíduos.


res <- industria[[1]] - (mod2$Trend + mod2$Seasonality)
plot(res)


for3 <- forecast(mod1, groups = list(1:6), 
                 method = "recurrent", interval = "confidence",
                 only.intervals = FALSE,
                 len = 6, R = 100, level = 0.95)
plot(for3, include = 36, shadecols = "green", type = "l",
     main = "Confidence intervals")

set.seed(3)
for4 <- forecast(mod1, groups = list(1:6), 
                 method = "recurrent", interval = "prediction",
                 only.intervals = FALSE,  
                 len = 6, R = 100, level = 0.95)
plot(for4, include = 36, shadecols = "green", type = "l",
     main = "Prediction intervals")

Referências

  • Golyandina, N., Nekrutkin, V., and Zhigljavsky, A. (2001). Analysis of Time Series Structure: SSA and related techniques, Chapman & Hall/CRC, New York - London.
  • Broomhead, D. S., and King, G. (1986). Extracting qualitative dynamics from experimental data, Physica D, 20, pp.217-236.
  • Danilov, D., and Zhigljavsky, A. (1997) (Eds.). Principal Components of Time Series: the `Caterpillar’ method, University of St. Petersburg, St. Petersburg. (In Russian.).
  • Elsner, J. B., and Tsonis, A. A. (1996). Singular Spectrum Analysis, A New Tool in Time Series Analysis, Plenum Press, New York and London.
  • Hassani, H., and Zhigljavsky, A. (2009). Singular Spectrum Analysis: Methodology and Application to Economics Data, Journal of System Science and Complexity, 22(3), pp. 372-394.
  • Vautard, R., Yiou, P., and Ghil, M. (1992). Singular spectrum analysis: a toolkit for short, noisy and chaotic series, Physica D, 58, pp. 95-126.
  • Moskvina, V. G., and Zhigljavsky, A. (2003). An algorithm based on singular spectrum analysis for change-point detection, Communication in Statistics - Simulation and Computation, 32(4), pp. 319-352.
  • Hassani, H. (2007). Singular Spectrum Analysis: Methodology and Comparison, Journal of Data Science, 5(2), pp.239-257.
  • Hassani, H., Heravi, S., and Zhigljavsky, A. (2009). Forecasting European Industrial Production with Singular Spectrum Analysis, Internation Journal of Forecasting, 25(1), pp. 103-118.
  • Patterson, K; Hassani, H; Heravi, S; Zhigljavsky, A. (2010). Forecasting the Final Vintage of the Index of Industrial Production, Journal of Applied Statistics, Forthcoming.
  • Alexandrov, Th., and Golyandina, N. (2004). The automatic extraction of time series trend and periodical components with the help of the Caterpillar-SSA approach. Exponenta Pro 3-4 (In Russian.), pp. 54-61.