tl; dr
- Qual é a maneira recomendada de lidar com
discrete
dados ao realizar a detecção de anomalias? - Qual é a maneira recomendada de lidar com
categorical
dados ao realizar a detecção de anomalias? - Esta resposta sugere o uso de dados discretos para filtrar apenas os resultados.
- Talvez substitua o valor da categoria pela chance de observação da observação?
Introdução
Esta é a primeira vez que publico aqui, por isso, se algo não parecer tecnicamente correto, seja na formatação ou no uso de definições corretas, estou interessado em saber o que deveria ter sido usado.
Em diante.
Participei recentemente da aula de Machine Learning de Andrew Ng
Para detecção de anomalias, fomos ensinados a determinar quais são os parâmetros de distribuição Normal / Gaussiano para um determinado recurso / variável, dentro de um conjunto de dados e, em seguida, determinar a probabilidade de um conjunto escolhido de exemplos de treinamento / valor da observação, considerando que distribuição gaussiana específica e, em seguida, obtendo o produto das probabilidades dos recursos.
Método
Escolha características / variáveis que pensamos explicar a atividade em questão: { x 1 , x 2 , … , x i }
Ajuste os parâmetros do gaussiano para cada recurso: σ2=1
Para cada exemplo de treinamento, , calcule: p ( x ) = n ∏ j = 1 p ( x j ; μ j , σ 2 j )
Em seguida, sinalizamos como uma anomalia ( ), dada: y = { 1
Isso nos fornece o método com o qual determinar se um exemplo requer inspeção adicional.
Minhas perguntas)
Isso parece bom para variáveis / recursos contínuos, mas dados discretos não são abordados.
E as variáveis fictícias, por exemplo, um recurso de sinalizador de gênero, possivelmente chamado [IsMale]
que pode ter o valor ? Para levar em consideração um recurso fictício, usaríamos a distribuição binomial para calcular ?p ( x )
E os dados categóricos, como a cor do carro? Embora possamos mapear as cores para valores numéricos, por exemplo, , a distribuição de um recurso categórico pode ser quase uniforme (ou seja, chance igualmente provável de ser uma das cores) e, além disso, como O mapeamento numérico que ocorre (por exemplo, com o valor , etc.) não é ordinal, faz sentido tentar transformar qualquer distribuição não normal de frequências para que as cores sejam distribuídas normalmente (isso importa mesmo que não seja ordinal? ?)? Por exemplo, para mim, não faria sentido fazer uma transformação porque os dados não são contínuos nem ordinais. Então talvez seja melhor encontrar uma distribuição discreta isso se encaixa no recurso, em vez de "torturar" os dados para se ajustar ao gaussiano?
Perguntas: (atualizado: 24-11-2015)
As variáveis binárias podem ser modeladas com uma distribuição de probabilidade binomial e se tornar outro fator no cálculo de ?As variáveis categóricas devem ser modeladas com uma distribuição de probabilidade discreta em vez de uma gaussiana e se tornar outro fator no cálculo de ?Existe outro método que leva em consideração o que estou perguntando aqui e que posso pesquisar / aprender mais?- Qual é a maneira recomendada de lidar com
discrete
dados ao realizar a detecção de anomalias? - Qual é a maneira recomendada de lidar com
categorical
dados ao realizar a detecção de anomalias?
Edit: 2017-05-03
- Esta resposta sugere o uso de dados discretos para filtrar apenas os resultados.
- Talvez substitua o valor da categoria pela chance de observação da observação?
fonte
Respostas:
Em geral, para os recursos discretos * e categóricos, esse método não é particularmente passível de análise externa. Como não há magnitude associada aos preditores categóricos, estamos trabalhando com:
Observe que nenhuma dessas qualidades pode ser analisada isoladamente, como exige seu método gaussiano. Em vez disso, precisamos de um método que contextualize os recursos categóricos e considere a natureza correlacional dos dados.
Aqui estão algumas técnicas para dados de atributos categóricos e mistos, com base na Análise Outlier da Aggarwal:
* Recursos discretos podem ser tratados aproximadamente no seu método gaussiano. Sob as condições corretas, um recurso pode ser bem aproximado por uma distribuição normal (por exemplo, variável aleatória binomial com npq> 3). Caso contrário, trate-os como ordinais descritos acima.
** Isso é semelhante à sua ideia de "substituir o valor da categoria pela porcentagem de chance de observação"
fonte
A matemática da classe Andrew Ng lida com dados "discretos", da mesma forma que lida com dados "não discretos". Tudo o que precisamos fazer é estimar empiricamente os parâmetros normais de distribuição e isso pode ser feito perfeitamente para dados discretos.
Se você pensar bem, o aprendizado de máquina sempre lida com dados discretos de qualquer maneira: o número de pontos de dados não é infinito e o número de bits manipulados pelos computadores não é infinito.
Se pontos de dados discretos puderem ser comparados entre si, não haverá diferença fundamental para os métodos de aprendizado de máquina ao lidar com, digamos, comprimento: 1,15 pés 1,34 pés 3,4 pés
ou quantos galhos estão na árvore: 1 2 3 5
Você pode somar e calcular o ponto flutuante médio ou números inteiros da mesma forma.
Agora, para dados categóricos. Os pontos de dados categóricos não podem ser comparados (carro x moto x barco). Como nós lidamos com isso?
O número de categorias precisa ser de pelo menos duas para fazer sentido; caso contrário, qual é o objetivo constante? No caso de duas categorias, podemos representar um recurso de categoria como um recurso binário {0, 1}. 0 e 1 podem ser usados para matemática, então veja acima.
Se o número de categorias (K) for [3 .. inf], mapeamos nosso recurso único para K recursos binários mutuamente exclusivos. Por exemplo, a categoria "motocicleta" se torna uma combinação de recursos binários {IsCar: 0, IsMotorcycle: 1, IsBoat: 0}, o ponto do barco se torna {IsCar: 0, IsMotorcycle: 0, IsBoat: 1} e assim por diante.
Podemos estimar parâmetros de distribuição empírica a partir desses novos recursos. Simplesmente teremos mais dimensões, só isso.
fonte