CAPÍTULO 1 SSA básico


SSA ou análise de espectro singular é uma nova técnica de análise de séries temporais que incorpora os elementos da análise clássica de séries temporais, estatísticas multivariadas, geometria multivariada, sistemas dinâmicos e processamento de sinais.

Apesar do fato que muitos elementos probabilísticos e estatísticos são empregados nos métodos baseados em SSA, relacionados à estacionariedade, ergodicidade, componentes principais e técnicas de bootstrap, o SSA não é um método estatístico em termos de estatística clássica.

Em particular, normalmente não fazemos nenhuma suposição estatística em relação ao sinal ou ao ruído ao realizar a análise e investigar as propriedades dos algoritmos.

Aqui tratamos do esquema básico do SSA e de várias modificações dele. Apenas o problema de análise da estrutura de uma série temporal unidimensional de valores reais é considerado. Algumas generalizações refinadas do esquema básico adaptado aos problemas de previsão de séries temporais e análise de homogeneidade; incluindo o problema de detecção de ponto de mudança, são consideradas depois.

Resumidamente, consideramos o SSA básico como uma ferramenta sem modelo para reconhecimento e identificação de estruturas de séries temporais. Não queremos especificar a noção de ‘estrutura’ no momento, mas mencionar que o objetivo do SSA básico é uma decomposição da série de interesse em vários componentes aditivos que normalmente podem ser interpretados como componentes de ‘tendência’, ou seja, suave e partes da série que variam lentamente, vários componentes ‘oscilatórios’, talvez com amplitudes variáveis e componentes de “ruído”.

Não atribuímos nenhum significado estocástico ao termo ‘ruído’: o conceito de uma série estacionária determinística de ‘ruído’ é geralmente mais conveniente para SSA, pois lida com uma única trajetória de uma série temporal em vez de uma amostra de tais trajetórias. Além disso, pode ocorrer que não estejamos interessados em certos componentes da série e podem, portanto, incluí-los nos componentes de ruído.

O SSA básico executa quatro etapas. Na primeira etapa, chamada etapa de incorporação, a série unidimensional é representada como uma série multidimensional cuja dimensão é chamada de comprimento da janela. A série temporal multidimensional, que é uma sequência de vetores, forma a matriz de trajetória. O único e muito importante parâmetro desta etapa é o comprimento da janela.

A segunda etapa, etapa SVD, é a decomposição em valores singulares da matriz de trajetória em uma soma de matrizes bi-ortogonais de posto um. As duas primeiras etapas juntas são consideradas como a etapa de decomposição do SSA básico.

As próximas duas etapas formam o estágio de reconstrução. A etapa de agrupamento corresponde a dividir as matrizes, calculadas na etapa SVD, em vários grupos e somar as matrizes dentro de cada grupo. O resultado da etapa é uma representação da matriz de trajetória como uma soma de várias matrizes resultantes.

A última etapa transfere cada matriz resultante para uma série temporal, que é um componente aditivo da série inicial. A operação correspondente é chamada de média diagonal. É uma operação linear e mapeia a matriz de trajetória da série inicial na própria série inicial. Desta forma obtemos uma decomposição da série inicial em vários componentes aditivos.



1.1 SSA básico: descrição


Seja \(N > 2\). Considere uma série temporal de valor real \(F = (f_0,\cdots, f_{N-1})\) de comprimento \(N\). Assuma que \(F\) é uma série diferente de zero; isto é, existe pelo menos um \(i\) tal que \(f_i\neq 0\). Embora normalmente se possa assumir que \(f_i = f (i\Delta)\) para uma certa função de tempo \(f(t)\) e um certo intervalo de tempo \(\Delta\), isso não desempenha nenhum papel específico em nossas considerações.

Além disso, os números \(0,\cdots,N-1\) podem ser interpretados não apenas como momentos de tempo discretos, mas também como rótulos de qualquer outra estrutura ordenada linearmente. A numeração dos valores da série temporal começa em \(i = 0\) em vez do mais padrão \(i = 1\); isso é apenas por conveniência de notação.

Como já foi mencionado, o SSA básico consiste em duas etapas complementares: decomposição e reconstrução.


1.1.1 Primeira etapa: decomposição


1º passo: Incorporação

O procedimento de incorporação mapeia a série temporal original para uma sequência de vetores defasados multidimensionais.

Seja \(L\) um inteiro, o comprimento da janela, \(1 < L < N\). O procedimento de incorporação forma \(K = N - L + 1\) vetores defasados \[ X_i = (f_{i-1},\cdots,f_{i+L-2})^\top, \qquad 1 \leq i\leq K, \] que têm dimensão \(L\). Se precisarmos enfatizar a dimensão do \(X_i\), então os chamaremos de vetores \(L\)-desfasados.

A \(L\)-matriz de trajetória ou simplesmente matriz de trajetória da série \(F\): \[ X = \big( X_1 \, : \, \cdots \, : \, X_K\big), \] tem vetores defasados como suas colunas. Em outras palavras, a matriz de trajetória é \[\begin{equation} \tag{1.1} X=\big(x_{ij}\big)_{i,j=1}^{L,K} = \begin{pmatrix} f_0 & f_1, & f_2 & \cdots & f_{K-1} \\ f_1 & f_2 & f_3 & \cdots & f_{K} \\ f_2 & f_3 & f_4 & \cdots & f_{K+1} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ f_{L-1} & f_{L} & f_{L+1} & \cdots & f_{N-1} \end{pmatrix}\cdot \end{equation}\]

Obviamente \(x_{ij} = f_{i+j-2}\) e a matriz \(X\) tem elementos iguais nas ‘diagonais’ \(i + j\) = constante. Assim, a matriz de trajetória é uma matriz de Hankel. Certamente, se \(N\) e \(L\) forem fixos, haverá uma correspondência biunívoca entre as matrizes de trajetória e as séries temporais.

2º passo: Decomposição em valores singulares

O resultado desta etapa é a decomposição em valores singulares (SVD) da matriz de trajetória. Seja \(S = XX^\top\). Denotando por \(\lambda_1,\cdots,\lambda_L\) os autovalores de \(S\) tomados em ordem decrescente de grandeza, \(\lambda_1\geq \cdots \geq \lambda_L \geq 0\) e por \(U_1,\cdots, U_L\) o sistema ortonormal dos autovetores da matriz \(S\) correspondentes a esses autovalores. Seja \(d = \max\{i, \mbox{ tal que } \lambda_i > 0\}\).

Se denotarmos \(V_i =X^\top U_i/\sqrt{\lambda_i}\), \(i = 1,\cdots,d\), então o SVD da matriz de trajetória \(X\) pode ser escrito como \[\begin{equation} \tag{1.2} X = X_1 + \cdots + X_d, \end{equation}\] onde \(X_i = \sqrt{\lambda_i} U_i V_i^\top\). As matrizes \(X_i\) têm posto 1; portanto, são matrizes elementares. A coleção \((\lambda_i, U_i, V_i)\) será denominada \(i\)-ésimo autotriplo do SVD (1.2).


1.1.2 Segunda etapa: reconstrução


3º passo. Agrupamento

Obtida a expansão (1.2), o procedimento de agrupamento particiona o conjunto de índices \(\{1,\cdots,d\}\) em \(m\) subconjuntos disjuntos \(I_1,\cdots,I_m\).

Seja \(I = \{i_1,\cdots, i_p\}\). Então a matriz resultante \(X_I\) correspondente ao grupo \(I\) é definida como \[ X_I = X_{i_1}+\cdots + X_{i_p}\cdot \] Estas matrizes são calculadas para \(I = I_1,\cdots , I_m\) e a expansão (1.2) leva à decomposição \[\begin{equation} \tag{1.3} X = X_{I_1} + \cdots + X_{I_m}\cdot \end{equation}\]

O procedimento de escolha dos conjuntos \(I_1,\cdots,I_m\) é chamado de agrupamento autotriplo.

4º passo: Média diagonal

A última etapa do SSA básico transforma cada matriz da decomposição agrupada (1.3) em uma nova série de comprimento \(N\).

