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 .