Description Usage Arguments Details Value Author(s) References See Also Examples
Compute person parameters for the GPCM and choose between five common estimation techniques: ML, WL, MAP, EAP and a robust estimation. All item parameters are treated as fixed.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
respm |
An integer matrix, which contains the examinees responses. A persons x items matrix is expected. |
thres |
A numeric matrix which contains the threshold parameter for each item. If the first row of the matrix is not set to zero (only zeroes in the first row) - then a row-vector with zeroes is added by default. |
slopes |
A numeric vector, which contains the slope parameters for each item - one parameter per item is expected. |
theta_start |
A vector which contains a starting value for each person. If NULL is submitted, the starting values are set automatically. If a scalar is submitted, this start value is used for each person. |
mu |
A numeric vector of location parameters for each person in case of MAP or EAP estimation. If nothing is submitted this is set to 0 for each person for MAP estimation. |
sigma2 |
A numeric vector of variance parameters for each person in case of MAP or EAP estimation. If nothing is submitted this is set to 1 for each person for MAP estimation. |
type |
Which maximization should be applied? There are five valid entries possible: "mle", "wle", "map", "eap" and "robust". To choose between the methods, or just to get a deeper understanding the papers mentioned below are quite helpful. The default is |
maxsteps |
The maximum number of steps the NR Algorithm will take. Default = 100. |
exac |
How accurate are the estimates supposed to be? Default is 0.001. |
H |
In case |
ctrl |
more controls
|
Please note, that robust
estimation with (Huber ability estimate) polytomous items is still experimental!
The probability choosing the k-th category is as follows:
P(x_{ij} = k | \hat α_i, \hatβ_{iv}, θ_j) = \frac{exp(∑_{v=0}^{(k-1)}\hat α_{i}(θ_j - \hat β_{iv}))}{\,∑_{c=0}^{m_i - 1}exp(∑_{v=0}^{c}\hat α_{i}(θ_j - \hat β_{iv})))}
In our case θ is to be estimated. The item parameters are assumed as fixed (usually these are estimates of a former scaling procedure).
The model simplifies to the Partial Credit Model by setting α_{i} = 1, \forall i.
The function returns a list with the estimation results and pretty much everything which has been submitted to fit the model. The estimation results can be found in OBJ$resPP
. The core result is a number_of_persons x 2 matrix, which contains the ability estimate and the SE for each submitted person.
Manuel Reif
Baker, Frank B., and Kim, Seock-Ho (2004). Item Response Theory - Parameter Estimation Techniques. CRC-Press.
Masters, G. N. (1982). A Rasch model for partial credit scoring. Psychometrika, 47(2), 149-174.
Muraki, Eiji (1992). A Generalized Partial Credit Model: Application of an EM Algorithm. Applied Psychological Measurement, 16, 159-176.
Muraki, Eiji (1993). Information Functions of the Generalized Partial Credit Model. Applied Psychological Measurement, 17, 351-363.
Samejima, Fumiko (1993). The bias function of the maximum likelihood estimate of ability for the dichotomous response level. Psychometrika, 58, 195-209.
Samejima, Fumiko (1993). An approximation of the bias function of the maximum likelihood estimate of a latent variable for the general case where the item responses are discrete. Psychometrika, 58, 119-138.
Schuster, C., & Yuan, K. H. (2011). Robust estimation of latent ability in item response models. Journal of Educational and Behavioral Statistics, 36(6), 720-735.
Wang, S. and Wang, T. (2001). Precision of Warm's Weighted Likelihood Estimates for a Polytomous Model in Computerized Adaptive Testing. Applied Psychological Measurement, 25, 317-331.
Warm, Thomas A. (1989). Weighted Likelihood Estimation Of Ability In Item Response Theory. Psychometrika, 54, 427-450.
PPass, PPall, PP_4pl, JKpp, PV
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 | ################# GPCM ###########################################################################
# some threshold parameters
THRES <- matrix(c(-2,-1.23,1.11,3.48,1
,2,-1,-0.2,0.5,1.3,-0.8,1.5),nrow=2)
# slopes
sl <- c(0.5,1,1.5,1.1,1,0.98)
awmatrix <- matrix(c(1,0,2,0,1,1,1,0,0,1
,2,0,0,0,0,0,0,0,0,1,1,2,2,1,1,1,1,0,0,1),byrow=TRUE,nrow=5)
## GPCM model #####
# MLE
resgpcmlmle <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = sl,type = "mle")
# WLE
resgpcmwle <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = sl,type = "wle")
# MAP estimation
resgpcmmap <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = sl,type = "map")
# EAP estimation
resgpcmeap <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = sl,type = "eap")
# robust estimation
resgpcmrob <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = sl,type = "robust")
## PCM model #####
# MLE
respcmlmle <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = rep(1,ncol(THRES)),type = "mle")
# WLE
respcmwle <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = rep(1,ncol(THRES)),type = "wle")
# MAP estimation
respcmmap <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = rep(1,ncol(THRES)),
type = "map")
# EAP estimation
respcmeap <- PP_gpcm(respm = awmatrix,thres = THRES, slopes = rep(1,ncol(THRES)),
type = "eap")
#### with different number of categories ##
THRES <- matrix(c(-2,-1.23,1.11,3.48,1,2,-1,-0.2,0.5,1.3,-0.8,1.5),nrow=2)
THRES1 <- rbind(THRES,c(NA,NA,NA,NA,1.7,1))
awmatrix1 <- matrix(c(1,0,2,0,1,3,1,0,0,1,3,1,0,0
,0,0,0,0,0,1,1,2,2,1,1,1,1,0,0,1), byrow=TRUE, nrow=5)
# MLE estimation
respcmlmle1 <- PP_gpcm(respm = awmatrix1,thres = THRES1, slopes = sl,type = "mle")
# WLE estimation
respcmwle1 <- PP_gpcm(respm = awmatrix1,thres = THRES1, slopes = sl,type = "wle")
# MAP estimation
respcmmap1 <- PP_gpcm(respm = awmatrix1,thres = THRES1, slopes = sl,type = "map")
# EAP estimation
respcmeap1 <- PP_gpcm(respm = awmatrix1, thres = THRES1, slopes = sl,type = "eap")
|
PP package calling ...
Follow this project on github: https://github.com/manuelreif/PP.git
Estimating: GPCM ...
type = mle
Estimation finished!
Estimating: GPCM ...
type = wle
Estimation finished!
Estimating: GPCM ...
type = map
Estimation finished!
Warning messages:
1: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = sl, type = "map") :
all mu's are set to 0!
2: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = sl, type = "map") :
all sigma2's are set to 1!
Estimating: GPCM ...
type = eap
Estimation finished!
Warning messages:
1: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = sl, type = "eap") :
all mu's are set to 0!
2: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = sl, type = "eap") :
all sigma2's are set to 1!
Estimating: GPCM ...
type = robust
Estimation finished!
Warning message:
In PP_gpcm(respm = awmatrix, thres = THRES, slopes = sl, type = "robust") :
Robust estimation for GPCM is still very experimental!
Estimating: GPCM ...
type = mle
Estimation finished!
Estimating: GPCM ...
type = wle
Estimation finished!
Estimating: GPCM ...
type = map
Estimation finished!
Warning messages:
1: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = rep(1, ncol(THRES)), :
all mu's are set to 0!
2: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = rep(1, ncol(THRES)), :
all sigma2's are set to 1!
Estimating: GPCM ...
type = eap
Estimation finished!
Warning messages:
1: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = rep(1, ncol(THRES)), :
all mu's are set to 0!
2: In PP_gpcm(respm = awmatrix, thres = THRES, slopes = rep(1, ncol(THRES)), :
all sigma2's are set to 1!
Estimating: GPCM ...
type = mle
Estimation finished!
Estimating: GPCM ...
type = wle
Estimation finished!
Estimating: GPCM ...
type = map
Estimation finished!
Warning messages:
1: In PP_gpcm(respm = awmatrix1, thres = THRES1, slopes = sl, type = "map") :
all mu's are set to 0!
2: In PP_gpcm(respm = awmatrix1, thres = THRES1, slopes = sl, type = "map") :
all sigma2's are set to 1!
Estimating: GPCM ...
type = eap
Estimation finished!
Warning messages:
1: In PP_gpcm(respm = awmatrix1, thres = THRES1, slopes = sl, type = "eap") :
all mu's are set to 0!
2: In PP_gpcm(respm = awmatrix1, thres = THRES1, slopes = sl, type = "eap") :
all sigma2's are set to 1!
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.