実際に得られたデータは、パラメータがどのような値の時に最も生じやすいかを調べ、そのデータの生じやすさが最大となるようなパラメータ値を持って推定値とする方法.
局所独立性の仮定が満たされていれば、項目反応パタンをとる確率をICCの積で表すことができる。
これは最尤法が適用可能であることを意味する。
項目の困難度パラメータがパラメータが分かっているという前提で、項目反応パタンから能力パラメータを推定する。
横軸に\(\theta\)をとり、縦軸を尤度関数として数値計算を行い、尤度関数が最大となる\(\theta\)を能力の推定値とする。
微分計算に頼らなくても、数値計算で算出ができる。
尤度関数.
icc1PL <- function(b,x){
prob <- (1)/(1+exp(-(x-b)))
prob
}
x <- seq(-3,3,0.1)
Q1 <- 1 - icc1PL(1, x)
P2 <- icc1PL(0, x)
P3 <- icc1PL(-1, x)
like <- Q1*P2*P3
l.like <- log(like)
plot(x,like,type="l")
対数尤度関数.
plot(x,l.like,type="l")
最尤推定値.
l.like <- log(like)
#l.like2 <- log(Q1)+log(P2)+log(P3)
x[which.max(l.like)]
## [1] 0.8
このようにwhich関数により最尤推定値を求めることができる。
実際には項目パラメータは未知である。そこで、
これらは第8章で扱われる。
icc3PL <- function(a, b, c, theta){
prob <- c + (1-c)/(1+exp(-1.7*a*(theta-b)))
prob
}
x <- seq(-3,3,0.1)
Q1 <- 1 - icc3PL(1.27, 1.19, 0.10, x)
Q2 <- 1 - icc3PL(1.34, 0.59, 0.15, x)
Q3 <- 1 - icc3PL(1.14, 0.15, 0.15, x)
P4 <- icc3PL(1.00, -0.59, 0.20, x)
P5 <- icc3PL(0.67, -2.00, 0.01, x)
like <- Q1*Q2*Q3*P4*P5
plot(x,like,type="l")
x[which.max(like)]
## [1] -0.5