Existem algoritmos de aprendizado não supervisionado para dados seqüenciados no tempo?

9

Cada observação nos meus dados foi coletada com uma diferença de 0,1 segundos. Não chamo de série temporal porque não tem data e hora. Nos exemplos de algoritmos de clustering (encontrados online) e PCA, os dados da amostra têm 1 observação por caso e não são cronometrados. Mas meus dados têm centenas de observações coletadas a cada 0,1 segundos por veículo e existem muitos veículos.

Nota: Também fiz essa pergunta no quora.

umair durrani
fonte
11
Por favor, note o idioma. Sua pergunta não está totalmente clara. O que significa "os dados da amostra têm 1 observação por caso e não são cronometrados"?
Kasra Manshaei
11
Eu estava falando sobre os exemplos que encontrei nos tutoriais online. Os dados de amostra que eles usam têm apenas 1 observação por caso / indivíduo (por exemplo, cliente, país etc.). E esses dados não são séries temporais.
Umair durrani

Respostas:

7

O que você tem é uma sequência de eventos de acordo com o tempo, então não hesite em chamá-lo de Série Temporal!

O agrupamento em séries temporais tem 2 significados diferentes:

  1. Segmentação de séries temporais, ou seja, você deseja segmentar uma série temporal individual em diferentes intervalos de tempo, de acordo com as semelhanças internas.
  2. Agrupamento de séries temporais, ou seja, você possui várias séries temporais e deseja encontrar diferentes agrupamentos de acordo com as semelhanças entre eles.

Suponho que você queira dizer o segundo e aqui está a minha sugestão:

Você tem muitos veículos e muitas observações por veículo, ou seja, você tem muitos veículos. Então você tem várias matrizes (cada veículo é uma matriz) e cada matriz contém N linhas (Nr de observações) e T colunas (pontos no tempo). Uma sugestão poderia ser a aplicação do PCA em cada matriz para reduzir a dimensionalidade e a observação dos dados no espaço do PC e verificar se há relações significativas entre diferentes observações dentro de uma matriz (veículo) . Em seguida, é possível colocar cada observação de todos os veículos um no outro e criar uma matriz e aplicar PCA a isso para ver as relações de uma única observação entre diferentes veículos.

Se você não tem valores negativos Matrix Factorization é fortemente recomendado para redução dimensão dos dados do formulário matriz.

Outra sugestão pode ser colocar todas as matrizes umas sobre as outras e criar um tensor N x M x T, onde N é o número de veículos, M é o número de observações e T é a sequência de tempo e aplica a Decomposição do Tensor para ver as relações globalmente.

Uma abordagem muito agradável ao Cluster de séries temporais é mostrada neste documento, onde a implementação é silenciosa e direta.

Espero que tenha ajudado!

Boa sorte :)


EDITAR

Como você mencionou, você quer dizer segmentação de séries temporais, adiciono isso à resposta.

A segmentação de séries temporais é o único problema de agrupamento que tem uma verdade fundamental para a avaliação. De fato, você considera a distribuição geradora por trás das séries temporais e a analisa. Eu recomendo fortemente isso , isto , isto , isto , isto e isto, onde o seu problema é estudado de maneira abrangente. Especialmente o último e a tese de doutorado.

Boa sorte!

Kasra Manshaei
fonte
11
Obrigado por uma ótima resposta. Meu objetivo, de fato, é fazer "segmentação de séries temporais" para cada veículo no meu conjunto de dados.
Umair durrani
11
Estou estudando tutoriais sobre decomposição de séries temporais. Descobri que existem maneiras de decompô-las em componentes de tendência, sazonais e cíclicos. Minhas séries temporais, no entanto, são alguns segundos de trajetórias de veículos. É possível decompô-los em diferentes componentes do comportamento ao dirigir com base nas tendências em acelerações, velocidades, velocidades dos veículos principais e acelerações dentro de uma trajetória observada?
Umair durrani 30/05
2
Talvez! para isso é melhor considerar "decomposição" e "segmentação". Por exemplo, se suas séries temporais mostram agrupamentos significativos no espaço do PC, você pode relacioná-los ao comportamento de dirigir. A segmentação também é para detectar diferentes comportamentos de direção em uma série temporal. A longa história é que você pode usar a segmentação para diferentes segmentos do comportamento ao dirigir para um veículo e técnicas de decomposição para detectar comportamentos globais ao dirigir em todos os veículos.
Kasra Manshaei