Spearman-Brown Korrektur bei parallelen Tests

psychometrics
statistics
DE

Eine Erklärung der Spearman-Brown Korrektur

Published

August 9, 2015

# Alle nötigen Pakete laden
library(CTT)
library(plyr)
library(ggplot2)

Spearman-Brown Korrektur bei parallelen Tests

Die Spearman-Brown Formel erlaubt die Berechung der Änderung in der Reliabilität einer Messung, bei Verlängerung oder Verkürzung eines Tests. Im Folgenden gehen wir davon aus, dass der Summenscore S aus m separaten parallelen, d.h. τäquivalenten Testteilen Yi zusammengesetzt wird, d.h.

S=Y1++Ym.

Somit ergibt sich für nach Spearman-Brown auf Basis der Reliabilität der Einzeltests Rel(Y) die neue Realibilität für S von

Rel(S)=mRel(Y)1+(m1)Rel(Y)

Nehmen wir an wir bilden den Summenscore S aus zwei parallelen Tests Y1 und Y2. Es handelt sich somit um eine Testlängenverdoppelung, d.h. m=2. Die Reliabilität verändert sich nach obiger Formel wie folgt. Zur Berechnung wird die Funktion spearman.brown aus dem Paket CTT genutzt.

rel.new <- spearman.brown(0.9, 2, "n")   # aus Paket CTT
rel.new
$r.new
[1] 0.9473684

Bei einer Testverlängerung um den Faktor 2 erhöht sich die Reliabilität von 0.9 auf Rel(S)=0.95.

Fragen wir nun anders herum. Bei einer minimal akzeptablen Reliabilität von 0.9, kann der Test mit einer aktuellen Reliabilität von Rel(S)=0.947 um welchen Faktor verkürzt werden?

m.new <- spearman.brown(0.947, 0.9, "r")   # "r", da Reliabilität als input 
m.new
$n.new
[1] 0.5036959

Wir erhalten genau das umgekehrte Ergebnis. Der Test kann in der Länge halbiert werden.

Im Folgenden konstruieren wir eine Tabelle, so wie sie in vielen Lehrbüchern vorkommt, aus der die eben berechneten Veränderung der Realibilität bei Testverlängerung oder -verkürzung optisch abgelesen werden können.

m <- seq(1, 4, len=100)
rel <- seq(.5, .9, .1)
d <- expand.grid(m=m, rel=rel)
d$id <- 1:nrow(d)
d <- ddply(d, .(id), transform, rel.new = spearman.brown(rel, m))
g <- ggplot(d, aes(x=m, y=r.new, group=rel)) + geom_line() + ylim(.5, 1) + 
        xlab("Veränderung der Testlänge um den Faktor m") + 
        ylab("Reliabilität nach Veränderung der Testlänge") +
        ggtitle("Spearman-Brown Tabelle")
g

Herleitung der Spearman-Brown Formel (bei parallelen Tests)

Die Variable S sei die Summe von m τ-äquivalenten Variablen, d.h. S=Y1++Ym. Somit ist die Reliabilität von S definiert als

Rel(S)=Var(τS)Var(S)

Zur Herleitung der Spearman-Brown Formel schauen wir uns zunächst den Zähler des Ausdrucks an. hier taucht Var(τS) auf. Da τS die Regression der True-Score Variablen auf U (Personenvariable) ist, erhalten wir

τS:=E(S|U)=E(Y1++Ym|U)E(Y1|U)++E(Ym|U)=τ1++τm.

Somit ist τS=τ1++τm und folglich

Var(τS)=Var(τ1++τm)=iVar(τi)+ijijCov(τi,τj).

Wir erhalten für die m Variablen folgende Varianz-Kovarianzmatrix

(Var(τ1)Cov(τ1,τm)Cov(τm,τ1)Var(τm)).

Da τi=τj und somit Cov(τi,τj)=Var(τ) erhalten wir in der gesamten Varianz-Kovarianzmatrix identische Einträge, d.h.

(Var(τ)Var(τ)Var(τ)Var(τ)).

Die Varianz von τS ist die Summe aller Elemente der Matrix (siehe Abschnitt Rechnen mit Varianzen), d.h.

Var(τS)=m2Var(τ)

Betrachten wir nun die Varianz der Summenvariable S im Nenner, d.h.

Var(S)=Var(Y1++Ym)=i=1mVar(Yi)+i=1mj=1mijCov(Yi,Yj)

Die Varianzen der Variablen parallerer Tests Yi sind alle gleich, da für alle gilt Var(Y)=Var(τ)+Var(ϵ). Weiterhin ist Cov(Yi,Yj)=Cov(τ+ϵi,τ+ϵj)=Var(τ). Somit erhalten wird

mVar(Y)+m(m1)Var(τ)

Wir erhalten somit für die Reliabilität

Rel(S)=Var(τS)Var(S)=m2Var(τ)mVar(Y)+m(m1)Var(τ)=mVar(τ)Var(Y)+(m1)Var(τ)

Erweitern mit Var(Y) ergibt

=mVar(τ)/Var(Y)Var(Y)/Var(Y)+(m1)Var(τ)/Var(Y)

Da Rel(Y)=Var(τ)Var(Y) erhalten wir

=mRel(Y)1+(m1)Rel(Y).

Anhang: Rechnen mit Varianzen

S sei die Summe von m Variablen, d.h. S=Y1++Ym. Var(S) ist dann die Summe aller Einträge aus der zugehörigen Varianz-Kovarianzmatrix. Für den Fall von drei Variablen, d.h. S=Y1+Y2+Y3 erhalten wir die Varianz-Kovarianzmatrix

(Var(Y1)Cov(Y1,Y2)Cov(Y1,Y3)Cov(Y1,Y2)Var(Y2)Cov(Y2,Y3)Cov(Y1,Y3)Cov(Y2,Y3)Var(Y3)).

Durch Aufaddieren aller Einträge erhalten wir

Var(Y1+Y2+Y3)=iVar(Yi)+ijijCov(Yi,Yj).

Die Formeln in R überprüfen:

set.seed(0)
d <- replicate(3, rnorm(10))      # Drei Variablen mit zufälligen Werten erzeugen
d <- as.data.frame(d)             # in Dataframe umwandeln
vc <- cov(d)                      # Varianz-Kovarianzmatrix
vc        
           V1          V2          V3
V1  1.4528358 -0.20093966 -0.10432388
V2 -0.2009397  0.46086672 -0.05828058
V3 -0.1043239 -0.05828058  0.48606879
sum(vc)                           # Alle Einträge der Matrix addieren
[1] 1.672683
d <- transform(d, S = V1+V2+V3)   # Summenvariable S bilden 
var(d$S)                          # Varianz ist identisch mit obiger Berechnung
[1] 1.672683