21 votos

Detección de anomalías con rasgos ficticios (y otros rasgos discretos/categoriales)

Resumiendo

  • ¿Cuál es la forma recomendada de tratar discrete datos al realizar la detección de anomalías?
  • ¿Cuál es la forma recomendada de tratar categorical datos al realizar la detección de anomalías?
  • Esta respuesta sugiere utilizar datos discretos para filtrar únicamente los resultados.
  • ¿Quizás sustituir el valor de la categoría por el porcentaje de probabilidad de observación?

Introducción

Es la primera vez que escribo aquí, así que, por favor, si algo no parece técnicamente correcto, ya sea en el formato o en el uso de definiciones correctas, me interesa saber qué debería haberse utilizado en su lugar.

Adelante.

Recientemente he participado en el Aprendizaje automático clase de Andrew Ng

Para la detección de anomalías se nos ha enseñado a determinar cuáles son los parámetros de distribución Normal/Gaussiana para una característica/variable dada, ${x_i}$ dentro de un conjunto de datos, y luego determinar la probabilidad del valor de un conjunto elegido de ejemplos/observaciones de entrenamiento dada esa distribución gaussiana particular, y luego tomar el producto de las probabilidades de las características.

Método

Elija $x_i$ características/variables que creemos que explican la actividad en cuestión: $$\{x_1, x_2,\dots,x_i\}$$

Ajuste los parámetros de la gaussiana para cada característica: $$\mu_j = \frac{1}{m}\sum_{i = 1}^m x_j^{(i)}$$ $$\sigma^2 = \frac{1}{m}\sum_{i = 1}^m (x_j^{(i)} - \mu_j)^2$$

Para cada ejemplo de entrenamiento, $x$ computa: $$p(x) = \prod_{j = 1}^n \ p(x_j; \mu_j, \sigma_j^2)$$

