Comment calculer la corrélation polychorique dans R
La corrélation polychorique est utilisée pour calculer la corrélation entre les variables ordinales.
Rappelons que les variables ordinales sont des variables dont les valeurs possibles sont catégoriques et ont un ordre naturel.
Voici quelques exemples de variables mesurées sur une échelle ordinale :
- Satisfaction : Très insatisfait, insatisfait, neutre, satisfait, très satisfait
- Niveau de revenu : Revenu faible, revenu moyen, revenu élevé
- Statut du lieu de travail : Analyste d’entrée, Analyste I, Analyste II, Analyste principal
- Degré de douleur : Faible quantité, quantité moyenne, quantité élevée
La valeur de la corrélation polychorique varie de -1 à 1 où :
- -1 indique une corrélation négative parfaite
- 0 indique aucune corrélation
- 1 indique une corrélation positive parfaite
Nous pouvons utiliser la fonction polychor(x, y) du package polycor pour calculer la corrélation polychorique entre deux variables ordinales dans R.
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : Calculer la corrélation polychorique pour les classements de films
Supposons que vous vouliez savoir si deux agences de classification de films différentes ont une forte corrélation entre leurs classifications de films.
Nous demandons à chaque agence de noter 20 films différents sur une échelle de 1 à 3 où :
- 1 indique « mauvais »
- 2 indique « médiocre »
- 3 indique « bon »
On peut utiliser le code suivant dans R pour calculer la corrélation polychorique entre les notes des deux agences :
library(polycor) #define movie ratings for each agency agency1 <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2) agency2 <- c(1, 1, 2, 1, 3, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 1, 3, 3) #calculate polychoric correlation between ratings polychor(agency1, agency2) [1] 0.7828328
La corrélation polychorique s’avère être de 0,78 .
Cette valeur est assez élevée, ce qui indique qu’il existe une forte association positive entre les notes de chaque agence.
Exemple 2 : Calculer la corrélation polychorique pour les évaluations de restaurants
Supposons que vous vouliez savoir si deux restaurants de quartier différents ont une corrélation entre les évaluations de leurs restaurants par les clients.
Nous interrogeons au hasard 20 clients ayant mangé dans les deux restaurants et leur demandons d’évaluer leur satisfaction globale sur une échelle de 1 à 5 où :
- 1 indique « très insatisfait »
- 2 indique « insatisfait »
- 3 indique « neutre »
- 4 indique « satisfait »
- 5 indique « très satisfait »
On peut utiliser le code suivant dans R pour calculer la corrélation polychorique entre les notes des deux restaurants :
library(polycor) #define ratings for each restaurant restaurant1 <- c(1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 4, 4, 5, 5, 4, 3, 4, 5, 5) restaurant2 <- c(4, 3, 3, 4, 3, 3, 4, 5, 4, 4, 4, 5, 5, 4, 2, 1, 1, 2, 1, 4) #calculate polychoric correlation between ratings polychor(restaurant1, restaurant2) [1] -0.1322774
La corrélation polychorique s’avère être de -0,13 .
Cette valeur est proche de zéro, ce qui indique qu’il y a très peu (voire aucune) association entre les notes des restaurants.
Ressources additionnelles
Les didacticiels suivants expliquent comment calculer d’autres coefficients de corrélation courants dans R :
Comment calculer la corrélation de rang de Spearman dans R
Comment calculer la corrélation point-bisériale dans R
Comment calculer la corrélation croisée dans R
Comment calculer la corrélation glissante dans R
Comment calculer la corrélation partielle dans R