Machine Learning: identificar padrões em dados de séries temporais

8

Eu trabalho em energia renovável. Minha empresa coleta muitos dados de equipamentos. Isso normalmente inclui dados do processo (como temperatura do transformador, tensões de linha, correntes, etc.) e alarmes discretos (por exemplo, disparo do disjuntor, valores de alarme do inversor, alarme de superaquecimento do transformador). Este é um exemplo aproximado da aparência de nossos dados (para serem lidos como linhas de csv):

  • registro de data e hora, tag, valor
  • 25/05/2016 14:30:01, INVERTER_1.VOLTAGE_DC, 249,5
  • 25/05/2016 14:30:06, INVERTER_1.VOLTAGE_DC, 250,1
  • 25/05/2016 14:45:02, TRANSFORMER_1.TEMP_ALARM, 0
  • 25/05/2016 14:45:15, TRANSFORMER_1.TEMP_ALARM, 1

Gostaria de começar a realizar algumas análises de padrões nesses dados em repouso, não em tempo real (pelo menos por enquanto). Acredito que o que eu gostaria de tentar seja um aprendizado não supervisionado de recursos, mas não tenho certeza. Seria bom (eu acho) aplicar o aprendizado de máquina para 1) identificar quaisquer padrões que não sejam óbvios e 2) permitir que um algoritmo identifique assinaturas de padrões nos dados (por exemplo, todos os inversores em um único alimentador perdem a comunicação quando um disjuntor está aberto).

Minha pergunta inicial: são considerados dados de séries temporais? Em minha pesquisa até agora, parece que os dados de séries temporais referenciam dados que são uma função do tempo. Para a maioria dos meus dados, como especialista em domínio, não acredito que a definição de funções para meus dados seja útil para essa análise. Além disso, em minha pesquisa, parece que os dados de séries temporais se referem a valores com valor real e não são discretos.

Quaisquer comentários ou referências relevantes seriam úteis.

theoneandonly2
fonte
3
Eu acho que a "identidade de qualquer padrão" é geral demais. então, o que é um padrão interessante? você tem algum exemplo para este caso em particular?
reina
11
Estou mais interessado em falhas operacionais de equipamentos e tempo de atividade de equipamentos. Esse provavelmente seria um bom foco inicial. Então, digamos, por exemplo, estamos vendo falhas de comunicação com nossos inversores após ~ 25 dias de tempo de execução. Este é um exemplo real de um projeto passado, em que o módulo de comunicação do inversor tinha um vazamento de memória que faria com que ele parasse de comunicação. Isso não seria extremamente óbvio, mas seria bom ver uma correlação entre o valor dos dados de tempo de atividade do inversor e a falha de comunicação (dados do inversor NaN por um período prolongado).
theoneandonly2
11
O que poderia ser mais simples é focar na identificação e agrupamento de padrões de dados passados. Meu exemplo acima: inversores em um alimentador perdem a comunicação quando um disjuntor está aberto. Outro exemplo: perdemos dados meteorológicos ao mesmo tempo em que perdemos as comunicações do inversor (isso ocorre porque a estação meteorológica é alimentada pelo invólucro do inversor). Nos dois exemplos aqui, a perda de comunicação leva a uma lacuna de dados em vez de valores de dados específicos. Essa característica é a que mais estou lutando. Não vejo muita pesquisa para analisar e categorizar a falta de dados.
theoneandonly2 25/05

Respostas:

3

Sim, seus dados são " dados de séries temporais ", pois são uma sequência de medidas da mesma variável coletada ao longo do tempo. Os dados de séries temporais podem ser coletados continuamente ou em intervalos discretos.

Seus dados de amostra podem ser expressos como uma função do tempo - talvez ajude pensar na "função" como o processo que produz a saída medida, a entrada na função é o carimbo de data / hora e a saída é o valor de esse parâmetro naquele momento:

INVERTER_1.VOLTAGE_DC(5/25/2016 14:30:01)=249.5

Você não precisa necessariamente definir as funções (gerais) que produzem seus dados para realizar a análise de séries temporais - basta saber o valor da função nos momentos de medição. O intervalo de dados de séries temporais pode ser contínuo e com valor real, discreto ou até não numérico.

Certamente é possível usar técnicas de aprendizado de máquina em dados de séries temporais, por exemplo, para previsão , detecção de anomalias ou identificação de padrões .

Redes neurais podem ser uma boa opção se você estiver interessado em modelagem preditiva. Uma configuração possível é usar as medições dos parâmetros atuais como entrada para a rede neural, e a saída é o valor futuro previsto ou "estado do sistema" (por exemplo, se um disjuntor está aberto ou não).

O WEKA é um bom kit de ferramentas de aprendizado de máquina de código aberto que contém implementações de muitos algoritmos de ML diferentes.

rphv
fonte