Berechnung der Interrater-Zuverlässigkeit in R mit variabler Anzahl von Bewertungen?


9

Wikipedia schlägt vor, dass eine Möglichkeit, die Zuverlässigkeit zwischen Bewertern zu untersuchen, darin besteht, ein Zufallseffektmodell zur Berechnung der Korrelation zwischen Klassen zu verwenden . Das Beispiel der Intraclass-Korrelation spricht vom Betrachten

σα2σα2+σϵ2

von einem Modell

Yij=μ+αi+ϵij

"wobei Y ij die j- te Beobachtung in der i- ten Gruppe ist, μ ein nicht beobachteter Gesamtmittelwert ist, α i ein nicht beobachteter zufälliger Effekt ist, der von allen Werten in Gruppe i geteilt wird, und ε ij ein nicht beobachteter Rauschausdruck ist."

Dies ist ein attraktives Modell, insbesondere weil in meinen Daten kein Bewerter alle Dinge bewertet hat (obwohl die meisten 20+ bewertet haben) und die Dinge unterschiedlich oft bewertet werden (normalerweise 3-4).

Frage 0: Ist "Gruppe i" in diesem Beispiel ("Gruppe i") eine Gruppierung von Dingen, die bewertet werden?

Frage 1: Wenn ich nach Interrater-Zuverlässigkeit suche, brauche ich dann kein Zufallseffektmodell mit zwei Begriffen, einem für den Rater und einem für das bewertete Objekt? Immerhin haben beide mögliche Variationen.

Frage 2: Wie würde ich dieses Modell am besten in R ausdrücken?

Es sieht so aus, als hätte diese Frage einen gut aussehenden Vorschlag:

lmer(measurement ~ 1 + (1 | subject) + (1 | site), mydata)

Ich habe mir ein paar Fragen angesehen , und die Syntax des "zufälligen" Parameters für lme ist für mich undurchsichtig. Ich habe die Hilfeseite für lme gelesen , aber die Beschreibung für "zufällig" ist für mich ohne Beispiele unverständlich.

Diese Frage ähnelt einer langen Liste von Fragen , von denen diese am nächsten kommt. Die meisten sprechen R jedoch nicht im Detail an.


Modelle mit gemischtem Effekt und Modelle mit zufälligen Effekten werden in R auf die gleiche Weise codiert. Weitere Informationen finden Sie unter ncbi.nlm.nih.gov/pmc/articles/PMC3402032!
Noé

Antworten:


6

Das Modell, auf das Sie in Ihrer Frage verwiesen haben, wird als "Einwegmodell" bezeichnet. Es wird davon ausgegangen, dass zufällige Zeileneffekte die einzige systematische Varianzquelle sind. Im Fall der Interrater-Zuverlässigkeit entsprechen Zeilen Messobjekten (z. B. Subjekten).

One-Way - Modell : wo ist der Mittelwert für alle Objekte, ist der Zeileneffekt und ist die Nachwirkung.

xij=μ+ri+wij
μriwij

Es gibt jedoch auch "Zwei-Wege-Modelle". Diese setzen voraus, dass mit zufälligen Zeileneffekten sowie zufälligen oder festen Spalteneffekten Varianz verbunden ist. Im Fall der Interrater-Zuverlässigkeit entsprechen die Spalten den Messquellen (z. B. Bewerter).

Zweiwege-Modelle : wobei der Mittelwert für alle ist Objekte, ist der , ist der Spalteneffekt, ist der Interaktionseffekt und ist der . Der Unterschied zwischen diesen beiden Modellen besteht im Einschluss oder Ausschluss des Interaktionseffekts.

xij=μ+ri+cj+rcij+eij
xij=μ+ri+cj+eij
μricjrcijeij

