Détection d'anomalies avec des fonctions factices (et d'autres fonctions discrètes / catégorielles)


18

tl; dr

  • Quelle est la méthode recommandée pour traiter les discretedonnées lors de la détection d'anomalies?
  • Quelle est la méthode recommandée pour traiter les categoricaldonnées lors de la détection d'anomalies?
  • Cette réponse suggère d'utiliser des données discrètes pour filtrer simplement les résultats.
  • Peut-être remplacer la valeur de la catégorie par la chance d'observation de l'observation?

Intro

C'est ma première publication ici, donc s'il vous plaît, si quelque chose ne semble pas techniquement correct, que ce soit dans le formatage ou l'utilisation de définitions correctes, je suis intéressé de savoir ce qui aurait dû être utilisé à la place.

À partir de.

J'ai récemment participé au cours de Machine Learning d'Andrew Ng

Pour la détection des anomalies, nous avons appris à déterminer quels sont les paramètres de distribution normale / gaussienne pour une caractéristique / variable donnée, dans un ensemble de données, puis à déterminer la probabilité d'un ensemble choisi d'exemples d'apprentissage / de valeur d'observation étant donné que distribution gaussienne particulière, puis en prenant le produit des probabilités des caractéristiques.xi

Méthode

Choisissez caractéristiques / variables qui, selon nous, expliquent l'activité en question: xi

{x1,x2,,xi}

Ajustez les paramètres de la gaussienne pour chaque :

μj=1mi=1mxj(i)
σ2=1mi=1m(xj(i)μj)2

Pour chaque exemple de formation, , calculez: x

p(x)=j=1n p(xj;μj,σj2)

Nous signalons ensuite comme une anomalie ( ), étant donné: y=1

y={1p(x)<ϵ0p(x)ϵ

Cela nous donne la méthode pour déterminer si un exemple nécessite une inspection plus approfondie.

Mes questions)

Cela semble correct pour les variables / caractéristiques continues, mais les données discrètes ne sont pas traitées.

Qu'en est-il des variables factices, par exemple une fonction de drapeau de genre, éventuellement appelée [IsMale]qui peut avoir la valeur ? Pour prendre en compte une fonction factice, utiliserions-nous plutôt la distribution binomiale pour calculer ?0,1p(x)

Qu'en est-il des données catégorielles telles que la couleur de la voiture? Bien que nous puissions mapper les couleurs à des valeurs numériques, par exemple , la distribution d'une telle caractéristique catégorielle pourrait être proche de l'uniforme (c.-à-d. La chance tout aussi probable d'être l'une des couleurs), et plus encore, comme tout le mappage numérique qui se produit (c.-à-d. le ayant la valeur , etc.) n'est pas ordinale, est-il sensé d'essayer de transformer toute distribution non normale de fréquences pour que les couleurs soient normalement distribuées (est-il même important que ce ne soit pas ordinal? ?)? Par exemple, pour moi, cela n'aurait aucun sens de faire une transformation car les données ne sont ni continues ni ordinales. Alors peut-être serait-il préférable de trouver une distribution discrètered1,blue2red1log() qui correspond à la fonctionnalité, par opposition à "torturer" les données pour s'adapter à la gaussienne?

Questions: (mis à jour: 2015-11-24)

  • Les variables binaires peuvent-elles être modélisées avec une distribution de probabilité binomiale et devenir un autre facteur dans le calcul de ?p(x)
  • Les variables catégorielles devraient-elles être modélisées avec une distribution de probabilité discrète au lieu d'une gaussienne et devenir un autre facteur dans le calcul de ?p(x)
  • Existe-t-il une autre méthode qui prend en compte ce que je demande ici et que je peux approfondir / approfondir?
  • Quelle est la méthode recommandée pour traiter les discretedonnées lors de la détection d'anomalies?
  • Quelle est la méthode recommandée pour traiter les categoricaldonnées lors de la détection d'anomalies?

Modifier: 2017-05-03

  • Cette réponse suggère d'utiliser des données discrètes pour filtrer simplement les résultats.
  • Peut-être remplacer la valeur de la catégorie par la chance d'observation de l'observation?

<disclaimer> Je suis quelqu'un avec juste assez de statistiques pour être dangereux. </disclaimer> Alors, devenons dangereux .... Mon intuition est d'accord avec la vôtre que le gaussien n'est pas le moyen de gérer les données non continues. Pour les données continues, une valeur sur la ligne numérique a une relation avec toutes les autres valeurs différente de celle d'un nombre sur une ligne entière ou une variable binaire. Les distributions binomiales décrivent des variables binaires. Les distributions multinomiales décrivent des variables multinomiales. N'est-ce pas tous des membres de la famille exponentiels?
EngrStudent


Un autre qui peut ajouter à toute discussion: Sujet: valeurs aberrantes catégoriques?
Adrian Torrie

p ? p(x;μ,σ2)=1σ2πe(xμ)22σ2
Alessandro Jacopson

@uvts_cvs oui c'est la fonction de densité de probabilité du gaussien qui est utilisée.
Adrian Torrie

