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?
Respostas:
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 :
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
dtw
está 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.fonte
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.
fonte
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.
fonte
TSdist tem uma função que determina a distância através do dtw. Aceita séries temporais irregulares do zoológico
fonte