Seja \(Y=\big(y_{ij}\big)_{i,j=1}^{L,K}\). Sejam também \(L^* =\min\{L,K\}\), \(K^* =\max\{L,K\}\), \(N=L+K-1\) e \[ y^*_{ij}=\left\{ \begin{array}{rl} y_{ij} & \mbox{ caso } L<K \\ y_{ji} & \mbox{ caso contrário} \end{array}\right. \]

A média diagonal transfere a matriz \(Y\) para a série \(g_0,\cdots,g_{N-1}\) pela fórmula: \[\begin{equation} \tag{1.4} g_k = \left\{ \begin{array}{cc} \displaystyle \dfrac{1}{k+1}\sum_{m=1}^{k+1} y^*_{m,k-m+2} & \mbox{ para } 0\leq k<L^*-1, \\ \displaystyle \dfrac{1}{L^*}\sum_{m=1}^{L^*} y^*_{m,k-m+2} & \mbox{ para } L^*-1\leq k<K^*, \\ \displaystyle \dfrac{1}{N-k}\sum_{m=k-K^*+2}^{N-K^*+1} y^*_{m,k-m+2} & \mbox{ para } K^*\leq k<N\cdot \end{array}\right. \end{equation}\]

A expressão (1.4) corresponde à média dos elementos da matriz sobre as ‘diagonais’ \(i + j = k + 2\): a escolha \(k = 0\) fornece \(g_0 = y_{11}\), para \(k = 1\) temos \(g_1 = (y_{12} + y_{21})/2\) e assim por diante. Observe que se a matriz \(Y\) é a matriz de trajetória de algumas séries \((h_0,\cdots, h_{N-1})\), em outras palavras, se \(Y\) é a matriz de Hankel, então \(g_i = h_i\) para todo \(i\).

A média diagonal (4) aplicada a uma matriz resultante \(X_{I_k}\) produz a série \(\widetilde{F}^{(k)} = (\widetilde{f}^{(k)}_0,\cdots,\widetilde{f}^{(k)}_{N-1})\) e, portanto, a série inicial \(f_0,\cdots,f_{N-1}\) é decomposta na soma de \(m\) séries: \[\begin{equation} \tag{1.5} f_n=\sum_{k=1} ^m \widetilde{f}^{(k)}_n\cdot \end{equation}\]


1.2 Etapas no SSA básico: comentários


A descrição formal das etapas do SSA básico requer alguma elucidação e discutimos brevemente, nesta seção, o significado dos procedimentos envolvidos.


1.2.1 Incorporação


A incorporação é um mapeamento entre a série temporal unidimensional \(F = (f_0,\cdots,f_{N-1})\) para a série multidimensional \(X_1,\cdots, X_K\) com vetores \[ X_i = (f_{i-1},\cdots, f_{i+L-2})^\top\in\mathbb{R}^L, \] onde \(K = N-L+1\). Os vetores \(X_i\) são chamados de vetores \(L\)-desfasados ou, simplesmente, vetores defasados.

O único parâmetro da incorporação é o comprimento da janela \(L\), um inteiro tal que \(2\leq L\leq N-1\).

A incorporação é um procedimento padrão na análise de séries temporais. Com a incorporação sendo realizada, o desenvolvimento posterior depende do objetivo da investigação.

Para especialistas em sistemas dinâmicos, uma técnica comum é obter a distribuição empírica de todas as distâncias pareadas entre os vetores defasados \(X_i\) e \(X_j\) e, então, calcular a chamada dimensão de correlação da série. Esta dimensão está relacionada com a dimensão fractal do atrator do sistema dinâmico que gera a série temporal. Veja Takens (1981); Sauer, Yorke and Casdagli (1991), para a teoria e Nicolis and Prigogine (1989), para o algoritmo correspondente. Note que nesta abordagem, \(L\) deve ser relativamente pequeno e \(K\) deve ser muito grande, formalmente, \(K\to\infty\).

Se \(L\) for suficientemente grande, então pode-se considerar cada vetor \(L\)-desfasado \(X_i\) como uma série separada e investigar a dinâmica de certas características para esta coleção de séries. O exemplo mais simples dessa abordagem é o conhecido método de “média móvel”, em que as médias dos vetores defasados são calculadas. Existem também algoritmos muito mais sofisticados.

Por exemplo, se a série inicial pode ser considerada como um processo localmente estacionário, então podemos expandir cada vetor defasado \(X_i\) em relação a qualquer base fixa, por exemplo, a base de Fourier ou uma certa base wavelet e estudar a dinâmica de tal expansão. Essas ideias correspondem à análise dinâmica de Fourier. Evidentemente, outras bases também podem ser aplicadas.

A aproximação de uma série estacionária com a ajuda dos modelos de autorregressão também pode ser expressa em termos de imersão: se lidarmos com o modelo \[\begin{equation} \tag{1.6} f_{i+L-1}=a_{L-1} f_{i+L-2}+a_1 f_{i}+\epsilon_{i+L-1}, \qquad i\geq 0, \end{equation}\] então buscamos um vetor \(A = (a_1,\cdots, a_{L-1},−1)^\top\) tal que os produtos internos \(<X_i,A>\) sejam descritos em termos de uma certa série de ruídos.

Observe que essas e muitas outras técnicas que utilizam a incorporação podem ser divididas em duas grandes partes, que podem ser chamadas de ‘global’ e ‘dinâmica’. Os métodos globais tratam os \(X_i\) como vetores \(L\)-dimensionais e não usam sua ordenação.

Por exemplo, se calcularmos a distribuição empírica das distâncias pareadas entre os vetores defasados, o resultado não depende da ordem em que esses vetores aparecem. Uma situação similar ocorre para o modelo de autorregressão (1.6) se os coeficientes \(a_i\) forem calculados através de toda a coleção de vetores defasados, por exemplo, pelo método dos mínimos quadrados.

Essa invariância sob permutação dos vetores defasados não é surpreendente, pois ambos os modelos lidam com séries do tipo estacionárias e se destinam a encontrar características globais de toda a série. O número de vetores com defasagem \(K\) desempenha o papel do “tamanho da amostra” nessas considerações e, portanto, deve ser bastante grande.

Teoricamente, nessas \(L\) abordagens devem ser fixas e \(K\to\infty\). A situação é diferente quando lidamos com a análise dinâmica de Fourier e métodos semelhantes e até mesmo com as médias móveis. Aqui a ordem dos vetores defasados é importante e descreve a dinâmica de interesse. Portanto, o cenário não estacionário é a principal área de aplicação dessas abordagens. Quanto a \(L\) e \(K\), sua relação geralmente pode ser arbitrária e deve depender dos dados concretos e do problema concreto.

De qualquer forma, o comprimento \(L\) da janela deve ser suficientemente grande. O valor de \(L\) tem que ser grande o suficiente para que cada vetor \(L\)-defasado incorpora uma parte essencial do comportamento da série inicial \(F = (f_0,\cdots, f_{N-1})\).

De acordo com a descrição formal da etapa de incorporação, o resultado desta etapa é uma matriz de trajetória \[ X = \big(X_1 \, : \, \cdots \, : \, X_K\big), \] em vez de apenas uma coleção de vetores defasados \(X_i\). Isso significa que geralmente estamos interessados nos efeitos dinâmicos, embora algumas características que são invariantes sob permutações dos vetores defasados também sejam importantes.

A matriz de trajetória (1.1) possui uma propriedade de simetria óbvia: a matriz transposta \(X^\top\) é a matriz de trajetória da mesma série \(f_0,\cdots, f_{N-1}\) com comprimento de janela igual a \(K\) em vez de \(L\).


1.2.2 Decomposição em valores singulares


A decomposição de valores singulares (SVD) da matriz de trajetória (1.1) é a segunda etapa do SSA básico. SVD pode ser descrito em diferentes termos e ser usado para diferentes propósitos. A maioria dos recursos SVD são válidos para matrizes \(L\times K\) gerais, mas a estrutura de Hankel da matriz de trajetória adiciona vários recursos específicos. Vamos começar com as propriedades gerais do SVD importantes para o SSA.

Como já foi mencionado, o SVD de uma matriz \(L\times K\) arbitrária diferente de zero \[ X = \big(X_1 \, : \, \cdots \, : \, X_K\big) \] é uma decomposição de \(X\) na forma \[\begin{equation} \tag{1.7} X = \sum_{i=1}^d \sqrt{\lambda_i} U_i V_i^\top, \end{equation}\] onde \(\lambda_i\), \(i = 1,\cdots, L\) são autovalores da matriz \(S = XX^\top\) dispostos em ordem decrescente de magnitudes, \[ d = \max\{i, \mbox{ tal que } \lambda_i > 0\} = \mbox{posto}(X), \] \(\{U_1,\cdots, U_d\}\) é o sistema ortonormal correspondente dos autovetores da matriz \(S\) e \(V_i = X^\top U_i/\sqrt{\lambda_i}\).

A terminologia SVD padrão chama \(\sqrt{\lambda_i}\) de valores singulares; o \(U_i\) e o \(V_i\) são os vetores singulares esquerdo e direito da matriz \(X\), respectivamente. A coleção \((\sqrt{\lambda_i},U_i, V_i)\) é chamada \(i\)-ésimo autotriplo da matriz \(X\). Se definirmos \(X_i = \sqrt{\lambda_i} U_i V_i^\top\), então a representação (1.7) pode ser reescrita na forma (2), ou seja, como a representação de \(X\) como uma soma das matrizes elementares \(X_i\).

Se todos os autovalores tiverem multiplicidade um, então a expansão (1.2) é definida de forma única. Caso contrário, se houver pelo menos um autovalor com multiplicidade maior que 1, então há liberdade na escolha dos autovetores correspondentes. Vamos assumir que os autovetores são de alguma forma escolhidos e a escolha é fixa.

Como SVD lida com toda a matriz \(X\), não é invariante sob permutação de suas colunas \(X_1,\cdots , X_K\). Além disso, a igualdade (7) mostra que o SVD possui a seguinte propriedade de simetria: \(V_1,\cdots, V_d\) formam um sistema ortonormal de autovetores para a matriz \(X^\top X\) correspondente aos mesmos autovalores \(\lambda_i\). Observe que as linhas e colunas da matriz de trajetória são subséries da série temporal original. Portanto, os vetores singulares esquerdo e direito também possuem uma estrutura temporal e, portanto, também podem ser considerados como séries temporais.

SVD (1.2) possui vários recursos ideais. Uma dessas propriedades é a seguinte: dentre todas as matrizes \(X^{(r)}\) de posto \(r < d\), a matriz \(\sum_{i=1}^r X_i\) fornece a melhor aproximação da matriz de trajetória \(X\), de modo que \(||X−X^{(r)}||_\mathcal{M}\) é mínimo.

Aqui utilizamos a norma Frobenius de uma matriz \(Y\), definida como \(\sqrt{<Y,Y>_\mathcal{M}}\), onde o produto interno de duas matrizes \(Y=\big(y_{ij}\big)_{i,j=1}^{q,s}\) e \(Z=\big(z_{ij}\big)_{i,j=1}^{q,s}\) é definido como \[ <Y,Z>_\mathcal{M} =\sum_{i,j=1}^{q,s} y_{ij}z_{ij}\cdot \]

Observe que \(||X||^2_\mathcal{M}=\sum_{i=1}^d \lambda_i\) e \(\lambda_i=||X_i||^2_\mathcal{M}\) para \(i=1,\cdots,d\). Assim, consideraremos a razão \(\lambda_i/||X||^2_\mathcal{M}\) como a característica da contribuição da matriz \(X_i\) na expansão (1.2) para toda a trajetória da matriz \(X\). Conseqüentemente, \(\sum_{i=1}^r \lambda_i \big/ ||X||^2_\mathcal{M}\), a soma das primeiras \(r\) razões, é a característica da aproximação ótima da matriz de trajetória pelas matrizes de posto \(r\).

Vamos agora considerar a matriz de trajetória \(X\) como uma sequência de vetores \(L\)-desfasados. Denote por \(\mathcal{L}^{(L)}\subset \mathbb{R}^L\) o espaço linear gerado pelos vetores \(X_1,\cdots, X_K\). Chamaremos esse espaço de espaço da \(L\)-trajetória ou, simplesmente, espaço da trajetória da série \(F\). Para enfatizar o papel da série \(F\), usamos a notação \(\mathcal{L}^{(L)}(F)\) em vez de \(\mathcal{L}^{(L)}\). A igualdade (1.7) mostra que \(U = (U_1,\cdots, U_d)\) é uma base ortonormal no espaço de trajetória \(d\)-dimensional \(\mathcal{L}^{(L)}(F)\).

Definindo \(Z_i =\sqrt{\lambda_i}V_i\), \(i = 1,\cdots,d\), podemos reescrever a expansão (1.7) na forma \[\begin{equation} \tag{1.8} X=\sum_{i=1}^d U_i Z_i^\top, \end{equation}\] e para os vetores defasados \(X_j\) temos \[\begin{equation} \tag{1.9} X_j=\sum_{i=1}^d z_{ji} U_i, \end{equation}\] onde os \(z_{ji}\) são os componentes do vetor \(Z_i\).

Por (1.9), \(z_{ji}\) é a \(i\)-ésima componente do vetor \(X_j\), representado na base \(U\). Em outras palavras, o vetor \(Z_i\) é composto pelas \(i\)-ésimas componentes de vetores defasados representados na base \(U\).

Consideremos agora a matriz de trajetória transposta \(X^\top\). Introduzindo \(Y_i = \sqrt{\lambda_i}U_i\) obtemos a expansão \[ X^\top = \sum_{i=1}^d V_i Y_i^\top, \] que corresponde à representação da seqüência de vetores \(K\)-defasados na base ortonormal \(V_1,\cdots,V_d\). Assim, o SVD dá origem a duas descrições geométricas duais da matriz de trajetória \(X\).

A característica ótima do SVD considerada acima pode ser reformulada na linguagem da geometria multivariada para os vetores \(L\)-defasados como segue. Seja \(r < d\). Então, entre todos os subespaços \(r\)-dimensionais \(\mathcal{L}_r\subset\mathbb{R}^L\), o subespaço \(\mathcal{L}^{(0)}_r= \mathcal{L}(U_1,\cdots,U_r)\), gerado por \(U_1,\cdots,U_r\), aproxima esses vetores da melhor maneira; ou seja, o mínimo de \[ \sum_{i=1}^K \mbox{dist}^2 (X_i,\mathcal{L}_r), \] é atingido em \(\mathcal{L}^{(0)}_r\). A razão \(\sum_{i=1}^r \lambda_i\big/ \sum_{i=1}^d\lambda_i\) é a característica da melhor aproximação \(r\)-dimensional dos vetores defasados.

Outra característica ótima refere-se às propriedades das direções determinadas pelos autovetores \(U_1,\cdots, U_d\). Especificamente, o primeiro autovetor \(U_1\) determina a direção de modo que a variação das projeções dos vetores defasados nesta direção seja máxima.

Cada autovetor subseqüente determina uma direção que é ortogonal a todas as direções anteriores e a variação das projeções dos vetores defasados nesta direção também é máxima. Portanto, é natural chamar a direção do \(i\)-ésimo autovetor \(U_i\) de \(i\)-ésima direção principal. Observe que as matrizes elementares \(X_i = U_iZ_i^\top\) são construídas a partir das projeções dos vetores defasados nas \(i\)-ésimas direções.

Esta visão sobre o SVD da matriz de trajetória composta de vetores \(L\)-defasados e um apelo a associações com a análise de componentes principais levam à seguinte terminologia. Chamaremos o vetor \(U_i\) de \(i\)-ésimo autovetor principal, o vetor \(V_i\) será chamado de \(i\)-ésimo vetor de fator e o vetor \(Z_i\) de vetor das \(i\)-ésimas componentes principais.


1.2.3 Agrupamento


Vamos agora comentar a etapa de agrupamento, que é o procedimento de arranjo dos termos da matriz \(X_i\) em (1.2). Assuma que \(m = 2\), \[ I_1 = I = \{i_1,\cdots, i_r\} \qquad \mbox{ e } I_2 = \{1,\cdots, d\}\setminus I, \] onde \(1\leq i_1 < \cdots < i_r\leq d\).

O objetivo da etapa de agrupamento é a separação dos componentes aditivos da série temporal. Vamos discutir o conceito muito importante de separabilidade em detalhes.

Suponha que a série temporal \(F\) seja uma soma de duas séries temporais \(F^{(1)}\) e \(F^{(2)}\); ou seja, \(f_i = f_i^{(1)}+f_i^{(2)}\) para \(i = 0,\cdots, N-1\). Fixemos o comprimento da janela \(L\) e denotemos por \(X\), \(X^{(1)}\) e \(X^{(2)}\) as matrizes \(L\)-trajetórias das séries \(F\), \(F^{(1)}\) e \(F^{(2)}\), respectivamente.

Considere um SVD (1.2) da matriz de trajetória \(X\). Lembremos que se todos os autovalores tiverem multiplicidade um, então esta expansão é única. Diremos que as séries \(F^{(1)}\) e \(F^{(2)}\) são fracamente separáveis pela decomposição (1.2), se existe uma coleção de índices \(I\subset \{1,\cdots, d\}\) tal que \(X^{(1)} = \sum_{i\in I} X_i\) e consequentemente \(X^{(2)} = \sum_{i\notin I} X_i\).

No caso de separabilidade, a contribuição de \(X^{(1)}\), o primeiro componente na expansão \(X = X^{(1)} + X^{(2)}\), é naturalmente medida pela parcela dos autovalores correspondentes: \[ \sum_{i\in I} \lambda_i \big/ \sum_{i=1}^L \lambda_i\cdot \]

A separação das séries pela decomposição (1.2) pode ser vista de diferentes perspectivas. Fixemos o conjunto de índices \(I = I_1\) e consideremos a matriz resultante \(X_{I_1}\) correspondente. Se esta matriz, e portanto \(X_{I_2} = X - X_{I_1}\), são matrizes de Hankel, então elas são necessariamente as matrizes de trajetória de certas séries temporais separáveis pela expansão (1.2).

Além disso, se as matrizes \(X_{I_1}\) e \(X_{I_2}\) são próximas de algumas matrizes de Hankel, então existem séries \(F^{(1)}\) e \(F^{(2)}\) tais que \(F = F^{(1)} + F^{(2)}\) e as matrizes de trajetória dessas séries são próximas para \(X_{I_1}\) e \(X_{I_2}\), respectivamente. O problema de encontrar essas séries é discutido abaixo. Neste caso diremos que as séries são aproximadamente separáveis.

Portanto, o objetivo da etapa de agrupamento, ou seja, o procedimento de organizar os índices \(1,\cdots,d\) em grupos é encontrar vários grupos \(I_1,\cdots, I_m\) tal que as matrizes \(X_{I_1},\cdots ,X_{I_m}\) satisfazem (1.3) e estejam próximas de certas matrizes de Hankel.

Vejamos agora a etapa de agrupamento do ponto de vista da geometria multivariada. Seja \[ X = \big(X_1 \, : \, \cdots \, : \, X_K\big), \] a matriz de trajetória de uma série temporal \(F\), \(F = F^{(1)} + F^{(2)}\), e as séries \(F^{(1)}\) e \(F^{(2)}\) são separáveis pela decomposição (2), que corresponde para dividir o conjunto de índices \(\{1,\cdots, d\}\) em \(I\) e \(\{1,\cdots, d\}\setminus I\).

A expansão (1.3) com \(m=2\) significa que \(U_1,\cdots ,U_d\), a base no espaço de trajetória \(\mathcal{L}^{(L)}\), divide-se em dois grupos de vetores de base. Isso corresponde à representação de \(\mathcal{L}^{(L)}\) como um produto de dois subespaços ortogonais ou espaços próprios, \[ \mathcal{L}^{(L,1)} = \mathcal{L}(U_i,i\in I) \] e \[ \mathcal{L}^{(L,2)} = \mathcal{L}(U_i,i\notin I), \] gerados por \(U_i\),\(i\in I\) e \(U_i\), \(i\notin I\), respectivamente.

A separabilidade de duas séries \(F^{(1)}\) e \(F^{(2)}\) significa que a matriz \(X_I\), cujas colunas são as projeções dos vetores defasados \(X_1,\cdots,X_K\) no autoespaço \(\mathcal{L}^{(L,1)}\) é exatamente a matriz de trajetória da série \(F^{(1)}\).

Apesar do fato de que vários critérios formais de separabilidade serão introduzidos, todo o procedimento de divisão dos termos em grupos, ou seja, a etapa de agrupamento é difícil de formalizar completamente. Este procedimento é baseado na análise dos vetores singulares \(U_i\), \(V_i\) e dos autovalores \(\lambda_i\) nas expansões SVD (1.2) e (1.7).

Acontece que, como cada componente da matriz do SVD é completamente determinado pelo autotriplo correspondente, falaremos sobre o agrupamento dos autotriplos em vez do agrupamento das matrizes elementares \(X_i\).

Observe também que o caso de duas componentes em série, \(m=2\), considerado acima é muitas vezes mais sensatamente considerado como o problema de separar um único componente; por exemplo, como uma redução de ruído, em vez do problema de separação de dois termos. Neste caso, estamos interessados em apenas um grupo de índices, a saber, \(I\).


1.2.4 Média diagonal


Se os componentes da série são separáveis e os índices estão sendo divididos de acordo, então todas as matrizes na expansão (1.3) são matrizes de Hankel.

Assim, obtemos imediatamente a decomposição (1.5) da série original: para cada \(k\) e \(n\), \(f_n^{(k)}\) é igual a todas as entradas \(x_{ij}^{(k)}\) ao longo da diagonal secundária \[ \{(i,j), \mbox{ tal que } i + j = n + 2\} \] da matriz \(X_{I_k}\).

Na prática, porém, essa situação não é realista. No caso geral, nenhuma diagonal secundária consiste em elementos iguais. Precisamos, portanto, de um procedimento formal para transformar uma matriz arbitrária em uma matriz de Hankel e, portanto, em uma série.

Para tanto, consideraremos o procedimento de média diagonal, que define os valores da série temporal \(\widetilde{F}^{(k)}\) como médias das diagonais correspondentes das matrizes \(X_{I_k}\).

É conveniente representar o passo de média diagonal com a ajuda do operador de Hankelização \(\mathcal{H}\).

O operador \(\mathcal{H}\) atua em uma matriz arbitrária de ordem \(L\times K\), \(Y = \big(y_{ij}\big)_{i,j=1}^{L,K}\) da seguinte maneira, assumindo por definição que \(L\leq K\): para \(i + j = s\) e \(N = L + K - 1\) o elemento \(\widetilde{y}_{ij}\) da matriz \(\mathcal{H}Y\) é \[\begin{equation} \tag{1.10} \widetilde{y}_{ij}=\left\{ \begin{array}{ccc} \displaystyle \dfrac{1}{s-1}\sum_{\ell=1}^{s-1} y_{\ell,s-\ell} & \mbox{ para } & 2\leq s\leq L-1 \\ \displaystyle \dfrac{1}{L}\sum_{\ell=1}^{L} y_{\ell,s-\ell} & \mbox{ para } & L\leq s\leq K+1 \\ \displaystyle \dfrac{1}{K+L-s+1}\sum_{\ell=s-K}^{L} y_{\ell,s-\ell} & \mbox{ para } & K+2\leq s\leq K-L \end{array}\right.\cdot \end{equation}\]

Para \(L > K\) a expressão para os elementos da matriz \(\mathcal{H}Y\) é análoga, as mudanças são a substituição \(L\leftrightarrow K\) e o uso da transposição da matriz original \(Y\).

Observe que a Hankelização é um procedimento ótimo no sentido de que a matriz \(\mathcal{H}Y\) é a mais próxima de \(Y\), em relação à norma da matriz, entre todas as matrizes de Hankel do tamanho correspondente. Por sua vez, a matriz de Hankel \(\mathcal{H}Y\) define a série de forma única relacionando os valores das diagonais com os valores da série.

Aplicando o procedimento de Hankelização a todos os componentes da matriz de (1.3), obtemos outra expansão: \[\begin{equation} \tag{1.11} X=\widetilde{X}_{I_1}+\cdots+\widetilde{X}_{I_m}, \end{equation}\] onde \(\widetilde{X}_{I_\ell}=\mathcal{H}X_{I_\ell}\).

Um agrupamento sensato leva à decomposição (1.3) onde as matrizes resultantes \(X_{I_k}\) são quase de Hankel. Isso corresponde à separabilidade aproximada e implica que os produtos internos pareados de diferentes matrizes \(\widetilde{X}_{I_\ell}\) em (1.11) são pequenos.

Como todas as matrizes do lado direito da expansão (11) são matrizes de Hankel, cada matriz determina de forma única a série temporal \(\widetilde{F}^{(k)}\) e assim obtemos (1.5), a decomposição da série temporal original.

O procedimento de computar a série temporal \(\widetilde{F}^{(k)}\), ou seja, construir o grupo \(I_k\) mais a média diagonal da matriz \(X_{I_k}\), será chamado de reconstrução de uma série componente \(\widetilde{F}^{(k)}\) pelos autotriplos com índices em \(I_k\).


1.3 SSA básico: recursos básicos


Nesta seção, começamos a discutir exemplos que ilustram os recursos do SSA básico. Observe que termos como ‘tendência’, ‘suavização’, ‘sinal’ e ‘ruído’ são usados aqui em seu significado informal e por senso comum e serão comentados mais tarde.


1.3.1 Tendências de diferentes resoluções


Os seguintes dados correspondem à produção de petróleo bruto nos Estados Unidos, são dados mensais de janeiro de 1970 a dezembro de 1999 em milhares de barris; mostra a capacidades do SSA na extração de tendências que têm diferentes resoluções.

Embora a série tenha um componente sazonal e o componente correspondente pode ser extraído junto com o componente de tendência, no momento não prestamos atenção às periodicidades.

# U.S. Field Production of Crude Oil (Thousand Barrels)
# Fonte: https://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=MCRFPUS1&f=M
Prod = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/crude-oil.txt", header = FALSE)
Prod = ts(Prod/1000, start = c(1970,1), frequency = 12)
par(mar=c(3,4,2,1))
plot(Prod, xlab = "", main = "Produção de petróleo bruto nos campos dos EUA (mil barris)", 
     ylab = "", axes = FALSE)
axis(1); axis(2, las = 1); box()
library(Rssa)
modelo.Prod = ssa(as.numeric(Prod), L = 120, neig = 3)
modelo.Prod1 = reconstruct(modelo.Prod, groups = list(Trend = c(1)))
lines(ts(modelo.Prod1$Trend, start = c(1970,1), frequency = 12), col = "red")
grid()

Figura 1.1 Produção de petróleo bruto nos campos dos Estados Unidos e tendência geral (tendência aproximada).

Tomando o comprimento da janela padrão \(L = 120\) vemos que os autotriplos 1-3 correspondem à tendência. Escolhendo esses autotriplos em diferentes combinações, podemos encontrar diferentes componentes de tendência.

As Figuras 1.1 e 1.2 demonstram duas alternativas na resolução de tendências. O autotriplo líder dá uma tendência geral da série na Figura 1.1. Os três autotriplos principais descrevem o comportamento dos dados com mais precisão, apresentado na Figura 1.2 e mostram não apenas a queda geral da produção, mas também seu crescimento de meados dos anos 70 para meados dos anos 80.

par(mar=c(2,3,2,1))
plot(Prod, xlab = "", main = "Produção de petróleo bruto nos campos dos EUA (mil barris)", 
     ylab = "", axes = FALSE)
axis(1); axis(2, las = 1); box()
modelo.Prod2 = reconstruct(modelo.Prod, groups = list(Trend = c(1:3)))
lines(ts(modelo.Prod2$Trend, start = c(1970,1), frequency = 12), col = "red")
grid()

Figura 1.2 Produção: tendência exata.


1.3.2 Suavização


A série ‘Tree rings’, índices de anéis de árvores, na bacia do rio Snake, EUA contém dados anuais desde 1282, esta série descrita em Hipel and McLeod (1994) com a ajuda de um modelo ARIMA(3,0). Se o modelo do tipo ARIMA for aceito, geralmente não faz sentido procurar por qualquer tendência ou periodicidade. No entanto, podemos suavizar a série com a ajuda do SSA básico.

tree.rings = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/tree-rings.txt", header = FALSE)
par(mar=c(2,3,2,1))
plot(ts(tree.rings, start = c(1282,1), frequency = 1), axes = FALSE)
axis(1); axis(2, las = 1); box()
modelo.tree.rings = ssa(tree.rings, L = 120, neig = 7)
modelo.tree.rings1 = reconstruct(modelo.tree.rings, groups = list(Season = c(1:7)))
lines(ts(modelo.tree.rings1$Season, start = c(1282,1), frequency = 1), col = "red")
grid()

Figura 1.3 Anéis de árvore: resultado da suavização.

A Figura 1.3 mostra a série inicial e o resultado de sua suavização SSA, que é obtido pelos 7 autotriplos principais com comprimento de janela \(L=120\). A Figura 1.4 mostra os resíduos.

par(mar=c(2,3,2,1))
plot(ts(residuals(modelo.tree.rings1), start = c(1282,1), frequency = 1), axes = FALSE)
axis(1); axis(2, las = 1); box()
abline(h=0, col = "red", lwd = 2, lty = 2)
grid()

Figura 1.4 Anéis de árvore: resíduos.

Outro exemplo que demonstra SSA como uma técnica de suavização usa os dados de ‘Anã branca’, que contém 618 medições pontuais da variação temporal da intensidade da estrela anã branca PG1159-035 durante março de 1989. Esses dados são discutidos em Clemens (1994).

library(ssabook)
data(dwarfst)
par(mar=c(2,3,2,1))
plot(dwarfst, axes = FALSE)
axis(1); axis(2, las = 1); box()
grid()

A série inteira pode ser descrita como uma curva quase periódica suave com um componente de ruído. Usamos SSA básico com comprimento de janela \(L=100\) e escolhendo os 11 autotriplos principais para a reconstrução, obtemos a curva suave da Figura 1.5 (linha grossa). Os resíduos, Figura 1.6, parecem não ter estrutura evidente.

par(mar=c(2,3,2,1))
plot(dwarfst, axes = FALSE)
axis(1); axis(2, las = 1); box()
modelo.dwarfst = ssa(dwarfst, L = 100, neig = 11)
modelo.dwarfst1 = reconstruct(modelo.dwarfst, groups = list(Season = c(1:11)))
lines(modelo.dwarfst1$Season, col = "red")
grid()

Figura 1.5 Anã branca: série suavizada.

Uma análise mais aprofundada mostra que a série residual pode ser considerada como um ruído branco gaussiano, embora não contenha frequências muito baixas, consulte a discussão na Seção 1.6.1. Assim, podemos assumir que, neste caso, o procedimento de suavização leva à redução do ruído e a curva suave da Figura 1.5 descreve o sinal.

layout(matrix(c(1,3,1,2), 1))
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
y = residuals(modelo.dwarfst1)
plot.ts(y, ylab='')
abline(h=0, col = "red", lwd = 2, lty = 2)
hist(y, 15, prob=TRUE, main='', xlab='')
xx = seq(min(y),max(y), by=.01)
lines(xx, dnorm(xx, mean=mean(y), sd=sd(y)), lty='dashed', lwd=2)
box()
grid()

Figura 1.6 Anã branca: resíduos.


1.3.3 Extração de componentes de sazonalidade


O arquivo de dados de Eggs contém o npumero de ovos mensal por uma galinha poedeira, uma série temporal mensal desde janeiro de 1938 a dezembro de 1940. A referência é o livro The Advanced Theory of Statistics de Kendall & Stuart (1976). Estes dados têm uma estrutura bastante simples: é a soma de uma oscilação anual explícita, embora não um harmônico e a tendência, que é quase constante.

Eggs = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/Eggs.dat", header = FALSE)
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(Eggs, start = c(1938,1), frequency = 12), ylab='')
modelo.Eggs = ssa(Eggs, L = 12, neig = 12)
modelo.Eggs1 = reconstruct(modelo.Eggs, groups = list(Trend = c(1)))
lines(ts(modelo.Eggs1$Trend, start = c(1938,1), frequency = 12), col = "red", lwd = 2)
grid()

Figura 1.7 Eggs: série inicial e sua tendência.

A escolha \(L = 12\) nos permite extrair simultaneamente todos os componentes sazonais: 12, 6, 4, 3, 2, 4 e harmônicos de 2 meses, bem como a tendência. O gráfico da Figura. 1.7 representa a série inicial e sua tendência (linha grossa vermelha), que é reconstruída a partir do primeiro autotriplo.

modelo.Eggs2 = reconstruct(modelo.Eggs, groups = list(harmonics1 = c(2,3), harmonics2 = c(4,5), 
                                                      harmonics3 = c(6,7), harmonics4 = c(8,9)))
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0), mfrow = c(2,2))
plot(ts(modelo.Eggs2$harmonics1, start = c(1938,1), frequency = 12), ylab='')
grid()
plot(ts(modelo.Eggs2$harmonics2, start = c(1938,1), frequency = 12), ylab='')
grid()
plot(ts(modelo.Eggs2$harmonics3, start = c(1938,1), frequency = 12), ylab='')
grid()
plot(ts(modelo.Eggs2$harmonics4, start = c(1938,1), frequency = 12), ylab='')
grid()

Figura 1.8 Eggs: quatro harmônicos sazonais principais.

Os quatro principais componentes harmônicos sazonais (resumidamente, harmônicos) da série são representados na Figura 1.8; são eles: harmônicos de 12 meses, 6 meses (apresentados na mesma escala), 4 meses e 2,4 meses (também na mesma escala).

Os pares correspondentes dos autotriplos são 2-3; 4-5; 6-7 e 8-9. Os dois harmônicos mais fracos, 3 meses e 2 meses (10-11 e 12 autotriplos, respectivamente), não são mostrados.


1.3.4 Extração de ciclos com pequenos e grandes períodos


A série ‘Births’, o número de nascimentos diários, Quebec, Canadá, de 1º de janeiro de 1977 a 31 de dezembro de 1990 é discutida em Hipel and McLeod (1994), “Time Series Modelling of Water Resources and Environmental Systems” published by Elsevier, Amsterdam. ISBN 0-444-89270-2. A fonte de dados é B. Quenneville, Statistics Canada.

Esta série mostra, além de uma tendência suave, dois ciclos de intervalos diferentes: a periodicidade de um ano e a periodicidade de uma semana.

Births = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/Births.dat", header = FALSE)
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(Births, start = c(1977,1), frequency = 365), ylab='')
grid()
library(Rssa)
modelo.Births = ssa(Births, L = 365, neig = 19)
modelo.Births1 = reconstruct(modelo.Births, groups = list(Trend = c(1,6:9,12:19)))
lines(ts(modelo.Births1$Trend, start = c(1977,1), frequency = 365), col = "white", lwd = 2)