Bei einem Zwei-Wege-Modell können Sie einen von vier ICC-Koeffizienten berechnen: den Einzel-Score-Konsistenz-ICC (C, 1), den Durchschnitts-Score-Konsistenz-ICC (C, k), den Single-Score-Übereinstimmungs-ICC (A, 1) oder die durchschnittliche Punktzahl Übereinstimmung ICC (A, k). Einzelpunktzahl-ICCs gelten für Einzelmessungen (z. B. einzelne Bewerter), während Durchschnittspunktzahl-ICCs für Durchschnittsmessungen (z. B. der Mittelwert aller Bewerter) gelten. Konsistenz-ICCs schließen die Spaltenvarianz von der Nennervarianz aus (z. B. Ermöglichen, dass die Bewerter um ihre eigenen Mittelwerte variieren), während Übereinstimmungs-ICCs die Spaltenvarianz in der Nennervarianz enthalten (z. B., dass die Bewerter um den gleichen Mittelwert variieren müssen).xijx¯i

Hier sind die Definitionen, wenn Sie einen zufälligen Spalteneffekt annehmen:

Zweiwege-ICC-Definitionen mit zufälligen Effekten (mit oder ohne Interaktionseffekt) :

ICC(C,1)=σr2σr2+(σrc2+σe2) or σr2σr2+σe2
ICC(C,k)=σr2σr2+(σrc2+σe2)/k or σr2σr2+σe2/k
ICC(A,1)=σr2σr2+(σc2+σrc2+σe2) or σr2σr2+(σc2+σe2)
ICC(A,k)=σr2σr2+(σc2+σrc2+σe2)/k or σr2σr2+(σc2+σe2)/k

Sie können diese Werte auch anhand der mittleren Quadrate von ANOVA schätzen:

Zweiwege-ICC-Schätzungen :

ICC(C,1)=MSRMSEMSR+(k1)MSE
ICC(C,k)=MSRMSEMSR
ICC(A,k)=MSR-MSE.
ICC(A,1)=MSRMSEMSR+(k1)MSE+k/n(MSCMSE)
ICC(A,k)=MSRMSEMSR+(MSCMSE)/n

Sie können diese Koeffizienten in R mit dem irr-Paket berechnen :

icc(ratings, model = c("oneway", "twoway"),
type = c("consistency", "agreement"),
unit = c("single", "average"), r0 = 0, conf.level = 0.95)

Verweise

McGraw, KO & Wong, SP (1996). Rückschlüsse auf einige Intraclass-Korrelationskoeffizienten ziehen. Psychological Methods, 1 (1), 30–46.

Shrout, PE & Fleiss, JL (1979). Intraclass-Korrelationen: Dient zur Bewertung der Zuverlässigkeit von Bewertern. Psychological Bulletin, 86 (2), 420–428.


Danke für die tolle Antwort! Wie stellen wir in einem Zwei-Wege-Modell innerhalb von icc in R eine zufällige Auswahl von Bewertern pro Zeile dar? Ich meine, stellen Sie sich vor, wir haben einen Pool von 100 Bewertern, und jedes Thema wird von ungefähr 5-10 von ihnen bewertet. Kann ein solches Szenario von einem icc-Paket behandelt werden?
michal

Jeder Bewerter sollte eine eigene Spalte in der Matrix haben, die Sie der icc-Funktion zuführen. Ansonsten ist die Berechnung für Modelle mit zufälligen und gemischten Effekten dieselbe - der Hauptunterschied liegt in der Interpretation (wie verallgemeinerbar die Ergebnisse berücksichtigt werden können).
Jeffrey Girard

Danke für die Antwort! Ich versuche das zu tun, da ich hauptsächlich NA in den Zellen habe (und nur wenige Werte mit tatsächlichen Zahlen pro Spalte, bei denen ein bestimmter Bewerter ein Thema bewertet, das einer Zeile entspricht). In der Ausgabe erhalte ich jedoch einen Text, der besagt, dass keine Themen aufgezeichnet wurden (z. B. Themen = 0 Bewerter = 9). Vielleicht bedeutet dies, dass überall dort, wo mindestens eine NA gefunden wurde, die gesamte Zeile herausgefiltert wird? Aber wie kann ich dann fehlende Bewertungen eines Bewerters bezeichnen?
michal

Hmm, das kann eine Einschränkung dieser spezifischen ICC-Funktion sein. Ich habe ein MATLAB-Skript, das mit dieser Situation umgehen kann. Haben Sie zufällig Zugriff auf MATLAB?
Jeffrey Girard

1
Ja, überprüfen Sie meine Website: mreliability.jmgirard.com
Jeffrey Girard
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.