Für R liegen Zusatzpakete bereit, mit deren Hilfe diverse Rasch-Modelle analysiert werden können.

Package eRm

Bearbeiten

Mit Hilfe des Package eRm (extended Rasch modeling) lassen sich folgende Analysen durchführen:

  • das dichotome logistische Rasch-Modell
  • das linear-logistische Test-Modell
  • das Ratingskalen-Modell
  • das partial-credit Modell
  • das lineare Ratingskalen-Modell
  • das lineare partial-credit Modell

Installation

Bearbeiten

Das Package wird installiert mit dem Befehl (Unter Linux ist gcc-fortran als Voraussetzung zu installieren):

install.packages("eRm", dependencies=TRUE)

Mit Eingabe des Befehls werden die benötigten Zusatzpakete gtools, splines, ROCR, gplots, gdata mitinstalliert (sofern sie bislang noch nicht installiert wurden).

Vor der Nutzung des Packages muss es erst aktiviert werden per:

library(eRm)

Das dichotome logistische Rasch-Modell

Bearbeiten

Der Befehl zur Analyse nach dem dichotomen logistischen Rasch-Modell lautet RM().

Als Untersuchungsobjekt für RM() wird eine Matrix benötigt, welche dichotome Daten enthält (0 und 1). Die Reihen der Matrix entsprechen den Untersuchungsfällen (n) und die Spalten entsprechen den Ergebnissen der Items.

An den RM()-Befehl können folgende Parameter übergeben werden:

RM(X, W, se=TRUE, sum0=TRUE, etaStart)
  • X = die zu analysierernde Datenmatrix
  • W = optionale Designmatrix zur Normierung auf ein bestimmtes Items
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)
  • sum0 = TRUE=Summennormierung / FALSE=Itemnormierung
  • etaStart = optionale Übergabe von vermuteten Parameterschätzwerten

Beispieldatensatz

Bearbeiten

Als Beispieldatensatz sollen die Ergebnisse des Minigolfwettbewerbs aus Beispiel 8 genommen werden.

  • 0 bedeutet, dass das entsprechende Loch nicht mit einem Schlag getroffen wurde
  • 1 bedeutet, dass das entsprechende Loch mit einem Schlag getroffen wurde

Die Ergebnisse des Wettbewerbs lauten wie folgt.

          Loch1 Loch2 Loch3 Loch4 Loch5 Loch6 Loch7 Loch8 Loch9 Loch10
Hans          0     1     1     0     1     1     0     1     1      1
Karola        1     0     1     1     1     0     1     1     1      0
Matthias      1     1     1     0     1     1     1     1     0      0
Stefan        0     0     1     1     0     1     1     0     0      1
Sabine        1     1     1     1     1     1     1     0     0      0
Irma          1     1     0     1     1     1     0     1     0      0
Heike         1     0     1     0     1     1     0     0     0      1
Ralf          1     1     1     0     1     1     0     0     0      0
Rainer        1     1     0     1     1     0     0     1     0      1
Simon         1     0     1     1     1     0     1     0     1      0
Andreas       1     1     1     0     1     0     0     0     0      0
Elke          1     1     0     1     0     1     0     0     1      0
Gabi          0     1     1     1     0     0     1     0     0      1
David         1     1     0     1     0     0     0     0     0      0
Jonas         1     1     0     1     1     0     1     1     0      0
Nicklas       1     1     1     1     0     1     0     0     1      0
Sandra        0     1     0     0     1     0     1     1     0      1
Mario         1     0     1     0     1     1     0     0     0      0
Guido         1     1     1     0     0     0     0     0     1      0
Lisa          0     1     1     0     0     0     1     0     0      0
Peter         1     0     1     0     1     0     0     0     1      0
Justus        1     1     1     0     0     0     1     0     0      1
Josef         1     0     1     0     0     0     0     0     0      0
Brigitte      1     1     1     0     0     0     1     0     1      0
Kevin         0     1     0     0     1     0     0     1     0      1
Marcel        1     1     0     0     0     0     0     0     0      0
Nadine        1     0     0     1     0     1     0     0     1      0
Alex          1     0     0     0     0     0     0     0     0      0
Katharina     0     1     0     0     0     1     1     0     1      1
Daniel        1     1     0     0     0     0     0     0     0      0
Jens          1     1     0     1     0     0     1     0     1      0
Dieter        1     0     0     0     0     0     1     1     0      0
Sebastian     1     0     1     0     1     0     0     0     1      1
Anne          0     0     0     0     1     0     1     0     0      1

Diese Tabelle wird wie folgt erzeugt:

minigolf <- structure(list(Loch1 = c(0, 1, 1, 0, 1, 1, 1, 1, 1,  1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0,  
1, 1, 1, 0, 1, 1, 1, 1, 0), Loch2 = c(1, 0, 1, 0,  1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,  0, 1, 0, 1, 1, 
1, 0, 0, 1, 1, 1, 0, 0, 0), Loch3 = c(1,  1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0,  1, 1, 1, 1, 1, 1, 1, 0, 
0, 0, 0, 0, 0, 0, 0, 1,  0), Loch4 = c(0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1,  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 1, 0,  0, 0, 1, 0, 0, 0), Loch5 = c(1, 1, 1, 0, 1, 1, 1,  1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0,  0, 1, 
0, 0, 0, 0, 0, 0, 0, 1, 1), Loch6 = c(1, 0,  1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1,  0, 0, 0, 0, 0, 0, 0, 
0, 1, 0, 1, 0, 0, 0, 0, 0 ), Loch7 = c(0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0,  1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 
0, 0, 0,  1, 0, 1, 1, 0, 1), Loch8 = c(1, 1, 1, 0, 0, 1, 0,  0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,  0, 1, 
0, 0, 0, 0, 0, 0, 1, 0, 0), Loch9 = c(1, 1,  0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0,  1, 0, 1, 0, 0, 1, 0, 0, 
1, 0, 1, 0, 1, 0, 1, 0 ), Loch10 = c(1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,  1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
0,  1, 0, 0, 0, 1, 1)), .Names = c("Loch1", "Loch2", "Loch3",  "Loch4", "Loch5", "Loch6", "Loch7", "Loch8", "Loch9", 
"Loch10" ), class = "data.frame", row.names = c("Hans", "Karola", "Matthias",  "Stefan", "Sabine", "Irma", "Heike",
"Ralf", "Rainer", "Simon",  "Andreas", "Elke", "Gabi", "David", "Jonas", "Nicklas", "Sandra",  "Mario", "Guido",
"Lisa", "Peter", "Justus", "Josef", "Brigitte",  "Kevin", "Marcel", "Nadine", "Alex", "Katharina", "Daniel", "Jens",
"Dieter", "Sebastian", "Anne"))

Parameterschätzung

Bearbeiten

Die Analyse und Parameterschätzung erfolgt zunächst durch Aufruf der Funktion RM()

RM(minigolf)

Dies liefert folgende Ausgabe:

Results of RM estimation: 

Call:  RM(X = minigolf) 

Conditional log-likelihood: -155.7848 
Number of iterations: 17 
Number of parameters: 9 

Basic Parameters eta:
            eta 1     eta 2      eta 3     eta 4      eta 5       eta 6      eta 7      eta 8      eta 9
Estimate 0.7802107 0.4036248 -0.3177005 0.1641012 -0.4439830 -0.07408871 -0.8568075 -0.4439830 -0.5748605
Std.Err  0.3448683 0.3320590  0.3359948 0.3291390  0.3407310  0.33035472  0.3653347  0.3407311  0.3469895