Figura 1.9 Nascimentos: série temporal inicial e sua periodicidade anual.

Ambas as periodicidades, bem como a tendência, podem ser extraídas simultaneamente pelo SSA básico com comprimento de janela \(L = 365\). A Figura 1.9 mostra o ciclo de um ano da série adicionada à tendência (linha branca) no fundo da série de nascimentos de 1981 a 1990. Observe que a forma deste ciclo varia no tempo, embora os dois picos principais (primavera e outono) permaneçam estáveis.

A tendência corresponde ao autotriplo líder, enquanto o componente periódico de um ano é reconstruído a partir dos autotriplos 6-9 e 12-19. A Figura 1.10 demonstra o ciclo de uma semana no background da série inicial para aproximadamente os primeiros três meses de 1977. Este ciclo corresponde aos autotriplos 2-5 e 10-11.

plot(ts(Births, start = c(1977,1), end = c(1977,90), frequency = 365), ylab='')
grid()
modelo.Births2 = reconstruct(modelo.Births, groups = list(Trend = c(1,2:5,10,11)))
lines(ts(modelo.Births2$Trend, start = c(1977,1), end = c(1977, 90), 
         frequency = 365), col = "black", lwd = 2)

Figura 1.10 Nascimentos: periodicidade de uma semana


1.3.5 Extração de periodicidades com amplitudes variáveis


