# NOT RUN {
# data generation
library(ggplot2)
library(reshape2)
library(dplyr)
data <- irt_model("3pl")$gendata(2000, 50)
# Estimate item parameters: JMLE
x.jmle <- estimate_items(data$responses, "3pl", "jmle", people=data$people)
# Estimate item parameters: MMLE
x.mmle <- estimate_items(data$responses, "3pl", "mmle")
# Estimate item parameters: BME
x.bme <- estimate_items(data$responses, "3pl", "bme")
# Comparison with true parameters
sapply(list(jmle=x.jmle, mmle=x.mmle, bme=x.bme), function(x) diag(cor(x$items, data$items)))
sapply(list(jmle=x.jmle, mmle=x.mmle, bme=x.bme), function(x) rmse(x$items, data$items))
x <- rbind(data.frame(method="jmle", melt(x.jmle$items), true=melt(data$items)$value),
data.frame(method="mmle", melt(x.mmle$items), true=melt(data$items)$value),
data.frame(method="bme", melt(x.bme$items), true=melt(data$items)$value))
ggplot(data=x, aes(x=true, y=value, color=method)) + geom_point(pch=1) +
facet_grid(variable ~ method, scales="free") + xlab("True") + ylab("Est.") +
theme_bw() + theme(legend.key=element_blank())
# }
Run the code above in your browser using DataLab