Diese Ausgabe zeigt "lediglich" die eta-Parameter mit dazugehöriger Standardabweichung an. Da zu weiteren Analysen der Output des RM(minigolf)-Befehls benötigt wird, speichern wir diesen in die Variable result

result <- RM(minigolf)

Einen besseren Überblick über die soeben durchgeführte Analyse bietet die summary()-Funktion. Mit ihrem Aufruf werden auch die wichtigen beta-Parameter ausgegeben:

summary(result)

Dies liefert folgende Ausgabe:

Results of RM estimation: 

Call:  RM(X = minigolf) 

Conditional log-likelihood: -155.7848 
Number of iterations: 17 
Number of parameters: 9 

Basic Parameters (eta) with 0.95 CI:
      Estimate Std. Error lower CI upper CI
eta 1    0.780      0.345    0.104    1.456
eta 2    0.404      0.332   -0.247    1.054
eta 3   -0.318      0.336   -0.976    0.341
eta 4    0.164      0.329   -0.481    0.809
eta 5   -0.444      0.341   -1.112    0.224
eta 6   -0.074      0.330   -0.722    0.573
eta 7   -0.857      0.365   -1.573   -0.141
eta 8   -0.444      0.341   -1.112    0.224
eta 9   -0.575      0.347   -1.255    0.105 

Item Easiness Parameters (beta) with 0.95 CI:
            Estimate Std. Error lower CI upper CI
beta Loch1     1.363      0.385    0.609    2.118
beta Loch2     0.780      0.345    0.104    1.456
beta Loch3     0.404      0.332   -0.247    1.054
beta Loch4    -0.318      0.336   -0.976    0.341
beta Loch5     0.164      0.329   -0.481    0.809
beta Loch6    -0.444      0.341   -1.112    0.224
beta Loch7    -0.074      0.330   -0.722    0.573
beta Loch8    -0.857      0.365   -1.573   -0.141
beta Loch9    -0.444      0.341   -1.112    0.224
beta Loch10   -0.575      0.347   -1.255    0.105

Zur graphischen Darstellung stehen die Funktionen plotICC() und plotjointICC() zur Verfügung. plotjointICC() benötigt das RM()-Output und zeigt die Item-Characteristic-Curves aller Variablen an:

plotjointICC(RM(minigolf))

oder in unserem Fall

plotjointICC(result)

 


Mit plotICC() werden die Item-Characteristic-Curve für jedes Item einzeln graphisch dargestellt. Hierbei wird durch drücken der Returntaste zur nächsten Item-Graphik gewechselt.

 plotICC(result)

Im Gegensatz zu plotjointICC() kann plotICC() auch die Outputs von PCM() und RSM() verarbeiten.

Schätzung der Personenparameter

Bearbeiten

Die Schätzung der Personenparameter erfolgt mit dem Befehl person.parameter(). Als Input benötigt der Befehl den Output der RM()-Analyse.

person.parameter(RM(minigolf))

oder in unserem Fall auch

person.parameter(result)

Dies liefert die Ausgabe:

Person Parameters:

 Raw Score    Estimate  Std.Error
        0  -3.30890751        NA
        1  -2.37460583  1.0814193
        2  -1.50799727  0.8233509
        3  -0.91866630  0.7238722
        4  -0.43133018  0.6781861
        5   0.01539553  0.6628318
        6   0.45847521  0.6727929
        7   0.93481125  0.7136595
        8   1.41970665        NA
        9   1.90460205        NA
       10   2.38949746        NA

Auch hier ist es sinnvoll, den Output in eine Variable zu speichern

pp <- person.parameter(result)

Die Ausgabe lässt sich mit der plot()-Funktion grafisch darstellen:

plot(pp)

 

Ruft man den summary()-Befehl auf, erhält man die Personenparameter für jeden einzelnen Probanden:

summary(pp)


Estimation of Ability Parameters

Collapsed log-likelihood: -37.38117 
Number of iterations: 9 
Number of parameters: 7 

ML estimated ability parameters (without spline interpolated values): 
                   Estimate Std. Err.      2.5 %     97.5 %
theta Hans       0.93481125 0.7136595 -0.4639356  2.3335581
theta Karola     0.93481125 0.7136595 -0.4639356  2.3335581
theta Matthias   0.93481125 0.7136595 -0.4639356  2.3335581
theta Stefan     0.01539553 0.6628318 -1.2837309  1.3145219
theta Sabine     0.93481125 0.7136595 -0.4639356  2.3335581
theta Irma       0.45847521 0.6727929 -0.8601747  1.7771251
theta Heike      0.01539553 0.6628318 -1.2837309  1.3145219
theta Ralf       0.01539553 0.6628318 -1.2837309  1.3145219
theta Rainer     0.45847521 0.6727929 -0.8601747  1.7771251
theta Simon      0.45847521 0.6727929 -0.8601747  1.7771251
theta Andreas   -0.43133018 0.6781861 -1.7605505  0.8978901
theta Elke       0.01539553 0.6628318 -1.2837309  1.3145219
theta Gabi       0.01539553 0.6628318 -1.2837309  1.3145219
theta David     -0.91866630 0.7238722 -2.3374298  0.5000972
theta Jonas      0.45847521 0.6727929 -0.8601747  1.7771251
theta Nicklas    0.45847521 0.6727929 -0.8601747  1.7771251
theta Sandra     0.01539553 0.6628318 -1.2837309  1.3145219
theta Mario     -0.43133018 0.6781861 -1.7605505  0.8978901
theta Guido     -0.43133018 0.6781861 -1.7605505  0.8978901
theta Lisa      -0.91866630 0.7238722 -2.3374298  0.5000972
theta Peter     -0.43133018 0.6781861 -1.7605505  0.8978901
theta Justus     0.01539553 0.6628318 -1.2837309  1.3145219
theta Josef     -1.50799727 0.8233509 -3.1217353  0.1057408
theta Brigitte   0.01539553 0.6628318 -1.2837309  1.3145219
theta Kevin     -0.43133018 0.6781861 -1.7605505  0.8978901
theta Marcel    -1.50799727 0.8233509 -3.1217353  0.1057408
theta Nadine    -0.43133018 0.6781861 -1.7605505  0.8978901
theta Alex      -2.37460583 1.0814193 -4.4941487 -0.2550629
theta Katharina  0.01539553 0.6628318 -1.2837309  1.3145219
theta Daniel    -1.50799727 0.8233509 -3.1217353  0.1057408
theta Jens       0.01539553 0.6628318 -1.2837309  1.3145219
theta Dieter    -0.91866630 0.7238722 -2.3374298  0.5000972
theta Sebastian  0.01539553 0.6628318 -1.2837309  1.3145219
theta Anne      -0.91866630 0.7238722 -2.3374298  0.5000972

Gültigkeitskontrollen

Bearbeiten

Das aufgestellte Rasch-Modell lässt sich auf verschiedene Weisen hinsichtlich seiner Gültigkeit überprüfen.

  • bedingter Likelihood-Quotiententest

bedingter Likelihood-Quotiententest

Bearbeiten

Der bedingte Likelihood-Quotiententest erfolgt durch Aufruf der Funktion LRtest.

LRtest(object, splitcr = "median", se = FALSE)

Hierbei gelten die Parameter:

  • object = Output von RM(), PCM() oder RSM()
  • splitcr = Teilungskriterium "median", "mean" oder in Form eines Vektors
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)

Es gelten folgende Hypothesen:

  • H0 = "Das Rasch-Modell gilt" (keine Signifikanz)
  • H1 = "Das Rasch-Modell gilt nicht" (Signifikanz)

Wir rufen nun die Funktion für unseren Minigolfwettbewerb auf:

LRtest(result)

und erhalten die Ausgabe:

Warning message: Persons with median raw scores are assigned to the lower raw score group!

Andersen LR-test: 
LR-value: 12.58 
Chi-square df: 9 
p-value:  0.183

Hierbei ist LR-value der Chi2-Wert und df die Anzahl der Freiheitsgrade. Da der p-Wert nicht signifikant ist, wird H0 = "Das Rasch-Modell gilt" beibehalten. Der kritische Chi2-Wert kann noch manuell per qchisq() errechnet werden. Hierbei müssen Testwahrscheinlichkeit und Anzahl der Freiheitsgrade übergeben werden:

qchisq(0.95,df=21)

Dies liefert das Ergebnis

[1] 32.67057

Da der Chi2-Wert des Tests kleiner ist als der kritische Wert, bestätigt sich erneut die Annahme, dass H0 = "Das Rasch-Modell gilt" beibehalten werden kann.


Wald-Test

Bearbeiten

Der Wald-Test erfolgt durch Aufruf der Funktion Waldtest.

Waldtest(object, splitcr = "median")

Hierbei gelten die Parameter:

  • object = Output von RM()
  • splitcr = Teilungskriterium "median", "mean" oder in Form eines Vektors

Erreicht ein Item Signifikanz, kann es nicht weiterverwendet werden. Rufen wir die Funktion auf

Waldtest(result)

erhalten wir die Ausgabe:

Wald test on item level (z-values):

            z-statistic p-value
beta Loch1        0.127   0.899
beta Loch2        0.462   0.644
beta Loch3        0.764   0.445
beta Loch4       -1.317   0.188
beta Loch5       -1.299   0.194
beta Loch6        0.009   0.993
beta Loch7        0.721   0.471
beta Loch8       -1.661   0.097
beta Loch9        0.795   0.427
beta Loch10       2.041   0.041

Wir sehen, dass für "Loch10" ein signifikanter p-Wert errechnet wurde. Somit kann dieses Item nicht weiter verwendet werden.


Graphischer Test

Bearbeiten

Zur graphischen Überprüfung steht die Funktion plotGOF() zur Verfügung. Sie benötigt den Output der Funktion LRtest().

plotGOF(LRtest(result))

Wir erhalten die folgende Graphik:

 

Itemfit, Personfit und theoretische Wahrscheinlichkeiten

Bearbeiten

eRm stellt weitere Funktionen zur Überprüfung des Modells zur Verfügung. Mit itemfit() lassen sich Item-, mit personfit() Personenparameter überprüfen.

itemfit(pp)

liefert die Ausgabe:

Itemfit Statistics: 
        Chisq df p-value Outfit MSQ Infit MSQ
Loch1  43.838 34   0.120      1.289     1.230
Loch2  36.199 34   0.366      1.065     1.055
Loch3  33.027 34   0.515      0.971     0.997
Loch4  29.060 34   0.708      0.855     0.901
Loch5  28.248 34   0.745      0.831     0.880
Loch6  28.045 34   0.754      0.825     0.902
Loch7  33.386 34   0.498      0.982     1.010
Loch8  28.035 34   0.754      0.825     0.860
Loch9  31.049 34   0.613      0.913     0.994
Loch10 34.331 34   0.452      1.010     1.082

und

personfit(pp)

liefert die Ausgabe:

Personfit Statistics: 
           Chisq df p-value Outfit MSQ Infit MSQ
Hans      17.798 10   0.058      1.780     1.303
Karola    11.819 10   0.297      1.182     1.095
Matthias   7.756 10   0.653      0.776     0.893
Stefan    14.821 10   0.139      1.482     1.397
Sabine     6.598 10   0.763      0.660     0.761
Irma      10.073 10   0.434      1.007     1.057
Heike     10.010 10   0.440      1.001     1.017
Ralf       7.068 10   0.719      0.707     0.731
Rainer    10.336 10   0.412      1.034     1.087
Simon      9.683 10   0.469      0.968     0.948
Andreas    5.985 10   0.817      0.598     0.628
Elke       9.789 10   0.459      0.979     1.019
Gabi      12.173 10   0.274      1.217     1.138
David      7.577 10   0.670      0.758     0.782
Jonas      9.314 10   0.503      0.931     0.975
Nicklas    8.608 10   0.570      0.861     0.918
Sandra    13.950 10   0.175      1.395     1.299
Mario      8.679 10   0.563      0.868     0.897
Guido      7.427 10   0.685      0.743     0.756
Lisa       8.748 10   0.556      0.875     0.981
Peter      8.679 10   0.563      0.868     0.897
Justus     7.841 10   0.644      0.784     0.810
Josef      5.786 10   0.833      0.579     0.745
Brigitte   7.546 10   0.673      0.755     0.783
Kevin     13.795 10   0.183      1.380     1.296
Marcel     4.687 10   0.911      0.469     0.641
Nadine    11.708 10   0.305      1.171     1.183
Alex       3.566 10   0.965      0.357     0.715
Katharina 14.189 10   0.165      1.419     1.349
Daniel     4.687 10   0.911      0.469     0.641
Jens       9.023 10   0.530      0.902     0.940
Dieter    12.208 10   0.271      1.221     1.070
Sebastian 10.010 10   0.440      1.001     1.017
Anne      13.278 10   0.209      1.328     1.333


Die Funktion pmat() liefert die Item-Personen-Matrix zurück, welche die theoretisch zu erwartenden Wahrscheinlichkeiten enthält.

pmat(pp)


              Loch1     Loch2     Loch3      Loch4      Loch5     Loch6      Loch7      Loch8     Loch9     Loch10
Hans      0.9087360 0.8474865 0.7922326 0.64956115 0.75005628 0.6203015 0.70281159 0.51949106 0.6203015 0.58902851
Karola    0.9087360 0.8474865 0.7922326 0.64956115 0.75005628 0.6203015 0.70281159 0.51949106 0.6203015 0.58902851
Matthias  0.9087360 0.8474865 0.7922326 0.64956115 0.75005628 0.6203015 0.70281159 0.51949106 0.6203015 0.58902851
Stefan    0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Sabine    0.9087360 0.8474865 0.7922326 0.64956115 0.75005628 0.6203015 0.70281159 0.51949106 0.6203015 0.58902851
Irma      0.8608014 0.7753352 0.7030992 0.53513568 0.65080429 0.5036230 0.59493064 0.40171309 0.5036230 0.47093647
Heike     0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Ralf      0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Rainer    0.8608014 0.7753352 0.7030992 0.53513568 0.65080429 0.5036230 0.59493064 0.40171309 0.5036230 0.47093647
Simon     0.8608014 0.7753352 0.7030992 0.53513568 0.65080429 0.5036230 0.59493064 0.40171309 0.5036230 0.47093647
Andreas   0.7175126 0.5863461 0.4930741 0.32103255 0.43358751 0.2941499 0.37626806 0.21616820 0.2941499 0.26772600
Elke      0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Gabi      0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
David     0.6094070 0.4654413 0.3740124 0.22506903 0.31982741 0.2038101 0.27036825 0.14486293 0.2038101 0.18339296
Jonas     0.8608014 0.7753352 0.7030992 0.53513568 0.65080429 0.5036230 0.59493064 0.40171309 0.5036230 0.47093647
Nicklas   0.8608014 0.7753352 0.7030992 0.53513568 0.65080429 0.5036230 0.59493064 0.40171309 0.5036230 0.47093647
Sandra    0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Mario     0.7175126 0.5863461 0.4930741 0.32103255 0.43358751 0.2941499 0.37626806 0.21616820 0.2941499 0.26772600
Guido     0.7175126 0.5863461 0.4930741 0.32103255 0.43358751 0.2941499 0.37626806 0.21616820 0.2941499 0.26772600
Lisa      0.6094070 0.4654413 0.3740124 0.22506903 0.31982741 0.2038101 0.27036825 0.14486293 0.2038101 0.18339296
Peter     0.7175126 0.5863461 0.4930741 0.32103255 0.43358751 0.2941499 0.37626806 0.21616820 0.2941499 0.26772600
Justus    0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Josef     0.4639351 0.3256806 0.2489215 0.13875159 0.20687009 0.1243376 0.17050026 0.08589618 0.1243376 0.11077415
Brigitte  0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Kevin     0.7175126 0.5863461 0.4930741 0.32103255 0.43358751 0.2941499 0.37626806 0.21616820 0.2941499 0.26772600
Marcel    0.4639351 0.3256806 0.2489215 0.13875159 0.20687009 0.1243376 0.17050026 0.08589618 0.1243376 0.11077415
Nadine    0.7175126 0.5863461 0.4930741 0.32103255 0.43358751 0.2941499 0.37626806 0.21616820 0.2941499 0.26772600
Alex      0.2667609 0.1687664 0.1222835 0.06342887 0.09881113 0.0563279 0.07953407 0.03800055 0.0563279 0.04976174
Katharina 0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Daniel    0.4639351 0.3256806 0.2489215 0.13875159 0.20687009 0.1243376 0.17050026 0.08589618 0.1243376 0.11077415
Jens      0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Dieter    0.6094070 0.4654413 0.3740124 0.22506903 0.31982741 0.2038101 0.27036825 0.14486293 0.2038101 0.18339296
Sebastian 0.7988114 0.6890338 0.6032488 0.42499412 0.54475410 0.3944637 0.48533092 0.30123749 0.3944637 0.36367126
Anne      0.6094070 0.4654413 0.3740124 0.22506903 0.31982741 0.2038101 0.27036825 0.14486293 0.2038101 0.18339296


Die Funktion residuals() gibt schließlich die Residuen aus.

               Loch1      Loch2      Loch3      Loch4      Loch5      Loch6      Loch7      Loch8      Loch9     Loch10
Hans      -3.1555061  0.4242166  0.5121089 -1.3614569  0.5772636  0.7823805 -1.5378130  0.9617489  0.7823805  0.8352908
Karola     0.3169064 -2.3572861  0.5121089  0.7345073  0.5772636 -1.2781505  0.6502741  0.9617489  0.7823805 -1.1971879
Matthias   0.3169064  0.4242166  0.5121089 -1.3614569  0.5772636  0.7823805  0.6502741  0.9617489 -1.2781505 -1.1971879
Stefan    -1.9926014 -1.4885510  0.8109814  1.1631740 -1.0938990  1.2389866  1.0297814 -0.6565831 -0.8071113  1.3227759
Sabine     0.3169064  0.4242166  0.5121089  0.7345073  0.5772636  0.7823805  0.6502741 -1.0397724 -1.2781505 -1.1971879
Irma       0.4021296  0.5382980 -1.5388725  0.9320327  0.7325027  0.9927801 -1.2119047  1.2203847 -1.0072724 -0.9434682
Heike      0.5018565 -1.4885510  0.8109814 -0.8597166  0.9141612  1.2389866 -0.9710798 -0.6565831 -0.8071113  1.3227759
Ralf       0.5018565  0.6717943  0.8109814 -0.8597166  0.9141612  1.2389866 -0.9710798 -0.6565831 -0.8071113 -0.7559859
Rainer     0.4021296  0.5382980 -1.5388725  0.9320327  0.7325027 -1.0072724 -1.2119047  1.2203847 -1.0072724  1.0599192
Simon      0.4021296 -1.8577071  0.6498264  0.9320327  0.7325027 -1.0072724  0.8251474 -0.8194137  0.9927801 -0.9434682
Andreas    0.6274582  0.8399270  1.0139491 -0.6876225  1.1429521 -0.6455474 -0.7766935 -0.5251513 -0.6455474 -0.6046561
Elke       0.5018565  0.6717943 -1.2330739  1.1631740 -1.0938990  1.2389866 -0.9710798 -0.6565831  1.2389866 -0.7559859
Gabi      -1.9926014  0.6717943  0.8109814  1.1631740 -1.0938990 -0.8071113  1.0297814 -0.6565831 -0.8071113  1.3227759
David      0.8005870  1.0716803 -0.7729656  1.8555542 -0.6857223 -0.5059463 -0.6087318 -0.4115862 -0.5059463 -0.4738979
Jonas      0.4021296  0.5382980 -1.5388725  0.9320327  0.7325027 -1.0072724  0.8251474  1.2203847 -1.0072724 -0.9434682
Nicklas    0.4021296  0.5382980  0.6498264  0.9320327 -1.3651826  0.9927801 -1.2119047 -0.8194137  0.9927801 -0.9434682
Sandra    -1.9926014  0.6717943 -1.2330739 -0.8597166  0.9141612 -0.8071113  1.0297814  1.5230364 -0.8071113  1.3227759
Mario      0.6274582 -1.1905796  1.0139491 -0.6876225  1.1429521  1.5490729 -0.7766935 -0.5251513 -0.6455474 -0.6046561
Guido      0.6274582  0.8399270  1.0139491 -0.6876225 -0.8749273 -0.6455474 -0.7766935 -0.5251513  1.5490729 -0.6046561
Lisa      -1.2490835  1.0716803  1.2937187 -0.5389226 -0.6857223 -0.5059463  1.6427596 -0.4115862 -0.5059463 -0.4738979
Peter      0.6274582 -1.1905796  1.0139491 -0.6876225  1.1429521 -0.6455474 -0.7766935 -0.5251513  1.5490729 -0.6046561
Justus     0.5018565  0.6717943  0.8109814 -0.8597166 -1.0938990 -0.8071113  1.0297814 -0.6565831 -0.8071113  1.3227759
Josef      1.0749298 -0.6949654  1.7370465 -0.4013791 -0.5107127 -0.3768191 -0.4533717 -0.3065414 -0.3768191 -0.3529500
Brigitte   0.5018565  0.6717943  0.8109814 -0.8597166 -1.0938990 -0.8071113  1.0297814 -0.6565831  1.2389866 -0.7559859
Kevin     -1.5937316  0.8399270 -0.9862428 -0.6876225  1.1429521 -0.6455474 -0.7766935  1.9042131 -0.6455474  1.6538325
Marcel     1.0749298  1.4389206 -0.5756898 -0.4013791 -0.5107127 -0.3768191 -0.4533717 -0.3065414 -0.3768191 -0.3529500
Nadine     0.6274582 -1.1905796 -0.9862428  1.4542864 -0.8749273  1.5490729 -0.7766935 -0.5251513  1.5490729 -0.6046561
Alex       1.6579131 -0.4505900 -0.3732561 -0.2602394 -0.3311273 -0.2443156 -0.2939495 -0.1987502 -0.2443156 -0.2288398
Katharina -1.9926014  0.6717943 -1.2330739 -0.8597166 -1.0938990  1.2389866  1.0297814 -0.6565831  1.2389866  1.3227759
Daniel     1.0749298  1.4389206 -0.5756898 -0.4013791 -0.5107127 -0.3768191 -0.4533717 -0.3065414 -0.3768191 -0.3529500
Jens       0.5018565  0.6717943 -1.2330739  1.1631740 -1.0938990 -0.8071113  1.0297814 -0.6565831  1.2389866 -0.7559859
Dieter     0.8005870 -0.9331141 -0.7729656 -0.5389226 -0.6857223 -0.5059463  1.6427596  2.4296249 -0.5059463 -0.4738979
Sebastian  0.5018565 -1.4885510  0.8109814 -0.8597166  0.9141612 -0.8071113 -0.9710798 -0.6565831  1.2389866  1.3227759
Anne      -1.2490835 -0.9331141 -0.7729656 -0.5389226  1.4583163 -0.5059463  1.6427596 -0.4115862 -0.5059463  2.1101592