A capacidade do SSA em extrair um sinal oscilante com amplitude variável pode ser ilustrada pelo exemplo da série ‘Drunkenness’, ingestão pública mensal de embriaguez, Minneapolis, EUA, de janeiro de 1966 a julho de 1978, McCleary and Hay (1980). Applied Time Series Analysis for the Social, Sciences, 1980, Sage Publications. A série inicial é representada na Figura 1.11 (linha fina).

Drunk = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/Drunk.dat", header = FALSE)
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(Drunk, start = c(1966,1), frequency = 12), ylab='', ylim = c(-145,870))
grid()
modelo.Drunk = ssa(Drunk, L = 20, neig = 5)
modelo.Drunk1 = reconstruct(modelo.Drunk, groups = list(Trend = c(2:3)))
lines(ts(modelo.Drunk1$Trend, start = c(1966,1), frequency = 12), col = "black", lwd = 2)
abline(h = 0)

Figura 1.11 Embriaguez: amplitudes variáveis.

Tomando \(L = 60\) no SSA básico e reconstruindo a série a partir do quarto e quinto autotriplos, vemos no final da Figura 1.11, um componente periódico quase puro de 12 meses.

A amplitude deste componente periódico anual é aproximadamente igual a 120 no início do tempo de observação. A amplitude então diminui gradualmente e quase desaparece no final. A amplitude é reduzida por um fator de cerca de 10, mas a tendência nos dados é diminuída apenas por um fator de três a quatro.


1.3.6 Tendências e periodicidades complexas


A série ‘Desemprego’ na antiga Alemanha Ocidental, mensal, de abril de 1950 a dezembro de 1980 em Rao and Gabr (1984) “An Introduction to Bispectral Analysis”, Springer-Verlag. serve como um exemplo da capacidade da SSA de extrair tendências complexas simultaneamente com as periodicidades moduladas em amplitude.

Unemployment = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/Wg_unemp.dat", header = FALSE)
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(Unemployment, start = c(1950,4), frequency = 12), ylab='')
grid()
modelo.Unemployment = ssa(Unemployment, L = 180, neig = 72)
modelo.Unemployment1 = reconstruct(modelo.Unemployment, 
                        groups = list(Trend = c(1,2,5:7,10,11,14,15,20,21,24,27,30,33), 
                                      Season = c(3,4,8,9,12,13,16:19,22,23,25,26,34,35,43,71,72)))
lines(ts(modelo.Unemployment1$Trend, start = c(1950,1), frequency = 12), col = "black", lwd = 2)

Figura 1.12 Desemprego: tendência.

O resultado da extração é apresentado na Figura 1.12, a série inicial e a tendência reconstruída e na Figura 1.13 a sazonalidade.

par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(modelo.Unemployment1$Season, start = c(1950,4), frequency = 12), ylab='')
abline(h=0)
grid()

Figura 1.13 Desemprego: sazonalidade.

Se tomássemos um número menor de autotriplos para a tendência, obteríamos uma descrição menos refinada de um componente suave e de variação lenta da série correspondente a uma tendência mais geral na série.


1.3.7 Encontrando estrutura em séries temporais curtas


A série ‘War’, mortes em combate dos EUA na guerra da Indochina, dados mensais entre 1966 a 1971 apresentados em Janowitz and Schweizer (1989). Ordinal and Percentile Clustering, Mathematical Social Sciences 18 (1989) 135-186. Estes dados foram escolhidos para demonstrar as capacidades da SSA em encontrar uma estrutura em séries temporais curtas.

War = read.csv2(file = "http://leg.ufpr.br/~lucambio/STemporais/War_viet.dat", header = TRUE, sep = ";")
head(War)
##    US   SV
## 1 282  903
## 2 435 1359
## 3 507 1145
## 4 316  945
## 5 464  961
## 6 507 1185
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(War$US, start = c(1966,1), frequency = 12), ylab='', ylim = c(-420,2100))
grid()
modelo.War = ssa(War$US, L = 18, neig = 4)
modelo.War1 = reconstruct(modelo.War, groups = list(Trend = c(1,2), Trend1 = c(3,4), 
                      Season = c(5,6), Season1 = c(7,8)))
lines(ts(modelo.War1$Trend, start = c(1966,1), frequency = 12), col = "black", lwd = 2)
lines(ts(modelo.War1$Trend1, start = c(1966,1), frequency = 12), col = "black", lwd = 2)
abline(h=0)

Figura 1.14 Guerra: tendência e periodicidade anual.

Selecionando um comprimento de janela \(L = 18\), podemos ver na Figura 1.14) que os dois autotriplos principais descrevem perfeitamente a tendência da série (linha grossa no fundo dos dados iniciais). Essa tendência está relacionada ao envolvimento geral das tropas americanas na guerra.

O terceiro gráfico (inferior) da Figura 1.14 mostra o componente da série inicial reconstruída a partir dos autotriplos 3 e 4. Há pouca dúvida de que se trata de uma oscilação anual modulada pela intensidade da guerra. Esta oscilação tem origem nas condições climáticas do Sudeste Asiático: o verão é muito mais difícil para qualquer atividade do que o inverno.

par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(War$US, start = c(1966,1), frequency = 12), ylab='', ylim = c(-100,2100))
grid()
modelo.War2 = reconstruct(modelo.War, groups = list( Trend = c(1:8)))
lines(ts(modelo.War2$Trend, start = c(1966,1), frequency = 12), col = "black", lwd = 2)
lines(ts(modelo.War1$Season1, start = c(1966,1), frequency = 12), col = "black", lwd = 2)
abline(h=0)

Figura 1.15 Guerra: periodicidade trimestral e aproximação de séries.

Duas outras componentes de série, a saber, àquela do ciclo trimestral correspondente aos autotriplos 5 e 6, representados na parte inferior da Figura 1.15 e o ciclo omitido de 4 meses, que pode ser reconstruído a partir dos autotriplos 7 e 8, são ambos modulados pela intensidade da guerra e ambos são menos claros para interpretação.

No entanto, se somarmos todos esses efeitos juntos, isto é, reconstruirmos o componente da série correspondente aos oito autotríplices principais, uma perfeita concordância entre o resultado e a série inicial torna-se aparente: veja a Figura 1.15, os dois primeiros gráficos, sendo que a linha espessa correspondente à reconstrução.


1.4 Séries temporais e tarefas SSA


Na seção anterior, os termos ‘tendência’, ‘suavização’, ‘modulação de amplitude’ e ‘ruído’ foram usados sem qualquer explicação de seu significado. Nesta seção, forneceremos as definições relacionadas e as discussões correspondentes. Também descreveremos as principais tarefas que podem ser realizadas pelo SSA básico.


1.4.1 Modelos de séries temporais e os periodogramas


Formalmente, o SSA pode ser aplicado a uma série temporal arbitrária. No entanto, um estudo teórico de suas propriedades requer considerações específicas para diferentes classes de séries. Além disso, diferentes classes assumem diferentes escolhas de parâmetros e resultados esperados.

Assim, iniciamos esta seção com uma descrição de várias classes de séries temporais, que são naturais para o tratamento SSA, e usamos essas classes para discutir o importante conceito de separabilidade (aproximada) definido anteriormente na Seção 1.2.3. Para os aspectos teóricos da separabilidade, consulte a Seção 6.1.

Como o objetivo principal do SSA é a decomposição da série em componentes aditivos, sempre assumimos implicitamente que essa série é uma soma de várias séries mais simples. Essas séries ‘simples’ são os objetos da discussão abaixo. Observe também que aqui consideramos apenas séries temporais determinísticas, incluindo aquelas que podem ser consideradas como ‘ruído’. Modelos estocásticos das séries de ruído, em sua relação com o problema de separabilidade, são discutidos nas Seções 6.1.3 e 6.3.


(a) Série estacionária

O conceito de uma série temporal estacionária determinística é assintótico, definições e resultados rigorosos sobre o assunto são fornecidos na Seção 6.4, aqui nos ateremos a um estilo mais flexível. Especificamente, uma série infinita \(F = (f_0,f_1,\cdots,f_n,\cdots)\) é chamada estacionária se para todos os inteiros não negativos \(k,m\) ocorre a seguinte convergência:

onde


1.5 Separabilidade


Como mencionado acima, o principal objetivo do SSA é uma decomposição da série original em uma soma de séries, de modo que cada componente dessa soma possa ser identificado como uma tendência, componente periódico ou quase periódico talvez, modulado em amplitude ou barulho.

A noção de separabilidade de séries desempenha um papel fundamental na formalização deste problema, ver Seções 1.2.3 e 1.2.4. Grosso modo, a decomposição SSA da série \(F\) pode ser bem-sucedida apenas se os componentes aditivos resultantes da série forem, aproximadamente, separáveis uns dos outros.

Isso levanta dois problemas que requerem discussão:

  1. Suponha que obtivemos uma decomposição SSA da série \(F\). Como verificamos a qualidade dessa decomposição? Observe que a noção de separabilidade e, portanto, a presente questão são significativas quando o comprimento da janela \(L\) é fixo.

  2. Como, usando apenas a série original, podemos prever aproximadamente ou pelo menos de maneira parcial os resultados da decomposição SSA dessa série em componentes e a qualidade dessa decomposição?

Claro, a segunda questão está relacionada ao problema da escolha dos parâmetros do SSA, tamanho da janela e forma de agrupamento. Devemos, portanto, adiar a discussão correspondente até a próxima seção. Aqui consideramos o próprio conceito de separabilidade, tanto do ponto de vista teórico quanto prático.


1.5.1 Separabilidade fraca e forte


Fixemos o comprimento da janela \(L\), consideremos um certo SVD da matriz de \(L\)-trajetórias \(X\) da série inicial \(F\) de comprimento \(N\) e assumamos que a série \(F\) é uma soma de duas séries \(F^{(1)}\) e \(F^{(2)}\), que é, \[\begin{equation} F = F^{(1)} +F^{(2)}\cdot \end{equation}\]

Nesse caso, a separabilidade das séries F(1) e F(2) significa (ver Seção 1.2.3) que podemos dividir os termos da matriz do SVD da matriz de trajetória X em dois grupos diferentes, de modo que as somas de os termos dentro dos grupos fornecem as matrizes de trajetória X(1) e X(2) das séries F(1) e F(2), respectivamente.

A separabilidade implica imediatamente (ver Seção 6.1) que cada linha da matriz de trajetórias X(1) da primeira série é ortogonal a cada linha da matriz de trajetórias X(2) da segunda série, e o mesmo vale para as colunas.

Como as linhas e colunas das matrizes de trajetória são subséries das séries correspondentes, a condição de ortogonalidade para as linhas (e colunas) das matrizes de trajetória X(1) e X(2) é apenas a condição de ortogonalidade de qualquer subsérie de comprimento L ( eK = N −L+1) da série F(1) a qualquer subsérie de mesmo comprimento da série F(2) (as subséries da série temporal devem ser consideradas aqui como vetores).

AVERAGE ANNUAL TEMPERATURE,

CENTRAL ENGLAND, 1659-1998


1.6 Escolha dos parâmetros SSA


Nesta seção, discutimos a função dos parâmetros no SSA básico e os princípios para sua seleção. Conforme mencionado na Seção 1.4.1, assumimos que a série temporal em estudo pode ser considerada como uma soma de uma tendência de variação lenta, diferentes componentes oscilatórios e um ruído.

As questões de análise de séries temporais relacionadas a essa suposição foram discutidas na Seção 1.4.2. Certamente, a escolha dos parâmetros depende dos dados que temos e da análise que temos que fazer. Discutimos as questões de seleção separadamente para todos os principais problemas da análise de séries temporais.

Existem dois parâmetros no SSA básico: o primeiro é um inteiro \(L\), o comprimento da janela e o segundo parâmetro é estrutural; grosso modo, é a maneira de agrupar.


1.6.1 Efeitos de agrupamento


Assuma que o comprimento da janela \(L\) é fixo e já fizemos o SVD da matriz de trajetória da série temporal original. O próximo passo é agrupar os termos SVD para resolver um dos problemas discutidos na Seção 1.4.2. Suponhamos que este problema tenha solução; ou seja, os termos correspondentes podem ser encontrados no SVD e o resultado do agrupamento adequado levaria à separação aproximada dos componentes da série temporal, ver Seção 1.5.

Portanto, temos que decidir qual é o agrupamento apropriado e como encontrar os grupos apropriados dos autotriplos. Em outras palavras, precisamos identificar um autotriplo correspondente ao componente da série temporal relacionado. Como cada autotriplo consiste em um autovetor, vetor singular esquerdo, um vetor de fator ou vetor singular direito e um valor singular, isso deve ser obtido usando apenas as informações contidas nesses vetores, considerados como séries temporais e os valores singulares.


(a) Questões gerais

Começamos mencionando vários resultados puramente teóricos sobre os autotriplos de várias séries temporais simples, ver Seção 5.1.

Sequências de cosseno exponencial

Considere a série \[\begin{equation} \tag{1.27} f(n)= A e^{\alpha n}\cos(2\pi \, \omega n+\phi), \end{equation}\] sendo \(\omega\in[0,1/2]\), \(\phi\in[0,2\pi)\) e detanos \(T=1/\omega\).


1.6.2 Efeitos do comprimento da janela


O tamanho da janela é o principal parâmetro do SSA básico, no sentido de que sua escolha inadequada implicaria que nenhuma atividade de agrupamento ajudará a obter uma boa decomposição do SSA. Além disso, é o único parâmetro da decomposição.

A seleção do comprimento adequado da janela depende do problema em questão e de informações preliminares sobre a série temporal. No caso geral, nenhuma regra universal e recomendações inequívocas podem ser dadas para a seleção do comprimento da janela. A principal dificuldade aqui é causada pelo fato de que variações no comprimento da janela podem influenciar características de separabilidade fracas e fortes de SSA, ou seja, tanto a ortogonalidade dos intervalos apropriados da série temporal quanto a proximidade dos valores singulares.

No entanto, existem vários princípios gerais para a seleção do comprimento \(L\) da janela que possuem certos fundamentos teóricos e práticos. Vamos discutir esses princípios.


(a) Efeitos gerais

  1. Os SVDs das matrizes de trajetória, correspondentes aos comprimentos de janela \(L\) e \(K =N-L+1\), são equivalentes até a simetria: vetores singulares esquerdos ou autovetores esquerdos \(\leftrightarrow\) vetores singulares direitos ou autovetores direitos. Portanto, para a análise da estrutura da série temporal pelo SSA básico, não faz sentido considerar o comprimento da janela maior que a metade do comprimento da série temporal.

  2. Tendo em conta a observação anterior, quanto maior for o comprimento da janela, mais detalhada é a decomposição da série temporal. A decomposição mais detalhada é obtida quando o comprimento da janela é aproximadamente igual à metade do comprimento da série temporal, ou seja, quando \(L\approx N/2\). As exceções são as chamadas séries de posto finito, onde para qualquer \(L\) maior que \(d\) e \(N > 2d−1\), \(d\) é o posto da série o número de componentes diferentes de zero no SVD da série é igual a \(d\) e não depende do comprimento da janela, ver Seção 1.6.1 para exemplos e Seção 5.1 para resultados gerais.

  3. Os efeitos da separabilidade fraca. Uma vez que os resultados relativos à separabilidade fraca de componentes de séries temporais são na sua maioria assintóticos, quando \(L,K\to\infty\), na maioria dos exemplos para obter uma separação melhor fraca é necessário escolher grandes comprimentos de janela.

Em outras palavras, um pequeno comprimento de janela pode misturar componentes interpretáveis. Se o comprimento da janela \(L\) é relativamente grande, digamos, é igual a várias dezenas, então os resultados da separação fraca são estáveis em relação a pequenas perturbações em \(L\). Por outro lado, para séries e tarefas específicas, existem recomendações concretas para a seleção do comprimento da janela, que pode funcionar para um \(N\) relativamente pequeno; consulte a subseção (c) Comprimento da janela para periodicidades.

  1. Os efeitos da proximidade de valores singulares. Os efeitos negativos devidos à proximidade dos valores singulares relativos a diferentes componentes da série original, ou seja, a ausência de separabilidade forte na situação em que existe separabilidade fraca aproximada, não são facilmente formalizados em termos da janela comprimento. Esses efeitos são muitas vezes difíceis de superar por meio da seleção de \(L\) sozinho.

Mencionemos duas outras questões relacionadas com a proximidade dos valores singulares. Para a série com uma estrutura complexa, um comprimento de janela \(L\) muito grande pode produzir uma decomposição indesejável dos componentes da série de interesse, o que pode levar, em particular, à sua mistura com outros componentes da série. Esta é uma possibilidade desagradável, especialmente porque uma redução significativa de \(L\) pode levar a uma má qualidade da fraca separação.

Alternativamente, às vezes, nessas circunstâncias, mesmo uma pequena variação no valor de \(L\) pode reduzir a mistura e levar a uma melhor separação dos componentes, ou seja, proporcionar uma transição de fraca para forte separabilidade. De qualquer forma, sempre vale a pena tentar vários tamanhos de janela.


(b) Comprimento da janela para extração de tendências e suavização

1. Tendências.

No problema de extração de tendências, uma possível contradição entre os requisitos de separabilidade fraca e forte surge com mais frequência. Como a tendência é uma curva relativamente suave, sua separação do ruído e oscilações requer grandes valores de \(L\).

Por outro lado, se a tendência tem uma estrutura complexa, então para valores de \(L\) que são muito grandes, ela pode ser descrita apenas por um grande número de autotriplos com valores singulares relativamente pequenos. Alguns desses valores singulares podem estar próximos daqueles gerados por oscilações e/ou componentes de séries temporais de ruído.

Isso acontece no exemplo ‘Births’, Figura 1.9, onde o comprimento da janela de ordem 1000 e mais, o comprimento da série é 5113, leva à situação em que os componentes da tendência se misturam com os componentes das periodicidades anual e semestral.

O problema é complexo; existe uma grande variedade de situações. Consideramos brevemente, a nível quantitativo, dois casos extremos: quando a tendência pode ser extraída com relativa facilidade e quando a seleção do comprimento da janela para extração da tendência é difícil ou mesmo impossível.



(i) Tendências: separação confiável

Seja \(F = F^{(1)}+F^{(2)}\) onde \(F^{(1)}\) é uma tendência e \(F^{(2}\) é o resíduo. Assumimos o seguinte.

  1. A série \(F^{(1)}\) é ‘simples’. A noção de “simplicidade” pode ser entendida da seguinte forma: do ponto de vista teórico, a série \(F^{(1)}\) é bem aproximada por uma série com posto \(d\) finito e pequeno, por exemplo, se parece uma exponencial, \(d = 1\), uma função linear, \(d = 2\), uma função quadrática, \(d = 3\), etc.. Veja a Seção 5.1 para uma descrição da série de posto finito. Estamos interessados na extração da tendência geral da série e não na tendência refinada. Em termos de frequências, o periodograma da série \(F^{(1)}\) concentra-se no domínio das frequências bastante pequenas. Em termos de decomposição SSA, os poucos primeiros autotriplos da decomposição da matriz de trajetória da série \(F^{(1)}\) são suficientes para uma aproximação razoavelmente boa dela, mesmo para \(L\) grande.

  2. Assuma também que a série \(F^{(1)}\) é muito ‘maior’ do que a série \(F^{(2)}\) em termos dos módulos, ou seja, a desigualdade \(||F^{(1)}|| \ggg ||F^{(2)}||\) é válida.

Suponha que essas suposições sejam válidas e que o comprimento da janela \(L\) forneça uma certa separação fraca aproximada das séries temporais \(F^{(1)}\) e \(F^{(2)}\). Podemos esperar que no SVD da matriz de trajetória da série \(F\), os autotriplos líderes correspondam à tendência \(F^{(1)}\); ou seja, terão valores singulares maiores que os autotriplos correspondentes a \(F^{(2)}\). Em outras palavras, ocorre uma forte separação.

Além disso, o comprimento \(L\) da janela, suficiente para a separação, não deve ser muito grande neste caso em vista da “simplicidade” da tendência. Esta situação é ilustrada pelo exemplo ‘Prod’, Seção 1.3.1, Figuras 1.1 e 1.2, onde ambas as versões de tendência são descritas pelos autotriplos principais.

Analogamente, caso estivermos interessados apenas em extrair a tendência principal da série ‘Unemployment’, Seção 1.3.6, então, de acordo com a Figura 1.37, tomar apenas um autotriplo líder será uma decisão perfeitamente satisfatória para \(L = 12\).

par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(Unemployment, start = c(1950,4), frequency = 12), ylab='')
grid()
modelo.Unemployment = ssa(Unemployment, L = 12, neig = 2)
modelo.Unemployment1 = reconstruct(modelo.Unemployment, groups = list(Trend = c(1)))
lines(ts(modelo.Unemployment1$Trend, start = c(1950,1), frequency = 12), col = "black", lwd = 2)

