# NOT RUN {
library(ggplot2)
library(dplyr)
set.seed(10001)
### generate data
data <- model_3pl()$gendata(1000, 40)
### MLE
x <- estimate_mle(data$responses, debug=TRUE)
y <- rbind(data.frame(param='t', true=data$people$theta, est=x$t),
data.frame(param='a', true=data$items$a, est=x$a),
data.frame(param='b', true=data$items$b, est=x$b),
data.frame(param='c', true=data$items$c, est=x$c))
group_by(y, param) %>%
summarise(corr=cor(true, est), rmse=rmse(true, est))
ggplot(y, aes(x=true, y=est, color=param)) +
geom_point(alpha=.5) + facet_wrap(~param, scales="free") +
xlab("True Parameters") + ylab("Estimated Parameters") +
theme_bw()
group_by(y, param) %>% summarise(corr=cor(true, est),
rmse=rmse(true, est), mean=mean(est), sd=sd(est))
### Bayesian
x <- estimate_bayesian(data$responses, debug=TRUE)
y <- rbind(data.frame(param='t', true=data$people$theta, est=x$t),
data.frame(param='a', true=data$items$a, est=x$a),
data.frame(param='b', true=data$items$b, est=x$b),
data.frame(param='c', true=data$items$c, est=x$c))
group_by(y, param) %>% summarise(corr=cor(true, est), rmse=rmse(true, est))
ggplot(y, aes(x=true, y=est, color=param)) +
geom_point(alpha=.5) + facet_wrap(~param, scales="free") +
xlab("True Parameters") + ylab("Estimated Parameters") +
theme_bw()
group_by(y, param) %>% summarise(corr=cor(true, est),
rmse=rmse(true, est), mean=mean(est), sd=sd(est))
# }
Run the code above in your browser using DataLab