######################################################################
###                                                                ###
### (c) 2024 | Hynek Cígler                                        ###
### contact: cigler@fss.muni.cz                                    ###
### Department of Psychology                                       ###
### Faculty of Social Studies, Masaryk University                  ###
###                                                                ###
### PSYn4790: Psychometrika - Měření v psychologii                 ###
### Teorie zobecnitelnosti: Příklady z prezentace                  ###
###                                                                ###
######### Tue Nov 12 08:32:10 2024 ###################################

## This example uses data from Shavelson and Webb (2005), Table 36-2.
## Shavelson, R. J., & Webb, N. M. (2005). Generalizability theory. In J.L. Green, G. Camilli, G. & P. B. Elmore (Eds.), 
##    Complementary Methods for Research in Education (3rd ed., 599–612). Washington, DC: AERA.

P <- 1.108
I <- .102
O <- .030
PI <- .810
PO <- .230
IO <- .001
PIO <- 1.413


# Příklad 1: Relativní D-Studie -------------------------------------------------------
## p*I*O, relativní D-studie
## 10 položek , 2 administrace

(e1 <- PI/10 + PO/2 + PIO / (10*2))
(P / (P + e1))

# Příklad 2: Absolutní D-Studie -------------------------------------------------------
## p*I*O, absolutní D-studie
## 10 položek , 2 administrace

(e2 <- I/10 + O/2 + PI/10 + PO/2 + IO/(10*2) + PIO / (10*2))
(P / (P + e2))

# Příklad 3: Smíšená D-Studie -------------------------------------------------------
## p*I*O, smíšená D-studie
## 10 položek (relativní), 2 administrace (absolutní)

(e3 <- O/2 + PI/10 + PO/2 + IO/(10*2) + PIO / (10*2))
(P / (P + e3))

# Příklad 4: Kriteriální D-Studie -------------------------------------------------------
## p*I*O, smíšená D-studie
## 10 položek (relativní), 2 administrace (absolutní)

## Definice funkce kriteriální reliability
lambda <- function(sigma_p = P, M = 3.500, lambda = 2, N = 100, 
                   sigma_e = I/10 + O/2 + PI/(1*10) + PO/(1*2) + IO/(10*2) + PIO/(1*10*2), 
                   sigma_M = sigma_p/N + I/10 + O/2 + PI/(N*10) + 
                     PO/(N*2) + IO/(10*2) + PIO/(N*10*2)) {
  rel <- (sigma_p + (M-lambda)**2 - sigma_M)/
    (sigma_p + (M-lambda)**2 - sigma_M + sigma_e)
  rel
}

## příklad použití (kritérium 2)
lambda(lambda = 2)

## vzorová data
dat <- data.frame(score = seq(0,5,by=.01)) ## potenciální hodnoty kritických skórů
dat$rel <- lambda(lambda = dat$score)      ## reliability těchto skórů

## graf
plot(dat, type = "l", lwd = 3, ylim = c(0,1), las=1, 
     xlab = "Hodnota kritéria", ylab = "reliabilita")
abline(h=c(0,1))

abline(v = 3.5, col = "darkgray", lwd = 2, lty = 2)
abline(h = c(relativni = .806, absolutni = .791), col = c("darkblue", "darkgreen"), lwd = 2)
legend("bottomleft", c("spolehlivost klasifikace", "relativní D-studie", "absolutní D-studie", "průměr vzorku"), 
       lwd = c(3, 2, 2, 2), lty = c(1,1,1,2), 
       col = c("black", "darkblue", "darkgreen", "darkgray"), inset = .02)





# Srovnání designů --------------------------------------------------------

## Levý sloupec ------------------------------------------------------------

## Relativní: p*I*O, P=10 (relativní), O=2 (relativní)
(P / (P + e1))

## Smíšená: p*I*O, P=10 (relativní), O=2 (absolutní)
(P / (P + e3))

## Absolutní: p*I*O, P=10 (absolutní), O=2 (absolutní)
(P / (P + e2))

## Absolutní: p*I*O, P=10 (absolutní), O=2 (absolutní)
(P / (P + I/10 + O/1 + PI/10 + PO/1 + IO/(10*1) + PIO / (10*1)))



## Pravý sloupec ------------------------------------------------------------

## Vnitřní konzistence: p*I*o, P=10 (relativní), o=1 (relativní, není chyba)
((P + PO) / (P + PO + (PI/10 + PIO/10)))

## Test-retest: p*I*o, P=10 (relativní, není chyba), o=1 (absolutní)
((P + PI/10) / (P + PI/10 + (PO/1 + PIO/10)))

## Reliabilita paralelních forem: p*(I:o), P=10 (absolutní), o=1 (absolutní)
(P / (P + PI/10 + PO/1 + PIO/10))

## Absolutní: p*(I:O), P= 2*5 (absolutní), O=2 (absolutní)
(P / (P + I/(2*5) + O/2 + PI/(2*5) + PO/2 + IO/(2*5) + PIO / (2*5)))




# Příklad 6: Srovnání alfy a relativní D-studie ----------------------------

## Vlevo: Relativní D-studie -----------------------------------------------

## p*I*o: 10 položek při 1 administraci
(P / (P + PI/10 + PO/1 + IO/(10*1) + PIO / (10*1)))

## p*(I*O): 10 položek při 10 administracích
(P / (P + PI/10 + PO/10 + IO/(10*1) + PIO / (10*1)))


## Vpravo: Vnitřní konzistence ---------------------------------------------

## p*I*o: 10 položek při 1 administraci (fixed)
((P + PO) / (P + PO + (PI/10 + PIO/10)))

## Vnitřní konzistence p*I*o: 10 položek při 10 administracích
((P) / (P + PO/10 + (PI/10 + PIO/10)))
