140 Appendices APPENDIX B OpenBugs script for the combined IRT and GT model # N teachers j = 1,...,N # NN students i = 1,...,NN # T time points t = 1,...T # K items k = 1,...,K # M categories m = 1,...,M model { for ( j in 1 : N) { for (i in 1 : NN) { for (t in 1 : T) { for (k in 1 : K) { for (m in 1 : M) { num1[i,j,t,k,m] <- exp((m-1)*a[k]*theta[i,j,t]-delta[k,m]) } den1[i,j,t,k] <- sum(num1[i,j,t,k, ]) }}}} for ( j in 1 : N) { for (i in 1 : NN) { for (t in 1 : T) { for (k in 1 : K) { for (m in 1 : M) { prob[i,j,t,k,m] <- num1[i,j,t,k,m] / den1[i,j,t,k] } Y[ j,i,t,k] ~ dcat(prob[i,j,t,k,1:M]) } exp.theta[i,j,t] <- u.j[ j]+beta1[t]+beta12[ j,t]+gamma.ij[( j-1)*NN+i,t] theta[i,j,t] ~ dnorm( exp.theta[i,j,t], tau.ijt ) exp.gamma[( j-1)*NN+i,t] <- zeta.ij[( j-1)*NN+i] gamma.ij[( j-1)*NN+i,t] ~ dnorm( exp.gamma[( j-1)*NN+i,t], tau.ij ) }}} # Priors for (t in 1:T) { beta1[t] ~ dnorm(0, tau.t ) } for ( j in 1:N) { for (t in 1:T) { beta12[ j,t] ~ dnorm(0, tau.jt) }} for (k in 1:K) { a[k] ~ dnorm(1, 1)I(0,) delta[k,1] <- 0 for (m in 2:M) { delta[k,m] ~ dnorm(0, 1) }} for ( j in 1:N) { u.j[ j] ~ dnorm(mean, 1.0 ) for (i in 1:NN) {zeta.ij[( j-1)*NN+i] ~ dnorm(0,1)} } mean ~ dnorm(0,0.1) tau.t ~ dgamma(40,16) var.t <- 1/tau.t var.j <- 1.0 tau.jt ~dgamma(40,16) var.jt <- 1./tau.jt tau.ij ~ dgamma(40,16) var.ij <- 1/tau.ij tau.ijt ~ dgamma(40,16) var.ijt <- 1/tau.ijt REL <- 1. /(1.+(var.t/T)+(var.jt/T)+(var.ij/N)+(var.ijt/(T*N))) }
RkJQdWJsaXNoZXIy MjY0ODMw