Informationsindices

Bearbeiten

Die Informationsindices "Akaike Information Criterion" (AIC), "Bayes Information Criterion" (BIC) und "consistent Akaike Information Criterion" (CAIC) überprüfen, welches Modell am besten auf die Daten passt. Hierbei gilt: je kleiner der Informationsindex, desto besser passt das Modell. Die dazugehörige Funktion lautet IC() und benötigt den Output der person.parameter()-Funktion. In unserem Beispiel rufen wir sie also auf per:

IC(person.parameter(RM(minigolf)))

oder

IC(person.parameter(result))

oder

IC(pp)

Die Funktion liefert die folgende Ausgabe:

Information Criteria: 
                        value npar      AIC      BIC     cAIC
joint log-lik       -199.8864   16 431.7728 456.1946 472.1946
marginal log-lik    -216.1203    9 450.2406 463.9779 472.9779
conditional log-lik -155.7848    9 329.5697 343.3069 352.3069

Das linear-logistische Test-Modell

Bearbeiten

Der Befehl zur Analyse nach dem linear-logistischen Test-Modell lautet LLTM()

Als Untersuchungsobjekt für LLTM() wird eine Matrix benötigt, welche dichotome Daten enthält (0 und 1). Die Reihen der Matrix entsprechen den Untersuchungsfällen (n) und die Spalten entsprechen den Ergebnissen der Items.

An den LLTM()-Befehl können folgende Parameter übergeben werden:

LLTM(X, W, mpoints = 1, groupvec = 1, se = TRUE, sum0 = TRUE, etaStart)
  • X = die zu analysierernde Datenmatrix
  • W = optionale Designmatrix zur Normierung auf ein bestimmtes Items
  • mpoints = Anzahl der Messpunkte
  • groupvec = Vector der Länge N, welche die Gruppenzugehörigkeiten enthält. Wird groupvec=1 gesetzt, werden keine Gruppen verwendet
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)
  • sum0 = TRUE=Normierung der Parameter auf sum-0 / FALSE=Begrenzung des ersten Parameters auf 0
  • etaStart = optionale Übergabe von vermuteten Parameterschätzwerten

Das Ratingskalen-Modell

Bearbeiten

Der Befehl zur Analyse nach dem Ratingskalen-Modell lautet RSM()

Als Untersuchungsobjekt für RSM() wird eine Matrix oder Datenframe benötigt. Die Reihen der Matrix entsprechen den Untersuchungsfällen (n) und die Spalten entsprechen den Ergebnissen der Items.

Die folgenden Parameter können an RSM() übergeben werden:

RSM(X, W, se = TRUE, sum0 = TRUE, etaStart)
  • X = die zu analysierernde Datenmatrix
  • W = optionale Designmatrix zur Normierung auf ein bestimmtes Items
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)
  • sum0 = TRUE=Normierung der Parameter auf sum-0 / FALSE=Begrenzung des ersten Parameters auf 0
  • etaStart = optionale Übergabe von vermuteten Parameterschätzwerten

Beispieldatensatz

Bearbeiten

Als Beispieldatensatz nehmen wir die Fragebogenerhebung aus Beispiel 9. Dieser Fragebogen besteht aus 27 Fragen, welche die Antworten "nie / selten / manchmal / oft / immer" zulassen. Die Antworten werden wie folgt codiert:

  • 1 = nie
  • 2 = selten
  • 3 = manchmal
  • 4 = oft
  • 5 = immer

Der Fragebogen wurde von 122 Personen ausgefüllt. Der Befehl zur Erzeugung dieses Datensatzes lautet:

