Classificação de Séries Temporais

classificação de série temporal

Quando encontrei pela primeira vez o conceito de classificação de séries temporais, meu pensamento inicial foi: como classificamos as séries temporais? Como são os dados para classificação de séries temporais?

Como você pode imaginar, os dados de classificação de séries temporais são diferentes dos problemas de classificação regulares porque os atributos têm uma sequência ordenada. Vejamos alguns casos de uso de classificação de séries temporais para entender essa diferença.

1) Classificação do sinal de ECG/EEG

O eletrocardiograma (ECG, eletrocardiograma) registra a atividade elétrica do coração e é amplamente utilizado para diagnosticar vários problemas cardíacos. Esses sinais de ECG são capturados com eletrodos externos. Por exemplo, considere a amostra de sinal abaixo, que representa a atividade elétrica de um batimento cardíaco. A imagem da esquerda representa um batimento cardíaco normal, enquanto a imagem da direita representa um infarto do miocárdio.
insira a descrição da imagem aqui

  • Os dados coletados dos eletrodos estão na forma de séries temporais e os sinais podem ser classificados em diferentes categorias . Também podemos classificar sinais de eletroencefalograma (EEG), que registram a atividade elétrica do cérebro.

2) Dados de imagem

As imagens também podem estar em um formato relacionado à série temporal. Considere o seguinte cenário:

As culturas cultivadas em um determinado campo dependem das condições climáticas, fertilidade do solo, disponibilidade de água e outros fatores externos. Fotografias da terra foram tiradas diariamente durante 5 anos e rotuladas com os nomes das culturas cultivadas na terra. As imagens no conjunto de dados são tiradas após intervalos de tempo fixos e possuem uma sequência definida, o que é um fator importante na classificação das imagens.

3) Classificação de dados do sensor de movimento

Os sensores geram dados de alta frequência que podem identificar o movimento de objetos dentro de seu alcance. Ao definir vários sensores sem fio e observar as mudanças na intensidade do sinal dos sensores, a direção do movimento do objeto pode ser identificada.

Vamos pegar o problema de "previsão de movimento do usuário interno" como exemplo.

Neste desafio, vários sensores de movimento são colocados em salas diferentes, e o objetivo é identificar se uma pessoa se moveu na sala com base nos dados de frequência capturados por esses sensores de movimento. Há um total de quatro sensores de movimento (A1, A2, A3, A4) distribuídos em duas salas. Dê uma olhada na imagem abaixo, que ilustra onde os sensores estão localizados em cada sala. As duas configurações de sala são criadas em 3 pares diferentes de grupos de sala (grupo1, grupo2, grupo3).
insira a descrição da imagem aqui


insira a descrição da imagem aqui


método tradicional

O algoritmo de classificação de recursos globais usa a série temporal completa como um recurso e calcula a similaridade entre as séries temporais para classificação, geralmente usando uma combinação de função de medição de distância e 1-NN. A direção de pesquisa desse tipo de método é a função de medição de distância usada para medir a similaridade de séries temporais completas.

Algoritmo de recurso global típico-dtw

Se permitirmos que uma sequência de pontos corresponda a múltiplos pontos consecutivos de outra sequência (equivalente a prolongar o tempo de pronúncia do tom representado por este ponto), e depois calcularmos a soma das distâncias entre os pontos correspondentes, este é o algoritmo dtw. O algoritmo dtw permite que um ponto em um determinado momento em uma sequência corresponda a pontos em vários momentos consecutivos em outra sequência, o que é chamado de Time Warping

insira a descrição da imagem aqui

Método típico de distância de diferença de algoritmo de recurso global

  • O método de distância diferencial calcula o diferencial de primeira ordem da série temporal original e , em seguida, mede a distância entre as sequências diferenciais das duas séries temporais, ou seja, a distância diferencial .
  • O método da diferença considera a distância diferencial como suplemento da distância da sequência original, que é uma parte importante da função de cálculo da distância final.
  • O método da distância da diferença combina a série temporal original no domínio do tempo com a série da diferença de primeira ordem no domínio da diferença para melhorar o efeito de classificação.

A direção principal da pesquisa é como combinar razoavelmente a sequência original e a sequência de diferença.O processo de evolução do método de distância de diferença é mostrado na figura.

insira a descrição da imagem aqui

características locais

O algoritmo de classificação de classes de feições locais usa uma parte das subseqüências na série temporal como feições para classificação de séries temporais . A chave para esse tipo de algoritmo é encontrar recursos locais que possam distinguir categorias. Como as subsequências são mais curtas, o classificador construído é mais rápido, mas leva um certo tempo para encontrar recursos locais.

Algoritmo de recurso local típico - intervalo (intervalo)

O método interval na classe de feição local divide a série temporal em vários intervalos e extrai feições de cada intervalo.

  • Este tipo de método é adequado para subsequências com dependência de fase e discriminação em sequências longas, bem como ruído.

O processo de desenvolvimento do algoritmo de classificação de séries temporais baseado em intervalo é mostrado na figura.

insira a descrição da imagem aqui

TSF

O algoritmo TSF (Time Series Forest) é um algoritmo de aprendizado integrado para classificação de séries temporais. O algoritmo converte dados de séries temporais em vetores de recursos e usa o método de floresta aleatória para classificação.

