Come calcolare il coefficiente di correlazione intraclasse in python


Un coefficiente di correlazione intraclasse (ICC) viene utilizzato per determinare se elementi o argomenti possono essere valutati in modo affidabile da valutatori diversi.

Il valore di un ICC può variare da 0 a 1, dove 0 indica assenza di affidabilità tra i valutatori e 1 indica perfetta affidabilità.

Il modo più semplice per calcolare l’ICC in Python è utilizzare la funzione penguin.intraclass_corr() dal pacchetto penguin Statistics , che utilizza la seguente sintassi:

pengouin.intraclass_corr(dati, obiettivi, valutatori, voti)

Oro:

  • dati: il nome del frame di dati
  • target: nome della colonna contenente i “target” (cose da annotare)
  • revisori: nome della colonna contenente i revisori
  • note: nome della colonna contenente le note

Questo tutorial fornisce un esempio pratico di utilizzo di questa funzionalità.

Passaggio 1: installa Penguin

Prima di tutto, devi installare Penguin:

 pip install penguin

Passaggio 2: creare i dati

Supponiamo che a quattro giudici diversi venga chiesto di valutare la qualità di sei diversi esami di ammissione all’università. Possiamo creare il seguente dataframe per contenere i punteggi dei giudici:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' exam ': [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6,
                            1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6],
                   ' judge ': ['A', 'A', 'A', 'A', 'A', 'A',
                             'B', 'B', 'B', 'B', 'B', 'B',
                             'C', 'C', 'C', 'C', 'C', 'C',
                             'D', 'D', 'D', 'D', 'D', 'D'],
                   ' rating ': [1, 1, 3, 6, 6, 7, 2, 3, 8, 4, 5, 5,
                              0, 4, 1, 5, 5, 6, 1, 2, 3, 3, 6, 4]})

#view first five rows of DataFrame
df. head ()

	exam judge rating
0 1 A 1
1 2 A 1
2 3 A 3
3 4 To 6
4 5 A 6

Passaggio 3: calcolare il coefficiente di correlazione intraclasse

Successivamente, utilizzeremo il seguente codice per calcolare il coefficiente di correlazione intraclasse:

 import penguin as pg

icc = pg. intraclass_corr (data=df, targets=' exam ', raters=' judge ', ratings=' rating ')

icc. set_index (' Type ')

        Description ICC F df1 df2 pval CI95%
Kind							
ICC1 Single raters absolute 0.505252 5.084916 5 18 0.004430 [0.11, 0.89]
ICC2 Single random raters 0.503054 4.909385 5 15 0.007352 [0.1, 0.89]
ICC3 Single fixed raters 0.494272 4.909385 5 15 0.007352 [0.09, 0.88]
ICC1k Average raters absolute 0.803340 5.084916 5 18 0.004430 [0.33, 0.97]
ICC2k Average random raters 0.801947 4.909385 5 15 0.007352 [0.31, 0.97]
ICC3k Average fixed raters 0.796309 4.909385 5 15 0.007352 [0.27, 0.97]

Questa funzione restituisce i seguenti risultati:

  • Descrizione: il tipo di ICC calcolato
  • ICC: coefficiente di correlazione intraclasse (ICC)
  • F: il valore F dell’ICC
  • df1, df2: i gradi di libertà associati al valore F
  • pval: il valore p associato al valore F
  • CI95%: l’intervallo di confidenza del 95% per l’ICC

Tieni presente che qui vengono calcolati sei diversi ICC. Esistono infatti diversi modi per calcolare l’ICC sulla base dei seguenti presupposti:

  • Modello: effetti casuali unidirezionali, effetti casuali bidirezionali o effetti misti bidirezionali
  • Tipo di rapporto: coerenza o accordo assoluto
  • Unità: singolo valutatore o media dei valutatori

Per una spiegazione dettagliata di queste ipotesi, fare riferimento a questo articolo .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *