Funções próprias de uma matriz de adjacência de uma série temporal?

15

Considere uma série temporal simples:

> tp <- seq_len(10)
> tp
 [1]  1  2  3  4  5  6  7  8  9 10

podemos calcular uma matriz de adjacência para essa série temporal que representa os links temporais entre amostras. Ao calcular essa matriz, adicionamos um site imaginário no tempo 0 e o link entre essa observação e a primeira observação real no tempo 1 é conhecido como link 0. Entre o tempo 1 e o tempo 2, o link é o link 1 e assim por diante. Como o tempo é um processo direcional, os sites são conectados a (afetados por) links "upstream" do site. Portanto, todo site está conectado ao link 0, mas o link 9 está conectado apenas ao site 10; ocorre temporalmente após cada site, exceto o site 10. A matriz de adjacência assim definida é criada da seguinte maneira:

> adjmat <- matrix(0, ncol = length(tp), nrow = length(tp))
> adjmat[lower.tri(adjmat, diag = TRUE)] <- 1
> rownames(adjmat) <- paste("Site", seq_along(tp))
> colnames(adjmat) <- paste("Link", seq_along(tp)-1)
> adjmat
        Link 0 Link 1 Link 2 Link 3 Link 4 Link 5 Link 6 Link 7
Site 1       1      0      0      0      0      0      0      0
Site 2       1      1      0      0      0      0      0      0
Site 3       1      1      1      0      0      0      0      0
Site 4       1      1      1      1      0      0      0      0
Site 5       1      1      1      1      1      0      0      0
Site 6       1      1      1      1      1      1      0      0
Site 7       1      1      1      1      1      1      1      0
Site 8       1      1      1      1      1      1      1      1
Site 9       1      1      1      1      1      1      1      1
Site 10      1      1      1      1      1      1      1      1
        Link 8 Link 9
Site 1       0      0
Site 2       0      0
Site 3       0      0
Site 4       0      0
Site 5       0      0
Site 6       0      0
Site 7       0      0
Site 8       0      0
Site 9       1      0
Site 10      1      1

O SVD fornece uma decomposição dessa matriz em funções próprias de variação como diferentes escalas temporais. A figura abaixo mostra as funções extraídas (de SVD$u)

> SVD <- svd(adjmat, nu = length(tp), nv = 0)

Funções próprias

As funções próprias são componentes periódicos em várias escalas temporais. Tentar tp <- seq_len(25)(ou mais) mostra isso melhor do que o exemplo mais curto que mostrei acima.

Esse tipo de análise tem um nome próprio nas estatísticas? Parece semelhante à Análise de espectro singular, mas é uma decomposição de uma série temporal incorporada (uma matriz cujas colunas são versões atrasadas da série temporal).

Antecedentes: Eu tive essa idéia modificando uma idéia da ecologia espacial chamada Mapas assimétricos de vetores próprios (AEM), que considera um processo espacial com direção conhecida e formando uma matriz de adjacência entre uma matriz espacial de amostras que contém 1s onde uma amostra pode ser conectada para um link e um 0 onde não pode, sob a restrição de que os links só podem ser conectados "a jusante" - daí a natureza assimétrica da análise. O que eu descrevi acima é uma versão unidimensional do método AEM. Uma reimpressão do método AEM pode ser encontrada aqui, se você estiver interessado.

A figura foi produzida com:

layout(matrix(1:12, ncol = 3, nrow = 4))
op <- par(mar = c(3,4,1,1))
apply(SVD$u, 2, function(x, t) plot(t, x, type = "l", xlab = "", ylab = ""),
      t = tp)
par(op)
layout(1)
Restabelecer Monica - G. Simpson
fonte
Qual é a análise? Você quer dizer "existe algum uso para essas funções próprias?" As funções próprias da "maioria" das matrizes oscilam, com números mais altos oscilando mais rapidamente; mas o que eles te dizem?
petrelharp
@petrelharp Não, eu sei para que servem as funções próprias (descrição do padrão espacial ou temporal em dados multivariados para um), mas eu queria saber se essa abordagem havia sido desenvolvida em outro lugar, com algum nome que eu não sabia para que eu pudesse leia mais sobre essa abordagem.
Reinstate Monica - G. Simpson

Respostas: