IRTで扱う適合度は大きく分けて3つ.
z3統計量(Rでの計算).
パッケージirtoysでは関数apiで計算可能である(第13章p315参照).
ここでは定義に基づいて計算しているが煩雑である。
詳しくは、テキストp204参照.
a <- c(1,1.5,0.7,1.2)
b <- c(1.5,0.5,0,-1)
c <- c(0,0,0,0)
u <- c(1,0,1,1)
t1 <- 0.776438
ip <- matrix(c(a,b,c),nrow=4);ip
## [,1] [,2] [,3]
## [1,] 1.0 1.5 0
## [2,] 1.5 0.5 0
## [3,] 0.7 0.0 0
## [4,] 1.2 -1.0 0
icc2PL <- function(a,b,theta){
1/(1+exp(-1.7*a*(theta-b)))
}
E3 <- function(a,b,theta){sum((icc2PL(a,b,theta)*log(icc2PL(a,b,theta))+(1-icc2PL(a,b,theta))*log(1-icc2PL(a,b,theta))))}
E3(a,b,t1)
## [1] -1.886624
S3 <- function(a,b,theta){sqrt(sum(icc2PL(a,b,theta)*(1-icc2PL(a,b,theta))*(log((icc2PL(a,b,theta)/(1-icc2PL(a,b,theta))))^2)))}
S3(a,b,t1)
## [1] 0.9385259
LL <- function(u,a,b,theta){ sum(u*log(icc2PL(a,b,theta)) + (1-u)*log(1-icc2PL(a,b,theta)))
}
LL(u,a,b,t1)
## [1] -2.953549
z3 <- (LL(u,a,b,t1)-E3(a,b,t1))/S3(a,b,t1);z3
## [1] -1.13681
z3値は、標準正規分布で近似できると言われている(p203).
\(|z_3|<2\)
であるので、個人適合度に有意な差はないと判断できる。
\(\chi^2\)型統計量と\(G^2\)型統計量がある(p206).
パッケージirtoysでは関数itfで計算可能である(第13章p316参照).
尤度比カイ二乗統計量が用いられる。
Rでの計算もできるがここで止め、立ち入らないことにしよう。