Contexto: estou desenvolvendo um sistema que analisa dados clínicos para filtrar dados implausíveis que podem ser erros de digitação.
O que eu fiz até agora:
Para quantificar a plausibilidade, minha tentativa até agora foi normalizar os dados e, em seguida, calcular um valor de plausibilidade para o ponto p com base em sua distância aos pontos de dados conhecidos no conjunto D (= o conjunto de treinamento):
Com essa quantificação, posso selecionar um limite que separa os dados plausíveis dos implausíveis. Estou usando python / numpy.
Meus problemas:
- Este algoritmo não pode detectar dimensões independentes. Idealmente, eu poderia colocar tudo o que sei sobre o registro no algoritmo e descobrir por si mesmo que a dimensão X não influencia a plausibilidade do registro.
- O algoritmo realmente não funciona para valores discretos, como booleanos ou entradas selecionadas. Eles podem ser mapeados em valores contínuos, mas é contra-intuitivo que o Select 1 esteja mais próximo do Select 2 do que o Select 3.
Questão:
Em que tipo de algoritmos devo procurar essa tarefa? Parece haver várias opções, incluindo abordagens baseadas em vizinhos mais próximas, baseadas em cluster e estatísticas. Além disso, tenho problemas para encontrar trabalhos que lidam com a detecção de anomalias dessa complexidade.
Qualquer conselho é altamente apreciado.
[Editar] Exemplo:
Suponha que os dados consistam na altura de uma pessoa, peso de uma pessoa e registro de data e hora - portanto, são dados 3D. O peso e a altura estão correlacionados, mas o registro de data e hora é completamente independente. Se eu considerar apenas as distâncias euclidianas, teria que escolher um pequeno limite para ajustar a maioria dos meus dados de validação cruzada. Idealmente, o algoritmo ignoraria apenas a dimensão do registro de data e hora, porque é irrelevante determinar se um registro é plausível, porque o registro de data e hora não se correlaciona com as outras dimensões de nenhuma maneira. Qualquer registro de data e hora é plausível.
Por outro lado, pode-se criar exemplos em que o carimbo de data / hora é importante. Por exemplo, pode ser que o valor Y para o recurso X seja plausível quando medido antes de uma certa data, mas não após uma determinada data.
Respostas:
Uma formulação típica de Detecção de anomalias é para encontrar a média e variância para cada um de apresenta de dados não anómalas e se x é um vector de essas características que têm componentes x i , em seguida, definir a probabilidade p ( x ) de uma combinação de características tãom x xEu p ( x )
Mas, para calcular F1, você precisa saber o que é anômalo e o que não é; que são verdadeiros positivos são quando o sistema prevê uma anomalia e na verdade é uma anomalia, falsos positivos são anomalias previstas que realmente não são e assim por diante. Portanto, a menos que você tenha isso, poderá ter que recorrer a suposições.
O problema dos recursos correlatos
O mesmo vale para encontrar e essa abordagem também tem uma desvantagem: você deve calcular o inverso de . Portanto, deve haver pelo menos tantas amostras quanto os recursos e, se o número de recursos for grande, o processo será intensivo em termos de computação e você deverá proteger os recursos dependentes linearmente. Lembre-se dessas advertências, mas parece que você não é um problema.Σϵ Σ
fonte
Quase terminei o projeto em que precisava resolver esses problemas e gostaria de compartilhar minha solução, caso alguém tenha os mesmos problemas.
Primeiro de tudo, a abordagem que descrevi é muito semelhante a uma Estimativa de densidade do kernel . Então, isso era bom saber para a pesquisa ...
Recursos independentes
Esteja avisado: o coeficiente de correlação só pode medir correlações lineares. Veja a página wiki vinculada para detalhes. Se a correlação nos dados puder ser aproximada linearmente, isso funcionará bem. Caso contrário, você deve dar uma olhada na última página deste documento e ver se pode usar a medida de correlação deles para obter um fator de escala.
Valores discretos
Eu usei o algoritmo descrito apenas para valores contínuos. Valores discretos foram usados para filtrar o conjunto de treinamento. Portanto, se eu tenho a altura e o peso de uma pessoa e sei que ela é mulher, apenas examinarei amostras de outras mulheres para verificar se há uma anomalia.
fonte