Time Warping dinâmico para séries temporais irregulares

10

Ultimamente, tenho lido muito sobre o Dynamic Time Warping (DTW). Estou muito surpreso que não exista nenhuma literatura sobre a aplicação do DTW em séries temporais irregulares, ou pelo menos não consegui encontrá-lo.

Alguém poderia me dar uma referência a algo relacionado a esse problema, ou talvez até uma implementação dele?

Remi D
fonte
Gostaria de começar com cran.r-project.org/web/packages/dtw/index.html
kjetil b halvorsen

Respostas:

11

Tanto quanto eu entendo, por séries temporais irregulares você quer dizer séries temporais desigualmente espaçadas , também conhecidas como séries temporais com amostragem irregular . Como tenho curiosidade sobre as séries temporais em geral, realizei uma breve pesquisa sobre o tópico de seu interesse (e agora o meu). Os resultados a seguir.

Apesar da alta popularidade da abordagem de distorção dinâmica do tempo (DTW) na análise, agrupamento e classificação de séries temporais, as séries temporais irregulares apresentam alguns desafios para direcionar a aplicação da DTW a esse tipo de dados (por exemplo, consulte este artigo e este artigo ). Com base em meus esforços de pesquisa relativamente breves, não está totalmente claro para mim se é impossível aplicar o DTW diretamente, como algumas pesquisas sugerem o contrário (veja também este artigo / capítulo ). Para maior abrangência, também gostaria de mencionar um IMHO excelente e relevante para a dissertação de tópicos sobre séries temporais irregulares .

No entanto, parece que esse tópico é abordado principalmente pelos dois fluxos de pesquisa a seguir :

  • propor e avaliar abordagens alternativas à DTW , como as baseadas em modelos (veja este artigo e este artigo );
  • propor e avaliar abordagens modificadas de DTW , como cDTW , EDR , ERP , TWED , transformações de envelope , CDTW ( DTW contínuo - não confunda com cDTW - DTW restrito !) e outras variantes (por exemplo, consulte este documento ). Uma visão geral das abordagens e resultados acima mencionados de algumas comparações empíricas pode ser encontrada neste artigo .

Por fim, gostaria de abordar o assunto do software de código aberto , disponível para pesquisa ou implementação de sistemas , focado na DTW e no suporte a alguns dos algoritmos mencionados acima para séries temporais irregulares. Esses softwares incluem o projeto do módulo cDTW baseado em Python / NumPy , bem como o projeto CUDA-DTW baseado em CUDA, focado em GPU . Para os entusiastas, também deve ser mencionado um projeto abrangente de Dynamic Time Warp ( pacote correspondente R dtwestá disponível no CRAN). Embora possa não suportar muitos algoritmos DTW para séries temporais irregulares no momento (embora eu ache que ele suporte cDTW), acho que é apenas uma questão de tempo até que este projeto ofereça um suporte mais abrangente para algoritmos DTW, focado nesse tipo De dados. Espero que você tenha gostado de ler minha resposta tanto quanto eu gostei de pesquisar o tópico e escrever este post.

Aleksandr Blekh
fonte
1

Eu implementei com sucesso o DTW em 'C', conforme aplicado à verificação dinâmica de assinaturas. Usei um banco de dados de teste de assinaturas chinesas e holandesas para verificar a EER e obtive resultados impressionantes. Atualmente, é implementado como uma demonstração em um iPad. Meu algoritmo foi codificado manualmente a partir de várias descrições publicadas. Compartilharei o código se houver uma maneira de obtê-lo. Uma coisa que também contribuiu para o sucesso foi 'normalizar' os dados de entrada. Isso facilitou muito a comparação de dados diferentes usando diferentes taxas de amostragem.

user6009837
fonte
Bem vindo ao nosso site! Observe que seu nome de usuário, identicon e um link para sua página de usuário são adicionados automaticamente a todas as postagens que você faz, portanto, não há necessidade de assinar suas postagens.
Silverfish
2
Gostaríamos que nossas respostas fossem úteis para futuros leitores, e não apenas o pôster original, portanto, a possibilidade de compartilhar o código seria mais útil se você pudesse fazer upload de algum lugar e compartilhar um link aqui. Mas se isso não for possível, talvez você possa lançar alguma luz sobre "Meu algoritmo foi codificado manualmente a partir de várias descrições publicadas" - você poderia citar as que usou para o caso de alguém querer seguir seus passos e implementá-los?
Silverfish
0

Estou entrando no DTW e não usei pessoalmente os pacotes mencionados abaixo, mas espero que o seguinte possa ajudá-lo.

O Projeto Cran.R, em particular: • "ts" é a classe básica para séries temporais espaçadas regularmente usando carimbos de data e hora numéricos. • O pacote "zoo" fornece infraestrutura para séries temporais regularmente E IRREGULARAMENTE, espaçadas, usando classes arbitrárias para os carimbos de hora. Ele foi projetado para ser o mais consistente possível com "ts". • zoo: infraestrutura S3 para séries temporais regulares e irregulares (observações ordenadas por Z)

Referências: http://cran.r-project.org/web/views/TimeSeries.html e http://cran.r-project.org/web/packages/zoo/index.html

Muitas felicidades.

TonyMorland
fonte
11
Minha pergunta foi sobre a adaptação da DTW como método ao contexto de séries temporais irregulares. Pacotes como o Zoo não fornecem uma solução para esse problema.
Remi D
0

TSdist tem uma função que determina a distância através do dtw. Aceita séries temporais irregulares do zoológico

tiagovrtr
fonte
11
"Aceita" não significa que ele lida com eles. Você deve sempre verificar o código fonte de uma função.
Remi D