Comment calculer la distance de Mahalanobis en R



La distance de Mahalanobis est la distance entre deux points dans un espace multivarié.

Il est souvent utilisé pour détecter des valeurs aberrantes dans des analyses statistiques impliquant plusieurs variables.

Ce tutoriel explique comment calculer la distance de Mahalanobis en R.

Exemple : Distance de Mahalanobis en R

Utilisez les étapes suivantes pour calculer la distance de Mahalanobis pour chaque observation dans un ensemble de données dans R.

Étape 1 : Créez l’ensemble de données.

Tout d’abord, nous allons créer un ensemble de données qui affiche les résultats à l’examen de 20 étudiants, ainsi que le nombre d’heures qu’ils ont passées à étudier, le nombre d’examens préparatoires qu’ils ont passés et leur note actuelle dans le cours :

#create data
df = data.frame(score = c(91, 93, 72, 87, 86, 73, 68, 87, 78, 99, 95, 76, 84, 96, 76, 80, 83, 84, 73, 74),
        hours = c(16, 6, 3, 1, 2, 3, 2, 5, 2, 5, 2, 3, 4, 3, 3, 3, 4, 3, 4, 4),
        prep = c(3, 4, 0, 3, 4, 0, 1, 2, 1, 2, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2),
        grade = c(70, 88, 80, 83, 88, 84, 78, 94, 90, 93, 89, 82, 95, 94, 81, 93, 93, 90, 89, 89))

#view first six rows of data
head(df)

  score hours prep grade
1    91    16    3    70
2    93     6    4    88
3    72     3    0    80
4    87     1    3    83
5    86     2    4    88
6    73     3    0    84

Étape 2 : Calculez la distance de Mahalanobis pour chaque observation.

Ensuite, nous utiliserons la fonction mahalanobis() intégrée dans R pour calculer la distance de Mahalanobis pour chaque observation, qui utilise la syntaxe suivante :

mahalanobis (x, centre, cov)

où:

  • x : matrice de données
  • centre : vecteur moyen de la distribution
  • cov : matrice de covariance de la distribution

Le code suivant montre comment implémenter cette fonction pour notre ensemble de données :

#calculate Mahalanobis distance for each observation
mahalanobis(df, colMeans(df), cov(df))

 [1] 16.5019630  2.6392864  4.8507973  5.2012612  3.8287341  4.0905633
 [7]  4.2836303  2.4198736  1.6519576  5.6578253  3.9658770  2.9350178
[13]  2.8102109  4.3682945  1.5610165  1.4595069  2.0245748  0.7502536
[19]  2.7351292  2.2642268

Étape 3 : Calculez la valeur p pour chaque distance de Mahalanobis.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *