Ratingskala

Bei Onlinebefragungen sieht man immer häufiger die Ratingskala bei der Merkmalsausprägung, die in eine Rangordnung gebracht werden muss. Die Auswertung solcher Rangreihen hingegen ist eine nicht triviale Angelegenheit. Die ermittelten Rangwerte stellen eine Ordinalskala dar, die einfachste Darstellung kann mit Modalwert (Häufigster Wert) und Medianwert (50% Wert) erfolgen. Um mehr Informationen aus den Daten zu erhalten, sind die Werte der Rangskala in geeigneter Form zu transformieren. Eine Methode ist die Transformation der Rangreihen in die intervallskalierte Merkmale überführt werden. Die Grundidee dieser Methode geht auf Thurstone (1927) nach dem “Law of Categorical Judgement” zurück. Dabei werden die kumulierten Häufigkeiten in Normalverteilte z-Werte übergeführt und aus diesen die intervallskalierten Markmalsausprägungen gebildet. Bortz (2006) Seite 159

Mit R ist dies elegant zu berechnen. Mit den Funktionen tabel() und cumsum() lassen sich die kumulierten Häufigkeiten berechnen und mit der Funktion qnorm() die entsprechenden z-Werte.

Zur Veranschaulichung habe ich hier ein fiktives Beispiel. Es handelt von einer Befragung von Kunden eines Supermarktes. Die Kunden werden befragt, welche Art von Lebensmitteln sie bevorzugen: (a) Produkte aus konventioneller Landwirtschaft (Tab. 1) und (b) Produkte aus biologischer Landwirtschaft. Dabei Reihen die Kunden Begriffe die im Zusammengang mit den Produkten stehen nach Wichtigkeit, zu den Kriterien zählen Qualität, Aussehen, Vielfalt, Verfügbarkeit und Preis. Durch die Betrachtung der Häufigkeiten der Rangplätze lässt sich schon gut abschätzen, welcher Begriff an erster Stelle steht, hier ist bei den Produkte aus konventioneller Landwirtschaft der “Geschmack” an erster Stelle und bei Produkte aus biologischer Landwirtschaft die “Qualität”.

Tab 1: Produkte aus konventioneller und biologischer Landwirtschaft (N = 30)
Group Item R1 R2 R3 R4 R5 R.NA M SD z.score
konventionell Qualitaet 20% (3) 20% (3) 7% (1) 53% (8) <1% (0) <1% (0) 2.93 1.28 0.33
konventionell Preis 53% (8) 13% (2) <1% (0) <1% (0) 33% (5) <1% (0) 2.47 1.88 0.22
konventionell Vielfalt 7% (1) 27% (4) 47% (7) 13% (2) 7% (1) <1% (0) 2.87 0.99 0.03
konventionell Verfuegbarkeit 7% (1) 33% (5) 40% (6) 7% (1) 13% (2) <1% (0) 2.87 1.13 -0.02
konventionell Geschmack 13% (2) 7% (1) 7% (1) 27% (4) 47% (7) <1% (0) 3.87 1.46 -0.55
biologisch Geschmack 40% (6) 20% (3) 20% (3) <1% (0) 20% (3) <1% (0) 2.40 1.55 0.35
biologisch Qualitaet 27% (4) 13% (2) 20% (3) 20% (3) 20% (3) <1% (0) 2.93 1.53 0.06
biologisch Vielfalt 13% (2) 27% (4) 27% (4) 20% (3) 13% (2) <1% (0) 2.93 1.28 0.05
biologisch Preis 13% (2) 33% (5) 7% (1) 27% (4) 20% (3) <1% (0) 3.07 1.44 -0.04
biologisch Verfuegbarkeit 7% (1) 7% (1) 27% (4) 33% (5) 27% (4) <1% (0) 3.67 1.18 -0.43
Law of Categorical Judgement

Was sich nicht aus den Häufigkeiten ableitet, ist die Information wie bedeutend der Unterschied unter den Rangplätzen ist. Dafür kann die oben beschriebene Maßzahl angewendet werden. Da es sich um einen z-Transformierten Wert handelt, kann der Wert zum Abschätzen der “Wichtigkeit” dienen.

Gegenüberstellung biologischer Landwirtschaft mit konventioneller Landwirtschaft

Figure 1: Gegenüberstellung biologischer Landwirtschaft mit konventioneller Landwirtschaft

In diesem Beispiel zeigt sich, dass bei Kunden die Bioprodukte kaufen der Geschmack überdurchschnittlich an erster Stelle steht und das bei Kunden die konventionelle Produkte kaufen, ist der Preis und die Vielfalt an erster Stelle stehen.

Limitation und weiterführende Methoden

Die hier vorgestellte Methode ist mit starken Limitationen behaftet nach Burton 2009 ist das Law of Categorical Judgment mathematisch incorrekt. Eine weitere Limitation ist die Verwendung bei Rangreihen hier wird unterstellt das die Rangplätze wie eine Ordinalskala skaliert ist. Weiterführende Methoden ist das Plackett-Luce-Model

PlackettLuce

require(stpvers)
library(PlackettLuce)