Figura 1.37 Desemprego: \(L = 12\) para extração da tendência principal.


(ii) Tendências: caso difícil

Situações muito mais difíceis surgem se quisermos extrair uma tendência refinada \(F^{(1)}\), quando o resíduo \(F^{(2)}\) tem uma estrutura complexa, por exemplo, inclui um grande componente de ruído com \(||F^{(2)}||\) sendo grande. Então \(L\) grande pode causar não só a mistura dos números ordinais dos autotriplos correspondentes a \(F^{(1)}\) e \(F^{(2)}\); é o caso do exemplo ‘Unemployment’, mas também proximidade dos valores singulares correspondentes, e portanto falta de forte separabilidade.

Certamente, existem muitas situações intermediárias entre esses dois extremos. Considere, por exemplo, as temperaturas médias anuais do exemplo ‘TempUK’ das temperaturas da Inglaterra, Inglaterra Central, de 1659 a 1998. Aqui o problema da extração de uma tendência suave pode ser facilmente resolvido: sob a escolha de \(L\) igual a várias dezenas, o primeiro autotriplo sempre descreve a tendência geral; veja a Figua 1.38 para a escolha \(L = 48\).

TempUK = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/Temp_uk.dat", header = FALSE)
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot(ts(TempUK, start = c(1659), frequency = 1), ylab='')
grid()
modelo.TempUK = ssa(TempUK, L = 48, neig = 2)
modelo.TempUK1 = reconstruct(modelo.TempUK, groups = list(Trend = c(1)))
lines(ts(modelo.TempUK1$Trend, start = c(1659), frequency = 1), col = "black", lwd = 2)

Figura 1.38 Temperaturas na Inglaterra: \(L = 48\) para extração da tendência principal.

Isso ocorre porque valores relativamente pequenos de \(L\) são suficientes para fornecer separabilidade fraca, a tendência tem uma forma simples e, portanto, corresponde a apenas um autotriplo; este autotriplo está levando devido a um valor médio relativamente grande da série.

Ao mesmo tempo, se quisermos centralizar a série, o que pode parecer uma operação natural, já que neste tipo de problema o desvio da média costuma ser o principal interesse, então pequenos valores de \(L\), digamos \(L < 30\), não fornecem separação fraca. Grandes valores de \(L\), digamos \(L > 60\), misturam o autotriplo da tendência com algum outro autotriplo da série; isso é uma consequência da complexidade da estrutura da série.


2. Suavização.

Geralmente, as recomendações quanto à seleção do comprimento da janela para o problema de suavização são semelhantes ao caso da extração de tendência. Isso ocorre porque esses dois problemas estão intimamente relacionados. Vamos descrever os efeitos do comprimento da janela na linguagem das frequências.

Tratando a suavização como a remoção da parte de alta frequência de uma série, temos que considerar o comprimento da janela \(L\) grande o suficiente para fornecer a separação dessa parte de baixa frequência da parte de alta frequência. Se as potências de todas as baixas frequências de interesse forem significativamente maiores do que as altas, então o problema de suavização não é difícil e o único trabalho é coletar vários autotriplos principais.

Este é o caso dos exemplos de ‘Anéis de árvore’ e ‘Anã branca’ da Seção 1.3.2. Aqui, quanto maior tomarmos \(L\), mais estreito será o intervalo de baixas frequências que podemos extrair.

par(mar = c(4,4,3,3), mgp = c(1.6,.6,0))
spec.pgram(residuals(modelo.dwarfst1))
grid()


1.7 Técnicas SSA suplementares


As técnicas de SSA suplementares muitas vezes podem melhorar o SSA básico para muitas classes específicas de séries temporais e para séries de estrutura complexa. Nesta seção, consideramos várias classes desse tipo e descrevemos as técnicas correspondentes.

Mais precisamente, lidamos com as seguintes séries e problemas:

  1. A série temporal está oscilando em torno de uma função linear e queremos extrair essa função linear.

  2. A série temporal é estacionária e queremos extrair vários componentes harmônicos da série.

  3. A série temporal tem uma estrutura complexa (por exemplo, sua tendência tem uma forma complexa, ou vários de seus componentes harmônicos têm amplitudes quase iguais) e, portanto, para qualquer comprimento de janela, ocorre uma mistura dos componentes de interesse.

  4. A série temporal é um harmônico modulado em amplitude e exigimos seu envelope.

O último problema é bastante específico. Sua solução é baseada na simples ideia de que o harmônico modulado em amplitude quadrada é uma soma de séries de baixa e alta frequência que podem ser separadas por SSA básico.

A técnica para os dois primeiros problemas é semelhante; tendo informações sobre a série temporal, usamos uma certa decomposição da matriz de trajetória, que é diferente do SVD direto e adaptado à estrutura da série.

A falta de separabilidade forte, na presença de separabilidade fraca, é uma das principais dificuldades no SSA básico. Uma das formas possíveis de superar essa dificuldade é aumentar o valor singular de um componente da série de interesse adicionando uma série semelhante a esse componente.

Alternativamente, podemos usar SSA sequencial. Isso significa que extraímos alguns componentes da série inicial pelo padrão SSA básico e depois extraímos outros componentes de interesse dos resíduos.

Suponha, por exemplo, que a tendência da série tenha uma forma complexa. Se escolhermos um grande comprimento de janela \(L\), então certos componentes de tendência seriam misturados com outros componentes da série. Para \(L\) pequeno, extrairíamos a tendência, mas obteríamos a mistura dos outros componentes da série que devem ser extraídos.

Uma maneira de resolver o problema e esta é uma aplicação típica do SSA sequencial, é escolher um \(L\) relativamente pequeno para extrair a tendência ou sua parte e, em seguida, usar um grande comprimento de janela para separar os componentes de interesse na série residual.

Vamos descrever essas abordagens em detalhes e ilustrá-las com exemplos.


1.7.1 Centralização em SSA


Considere a seguinte extensão do SSA básico. Suponha que selecionamos o comprimento da janela \(L\). Para \(K = N-L+1\), considere uma matriz \(A\) de dimensão \(L\times K\) e passe da matriz trajetória \(X\) da série \(F\) para a matriz \(X^∗ = X-A\).

Seja \(S^∗ = X^∗(X^*)^\to\) e denote por \(\lambda_i\) e \(U_i\), \(i = 1\cdots,d\) os autovalores diferentes de zero e os correspondentes autovetores ortonormais da matriz \(S^∗\).

Definindo \(V_i=(X^∗)^\top U_i/\sqrt{\lambda_i}\) obtemos a decomposição \[ \tag{1.30} X = A+\sum_{i=1}^d X^*_i, \] com \(X^∗_i =\sqrt{\lambda_i}U_iV^\top_i\), ao invés do SVD padrão (1.2).

No estágio de agrupamento a matriz \(A\) entrará como adenda em uma das matrizes resultantes. Em particular, pode produzir um componente de série temporal separado após a aplicação da média diagonal.

Se a matriz \(A\) é ortogonal a todos os \(X^∗_i\), ver Seção 4.4, então a decomposição da matriz (1.30) produz a decomposição \[ ||X||^2_\mathcal{M} = ||A||^2_\mathcal{M}+\sum_{i=1}^d ||X^*_i||^2_\mathcal{M}, \] das normas ao quadrado das matrizes correspondentes.

Aqui consideramos duas maneiras de escolher a matriz \(A\), investigadas minuciosamente nas Seções 4.4 e 6.3. Seguimos a terminologia e os resultados dessas seções.

(a) Centralização simples e dupla

Centralização simples é a centralização da linha da matriz de trajetória. Aqui \[ A=\mathcal{A}(X)=\begin{pmatrix} \mathcal{E}_1(X) : \cdots : \mathcal{E}_1(X)\end{pmatrix} \] onde cada \(i\)-ésima componente do vetor \(\mathcal{E}_1(X)\), \(i = 1,\cdots,L\) é igual à média das \(i\)-ésimas componentes dos vetores defasados \(X_1,\cdots,X_K\).

Assim, sob centralização simples, consideramos o espaço \[ \mbox{span}(X^{(c)}_1,\cdots,X^{(c)}_K) \] com \(X^{(c)}_i = X_i-\mathcal{E}_1(X)\) em vez de \(\mbox{span}(X_1,\cdots,X_K)\). Em outras palavras, deslocamos a origem para o centro de gravidade dos vetores defasados e então utilizamos o SVD da matriz obtida. Obviamente, a centralização única é um procedimento padrão na análise de componentes principais de dados multidimensionais.

Para a centralização dupla, o SVD é aplicado à matriz, calculada a partir da matriz de trajetória subtraindo de cada um de seus elementos as médias de linha e coluna correspondentes e adicionando a média total da matriz.

Em outras palavras, neste caso temos \[ \tag{1.31} A=\mathcal{A}(X)+\mathcal{B}(X), \] com \(\mathcal{B}(X) = \begin{pmatrix}\mathcal{E}_{12}(X) : \cdots : \mathcal{E}_{12}(X)\end{pmatrix}^\top\), onde a \(j\)-ésima componente do vetor \(\mathcal{E}_{12}(X)\), \(j = 1,\cdots,K\) é igual à média de todas as componentes do vetor \(X^{(c)}_j\).

Sob centralização simples, o adendo \(A\) tem a mesma forma que os outros componentes da decomposição (1.30), desde que tenhamos incluído o vetor normalizado de médias \(U_{0(1)} = \mathcal{E}_1(X)/||\mathcal{E}_1(X)||\) na lista de autovetores \(U_i\). De fato, \(A = U_{0(1)}Z^\top_{0(1)}\) com \(Z_{0(1)} = ||\mathcal{E}_1(X)||\pmb{1}_K\). Cada componente do vetor \(\pmb{1}_K\in\mathbb{R}^K\) é igual a 1.

No caso de dupla centralização, adicionamos mais um vetor à lista de autovetores, o vetor \(U_{0(2)} = \pmb{1}_L/\sqrt{L}\). Aqui \[ A= U_{0(1)}Z_{0(1)}^\top + U_{0(2)}Z_{0(2)}^\top, \] com \(Z_{0(2)}=\sqrt{L}\mathcal{E}_{12}(X)\). Temos \[ \lambda_{0(1)} =||Z_{0(1)}|| = ||\mathcal{E}_{1}||\sqrt{K} \qquad \mbox{e} \qquad \lambda_{0(2)} =||Z_{0(2)}|| = ||\mathcal{E}_{12}||\sqrt{L}\cdot \]

Além disso, seja V0(1) = Z0(1)/

λ0(1) e V0(2) = Z0(2)/

λ0(2). Então nós chamamos U0(i)), V0(i), λ0(i)

(i = 1, 2) a primeira e a segunda médias triplas.

Como A(X) e B(X) são ortogonais entre si e a todos os outros componentes da decomposição (consulte a Seção 4.4), temos para a centralização dupla

