O que é série temporal

O que é série temporal

A análise de séries temporais é uma técnica de análise de dados exploratórios de aprendizado de máquina de máquinas que nos permite ver como os pontos de dados mudam com o tempo. Várias declarações de problemas baseadas em séries temporais, como previsão de vendas de ingressos, análise do preço das ações, etc. As séries temporais podem exibir uma variedade de tendências difíceis de analisar simplesmente olhando para o enredo. Como resultado, agrupar as tendências da série temporal é uma boa ideia. Veremos o que é uma série temporal, o que é agrupamento e como agrupar os dados da série temporal.

O que é série temporal?

Uma série temporal é uma coleção de ponteiros de dados agrupados em ordem. Os pontos de dados representam uma atividade que ocorre ao longo de um período de tempo. Um exemplo comum é o número total de ações negociadas em um determinado intervalo de tempo, juntamente com outros parâmetros, como os preços das ações e suas respectivas informações comerciais em cada segundo. Ao contrário de uma variável de tempo contínuo, esses pontos de dados de séries temporais têm valores discretos em vários momentos no tempo. Como resultado, variáveis ​​de dados discretas são frequentemente usadas. Os dados para uma série temporal podem ser coletados por qualquer período de tempo, de alguns minutos a vários anos. O tempo em que os dados são coletados não tem limite inferior ou superior. Existem vários problemas de previsão baseados em séries temporais no aprendizado de máquina e aprendizado profundo, como prever o preço das ações de uma empresa, reconhecimento de atividades humanas, previsão de quantidade de ingressos de vôo, etc. Isso economiza muito dinheiro e ajuda as empresas a tomar decisões cuidadosas antes de investir em algo. O gráfico de exemplo é dado abaixo mostra a variação das observações com o tempo.

O que é agrupamento?

Clustering é um tipo de técnica de aprendizado sem supervisão de aprendizado de máquina. As conclusões são adquiridas a partir de conjuntos de dados que não têm variáveis ​​de saída rotuladas no método de aprendizado não supervisionado. É um tipo de análise de dados exploratórios que nos permite olhar para conjuntos de dados multivariados.

O clustering é o aprendizado de máquina ou a abordagem matemática na qual os pontos de dados são agrupados em um número especificado de clusters com recursos semelhantes entre os pontos de dados dentro de cada cluster. Clusters são compostos de pontos de dados agrupados para que o espaço entre eles seja mantido no mínimo. A maneira como os clusters são produzidos é determinada pelo tipo de algoritmo que escolhemos. Como não há critério para um bom agrupamento, as conclusões tiradas dos conjuntos de dados também dependem de quê e de como o usuário está desenvolvendo o algoritmo de clustering. O agrupamento pode ser usado para resolver problemas como segmentação de clientes, sistemas de recomendação, detecção de anomalia e assim por diante. A abordagem de agrupamento K-Means, na qual não temos rótulos e devemos colocar cada ponto de dados em seu próprio cluster, pode ser reconhecível para você. Uma abordagem de agrupamento proeminente é K-means. A figura abaixo mostra como agrupamos diferentes pontos de dados com os mesmos recursos no mesmo cluster.

O que é agrupamento de séries temporais?

A técnica de agrupamento de séries temporais é uma abordagem de processamento de dados não supervisionada para classificar pontos de dados com base em sua semelhança. O objetivo é maximizar a similaridade dos dados entre os clusters enquanto minimiza. Uma técnica básica na ciência de dados para identificação de anomalia e descoberta de padrões é o cluster de séries temporais, que é usado como uma sub-rotina para outros algoritmos mais complicados. Essa técnica é particularmente útil ao analisar as tendências em conjuntos de dados muito grandes de séries temporais. Não podemos diferenciar as tendências apenas olhando para o enredo da série temporal. Aqui é onde você pode agrupar as tendências. Tendências diferentes serão agrupadas em diferentes clusters.

Kernel K significa

A técnica do kernel refere-se à transformação de dados em outra dimensão com uma borda separadora distinta entre grupos de dados não linearmente separáveis. A técnica Kernel K-Means usa o mesmo truque que K-means, exceto que o método do kernel é usado para calcular a distância em vez da distância euclidiana. Quando aplicado ao algoritmo, a abordagem do kernel pode encontrar estruturas não lineares e é mais adequado para conjuntos de dados do mundo real.

K significa para agrupamentos de séries temporais

O método mais frequente de agrupamento de séries temporais é o K médio. A abordagem comum é achatar os dados da série temporal em uma matriz 2D, com cada coluna para cada índice de cada vez e depois usar algoritmos de agrupamento padrão como K-Means para agrupar os dados. No entanto, as medições de distância dos algoritmos de agrupamento típicos, como a distância euclidiana, são frequentemente inapropriados para séries temporais. Uma maneira preferível é usar uma métrica para comparar as tendências da série temporal, em vez da medida de distância padrão. Uma das técnicas mais populares usadas para isso é dinâmico de distorção do tempo.

Dinâmico de distorção do tempo

Embora um sinal seja alterado no tempo, o tempo dinâmico de deformação permite que um sistema compare dois sinais e procure semelhanças. Sua capacidade de verificar se há artefatos de fala conhecidos, independentemente do ritmo de fala do falante, torna -se útil para problemas de reconhecimento de fala também. Por exemplo, se houver duas matrizes: [1, 2, 3] e [4, 5, 6], calcular a distância entre eles é fácil, pois você pode simplesmente fazer subtração em termos de elemento e adicionar todas as diferenças. No entanto, não será fácil quando o tamanho das matrizes for diferente. Podemos considerar essas matrizes como a sequência de sinais. O componente "dinâmico" sugere que a sequência de sinal pode ser movida para frente e para trás para procurar uma combinação sem acelerar ou desacelerar toda a sequência. Se a deformação do tempo estiver esticando ou encolhendo um elástico, o DTW está se estendendo ou encolhendo aquele elástico para se encaixar nos contornos de uma superfície. Abaixo está a representação visual de DTW.

Etapas para deformação dinâmica de tempo

  1. Faça um número igual de pontos em cada uma das duas séries.
  2. Usando a fórmula de distância euclidiana, calcule a distância entre o primeiro ponto da primeira série e cada ponto da segunda série. Salve a distância mínima calculada.
  3. Mova para o segundo ponto e repita 2. Vá passo a passo junto com pontos e repita dois até que todos os pontos sejam concluídos.
  4. Pegue a segunda série como um ponto de referência e repita 2 e 3.
  5. Adicione todas as distâncias mínimas armazenadas para uma estimativa verdadeira de semelhança entre as duas séries.

Implementação de DTW em Python

De Fastdtw Import Fastdtw
de Scipy.espacial.importação de distância euclidiana
sig1 = np.Array ([1, 2, 3, 4])
Sig2 = np.Array ([1, 2, 2, 4, 4, 5])
Distância, caminho = fastdtw (sig1, sig2, dist = euclidiano)
impressão (distância)
Imprimir (caminho)

Usar casos de agrupamento de séries temporais

  1. Usado na detecção de anomalia para rastrear tendências incomuns em série.
  2. Usado no reconhecimento de fala.
  3. Usado na detecção externa.
  4. Usado em aplicações biológicas, incluindo reconhecimento de DNA.

Conclusão

Este artigo analisou a definição de séries temporais, agrupamento e combinação dos dois para agrupar as tendências da série temporal. Passamos por um método popular para este chamado dinâmico Time deformação (DTW) e os processos e implementação envolvidos no uso.