Como posso transformar dados de séries temporais para usar técnicas mais simples de previsão de falhas?


8

Sei que este é principalmente um site de estatísticas; portanto, se eu estiver fora do tópico, me redirecione.

Eu tenho um sistema com bombas que às vezes quebram e precisam ser substituídas. Eu gostaria de poder prever as falhas e, assim, dar um aviso prévio às pessoas que substituem as bombas. Tenho dados históricos para o processo da bomba, como vazão, pressão, altura do líquido etc.

Tenho apenas uma pequena experiência no uso de técnicas de aprendizado de máquina para classificar dados - basicamente, segui e fiz os exercícios do curso de aprendizado de máquina de Andrew Ng sobre coursera, bem como o Statistics One de Andrew Conway - e nunca usei o aprendizado de máquina para classificar séries temporais. Estou pensando em maneiras de transformar o meu problema para poder usar meu conhecimento existente. Com meu conhecimento limitado, não receberei uma previsão muito ótima, mas espero aprender com isso e, para esse problema, qualquer pequena melhoria na previsão é útil, em vez de apenas esperar que as falhas ocorram.

Minha abordagem proposta é transformar a série temporal em um problema de classificação normal. A entrada seria um resumo de uma janela de série temporal, com valor médio, desvio padrão, valores máximos etc. para cada tipo de dados na janela. Para a saída, não tenho certeza do que funcionaria melhor. Uma abordagem é que a saída seria uma classificação binária de se a bomba falhou dentro de um determinado período de tempo a partir do final da janela ou não. Outra é que a saída seria o tempo restante até a bomba falhar; portanto, não uma classificação, mas uma regressão (no sentido de aprendizado de máquina).

Você acha que essa abordagem provavelmente produzirá resultados? É uma questão de "depende do domínio e dos dados históricos". Existem transformações melhores (de entrada e saída) que eu não considerei, ou a previsão de falhas com base em dados de séries temporais é tão diferente da previsão de falhas mais padrão, que seria melhor gastar meu tempo lendo o aprendizado de máquina com séries temporais ?


A medição de vibração / ruído em tempo real das bombas seria um bônus real aqui.
Image0doctor

@image_doctor: Eu posso conseguir isso. Você quer dizer que seria bom porque a vibração / ruído é relevante para o domínio do problema? Nesse caso, eu não poderia resumir como os outros dados? Ou é inerentemente o processamento da informação estar em tempo real? Eu gostaria de poder prever falhas com antecedência, como um dia ou (de preferência) mais. Não sei se é possível com o domínio e os dados. Mas essa escala de tempo não me sugere que o processamento em tempo real realmente ajuda. Se você quer dizer que o tempo real é significativo, eu entendi algo errado?
Boris

É relevante para o domínio do problema. As bombas geralmente mostram sinais de desequilíbrio ou alterações nos modos vibracionais antes da falha. A análise espectral em tempo real, ou pelo menos algo como amostras horárias, deve ser um recurso muito útil para a previsão de falhas.
image_doctor

Estou com um problema semelhante e atualmente estou avaliando o potencial do uso de modelos de risco proporcional da Cox. Você conseguiu usar isso em sua solução? Você poderia compartilhar conosco a solução final que você tomou para alcançar o resultado?

Respostas:


5

Você pode querer analisar a análise de sobrevivência, com a qual pode estimar a função de sobrevivência (a probabilidade de que o tempo de falha seja maior que um tempo específico) e a função de risco (a probabilidade instantânea de uma unidade falhar, dado que não falha experimentada até o momento). Com a maioria das abordagens de análise de sobrevivência, é possível inserir preditores invariantes e variáveis ​​no tempo.

Existem várias abordagens diferentes de análise de sobrevivência, incluindo o modelo de riscos proporcionais semi-paramétricos de Cox (também conhecido como regressão de Cox) e modelos paramétricos. A regressão de Cox não exige que você especifique a função de risco base subjacente, mas você pode achar que precisa de um modelo paramétrico para capturar adequadamente os padrões de falha em seus dados. Às vezes, modelos paramétricos de tempo de falha acelerada são apropriados, onde a taxa de falha aumenta com o tempo.

Você pode tentar começar com a regressão de Cox, uma vez que é o mais simples de usar e verificar o quão bem você pode prever falhas em um conjunto de testes de validação. Eu suspeito que você pode ter melhores resultados com algum tipo de análise de sobrevivência que leva em conta explicitamente o tempo e a censura (bombas que ainda não falharam) do que tentar transformar isso em um problema de classificação não baseado no tempo.


Tenho um problema semelhante e também estou tentando enquadrar isso em uma estrutura de análise de sobrevivência: basicamente tenho a mesma planta que continua falhando e trabalha novamente após a manutenção. Quero determinar quando e se a fábrica falhará. Nesse caso, como combinar várias medidas em cada intervalo de tempo, porque a análise de sobrevivência terá uma linha por falha, mas eu teria coletado dados por horas antes da falha.
discipulus

1

Basearia minha decisão na classificação versus regressão com base na disponibilidade de dados (o último requer saber o tempo exato em que a falha ocorreu, o primeiro não) e se ter estimativas do tempo até a falha é realmente um requisito para seu problema (meu padrão seria tentar a classificação primeiro).


Obrigado. Sim, de alguma forma, estimar o tempo até a falha está tomando um caminho mais longo para o resultado, mas evita o problema de decidir qual período de falha estimar: não sei se os dados suportam a classificação melhor de um período de falha de 10 dias do que um período de cinco dias, portanto, com a classificação, tenho que treinar muitos classificadores e, em seguida, negociar dando os melhores resultados versus um aviso oportuno. Estimar o tempo até a falha evitaria isso, mas a estimativa em si pode ser mais difícil.
Boris
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.