Hoe de intraclass-correlatiecoëfficiënt in python te berekenen


Een intraclass correlatiecoëfficiënt (ICC) wordt gebruikt om te bepalen of items of onderwerpen betrouwbaar kunnen worden beoordeeld door verschillende beoordelaars.

De waarde van een ICC kan variëren van 0 tot 1, waarbij 0 duidt op geen betrouwbaarheid onder de beoordelaars en 1 op perfecte betrouwbaarheid.

De eenvoudigste manier om ICC in Python te berekenen is door de functie penguin.intraclass_corr() uit het Penguin Statistics-pakket te gebruiken, dat de volgende syntaxis gebruikt:

pengouin.intraclass_corr(gegevens, doelstellingen, beoordelaars, cijfers)

Goud:

  • data: de naam van het dataframe
  • doelen: Naam van de kolom die de “doelen” bevat (waarbij nota wordt genomen)
  • reviewers: Naam van de kolom met de reviewers
  • notities: Naam van de kolom die de notities bevat

Deze tutorial geeft een praktisch voorbeeld van het gebruik van deze functie.

Stap 1: Installeer Penguin

Allereerst moet je Penguin installeren:

 pip install penguin

Stap 2: Creëer de gegevens

Stel dat aan vier verschillende juryleden wordt gevraagd de kwaliteit van zes verschillende toelatingsexamens voor universiteiten te beoordelen. We kunnen het volgende dataframe maken om de scores van de juryleden bij te houden:

 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

Stap 3: Bereken de correlatiecoëfficiënt binnen de klasse

Vervolgens zullen we de volgende code gebruiken om de correlatiecoëfficiënt binnen de klasse te berekenen:

 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]

Deze functie retourneert de volgende resultaten:

  • Beschrijving: het berekende type ICC
  • ICC: de intraklassecorrelatiecoëfficiënt (ICC)
  • F: De F-waarde van de ICC
  • df1, df2: de vrijheidsgraden behorend bij de waarde F
  • pval: de p-waarde die is gekoppeld aan de F-waarde
  • CI95%: het 95% betrouwbaarheidsinterval voor de ICC

Merk op dat er hier zes verschillende ICC’s worden berekend. Er zijn inderdaad verschillende manieren om de ICC te berekenen op basis van de volgende aannames:

  • Model: willekeurige effecten in één richting, willekeurige effecten in twee richtingen of gemengde effecten in twee richtingen
  • Type relatie: consistentie of absolute overeenstemming
  • Eenheid: enkele beoordelaar of gemiddelde van beoordelaars

Voor een uitgebreide toelichting op deze aannames verwijzen wij u naar dit artikel .

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert