-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcpMod.jags
More file actions
68 lines (61 loc) · 1.81 KB
/
cpMod.jags
File metadata and controls
68 lines (61 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
model{
for(j in 1:nWS){
cp[j] ~ dbern(prob[j])
logit(prob[j]) <- ability[stud[j]]+difficulty[section[j]]
}
for(i in 1:nstud){
ability[i] ~ dnorm(classEffAb[class[i]]+schoolEffAb[school[i],year[i]]+stateEffAb[state[i],year[i]],tauAb)
Y[i]~dnorm(yhat[i],tauStd)
yhat[i] <- beta0+X[i,]%*%beta+beta.cp*ability[i]+classEffY[class[i]]+schoolEffY[school[i],year[i]]+stateEffY[state[i],year[i]]
}
for(cls in 1:ncls){
classEffAb[cls]~ dnorm(0,tauClsAb)
classEffY[cls]~ dnorm(0,tauClsY)
}
for(scl in 1:nscl){
schoolEffAb[scl,1]~ dnorm(0,tauSclAb1)
schoolEffAb[scl,2]~ dnorm(0,tauSclAb2)
schoolEffY[scl,1]~ dnorm(0,tauSclY1)
schoolEffY[scl,2]~ dnorm(0,tauSclY2)
}
for(st in 1:nst){
stateEffAb[st,1]~ dnorm(0,tauStAb1)
stateEffY[st,1]~ dnorm(0,tauStY1)
stateEffAb[st,2]~ dnorm(0,tauStAb2)
stateEffY[st,2]~ dnorm(0,tauStY2)
}
for(sec in 1:nsec){
difficulty[sec] ~ dnorm(0,1/100)
}
alpha0 ~ dnorm(0,1/100)
beta0 ~ dnorm(0,1/100)
beta.cp ~ dnorm(0,1/100)
for(cov in 1:ncov){
beta[cov] ~ dnorm(0,1/100)
}
# variance components
sigAb~dt(0, pow(2.5,-2), 1)T(0,)
sigStd~dt(0, pow(2.5,-2), 1)T(0,)
sigClsAb~dt(0, pow(2.5,-2), 1)T(0,)
sigClsY~dt(0, pow(2.5,-2), 1)T(0,)
sigSclAb1~dt(0, pow(2.5,-2), 1)T(0,)
sigSclY1~dt(0, pow(2.5,-2), 1)T(0,)
sigStAb1~dt(0, pow(2.5,-2), 1)T(0,)
sigStY1~dt(0, pow(2.5,-2), 1)T(0,)
sigSclAb2~dt(0, pow(2.5,-2), 1)T(0,)
sigSclY2~dt(0, pow(2.5,-2), 1)T(0,)
sigStAb2~dt(0, pow(2.5,-2), 1)T(0,)
sigStY2~dt(0, pow(2.5,-2), 1)T(0,)
tauAb <- pow(sigAb,-2)
tauStd <- pow(sigStd,-2)
tauClsAb<- pow(sigClsAb,-2)
tauClsY <- pow(sigClsY,-2)
tauSclAb1 <- pow(sigSclAb1,-2)
tauSclY1 <- pow(sigSclY1,-2)
tauStAb1 <- pow(sigStAb1,-2)
tauStY1 <- pow(sigStY1,-2)
tauSclAb2 <- pow(sigSclAb2,-2)
tauSclY2 <- pow(sigSclY2,-2)
tauStAb2 <- pow(sigStAb2,-2)
tauStY2 <- pow(sigStY2,-2)
}