||X||2 M = λ0(1) + λ0(2) + d i=1 λi para a centralização Simples o termo λ0(2) é omitido. Portanto, as partes dos triplos médios e dos autotriplos são iguais a λ0(1)/||X||2 M, λ0(2)/||X||2 M e λi/||X||2 M.

Observe que o Basic SSA não usa nenhuma centralização. No entanto, a centralização simples pode ter alguma vantagem se a série F puder ser expressa na forma F = F(1)+ F(2), onde F(1) é uma série constante e F(2) oscila em torno de zero.

Certamente, se o comprimento da série N for grande o suficiente, seu componente constante aditivo sem dúvida será extraído pelo Basic SSA (assim como com a média de todos os componentes da série), mas, para a série curta, o SSA de centralização simples pode funcionar melhorar. Como os efeitos análogos, mas muito mais brilhantes, são produzidos pelo SSA de centralização dupla, não consideramos nenhum exemplo de centralização simples aqui.

O efeito da centralização dupla pode ser explicado da seguinte forma. Se a série inicial é linear, X é sua matriz de trajetória e A é definida por (1.31), então A= X. Portanto, para F = F(1)+F(2) com linear F(1), a matriz A contém toda a parte linear da série F. Teoricamente, a centralização dupla leva à extração assintótica do componente linear da série de resíduos oscilatórios bastante gerais (ver Seção 6.3.2).

Como de costume, também ocorrem efeitos não assintóticos. Para N e L fixos, vamos considerar a série F que é a soma de uma série linear F(1) e um harmônico puro F(2) com um período inteiro T. Se o comprimento da janela L e K = N −L+ 1 divida T, então a matriz A definida por (1.31) coincide com a matriz trajetória da série F(1). A matriz residual X∗ = X−A corresponde à matriz de trajetória da série harmônica F(2). Portanto, aqui obtemos a extração de tendência linear teoricamente precisa (consulte a Seção 6.3.2 para a teoria).

(b) Centralização dupla e regressão linear

A comparação da extração de um componente linear de uma série por SSA de dupla centralização e por regressão linear pode ser instrutiva. Observe que esses dois métodos têm origens diferentes e, portanto, podem produzir resultados muito diferentes.

Quanto à regressão linear, é um procedimento formal para a aproximação linear pelo método dos mínimos quadrados e fornece uma função linear do tempo para qualquer série, mesmo que a série não tenha nenhuma tendência linear. Em contraste, o SSA de dupla centralização nos dá (geralmente, aproximadamente) um componente linear apenas se a forte tendência linear estiver realmente presente. Por outro lado, a centralização dupla não produz uma função linear precisa, mas apenas uma aproximação pontual dela.

Grosso modo, a regressão linear estima os coeficientes de uma função linear, enquanto o SSA de dupla centralização estima os valores de uma função linear em cada ponto.

Se a série temporal tiver uma tendência linear e seu comprimento for bastante grande, ambos os métodos produzirão resultados semelhantes. A diferença aparece para uma série temporal relativamente curta. Para essas séries, o objetivo da regressão linear pode estar em desacordo com o problema de buscar uma tendência linear da série.

Vamos ilustrar essas afirmações com dois exemplos.

Além disso, se a série temporal tiver uma tendência linear geral, a abordagem de centralização dupla geralmente é preferível ao SSA básico.


1.7.2 Série estacionária e SSA Toeplitz


Se o comprimento N da série F não for suficientemente grande e a série for considerada estacionária, então a recomendação usual é substituir a matriz S = XXT por alguma outra matriz, que leve em consideração a estacionariedade da série.

Observe primeiro que podemos considerar a matriz de covariância defasada C = S/K em vez de S para obter o SVD da matriz de trajetória X. De fato, a diferença entre os SVDs das matrizes S e C reside apenas na magnitude do correspondente autovalores (para S são K vezes maiores); os vetores singulares de ambas as matrizes são os mesmos. Portanto, podemos usar S e C no Basic SSA com o mesmo efeito.


1.7.3 Fechar valores singulares


Conforme discutido na Seção 1.6.2, valores singulares próximos de SVD causam dificuldades que são difíceis de superar modificando o comprimento da janela \(L\). No entanto, existem várias técnicas que podem ajudar a resolver o problema.

Vamos discutir dois deles.

(a) Modificação da série

Às vezes pode-se modificar a série de tal maneira que esse problema desapareça. A base teórica de tais efeitos é o seguinte fato simples: se as séries temporais \(F^{(1)}\) e \(F^{(2)}\) são fracamente separáveis, então para uma ampla gama de constantes \(c\neq 0\) as séries temporais \(F^{(1)}\) e \(cF^{(2)}\) são fortemente separáveis.

Na prática, usamos este fato em algum sentido aproximado.

Consideremos dois exemplos desse tipo.

  1. Se quisermos extrair uma pequena tendência de variação lenta cujos componentes são misturados com outros componentes da série, pode valer a pena adicionar uma constante à série e usar um comprimento de janela relativamente pequeno para a extração da tendência. Então a nova tendência será descrita pelo autotriplo líder, e não haverá problema em sua extração. A constante adicionada deve ser subtraída da série extraída. O exemplo “Temperaturas na Inglaterra” (Seção 1.6.2) é desse tipo se o tratarmos da maneira inversa; estando centrada, a série temporal é complexa para a extração aproximada da tendência, mas se adicionarmos à série centrada uma constante, igual a 9,18 (ou seja, se voltarmos aos dados não centrados), uma gama bastante ampla de comprimentos de janela será providenciar a extração.

  2. Assuma que nosso objetivo é extrair um harmônico com uma frequência conhecida ω e esse harmônico é misturado com alguns outros componentes de séries temporais devido a seus valores singulares próximos. Se o comprimento de janela selecionado L fornecer uma separabilidade fraca do harmônico de interesse, então podemos adicionar um harmônico da mesma frequência (e alguma amplitude e fase) à série. Sob a escolha adequada desses parâmetros, os valores singulares correspondentes ao harmônico serão ampliados o suficiente para que não sejam misturados com nenhum outro componente da série (por exemplo, o harmônico será descrito pelos autotriplos principais).


Exemplo 1.8 Vinho rosé: adicionando um componente harmônico

Para ilustrar a extração de um componente harmônico da série, consideremos o exemplo “vinho rosé” descrito na Seção 1.4.1, ver Figura 1.17 para a série temporal e Figura 1.18 para seu periodograma. Como foi mencionado na Seção 1.6, os harmônicos com frequências 4/12 e 5/12 são mixados sob a escolha \(L = 84\). Além disso, outros comprimentos de janela levam à mistura de outros harmônicos devido a uma complexa estrutura não estacionária da série.

No entanto, se adicionarmos à série um harmônico com frequência 4/12, ou seja, período 3, fase zero e amplitude 30, então os novos harmônicos trimestrais serão extraídos sob a escolha do mesmo \(L = 84\) e o par de segundo e terceiro autotriplos. O resultado final é obtido subtraindo o componente harmônico adicional.


Observe que o problema de valores singulares próximos também pode ser resolvido por outras modificações do SSA básico. Por exemplo, o Toeplitz SSA ajuda na extração de componentes harmônicos no exemplo ‘Tree rings’ da Seção 1.7.2. No entanto, este exemplo parece ser uma boa ilustração das vantagens de uma técnica concreta relacionada ao problema de valores singulares próximos, em vez de uma ilustração da vantagem absoluta do Toeplitz SSA.


Exemplo 1.9 Série longa de ‘Desemprego’: extração de harmônicos

Considere a série ‘Desemprego’ a partir de janeiro de 1948 (observe que o exemplo de ‘Desemprego’ da Seção 1.3.6 tem abril de 1950 como ponto de partida). A série é representada na Fig. 1.50 (linha fina).



1.7.4 Envelopes de sinais altamente oscilantes


As capacidades do SSA em separar sinais com altas e baixas frequências podem ser usadas em um problema específico de envelopamento de sequências altamente oscilantes com amplitudes que variam lentamente. A ideia simples de tal técnica pode ser expressa da seguinte forma.

Seja \(f_n = A(n) \cos(2\pi\omega n)\) onde \(\omega\) é grande e \(A(n)\) varia lentamente. Então \[ \tag{1.35} g_n = 2f^2_n = A^2(n) + A^2(n) \cos(4\pi\omega n)\cdot \]

Como \(A^2(n)\) varia lentamente e o segundo termo do lado direito de (1.35) oscila rapidamente, pode-se reunir os termos de variação lenta da decomposição SSA para \(g_n\) e, portanto, extrair aproximadamente o termo \(A^2(n)\) da série (1.35). Tudo o que precisamos fazer então é tirar a raiz quadrada do termo extraído.


Exemplo 1.10 EEG: envelope de \(\alpha\)-ritmo

Essa ideia é ilustrada pela série temporal representando um componente \(\alpha\)-ritmo de um eletroencefalograma (EEG). Toda a série consiste de 3481 pontos; seus primeiros 1.200 pontos podem ser vistos na Figura. 1.53.

F = read.csv(file = "http://leg.ufpr.br/~lucambio/STemporais/EEG.dat")
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot.ts(F$EEG[1:1200], xlab = "", ylab = "")
grid()
abline(h=0)

Figura 1.53 EEG: \(\alpha\)-ritmo. Primeiros 1200 pontos.

A série pode ser descrita como um harmônico modulado em amplitude com a frequência principal aproximadamente igual a 1/20.

Vamos considerar o quadrado da série inicial multiplicado por 2 e denotá-lo por \(G\). Tomando o comprimento da janela \(L = 60\) e reconstruindo a parte de baixa frequência da série temporal \(G\) a partir dos autotriplos 1, 4, 7 e 10, obtemos uma estimativa de \(A^2(n)\). Os primeiros 600 pontos da série reconstruída são representados na Figura 1.54 pela linha grossa; a linha fina corresponde à série \(G\).

library(Rssa)
G = 2*F$EEG^2
modelo.EEG = ssa(G, L = 60, neig = 15)
modelo.EEG1 = reconstruct(modelo.EEG, groups = list(Trend = c(1,4,7,10)))
par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot.ts(G[1:600], xlab = "", ylab = "")
grid()
lines(modelo.EEG1$Trend[1:600], col = "red")

Figura 1.54 EEG: série G e seu componente de variação lenta. Primeiros 600 pontos.

Tirando a raiz quadrada da estimativa, obtemos o resultado. Veja a Figura 1.55, onde os primeiros 600 pontos da série inicial com seu envelope são representados. Observe também que, para obter o envelope resultante, podemos precisar de alguma suavização para remover partes muito pequenas, mas existentes, de componentes altamente oscilantes. Como sempre, o Basic SSA com tamanho de janela pequeno faria o trabalho.

par(mar = c(3,3,1,1), mgp = c(1.6,.6,0))
plot.ts(F$EEG[1:600], xlab = "", ylab = "")
grid()
lines(sqrt(modelo.EEG1$Trend[1:600]), col = "red")
abline(h=0)

Figura 1.55 EEG: \(\alpha\)-ritmo e seu envelope. Primeiros 600 pontos.