Le Kappa de Cohen (Cohen, 1960) est utilisé pour mesurer la force de l’accord entre deux évaluateurs ou deux méthodes de classification (dans le cas du machine learning par exemple).
Contrairement à une mesure classique de concordance par ratio (pourcentage), le Kappa de Cohen permet de comparer les résultats obtenus aux concordances qu’il serait possible d’observer si celles-ci étaient dues à des jugements hasardeux.
Il existe plusieurs Kappa. Le Kappa pondéré utilisé pour les variables ordinales, le Kappa de Light qui est une moyenne de tous les Kappa de Cohen lorsqu’il y a plus de deux variables catégorielles et le Kappa de Fleiss étant une adaptation du Kappa de Cohen lorsque les évaluateurs sont supérieurs à deux.
Kappa pour deux évaluateurs
Exemple :
Deux paléontologues ont pour mission d’identifier des ossements. Ils ont devant eux 8 jeux d’ossements et doivent indiquer si oui ou non ces ossements appartiennent à l’époque du Néandertal. Les résultats obtenus sont les suivants :
Jeux d’ossements | Paléontologue 1 | Paléontologue 2 |
1 | Oui | Oui |
2 | Oui | Oui |
3 | Non | Non |
4 | Oui | Non |
5 | Non | Oui |
6 | Non | Non |
7 | Oui | Non |
8 | Non | Non |
Nous posons l’hypothèse nulle : La concordance entre les évaluateurs est due au hasard.
Copiez le script suivant dans R : (prérequis : package irr)
#install.packages(« irr »)
library(irr)
# Création des listes de réponses
eval1 = c(‘oui’,’oui’,’non’,’oui’,’non’,’non’,’oui’,’non’)
eval2 = c(‘oui’,’oui’,’non’,’non’,’oui’,’non’,’non’,’non’)
# Création du tableau
tab3 = cbind(eval1, eval2)
# Description (calcul du ratio d’accords)
agree(tab3[,1:2]) #,1:2 signifie que l’on sélectionne les deux colonnes
# Test
kappa2(tab3[,1:2],weight = « unweighted »)
Les résultats obtenus sont les suivants :
%-agree = 62.5 : ratio d’accords
Subjects = 8 : nombre de sujets évalués
Raters = 2 : nombre d’évaluateurs
Kappa = 0.25 : coefficient de Kappa
z = 0.73 : valeur du test statistique
p-value = 0.465 : la p-value du test ou la probabilité de rejeter l’hypothèse nulle alors qu’elle est vraie.
Conclusion :
Une lecture du tableau ci-dessous (Landis et Koch, 1977) permet de qualifier la force du lien existant :
κ | Force de l’accord |
< 0 | Désaccord |
0.0 – 0.20 | Accord très faible |
0.21– 0.40 | Accord faible |
0.41– 0.60 | Accord modéré |
0.61– 0.80 | Accord fort |
0.81– 1.00 | Accord presque parfait |
Le lien obtenu est faible. En outre, la p-value ne nous permet pas de rejeter l’hypothèse nulle. En d’autres termes, nous pouvons prétendre que la différence observée n’est pas due au hasard.
Kappa pondéré pour deux évaluateurs avec données ordinales
Les paléontologues devaient ensuite évaluer l’état des ossements. Pour cela, il leur fallait attribuer pour chaque jeu d’ossements une note allant de 1 : (mauvais état) à 5 : (excellent état)
Voici les résultats :
Jeux d’ossements | Paléontologue 1 | Paléontologue 2 |
1 | 2 | 3 |
2 | 1 | 3 |
3 | 4 | 4 |
4 | 3 | 5 |
5 | 1 | 3 |
6 | 1 | 1 |
7 | 2 | 2 |
8 | 3 | 3 |
Nous posons l’hypothèse nulle : La concordance entre les évaluateurs est due au hasard.
Copiez le script suivant dans R :
# Création des listes de réponses
eval4 = c(2, 1, 4, 3, 1, 1, 2, 3)
eval5 = c(3, 3, 4, 5, 3, 1, 2, 3)
# Création du tableau
tab5 = cbind(eval4, eval5)
# Description (calcul du ratio d’accords)
agree(tab5[,1:2])
# Test
kappa2(tab5[,1:2],weight = « equal »)
Résultats :
%-agree = 50 : notons qu’ici, le degré d’accord non corrigé n’est pas un très bon indicateur. En effet, il ne prend en compte que les accords stricts sur une échelle à plusieurs niveaux.
Subjects = 8
Raters = 2
Kappa = 0.378
z = 2.09
p-value = 0.0366
Conclusion :
Une lecture du tableau (Landis et Koch, 1977) nous enseigne que le lien inter-juges peut être considéré comme faible. Toutefois, cette fois-ci, l’hypothèse nulle peut être rejetée au seuil de .05. Le lien établi, ne semble pas être le fruit du hasard. Nous pouvons donc prétendre que les chercheurs sont d’accord entre eux.
Kappa de Light’s : évaluateurs multiples de plusieurs variables catégorielles
Les premiers résultats de l’évaluation des ossements concernant leur époque d’appartenance n’ayant pas été probants, 3 collègues se joignent à nos 2 paléontologues.
Voici les évaluations totales :
Jeux d’ossements | Palé.1 | Palé.2 | Palé.3 | Palé.4 | Palé.5 |
1 | Oui | Oui | Oui | Oui | Oui |
2 | Oui | Oui | Oui | Non | Oui |
3 | Non | Non | Oui | Non | Non |
4 | Oui | Non | Oui | Oui | Oui |
5 | Non | Oui | Oui | Non | Oui |
6 | Non | Non | Non | Non | Non |
7 | Oui | Non | Oui | Non | Oui |
8 | Non | Non | Non | Oui | Non |
Nous posons l’hypothèse nulle : La concordance entre les évaluateurs est due au hasard.
Copiez le script suivant dans R :
# Création des listes de réponses
eval10 = c(‘oui’,’oui’,’non’,’oui’,’non’,’non’,’oui’,’non’)
eval11 = c(‘oui’,’oui’,’non’,’non’,’oui’,’non’,’non’,’non’)
eval12 = c(‘oui’,’oui’,’oui’,’oui’,’oui’,’non’,’oui’,’non’)
eval13 = c(‘oui’,’non’,’non’,’oui’,’non’,’non’,’non’,’oui’)
eval14 = c(‘oui’,’oui’,’non’,’oui’,’oui’,’non’,’oui’,’non’)
# Création du tableau
tab10 = cbind(eval10, eval11, eval12, eval13, eval14)
# Description (calcul du ratio d’accords)
agree(tab10[,1:5])
# Test
kappam.light(tab10[,1:5])
Résultats :
%-agree = 25 : notons qu’ici encore, le degré d’accord non corrigé n’est pas un bon indicateur. En effet, il ne prend en compte que les accords stricts sur une échelle à plusieurs niveaux.
Subjects = 8
Raters = 5
Kappa = 0.321
z = 0.0976
p-value = 0.922
Le kappa de Light’s est utilisé ici. Il retourne le kappa moyen de Cohen lors de l’évaluation de variables catégorielles par plus de 2 évaluateurs.
Conclusion :
Une lecture du tableau (Landis et Koch, 1977) nous enseigne que le lien inter-juges peut être considéré comme faible. Toutefois, l’hypothèse nulle ne peut être rejetée au seuil de .05. Nous ne pouvons prétendre que la différence observée n’est pas due au hasard.
Kappa de Fleiss évaluateurs multiples de plusieurs variables non-catégorielles
Profitant de la présence de leurs collègues, nos deux premiers paléontologues proposent de réitérer l’évaluation quant à l’état des ossements afin de donner davantage de poids à leur première expertise. Les résultats obtenus sont les suivants :
Jeux d’ossements | Palé.1 | Palé.2 | Palé.3 | Palé.4 | Palé.5 |
1 | 2 | 3 | 2 | 3 | 3 |
2 | 1 | 3 | 2 | 3 | 2 |
3 | 4 | 4 | 4 | 4 | 4 |
4 | 3 | 5 | 4 | 4 | 4 |
5 | 1 | 3 | 2 | 1 | 1 |
6 | 1 | 1 | 1 | 1 | 1 |
7 | 2 | 2 | 2 | 2 | 2 |
8 | 3 | 3 | 3 | 3 | 3 |
Nous posons l’hypothèse nulle : La concordance entre les évaluateurs est due au hasard.
Copiez le script suivant dans R :
# Création des listes de réponses
eval1 = c(2, 1, 4, 3, 1, 1, 2, 3)
eval2 = c(3, 3, 4, 5, 3, 1, 2, 3)
eval3 = c(2, 2, 4, 4, 2, 1, 2, 3)
eval4 = c(3, 3, 4, 4, 1, 1, 2, 3)
eval5 = c(3, 2, 4, 4, 1, 1, 2, 3)
# Création du tableau
tab1 = cbind(eval1, eval2, eval3, eval4, eval5)
# Description (calcul du ratio d’accords)
agree(tab1[,1:5])
# Test
kappam.fleiss(tab1[,1:5])
Résultats :
%-agree = 50 : notons qu’ici encore, le degré d’accord non corrigé n’est pas un bon indicateur. En effet, il ne prend en compte que les accords stricts sur une échelle à plusieurs niveaux.
Subjects = 8
Raters = 5
Kappa = 0.537
z = 8.59
p-value = 0
Conclusion :
Une lecture du tableau (Landis et Koch, 1977) nous enseigne que le lien inter-juge peut être considéré comme modéré. L’hypothèse nulle est rejetée au seuil de .05. Nous pouvons prétendre que la différence observée n’est pas due au hasard.