-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_changes.R
More file actions
26 lines (24 loc) · 1.35 KB
/
test_changes.R
File metadata and controls
26 lines (24 loc) · 1.35 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
library(IRTpp)
library(numDeriv)
wrapper.loglik<-function(test,traits,z)
{
items.default=parameter.list(matrix(z,ncol=3))
loglik(test=test, traits= traits, z=items.default)
}
model="3PL"
model=3
items=20
individuals=1000
seed=1
testArr = simulateTest(items=items,individuals=individuals,reps=1,model=model,seed=seed,threshold=0.05)
ret=NULL
ret$est.irtpp.items = irtpp(dataset=testArr$test[[1]],model=model)
ret$ltt.irtpp = individual.traits(dataset=testArr$test[[1]],model=model,itempars=ret$est.irtpp.items,method="EAP");
ret$map.irtpp = individual.traits(dataset=testArr$test[[1]],model=model,itempars=ret$est.irtpp.items,method="MAP")
ret$loglik.irtpp.map = loglik(ret$map.irtpp$patterns,ret$map.irtpp$trait,parameter.list(ret$est.irtpp.items))
ret$loglik.irtpp.eap = loglik(ret$ltt.irtpp$patterns,ret$ltt.irtpp$trait,parameter.list(ret$est.irtpp.items))
items.vector = c(ret$est.irtpp.items)
ret$gradient.irtpp.map = grad(wrapper.loglik, test=ret$map.irtpp$patterns,traits=ret$map.irtpp$trait,x=items.vector)
ret$gradient.irtpp.eap = grad(wrapper.loglik, test=ret$ltt.irtpp$patterns,traits=ret$map.irtpp$trait,x=items.vector)
ret$gradient.irtpp.map = hessian(wrapper.loglik, test=ret$map.irtpp$patterns,traits=ret$map.irtpp$trait,x=items.vector)
ret$gradient.irtpp.eap = hessian(wrapper.loglik, test=ret$ltt.irtpp$patterns,traits=ret$map.irtpp$trait,x=items.vector)