[PYTHON] Détection de valeur anormale par apprentissage non supervisé: distance de Maharanobis (théorie)

J'expliquerai la détection de valeur anormale basée sur la distance de Maharanobis </ b>. Cliquez ici pour l'implémentation

Il s'agit d'une méthode d'apprentissage du modèle de données par apprentissage non supervisé et de détection de données qui s'écartent considérablement de ces données en tant que valeur anormale. La distance de Maharanobis est l'une des méthodes utilisées dans les statistiques pour exprimer la distance. Il existe une distance euclidienne </ b> comme méthode pour exprimer des distances similaires.

la revue

Tout d'abord, je voudrais expliquer la distance euclidienne et la revoir. La distance euclidienne est une technique pour exprimer des distances dites «générales». Vous savez que le théorème de Pitagolas l'exige. Si vous pensez brièvement dans un plan bidimensionnel,

{ \displaystyle
p = (p_1,p_2)
}

et,

{ \displaystyle
q = (q_1,q_2)
}

Quand, leur distance est

{ \displaystyle
d(p,q) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2}
}

On vous le demandera. Il s'agit d'une méthode générale de calcul de distance.

Distance de Maharanobis

La distance de Maharanobis est l'une des méthodes utilisées dans les statistiques pour exprimer la distance, comme expliqué précédemment. Quant à son utilisation, elle est souvent utilisée lorsque les données multidimensionnelles ont une corrélation </ b>.

En supposant que les données sont un vecteur continu à n dimensions, la chaîne de données obtenue est

 x^m = x_1,x_2,…x_m

(Considérez-les comme un ensemble de vecteurs)

La i-ème donnée est

{ 
  x_i = \left(
    \begin{array}{c}
      x_i,_1 \\
      x_i,_2 \\
      \vdots \\
      x_i,_n
    \end{array}
  \right)
}

Lors de l'écriture, le vecteur de valeur moyenne

μ

, Matrice co-distribuée distribuée

\sum_{}

Est calculé comme suit.

Vecteur de valeur moyenne

{ 
  μ = \frac{1}{m} \sum_{i=1}^m x_i
}

Matrice co-distribuée distribuée

\sum_{} = \frac{1}{m}\sum_{i=1}^m (x_i - μ)(x_i - μ)^{\mathrm{T}}

Par conséquent, avec θ comme paramètre de seuil, pour les nouvelles données x,

  θ < \sqrt{(x_i - μ) ^{\mathrm{T}}\sum{}^{-1} (x_i - μ) }

Si est satisfait, x est considéré comme une valeur anormale. Le côté droit de cette équation est appelé la distance Maharanobis.

Plus Mahara Nobis Distance

ici,

\sum_{}

Quand est une matrice unitaire, le carré de la distance euclidienne est obtenu. Lorsqu'il s'agit d'une matrice diagonale </ b>, l'échelle de chaque dimension est différente. S'il s'agit d'une matrice hors diagonale </ b>, elle subira une rotation supplémentaire.

Ci-dessous, une image de détection des valeurs aberrantes basée sur la distance de Maharanobis sur un vecteur bidimensionnel. 20150704155700.png

En effet, les points tracés sont des points de données et une ellipse est affichée de manière à couvrir les points de données.

Les points non inclus dans cette ellipse sont des valeurs aberrantes. Par conséquent, le seuil θ indique la taille de cette ellipse, et le rapport des valeurs aberrantes change en fonction de la quantité autorisée.

Différence entre la distance euclidienne et la distance de Maharanobis

20150704160419.png

Il est facile de voir ce chiffre. La différence entre la distance euclidienne et la distance de Maharanobis réside dans la prise en compte ou non de la corrélation des données multidimensionnelles lors de la définition de la distance. Dans la distance Maharanobis, la direction de la distance avec une forte corrélation est l'idée qu'elle est relativement plus courte que la distance réelle. Dans le cas de la distance euclidienne, la distance est la même sur les axes x et y. Cependant, la distance de Maharanobis est définie par la dispersion à la fois sur l'axe des x et sur l'axe des y. En d'autres termes, si la dispersion est grande, on peut interpréter que la distance à l'origine n'est pas si loin </ b>. Si la dispersion est faible, la distance par rapport à l'origine est grande </ b>.

Un peu plus de détails Mahara Nobis Distance

20150704160726.png

Dans cette figure, plusieurs ellipses sont dessinées à partir de l'origine. La taille de cette ellipse indique la taille du seuil des valeurs aberrantes. Plus le seuil est grand, plus l'ellipse est grande et plus la proportion de valeurs aberrantes est petite.

J'ai parlé de la forme de l'ellipse déterminée par la dispersion, mais vous pouvez interpréter cette figure comme une image comme les courbes de niveau d'une montagne. La ligne de contour entoure la partie montagne à la même hauteur. La distance Maharanobis est la même. Si vous interprétez que la valeur du seuil est dans la plage entourée par la même ellipse sans considérer le concept d'axe, je pense que vous pouvez comprendre comment le cercle est déformé.

Problèmes de distance de Maharanobis

Dans la méthode de détection des valeurs aberrantes par la distance de Maharanobis, le concept de valeurs aberrantes est formulé à travers des concepts de base tels que le vecteur moyen et la fraction. Cependant, étant donné que la valeur moyenne elle-même est fortement affectée par la valeur anormale, une méthode de détection de la valeur anormale utilisant le concept de valeur médiane a également été proposée. (Omis ici)

Aussi, personnellement important, la méthode de calcul de distance utilisant cette distance Maharanobis ne peut pas utiliser des données avec uniquement la valeur booléenne. </ b> (La méthode consiste à soustraire la valeur logique de 1 ou 0 de la valeur moyenne de 1 ou 0, alors pensez à ce qui va se passer ...)

Résumé

  • La distance Maharanobis est une généralisation de la distance.
  • La distance Maharanobis est une distance qui considère la corrélation dans chaque dimension.

La prochaine fois, j'effectuerai Implementation avec python car il s'agit d'une édition d'implémentation.