Estou trabalhando com uma série de pontuações de anomalias (o fundo é a detecção de anomalias em redes de computadores). A cada minuto, recebo uma pontuação de anomalia que me diz o quão "inesperado" ou anormal é o estado atual da rede. Quanto maior a pontuação, mais anormal é o estado atual. Pontuações próximas a 5 são teoricamente possíveis, mas ocorrem quase nunca.
Agora, eu quero criar um algoritmo ou uma fórmula que determine automaticamente um limite para essa série temporal de anomalias. Assim que uma pontuação de anomalia excede esse limite, um alarme é acionado.
A distribuição de frequência abaixo é um exemplo para uma série temporal de anomalia durante 1 dia. No entanto, é não seguro assumir que cada série temporal anomalia está indo olhar assim. Neste exemplo especial, um limite de anomalia como o quantil .99 faria sentido, uma vez que as poucas pontuações à direita podem ser consideradas anomalias.
E a mesma distribuição de frequência das séries temporais (varia apenas de 0 a 1, pois não há pontuações de anomalia mais altas na série temporal):
Infelizmente, a distribuição de frequência pode ter formas, em que o quantil .99 não é útil . Um exemplo está abaixo. A cauda direita é muito baixa; portanto, se o quantil .99 for usado como limite, isso poderá resultar em muitos falsos positivos. Essa distribuição de frequência parece não conter anomalias, portanto o limite deve ficar fora da distribuição em torno de 0,25.
Resumindo, a diferença entre esses dois exemplos é que o primeiro parece exibir anomalias, enquanto o segundo não.
Do meu ponto de vista ingênuo, o algoritmo deve considerar esses dois casos:
- Se a distribuição de frequência possui uma cauda direita grande (ou seja, algumas pontuações anormais), o quantil 0,99 pode ser um bom limite.
- Se a distribuição de frequência tiver uma cauda direita muito curta (ou seja, nenhuma pontuação anormal), o limite deverá estar fora da distribuição.
/ edit: Também não existe uma verdade básica, isto é, conjuntos de dados rotulados disponíveis. Portanto, o algoritmo é "cego" contra a natureza das pontuações de anomalias.
Agora não tenho certeza de como essas observações podem ser expressas em termos de um algoritmo ou fórmula. Alguém tem uma sugestão de como esse problema pode ser resolvido? Espero que minhas explicações sejam suficientes, pois meu histórico estatístico é muito limitado.
Obrigado pela ajuda!