O TSF supera o problema de um enorme espaço de recursos para intervalos usando uma abordagem de floresta aleatória com estatísticas para cada intervalo como recursos. O treinamento de uma árvore envolve a escolha de intervalos aleatórios de raiz m, gerando a média, o desvio padrão e a inclinação de cada série de intervalos aleatórios e, em seguida, criando e treinando uma árvore nos recursos resultantes de 3 raízes m.
As principais etapas do algoritmo TSF são as seguintes:

Extração de recursos: converta dados brutos de séries temporais em vetores de recursos. Os métodos de extração de recursos comumente usados ​​incluem transformada de Fourier, transformada de wavelet, etc.

Divisão do conjunto de dados: Divida os vetores de recursos extraídos em vários subconjuntos.

Selecione aleatoriamente um subconjunto: selecione aleatoriamente uma parte do subconjunto dividido para treinamento.

Selecionar recursos aleatoriamente: selecione aleatoriamente uma parte dos recursos do vetor de recursos para treinamento.

Crie uma árvore de decisão: crie um modelo de árvore de decisão com base em subconjuntos e recursos selecionados.

Integrando árvores de decisão: repita as etapas 3 a 5 para criar várias árvores de decisão e integrá-las em um modelo de floresta aleatório.

Classificar: Use o modelo de floresta aleatória construído para classificar novos dados de séries temporais.

TSF算法的优点:

  1. Ele é capaz de lidar com dados de séries temporais em larga escala e tem bom desempenho de classificação.
  2. Ele pode reduzir a computação selecionando aleatoriamente subconjuntos e recursos e melhorar a precisão da classificação integrando várias árvores de decisão.

No entanto, o algoritmo TSF também possui algumas limitações:
1) É sensível ao comprimento dos dados da série temporal, e séries temporais mais curtas podem levar a uma diminuição no desempenho da classificação.
2) Além disso, o algoritmo TSF tem fortes suposições sobre a distribuição de dados de séries temporais.Se os dados não atenderem a essas suposições, o desempenho do algoritmo pode ser afetado.

shapelet

Um shapelet é, na verdade, uma certa subsequência em um período de dados de séries temporais. Essa subsequência é a característica mais proeminente desse período de dados de séries temporais (obviamente, um shapelet é o mesmo que os componentes de tendência e periódicos, e também é um componente especial dos próprios dados de séries temporais). Foi proposto principalmente para resolver o problema inicial de usar KNN para resolver a classificação de séries temporais.

  • KNN
    • Na classificação de séries temporais, a ideia de knn é muito simples. Os dados de m etapas de tempo de uma amostra são os m recursos dessa amostra e, em seguida, use knn para executar. Claro, na aplicação knn de classificação de séries temporais , a distância euclidiana é usada Este tipo de cálculo de distância convencional obviamente descarta as informações de dependência de sequência dos próprios dados de séries temporais, então DTW, uma fórmula de distância especial para cálculo de distância de dados de séries temporais, é usado para medir a distância de dados de séries temporais

A ideia do shapelet é muito simples e intuitiva, o que reduz a sobrecarga computacional e é muito interpretável. Especificamente, um exemplo é dado no artigo: Agora
insira a descrição da imagem aqui
convertemos o contorno da folha em dados de série temporal (as coordenadas do ponto correspondentes a os contornos da folha estão todos em um sistema de coordenadas de plano xy), e então precisamos classificar os dados da série temporal correspondentes a essas duas folhas.
Como pode ser visto na figura acima, o shapelet é a parte vermelha da curva azul, que é a característica mais proeminente dos dados da série temporal correspondente à folha esquerda. Podemos usar esses dados diretamente para substituir os dados completos da sequência de a folha esquerda e, em seguida, use o algoritmo KNN com base na distância DTW.

Os dados da série temporal correspondentes às duas folhas são semelhantes em muitos intervalos de tempo, portanto, o cálculo baseado em distância obviamente será afetado pelos dados correspondentes aos pontos de tempo mais semelhantes, mas agora extraímos a parte mais óbvia . preste mais atenção à diferença significativa entre diferentes amostras de séries temporais

  • Se a distância DTW da característica mais proeminente das duas folhas for grande, é obviamente diferente, o que é fácil de entender.

artigo Zhihu

Problema de classificação de vários rótulos

Rotule o problema de peso desequilibrado para resolver o pytorch

Problema de desequilíbrio de classificação multi-rótulo: https://discuss.pytorch.org/t/multi-label-multi-class-class-imbalance/37573

Várias categorias:
insira a descrição da imagem aqui

Multi-rótulo:
insira a descrição da imagem aqui
Primeiro, deixe-me explicar o que é chamado de problema de classificação de texto multi-rótulo.

Aqui combinamos um exemplo de competição no Kaggle.

O nome da competição é: Desafio de Classificação de Comentário Tóxico


Peso da amostra de Keras para conjuntos de dados multirrótulo de desequilíbrio:

from sklearn.utils import class_weight

list_classes = ["toxic", "severe_toxic", "obscene", "threat", "insult", "identity_hate"]
y = train[list_classes].values

sample_weights = class_weight.compute_sample_weight('balanced', y)
model.fit(X_t, y, batch_size=batch_size, epochs=epochs,validation_split=0.1,sample_weight=sample_weights, callbacks=callbacks_list)


Relacionado à implantação do modelo

Artigo Zhihu: https://zhuanlan.zhihu.com/p/195750736

Acho que você gosta

Origin blog.csdn.net/RandyHan/article/details/131763991
Recomendado
Clasificación