Réponses:


4

En général, pour les caractéristiques discrètes * et catégorielles, cette méthode ne se prête pas particulièrement à l'analyse des valeurs aberrantes. Puisqu'il n'y a pas d'amplitude associée aux prédicteurs catégoriels, nous travaillons avec:

  • Fréquence de la catégorie observée dans les données globales
  • Fréquence de la catégorie observée dans les sous-espaces des données

Notez qu'aucune de ces qualités ne peut être analysée isolément, comme l'exige votre méthode gaussienne. Au lieu de cela, nous avons besoin d'une méthode qui contextualise les caractéristiques catégorielles et tient compte de la nature corrélationnelle des données.

Voici quelques techniques pour les données d'attributs catégoriques et mixtes, basées sur l' analyse des valeurs aberrantes par Aggarwal:

  • SS=Qkλk2QkTQkE=QkλkE
  • Si vous avez des caractéristiques purement catégorielles, ajustez un modèle de mélange aux données catégorielles brutes. Les points anormaux ont la plus faible probabilité générative.
  • Utilisez le codage à chaud pour les prédicteurs catégoriels et éventuellement l' analyse des variables latentes ** pour les variables ordinales avec des mappages continus non apparents
    • Standardisez les fonctionnalités non-one-hot (les fonctionnalités one-hot sont déjà implicitement standardisées) et effectuez l' analyse des composants principaux . Effectuer une réduction de dimensionnalité en utilisant les principaux composants principaux (ou une approche PCA souple où les vecteurs propres sont pondérés par des valeurs propres) et exécuter une méthode d'analyse de valeurs aberrantes continue typique (par exemple, un modèle de mélange ou votre méthode gaussienne)
    • Effectuez une analyse basée sur l'angle. Pour chaque observation, calculez les similitudes de cosinus entre toutes les paires de points. Les observations présentant la plus petite variance de ces similitudes (connues sous le nom de «facteur aberrant basé sur l'angle») sont très probablement des valeurs aberrantes. Peut nécessiter une analyse finale de la distribution empirique de l'ABOF pour déterminer ce qui est anormal.
    • Si vous avez étiqueté des valeurs aberrantes: ajustez un modèle prédictif aux données techniques (régression logistique, SVM, etc.).

* Les fonctionnalités discrètes pourraient éventuellement être gérées approximativement dans votre méthode gaussienne. Dans les bonnes conditions, une caractéristique peut être bien approximée par une distribution normale (par exemple, variable aléatoire binomiale avec npq> 3). Sinon, manipulez-les comme des ordinaux décrits ci-dessus.

** Ceci est similaire à votre idée de "remplacer la valeur de la catégorie par le pourcentage de chance d'observation"


K=1

@Akababa Vous pouvez, par exemple, calculer des MLE sur des paramètres multinomiaux en utilisant l'algorithme EM. En supposant l'indépendance des VR multinomiaux, cette approche se généralise à des ensembles de prédicteurs catégoriels arbitraires. Exemple ici
khol

0

Les mathématiques de la classe Andrew Ng traitent les données "discrètes" tout comme elles traitent les données "non discrètes". Tout ce que nous avons à faire est d'estimer empiriquement les paramètres de distribution normaux, et cela peut être parfaitement fait pour des données discrètes.

Si vous y réfléchissez, le machine learning traite toujours des données discrètes de toute façon: le nombre de points de données n'est pas infini et le nombre de bits traités par les ordinateurs n'est pas infini.

Si des points de données discrets peuvent être comparés entre eux, il n'y a pas de différence fondamentale pour les méthodes d'apprentissage automatique lorsqu'il s'agit, par exemple, de longueur: 1,15 pied 1,34 pied 3,4 pied

ou combien de branches sont sur l'arbre: 1 2 3 5

Vous pouvez additionner et faire la moyenne des nombres à virgule flottante ou des nombres entiers de la même façon.

Passons maintenant aux données catégoriques. Les points de données catégoriques ne peuvent pas être comparés {voiture vs moto vs bateau). Comment allons-nous gérer ceci?

Le nombre de catégories doit être d'au moins deux pour avoir du sens, sinon quel est le point en constante caractéristique? Dans le cas de 2 catégories, nous pouvons représenter une entité de catégorie comme une entité binaire {0, 1}. 0 et 1 peuvent être utilisés pour les mathématiques, donc voir ci-dessus.

Si le nombre de catégories (K) est [3 .. inf], nous mappons notre fonction unique à K fonctions binaires mutuellement exclusives. Par exemple, la catégorie "moto" devient une combinaison de fonctionnalités binaires {IsCar: 0, IsMot Motorcycle: 1, IsBoat: 0}, le point Boat devient {IsCar: 0, IsMot Motorcycle: 0, IsBoat: 1} et ainsi de suite.

Nous pouvons estimer les paramètres de distribution empiriques à partir de ces nouvelles fonctionnalités. Nous aurons simplement plus de dimensions, c'est tout.


1
Cela explique le codage factice, mais ce n'est pas une réponse à la question
Pieter
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.