est_thetaphi {lazy.girt} | R Documentation |
Estimation of Theta and Phi
est_thetaphi(Uc = NULL, U = NULL, param = NULL, method = "EAP", thetaphi = NULL, npoint = NULL, theta = NULL, npointth = 21, thmin = -3, thmax = 3, phi = NULL, npointph = 5, phmin = 0, phmax = 5, thd = NULL, thdist = "NORMAL", thmean = 0, thstd = 1, phd = NULL, phdist = "GBETA", paramab = c(1, 3), print = 0, plot = 0)
Uc |
The compressed item response data. |
U |
The uncompressed item response data. |
param |
The parameter data frame. |
method |
= "EAP", "MAP" or "ML" or combinations of these. |
thetaphi |
Discrete theta-phi grid values. |
npointth |
# of discrete points for theta. |
thmin |
Minimum value of discrete thata value. |
thmax |
Maximum value of discrete thata value. |
npointph |
# of discrete points for phi. |
phmin |
Minimum value of discrete phi value. |
phmax |
Maximum value of discrete phi value. |
thdist |
theta distribution "NORMAL" or "UNIFORM" |
thmean |
The prior mean of normal theta distribution. |
phdist |
phi distribution "GBETA" |
paramab |
The prior param for the phi distribution. |
print |
= 1 to print the result. |
thphd |
pdf of theta-phi normalized to sum to unity. |
thsd |
The prior standard deviation of normal theta distribution. |
The core part of EAP is as follows:
ULP=U eULP=exp(ULP)*matrix(1,nrow(ULP)) H=eULP/rowSums(eULP) thphhat=H
where logP
is the log of irf, U
is the un-compressed
item response, and thphd
is the normalized prior theta-phi pdf.
The second line calculates product over (jk) of P_ijk(theta)^U_ijk
times the prior pdf of theta-phi, which is proportional to the post dist.
The third line normalizes the above to obtain the proper post dist.
The fourth line calculates the posterior mean.
A list of
thphhat Estimated theta valuesr
thetaphi Theta-phi grid values used
thphd Theta-phi disrtibution for EAP
method
npoints # of grid points
# all possible item response patterns of a five item test param=param_EQS5 Uc=Uc_5 paramab=c(1,2) resthph=est_thetaphi( Uc=Uc, param=param, print=1, plot=1 , method=c("MAP","ML"), npointth=11 , phmin=0, phmax=3, paramab=paramab, npointph=11 ) # 30 binary items param=paramBr # one obs per 500 random theta-phi resg <- gendata_gIRT( 1, param, thdist="NORMAL", phdist="GBETA", compress=1 , npoint=500, phmin=0, phmax=2, paramab=c(1,4) ) Uc1=as.data.frame( resg$U ) thetaphi_ORG1=resg$thetaphi # item parameter estimation res1=guIRT( Uc=Uc1, ncat=param$ncat, type=param$type , npointth=21, npointph=5, phmin=0, phmax=2 , paramab=c(1,4), print=2 ) Print( cor( thetaphi_ORG1,res1$EAP ), cor( param[,c("p1","p2")], res1$param[,c("p1","p2")] ) ) plot( res1$EAP[,1], res1$EAP[,2]) dummy=freqdist1( res1$EAP[,1], npoints=101, plot=1 ) dummy=freqdist1( res1$EAP[,2], npoints=101, plot=1 ) # estimate theta and phi resthph=est_thetaphi( Uc=Uc1, param=res1$param, print=1, , method="EAP", npointth=11 , phmin=0, phmax=3, paramab=c(1,2), npointph=11 ) plot( resthph$thphhat ) Print( cor( thetaphi_ORG1, resthph$thphhat ) )