A continuación, marcamos como anomalía ( $y = 1$ ), dado: $$y = \left\{ \begin{array}{l l} 1 & \quad p(x) < \epsilon\\ 0 & \quad p(x) \geq \epsilon \end{array} \right.$$

Esto nos da el método con el que determinar si un ejemplo requiere más inspección.

Mi(s) pregunta(s)

Esto parece correcto para variables/características continuas, pero no se abordan los datos discretos.

¿Qué pasa con las variables ficticias, por ejemplo, una característica de bandera de género, posiblemente llamada [IsMale] que puede ser del valor $0, 1$ ? Para tener en cuenta una característica ficticia, ¿utilizaríamos la función distribución binomial para calcular $p(x)$ ?

¿Qué ocurre con los datos categóricos, como el color de un coche? Aunque podríamos asignar colores a valores numéricos, por ejemplo $red \to 1, blue \to 2$ la distribución de esta característica categórica podría ser casi uniforme (es decir, con la misma probabilidad de ser cualquiera de los colores) y, además, como cualquier asignación numérica que se produzca (es decir. $red$ que tiene el valor $1$ etc.) no es ordinal, ¿tiene sentido intentar transformar cualquier distribución no normal de frecuencias para que los colores se distribuyan normalmente (¿importa siquiera que no sea ordinal?)? Por ejemplo, para mí, no tendría sentido hacer un $log()$ ya que los datos no son ni continuos ni ordinales. Así que quizás lo mejor sería encontrar una distribución discreta que se ajuste a la característica, en lugar de "torturar" los datos para que se ajusten a la gaussiana?

Preguntas: (actualizado: 2015-11-24)

  • ¿Pueden modelizarse las variables binarias con una distribución de probabilidad binomial y convertirse en un factor más de la $p(x)$ ¿Cálculo?
  • En caso de que las variables categóricas deban modelarse con una distribución de probabilidad discreta en lugar de una gaussiana, y se conviertan en otro factor en la $p(x)$ ¿Cálculo?
  • ¿Existe algún otro método que tenga en cuenta lo que estoy preguntando y sobre el que pueda seguir investigando/aprendiendo?
  • ¿Cuál es la forma recomendada de tratar discrete datos al realizar la detección de anomalías?
  • ¿Cuál es la forma recomendada de tratar categorical datos al realizar la detección de anomalías?

Edición: 2017-05-03

  • Esta respuesta sugiere utilizar datos discretos para filtrar únicamente los resultados.
  • ¿Quizás sustituir el valor de la categoría por el porcentaje de probabilidad de observación?

6voto

Devin Crossman Puntos 146

En general, tanto para características discretas* como categóricas, este método no se presta especialmente al análisis de valores atípicos. Puesto que no hay magnitud asociada a los predictores categóricos, estamos trabajando con:

  • Frecuencia de la categoría observada en los datos globales
  • Frecuencia de la categoría observada en los subespacios de datos

Tenga en cuenta que ninguna de estas cualidades puede analizarse de forma aislada, como exige su método gaussiano. En su lugar, necesitamos un método que contextualice las características categóricas y tenga en cuenta la naturaleza correlacional de los datos.

He aquí algunas técnicas para datos categóricos y de atributos mixtos, basadas en Análisis de valores atípicos por Aggarwal:

  • Si puede definir una función de similitud que construya una matriz semidefinida positiva en todas las observaciones (independientemente de los tipos de datos), calcule la matriz de similitud $S$ hallar su diagonalización $S=Q_k\lambda_k^2Q_k^T$ y utilizar los vectores propios no nulos $Q_k$ para calcular una incrustación de características $E = Q_k\lambda_k$ . Para cada fila (observación) de $E$ Esta es la puntuación de los valores atípicos, y se pueden utilizar métodos univariantes para determinar los valores atípicos.
  • Si tiene características puramente categóricas, ajuste un modelo mixto a los datos categóricos brutos. Los puntos anómalos tienen la probabilidad generativa más baja.
  • Utilice codificación de una sola vez para predictores categóricos y opcionalmente análisis de variables latentes ** para variables ordinales con correspondencias continuas no aparentes
    • Normalizar los rasgos no unidireccionales (los rasgos unidireccionales ya están implícitamente normalizados) y realizar Análisis de componentes principales . Reduzca la dimensionalidad utilizando los componentes principales superiores (o un enfoque PCA suave en el que los vectores propios se ponderen por los valores propios) y ejecute un método típico de análisis de valores atípicos continuos (por ejemplo, un modelo de mezcla o su método gaussiano).
    • Realizar un análisis basado en el ángulo. Para cada observación, calcule las similitudes del coseno entre todos los pares de puntos. Las observaciones con la menor varianza de estas similitudes (conocidas como "Factor de valores atípicos basado en el ángulo") son probablemente valores atípicos. Puede requerir un análisis final de la distribución empírica de ABOF para determinar qué es anómalo.
    • Si ha etiquetado valores atípicos: Ajuste un modelo predictivo a los datos obtenidos (regresión logística, SVM, etc.).

*Las características discretas podrían tratarse de forma aproximada en su método gaussiano. En las condiciones adecuadas, una característica puede ser bien aproximada por una distribución normal (por ejemplo, variable aleatoria binomial con npq > 3). Si no es así, manéjelas como los ordinales descritos anteriormente.

**Esto es similar a tu idea de "sustituir el valor de la categoría por el porcentaje de probabilidad de observación"

0voto

Mic Puntos 39

Las matemáticas de la clase Andrew Ng manejan los datos "discretos" igual que los "no discretos". Todo lo que tenemos que hacer es estimar empíricamente los parámetros de la distribución normal, y se puede hacer perfectamente para datos discretos.

Si lo piensas bien, el aprendizaje automático siempre trata con datos discretos: el número de puntos de datos no es infinito y el número de bits que manejan los ordenadores no es infinito.

Si los puntos de datos discretos pueden compararse entre sí, entonces no hay ninguna diferencia fundamental para los métodos de aprendizaje automático cuando se trata, por ejemplo, de la longitud: 1,15 pies 1,34 pies 3,4 pies

o cuántas ramas tiene el árbol: 1 2 3 5

Puede sumar y promediar números enteros o de coma flotante de la misma manera.

Pasemos ahora a los datos categóricos. Los puntos de datos categóricos no se pueden comparar {coche frente a motocicleta frente a barco). ¿Cómo manejamos esto?

El número de categorías tiene que ser al menos dos para que tenga sentido, de lo contrario, ¿qué sentido tiene la función constante? En el caso de 2 categorías, podemos representar una característica de categoría como una característica binaria {0, 1}. 0 y 1 se pueden utilizar para las matemáticas, así que véase más arriba.

Si el número de categorías (K) es [3 inf], asignamos nuestra única característica a K características binarias mutuamente excluyentes. Por ejemplo, la categoría "motocicleta" se convierte en una combinación de características binarias { IsCar: 0, IsMotorcycle: 1, IsBoat: 0}, Boat point se convierte en { IsCar: 0, IsMotorcycle: 0, IsBoat: 1} y así sucesivamente.

Podemos estimar los parámetros de distribución empírica a partir de estas nuevas características. Simplemente tendremos más dimensiones, eso es todo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X