bsp9 <- structure(list(Frage1 = c(4, 4, 5, 5, 5, 1, 3, 3, 3, 3, 5, 5,  5, 3, 3, 4, 5, 4, 3, 2, 2, 2, 3, 4, 3, 4, 4, 2, 
5, 5, 5, 5, 5,  5, 1, 3, 4, 3, 3, 4, 3, 3, 3, 3, 5, 3, 3, 3, 2, 5, 4, 5, 2, 4,  3, 2, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage2 = c(3, 5, 4, 5, 4, 5, 3, 3, 5, 3, 5, 4,  4, 4, 2, 5, 5, 3, 2, 
2, 2, 2, 3, 2, 3, 5, 4, 4, 3, 3, 5, 3, 5,  2, 3, 3, 5, 4, 3, 4, 1, 4, 4, 4, 5, 2, 2, 3, 2, 3, 5, 5, 3, 5,  3, 3, 5, 4, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 
2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage3 = c(4, 4, 4, 4, 3, 3, 2, 2, 4, 2, 5, 
3,  1, 2, 3, 4, 4, 3, 3, 3, 4, 5, 4, 5, 4, 4, 3, 3, 5, 5, 2, 4, 4,  3, 2, 3, 4, 3, 3, 3, 1, 3, 3, 2, 4, 1, 1, 3, 3, 3, 5, 
5, 4, 2,  5, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage4 = c(4, 3, 1, 3, 3, 
4, 4, 3, 3, 3, 5, 5,  1, 3, 2, 2, 4, 4, 2, 2, 4, 5, 4, 5, 3, 4, 5, 5, 5, 3, 5, 2, 5,  3, 2, 3, 3, 4, 3, 4, 1, 2, 3, 4, 5, 
2, 3, 2, 3, 2, 4, 5, 4, 1,  4, 2, 4, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), 
Frage5 = c(5, 1, 2, 5, 2, 4, 4, 1, 1, 4, 5, 4,  3, 5, 3, 5, 1, 1, 4, 5, 5, 4, 2, 4, 3, 1, 2, 1, 3, 4, 2, 1, 1,  4, 1, 1, 
2, 4, 2, 3, 3, 4, 4, 4, 5, 2, 2, 2, 3, 3, 4, 2, 3, 3,  4, 3, 5, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  
4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 
5, 5,  5, 5, 5, 5, 5), Frage6 = c(5, 3, 1, 4, 5, 5, 4, 3, 3, 4, 5, 5,  4, 4, 3, 2, 4, 5, 3, 3, 3, 3, 3, 4, 3, 4, 5, 4, 2,
5, 5, 4, 5,  4, 2, 2, 5, 3, 3, 3, 1, 4, 4, 4, 5, 3, 2, 3, 1, 2, 5, 4, 3, 5,  4, 3, 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 
4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 
3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage7 = c(3, 3, 2, 4, 4, 3, 4, 3, 5, 3, 4, 5,  3, 4, 2, 3, 4, 3, 4, 3, 2, 2, 2, 
1, 4, 4, 4, 4, 3, 3, 5, 5, 4,  4, 4, 2, 5, 3, 3, 4, 2, 5, 3, 3, 5, 4, 3, 5, 3, 3, 4, 5, 4, 3,  5, 4, 4, 5, 3, 3, 3, 3, 3, 
3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 2, 2, 2, 2, 2, 3, 
3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage8 = c(4, 5, 5, 5, 4, 5, 4, 2, 5, 4, 5, 5,  4, 4, 4, 4, 5, 
3, 3, 1, 3, 4, 4, 3, 3, 5, 5, 5, 5, 4, 5, 5, 5,  3, 3, 4, 5, 3, 3, 4, 2, 5, 3, 4, 5, 3, 3, 4, 3, 4, 5, 4, 4, 4,  5, 4, 5, 
4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,  2, 
2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage9 = c(5, 5, 5, 5, 5, 5, 5, 2, 5, 3, 5, 4,  
4, 4, 2, 4, 5, 4, 2, 2, 3, 4, 4, 4, 3, 5, 5, 5, 5, 3, 4, 4, 5,  4, 5, 4, 5, 4, 4, 4, 2, 5, 4, 4, 5, 2, 3, 2, 4, 2, 4, 4, 4, 
5,  2, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 
2, 2,  2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5,  5, 5, 5, 5, 5), Frage10 = c(2, 1, 5, 4, 3, 4, 2, 4, 
5, 1, 3,  2, 1, 1, 1, 5, 4, 2, 2, 5, 3, 5, 2, 2, 3, 1, 1, 2, 5, 5, 2, 3,  3, 4, 2, 5, 4, 5, 5, 3, 2, 5, 4, 3, 4, 2, 4, 1, 4, 
3, 5, 3, 3,  4, 5, 3, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,  4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 2, 2, 2,  2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5,  5, 5, 5, 5, 5, 5), Frage11 = c(3, 1, 5, 4, 
4, 3, 3, 2, 1, 3,  4, 4, 1, 4, 4, 4, 4, 1, 3, 5, 5, 5, 3, 5, 5, 2, 5, 2, 1, 2, 5,  3, 5, 5, 1, 1, 2, 5, 4, 4, 3, 3, 4, 4, 5, 
3, 3, 3, 3, 3, 5, 5,  5, 5, 3, 3, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4,  4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 2, 2,  2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5,  5, 5, 5, 5, 5, 5, 5), Frage12 = c(1, 
5, 3, 2, 5, 3, 2, 1, 1,  2, 1, 4, 3, 1, 3, 1, 1, 3, 3, 1, 3, 1, 2, 2, 4, 4, 5, 5, 3, 1,  3, 1, 1, 4, 2, 1, 5, 4, 3, 3, 2, 4, 
3, 2, 5, 5, 1, 1, 3, 3, 4,  5, 4, 4, 4, 2, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,  4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,  2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5,  5, 5, 5, 5, 5, 5, 5, 5), 
Frage13 = c(2, 4, 2, 3, 3, 3, 3, 3,  2, 2, 4, 4, 1, 2, 1, 2, 4, 4, 2, 3, 2, 3, 3, 1, 2, 3, 5, 4, 4,  2, 1, 3, 5, 3, 4, 1, 5, 
3, 3, 3, 1, 2, 3, 1, 4, 5, 3, 1, 4, 4,  2, 4, 2, 2, 5, 2, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4,  4, 4, 4, 4, 4, 4, 4, 
4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,  5, 5, 5, 5, 5, 5, 
5, 5, 5), Frage14 = c(4, 3, 2, 4, 4, 5, 4,  3, 2, 4, 5, 4, 5, 3, 1, 4, 5, 5, 1, 3, 2, 3, 3, 5, 3, 3, 5, 4,  4, 3, 5, 3, 5, 3, 
4, 3, 4, 4, 4, 2, 1, 4, 3, 3, 4, 2, 2, 5, 4,  4, 1, 2, 2, 3, 4, 3, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4,  4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,  5, 5, 5, 5, 
5, 5, 5, 5, 5, 5), Frage15 = c(4, 3, 2, 5, 4, 5,  3, 2, 1, 4, 5, 4, 5, 3, 3, 3, 5, 5, 2, 3, 4, 4, 1, 2, 3, 4, 5,  5, 3, 5, 1,
2, 3, 3, 1, 4, 5, 3, 5, 2, 2, 5, 4, 4, 4, 5, 5, 4,  3, 3, 1, 5, 1, 1, 5, 2, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,  4, 4, 4, 
4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,  1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,  3, 5, 
5, 5, 5, 5, 5, 5, 5, 5, 5), Frage16 = c(3, 5, 1, 5, 4,  1, 3, 2, 3, 2, 5, 5, 5, 4, 4, 3, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4,  5, 3, 
1, 2, 5, 4, 3, 3, 5, 4, 4, 4, 5, 4, 4, 3, 4, 3, 4, 5, 5,  5, 4, 4, 5, 5, 1, 5, 5, 4, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,  3, 
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,  1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,  
3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage17 = c(4, 4, 4, 2,  3, 2, 2, 4, 5, 3, 1, 4, 5, 3, 2, 4, 4, 4, 1, 2, 4, 5, 3, 4, 1, 
 4, 5, 3, 1, 3, 3, 4, 1, 5, 2, 4, 3, 5, 5, 4, 1, 5, 3, 4, 4, 5,  4, 5, 4, 4, 5, 5, 3, 4, 5, 4, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 
3,  3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,  1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 
3, 3,  3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage18 = c(4, 2, 1,  5, 3, 5, 2, 4, 3, 4, 2, 3, 1, 3, 2, 2, 2, 1, 1, 4, 1, 5, 
2, 5,  2, 1, 2, 5, 3, 2, 5, 4, 4, 1, 3, 1, 2, 5, 4, 5, 3, 5, 3, 3, 5,  3, 5, 2, 4, 5, 1, 2, 1, 3, 5, 2, 3, 4, 3, 3, 3, 3, 3, 
3, 3, 3,  3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1, 1,  1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 
3, 3, 3, 3,  3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage19 = c(3, 1,  4, 5, 4, 5, 4, 2, 5, 5, 5, 3, 3, 5, 4, 4, 1, 2, 2, 
2, 1, 1, 1,  1, 3, 3, 4, 2, 4, 1, 3, 5, 5, 5, 2, 4, 4, 4, 3, 5, 2, 4, 3, 4,  5, 3, 5, 2, 3, 4, 5, 5, 3, 1, 5, 3, 2, 5, 3, 3, 
3, 3, 3, 3, 3,  3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage20 = c(4,  3, 4, 3, 3, 5, 4, 1, 4, 3, 5, 4, 4, 2, 4, 2, 
5, 4, 4, 1, 3, 3,  2, 5, 4, 5, 5, 5, 5, 4, 5, 4, 5, 4, 2, 4, 5, 2, 4, 3, 2, 4, 3,  3, 5, 5, 2, 3, 1, 2, 2, 4, 5, 5, 5, 3, 3, 
5, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage21 = c(4,  2, 3, 5, 3, 5, 4, 3, 3, 3, 5, 5, 5, 
5, 4, 5, 5, 3, 5, 3, 3, 2,  3, 4, 3, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 4, 3, 2, 5, 3,  4, 5, 3, 2, 4, 4, 4, 3, 5, 5, 5, 
4, 4, 3, 5, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage22 = c(5,  3, 5, 4, 3, 5, 4, 1, 5, 3, 
5, 4, 4, 4, 3, 5, 5, 3, 4, 4, 3, 3,  2, 3, 5, 5, 5, 5, 5, 4, 2, 2, 5, 5, 3, 4, 4, 4, 4, 3, 5, 3, 3,  4, 5, 5, 3, 3, 5, 5, 5, 
5, 3, 5, 4, 4, 4, 5, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage23 = c(4,  5, 4, 2, 2, 4, 3, 
1, 5, 4, 5, 4, 4, 5, 5, 5, 5, 4, 5, 3, 2, 3,  2, 4, 4, 4, 4, 4, 5, 4, 5, 3, 3, 4, 3, 3, 1, 4, 4, 3, 3, 4, 4,  5, 5, 4, 4, 2, 
4, 5, 5, 5, 3, 5, 5, 5, 4, 4, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1,  1, 1, 1, 1, 
1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage24 = c(5,  4, 1, 4, 
4, 5, 4, 3, 5, 4, 4, 5, 4, 4, 3, 1, 4, 4, 3, 2, 3, 2,  2, 5, 4, 5, 3, 4, 3, 5, 5, 4, 4, 3, 1, 5, 4, 3, 2, 3, 3, 4, 3,  3, 3, 
4, 1, 4, 3, 4, 5, 3, 2, 5, 2, 5, 4, 4, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 1, 1,  1, 
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), Frage25 = c(3, 
 3, 1, 3, 4, 5, 4, 3, 4, 3, 4, 4, 4, 5, 3, 3, 4, 5, 4, 1, 3, 2,  3, 1, 4, 4, 5, 5, 5, 4, 1, 4, 2, 4, 5, 4, 5, 4, 2, 4, 3, 4, 
3,  4, 4, 5, 1, 5, 2, 3, 5, 5, 3, 5, 3, 5, 4, 4, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 1, 
1, 1,  1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5), 
Frage26 = c(4,  2, 5, 5, 5, 1, 5, 4, 3, 5, 5, 5, 5, 5, 5, 4, 4, 5, 5, 2, 2, 2,  4, 5, 4, 4, 3, 5, 5, 5, 5, 5, 3, 5, 3, 5, 5, 
3, 3, 3, 2, 3, 3,  4, 4, 5, 2, 5, 3, 4, 5, 4, 3, 3, 4, 4, 4, 5, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
4, 4, 5, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 
5, 5, 5), Frage27 = c(2,  5, 2, 4, 4, 4, 3, 1, 3, 5, 5, 5, 5, 4, 3, 4, 2, 2, 3, 3, 2, 2,  3, 4, 3, 5, 5, 4, 5, 3, 1, 3, 1, 2, 
2, 4, 5, 4, 4, 3, 5, 4, 3,  4, 5, 5, 3, 5, 3, 4, 5, 4, 3, 5, 4, 4, 5, 5, 3, 3, 3, 3, 3, 3,  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 
4, 4, 4, 4, 4, 5, 1, 1, 1, 1,  1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,  3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 
5, 5, 5, 5, 5, 5)), .Names = c("Frage1",  "Frage2", "Frage3", "Frage4", "Frage5", "Frage6", "Frage7", "Frage8",  "Frage9", 
"Frage10", "Frage11", "Frage12", "Frage13", "Frage14",  "Frage15", "Frage16", "Frage17", "Frage18", "Frage19", "Frage20",  
"Frage21", "Frage22", "Frage23", "Frage24", "Frage25", "Frage26",  "Frage27"), row.names = c(NA, 122L), class = "data.frame", 
na.action = structure(123:231, .Names = c("38",  "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49",  "50", "51",
"52", "53", "54", "55", "56", "57", "58", "59", "60",  "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71",  "72", 
"73", "74", "75", "76", "77", "78", "79", "80", "81", "82",  "158", "159", "160", "161", "162", "163", "164", "165", "166",  
"167", "168", "169", "170", "171", "172", "173", "174", "175",  "176", "177", "178", "179", "180", "181", "182", "183", "184", 
 "185", "186", "187", "188", "189", "190", "191", "192", "193",  "194", "195", "196", "197", "198", "199", "200", "201", 
"202",  "203", "204", "205", "206", "207", "208", "209", "210", "211",  "212", "213", "214", "215", "216", "217", "218", "219",
"220",  "221"), class = "omit"))

Der Datensatz ist nun in der Variablen bsp9 gespeichert. Die Daten können eingesehen werden, indem die Variable aufgerufen wird:

bsp9

Parameterschätzung

Bearbeiten

Die Analyse erfolgt durch Aufruf der RSM()-Funktion

RSM(bsp9)

Da der Output noch für weitere Analysen benötigt wird, speichern wir ihn in die Variable rsm.result:

rsm.result <- RSM(bsp9)

Somit wird durch Aufruf der Variablen der Output wieder ausgegeben:

rsm.result


Results of RSM estimation: 

Call:  RSM(X = bsp9)  

Conditional log-likelihood: -3045.451 
Number of iterations: 20 
Number of parameters: 29 

Basic Parameters eta:
              eta 1      eta 2      eta 3      eta 4     eta 5      eta 6     eta 7     eta 8
Estimate 0.03942847 -0.1626761 -0.1761274 -0.4188407 0.0664840 0.03942847 0.3960766 0.3263914
Std.Err  0.11411907  0.1139070  0.1139206  0.1147358 0.1142076 0.11411903 0.1164774 0.1158098

              eta 9      eta 10     eta 11     eta 12     eta 13      eta 14    eta 15     eta 16
Estimate -0.2434006 -0.01457923 -0.5822437 -0.5003087 -0.0819464 -0.08194639 0.2436041 0.03942844
Std.Err   0.1140388  0.11398516  0.1158746  0.1152457  0.1138975  0.11389774 0.1151493 0.11411904

             eta 17     eta 18     eta 19    eta 20    eta 21    eta 22     eta 23    eta 24    eta 25
Estimate -0.3917694 -0.1357728 0.08002696 0.3263914 0.3681175 0.2711103 0.01240908 0.0664840 0.3541815
Std.Err   0.1145923  0.1138901 0.11425720 0.1158098 0.1161972 0.1153532 0.11404490 0.1142077 0.1160637

             eta 26     eta 27     eta 28     eta 29
Estimate 0.08002695 -1.2993059 -4.0572947 -7.5319724
Std.Err  0.11425714  0.1444744  0.2686848  0.4036785


Wird die Variable rsm.result an die summary()-Funktion übergeben, werden neben den eta-Werten auch die beta-Werte angezeigt:

summary(RSM(bsp9))

oder in unserem Fall

summary(rsm.result)

liefern die (hier in Wikibooks aus Platzgründen gekürzte) Ausgabe:

Results of RSM estimation:  

Call:  RSM(X = bsp9) 

Conditional log-likelihood: -3045.451 
Number of iterations: 20 
Number of parameters: 29 

Basic Parameters (eta) with 0.95 CI:
       Estimate Std. Error lower CI upper CI
eta 1     0.039      0.114   -0.184    0.263
eta 2    -0.163      0.114   -0.386    0.061
eta 3    -0.176      0.114   -0.399    0.047
eta 4    -0.419      0.115   -0.644   -0.194

( . . . ) 

eta 27   -1.299      0.144   -1.582   -1.016
eta 28   -4.057      0.269   -4.584   -3.531
eta 29   -7.532      0.404   -8.323   -6.741


Item Easiness Parameters (beta) with 0.95 CI:
                Estimate Std. Error lower CI upper CI
beta Frage1.c1     0.080      0.114   -0.144    0.304
beta Frage1.c2    -1.139      0.270   -1.667   -0.611
beta Frage1.c3    -3.817      0.433   -4.666   -2.968
beta Frage1.c4    -7.212      0.606   -8.399   -6.024
beta Frage2.c1     0.039      0.114   -0.184    0.263
beta Frage2.c2    -1.220      0.270   -1.749   -0.692
beta Frage2.c3    -3.939      0.434   -4.789   -3.089
beta Frage2.c4    -7.374      0.607   -8.564   -6.185
beta Frage3.c1    -0.163      0.114   -0.386    0.061
beta Frage3.c2    -1.625      0.271   -2.155   -1.094
beta Frage3.c3    -4.545      0.438   -5.403   -3.687
beta Frage3.c4    -8.183      0.615   -9.388   -6.978

( . . . )

beta Frage26.c1    0.354      0.116    0.127    0.582
beta Frage26.c2   -0.591      0.271   -1.122   -0.060
beta Frage26.c3   -2.995      0.433   -3.843   -2.147
beta Frage26.c4   -6.115      0.601   -7.294   -4.937
beta Frage27.c1    0.080      0.114   -0.144    0.304
beta Frage27.c2   -1.139      0.270   -1.667   -0.611
beta Frage27.c3   -3.817      0.433   -4.666   -2.968
beta Frage27.c4   -7.212      0.606   -8.399   -6.024

Schwellenwerte

Bearbeiten

Die Schwellenwerte (Thresholds) der einzelnen Items werden mit der Funktion thresholds() angezeigt.

thresholds(rsm.result)

liefert die Ausgabe:

Design Matrix Block 1:
        Location Threshold 1 Threshold 2 Threshold 3 Threshold 4
Frage1   1.80297    -0.08002     1.21928     2.67797     3.39466
Frage2   1.84356    -0.03943     1.25988     2.71856     3.43525
Frage3   2.04567     0.16268     1.46198     2.92066     3.63735
Frage4   2.05912     0.17613     1.47543     2.93412     3.65081
Frage5   2.30183     0.41884     1.71815     3.17683     3.89352
Frage6   1.81651    -0.06648     1.23282     2.69150     3.40819
Frage7   1.84356    -0.03943     1.25988     2.71856     3.43525
Frage8   1.48692    -0.39608     0.90323     2.36191     3.07860
Frage9   1.55660    -0.32639     0.97291     2.43160     3.14829
Frage10  2.12639     0.24340     1.54271     3.00139     3.71808
Frage11  1.89757     0.01458     1.31389     2.77257     3.48926
Frage12  2.46524     0.58224     1.88155     3.34023     4.05692
Frage13  2.38330     0.50031     1.79961     3.25830     3.97499
Frage14  1.96494     0.08195     1.38125     2.83994     3.55662
Frage15  1.96494     0.08195     1.38125     2.83994     3.55662
Frage16  1.63939    -0.24360     1.05570     2.51438     3.23107
Frage17  1.84356    -0.03943     1.25988     2.71856     3.43525
Frage18  2.27476     0.39177     1.69108     3.14976     3.86645
Frage19  2.01877     0.13577     1.43508     2.89376     3.61045
Frage20  1.80297    -0.08003     1.21928     2.67796     3.39465
Frage21  1.55660    -0.32639     0.97291     2.43160     3.14829
Frage22  1.51488    -0.36812     0.93119     2.38987     3.10656
Frage23  1.61188    -0.27111     1.02820     2.48688     3.20357
Frage24  1.87058    -0.01241     1.28690     2.74558     3.46227
Frage25  1.81651    -0.06648     1.23282     2.69150     3.40819
Frage26  1.52881    -0.35418     0.94512     2.40381     3.12050
Frage27  1.80297    -0.08003     1.21928     2.67796     3.39465

Das partial-credit Modell

Bearbeiten

Der Befehl zur Analyse nach dem partial-credit Modell lautet PCM()

Als Untersuchungsobjekt für PCM() wird eine Matrix oder Datenframe benötigt. Die Reihen der Matrix entsprechen den Untersuchungsfällen (n) und die Spalten entsprechen den Ergebnissen der Items.

Die folgenden Parameter können an PCM() übergeben werden:

PCM(X, W, se = TRUE, sum0 = TRUE, etaStart)
  • X = die zu analysierernde Datenmatrix
  • W = optionale Designmatrix zur Normierung auf ein bestimmtes Items
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)
  • sum0 = TRUE=Normierung der Parameter auf sum-0 / FALSE=Begrenzung des ersten Parameters auf 0
  • etaStart = optionale Übergabe von vermuteten Parameterschätzwerten

Das lineare Ratingskalen-Modell

Bearbeiten

Der Befehl zur Analyse nach dem linearen Ratingskalen-Modell lautet LRSM()

Als Untersuchungsobjekt für LRSM() wird eine Matrix oder Datenframe benötigt. Die Reihen der Matrix entsprechen den Untersuchungsfällen (n) und die Spalten entsprechen den Ergebnissen der Items.

Die folgenden Parameter können an LRSM() übergeben werden:

LRSM(X, W, mpoints = 1, groupvec = 1, se = TRUE, sum0 = TRUE, etaStart)
  • X = die zu analysierernde Datenmatrix
  • W = optionale Designmatrix zur Normierung auf ein bestimmtes Items
  • mpoints = Anzahl der Messpunkte
  • groupvec = Vector der Länge N, welche die Gruppenzugehörigkeiten enthält. Wird groupvec=1 gesetzt, werden keine Gruppen verwendet
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)
  • sum0 = TRUE=Normierung der Parameter auf sum-0 / FALSE=Begrenzung des ersten Parameters auf 0
  • etaStart = optionale Übergabe von vermuteten Parameterschätzwerten

Das lineare partial-credit Modell

Bearbeiten

Der Befehl zur Analyse nach dem linearen partial-credit Modell lautet LPCM()

Als Untersuchungsobjekt für LPCM() wird eine Matrix oder Datenframe benötigt. Die Reihen der Matrix entsprechen den Untersuchungsfällen (n) und die Spalten entsprechen den Ergebnissen der Items.

Die folgenden Parameter können an LPCM() übergeben werden:

LPCM(X, W, mpoints = 1, groupvec = 1, se = TRUE, sum0 = TRUE, etaStart)
  • X = die zu analysierernde Datenmatrix
  • W = optionale Designmatrix zur Normierung auf ein bestimmtes Items
  • mpoints = Anzahl der Messpunkte
  • groupvec = Vector der Länge N, welche die Gruppenzugehörigkeiten enthält. Wird groupvec=1 gesetzt, werden keine Gruppen verwendet
  • se = Berechnung der Standardfehler (TRUE=ja / FALSE=nein)
  • sum0 = TRUE=Normierung der Parameter auf sum-0 / FALSE=Begrenzung des ersten Parameters auf 0
  • etaStart = optionale Übergabe von vermuteten Parameterschätzwerten

unterstütze Funktionen im eRm-Package

Bearbeiten

Das eRm-Package enthält/unterstützt weitere Funktionen, denen Objekte aus der Rasch-Analyse übergeben werden müssen.

Funktion benötigt Output von
  • plotjointICC()
  • LRtest()
  • plotICC()
  • Waldtest()
  • person.parameter()
---- andere Packages ----
  • thresholds()
  • plotGOF()
  • LRtest()
  • IC()
  • itemfit()
  • personfit()
  • pmat()
---- andere Packages ----
  • person.parameter()

Package TAM

Bearbeiten

Package ltm

Bearbeiten

Literatur

Bearbeiten
  • Koller, Alexandrowicz & Hatzinger (2012): "Das Rasch Modell in der Praxis. Eine Einführung in eRm." Wien: facultas/UTB. ISBN 978-3-8252-3786-8.
  • Poinstingl, Mair & Hatzinger (2007): "Manual zum Softwarepackage eRm (extended Rasch modeling)", Pabst, ISBN 978-3-8996-7438-5
  • Mair & Hatzinger (2007): "Extended Rasch modeling: The eRm package for the application of IRT Models in R", Journal of Statistical Software 20(9) (PDF)
  • Rizopoulos (2006): "ltm: An R Package for Latent Variable Modeling and Item Response Analysis." Journal of Statistical Software 17(5) (PDF)

Weblinks

Bearbeiten


Inhaltsverzeichnis

Bearbeiten