nlv <- 5
n <- 2 * 3 * nlv * 1
set.seed(n)

DF <-
  data.frame(
    Geschlecht = gl(2, n / 2, labels = c("Maennlich", "Weiblich")),
    Alter = gl(4, n / 4,   labels = c("20-29", "30-39", "40-49", "50-59")),
    Landwirtschaft = gl(2, n / 2, labels = c("konventionell", "biologisch"))
  )

Attribute <-
  as.data.frame(t(apply(matrix(NA, ncol = n, nrow = 5), 2,
                        function(x)
                          sample.int(5))))

Attribute[1, ] <- c(5, 1, 4, 2, 3)
Attribute[2, ] <- c(5, 1, 4, 2, 3)
Attribute[3, ] <- c(5, 2, 4, 3, 1)
Attribute[4, ] <- c(5, 1, 4, 3, 2)
Attribute[5, ] <- c(5, 1, 4, 3, 2)

Attribute[21, ] <- c(1, 2, 5, 4, 3)
Attribute[22, ] <- c(1, 4, 5, 3, 2)
Attribute[23, ] <- c(2, 5, 1, 4, 3)
Attribute[24, ] <- c(1, 4, 2, 5, 3)
Attribute[25, ] <- c(1, 4, 3, 5, 2)

attribute  <- c("Verfuegbarkeit",
                "Vielfalt",
                "Qualitaet",
                "Geschmack",
                "Preis")

Attribute<- dapply2(Attribute, function(x) factor(x, 1:5, attribute))

DF <- cbind(DF, Attribute)

head(DF)
##   Geschlecht Alter Landwirtschaft       V1             V2             V3
## 1  Maennlich 20-29  konventionell    Preis Verfuegbarkeit      Geschmack
## 2  Maennlich 20-29  konventionell    Preis Verfuegbarkeit      Geschmack
## 3  Maennlich 20-29  konventionell    Preis       Vielfalt      Geschmack
## 4  Maennlich 20-29  konventionell    Preis Verfuegbarkeit      Geschmack
## 5  Maennlich 20-29  konventionell    Preis Verfuegbarkeit      Geschmack
## 6  Maennlich 20-29  konventionell Vielfalt          Preis Verfuegbarkeit
##          V4             V5
## 1  Vielfalt      Qualitaet
## 2  Vielfalt      Qualitaet
## 3 Qualitaet Verfuegbarkeit
## 4 Qualitaet       Vielfalt
## 5 Qualitaet       Vielfalt
## 6 Geschmack      Qualitaet
res <-
  Rangreihe( ~ V1+V2+V3+V4+V5,
             DF, include.percent=FALSE, order=FALSE, include.na=FALSE,
             output=FALSE,
             caption="Produkte aus konventioneller und biologischer  Landwirtschaft")

res$input
## [1] "ordering"
names(res)
## [1] "freq"     "rel.freq" "z.value"  "mean"     "labels"   "input"   
## [7] "res"      "items"
x<- res$res
 




R <- as.rankings(res$items, res$input)

mod <- PlackettLuce( R )
coef(mod)
##           1           2           3           4           5 
##  0.00000000 -0.29417407  0.03939865 -0.01199472 -0.26192904
summary(mod)
## Call: PlackettLuce(rankings = R)
## 
## Coefficients:
##   Estimate Std. Error z value Pr(>|z|)
## 1  0.00000         NA      NA       NA
## 2 -0.29417    0.31423  -0.936    0.349
## 3  0.03940    0.30917   0.127    0.899
## 4 -0.01199    0.30838  -0.039    0.969
## 5 -0.26193    0.31191  -0.840    0.401
## 
## Residual deviance:  285.16 on 296 degrees of freedom
## AIC:  293.16 
## Number of iterations: 5
x$pc <-  round(coef(mod, log = FALSE) ,2)
x$log.pc <- round(coef(mod, log = TRUE) ,2)
x[order(x$pc,decreasing=TRUE),]
##                         Items R1 R2 R3 R4 R5 mean   sd z.score   pc log.pc
## Qualitaet           Qualitaet  4  1  4 10  0 3.77 1.36   -0.36 0.23   0.04
## Geschmack           Geschmack  4  4 11  6  0 3.13 1.25   -0.17 0.22   0.00
## Verfuegbarkeit Verfuegbarkeit  8 10  7  2  0 2.40 1.25    0.35 0.22  -0.01
## Vielfalt             Vielfalt  4  7  5  6  0 3.23 1.43   -0.06 0.17  -0.26
## Preis                   Preis 10  8  3  6  0 2.47 1.41    0.23 0.16  -0.29

Literatur

Rosner, Burton S., und Greg Kochanski. „The Law of Categorical Judgment (Corrected) and the Interpretation of Changes in Psychophysical Performance.“ Psychological Review, Bd. 116, Nr. 1, 2009, S. 116–28. Crossref, doi:10.1037/a0014463.

Bortz, Nicola, Jürgen AND Döring. 2006. Forschungsmethoden Und Evaluation Für Human- Und Sozialwissenschaftler. Berlin Heidelberg New York: Springer-Verlag.

Ähnliches