Description Usage Arguments Details Value Author(s) References See Also Examples
Estimation of the Personal Parameters from the mpl4 Logistic Model.
1 2 3 4 5 6 7 8 9 | m4plEstimate( x , s = 1/1.702, b = 0, c = 0, d = 1, m = 0,
model = "T", prior = "uniform")
m4plEstimateMore( x, s = 1/1.702, b = 0, c = 0, d = 1, m = 0,
model = "T", prior = "uniform")
m4plPersonParameters(x, s = 1/1.702, b = 0, c = 0, d = 1, m = 0,
model = "T", prior = "uniform", more = FALSE)
|
x |
integer; vector of item responses for only one subject. Cannot be a matrix for the moment. |
s |
numeric; vector of item fluctuation parameter or the inverse of item discrimination (s= 1/a). |
b |
numeric; vector of item discrimination parameter. |
c |
numeric; vector of item pseudo-guessing parameter. |
d |
numeric; vector of item inattention parameter. |
m |
a priori distribution mean. |
model |
character; different combinations of personnal parameters can be
estimated ( |
prior |
character; a priori distribution can be "uniform" ( |
more |
logical: if |
The multidimensional 4 persons parameters logistic distribution (cdf) (Raiche et al., 2013) is equal to:
P(x_{ij} = 1|θ _j ,σ _j ,χ _j ,δ _j ,s_i ,b_i ,c_i ,d_i ) = (χ _j + c_i ) + {{(d_i - δ _j ) - (χ _j + c_i )} \over {1 + e^{{{ - Da_i (θ _j - b_i )} \over {√ {σ _j^2 + s_i^2 } }}} }}
where the parameters are defined in the section arguments and i and j are respectively the items and the persons indices. The σ_j, χ_j and δ_j parameters are respectively the personnal fluctuation, pseudo-guessing and inattention parameters. The multidimensional 4 persons parameters logistic model (M4PL) was described by Raiche, Magis and Blais (2008; Raiche, Magis and Beland, 2009; Raiche, Blais and Magis, 2009).
Function m4plEstimate
m4plEstimate |
numeric; return a vector of personal parameters estimates. |
Function m4plEstimateMore
res |
numeric; return a vector of personal parameters estimates. |
se |
numeric; return a vector of standard errors. |
corr |
numeric; return a correlation matrix between the estimated parameters. |
llikelihood |
numeric; return a vector of -log likelihood. |
Function m4plPersonParameters
observeInfo |
numeric; return a matrix of observed information. |
Function m4plPersonParameters
Values returned are from m4plEstimate
or m4plEstimateMore
depending on the more
condition.
Gilles Raiche, Universite du Quebec a Montreal (UQAM),
Departement d'education et pedagogie
Raiche.Gilles@uqam.ca, http://www.er.uqam.ca/nobel/r17165/
Blais, J.-G., Raiche, G. and Magis, D. (2009). La detection des patrons de reponses problematiques dans le contexte des tests informatises. In Blais, J.-G. (Ed.): Evaluation des apprentissages et technologies de l'information et de la communication : enjeux, applications et modeles de mesure. Ste-Foy, Quebec: Presses de l'Universite Laval.
Raiche, G., Magis, D. and Beland, S. (2009). La correction du resultat d'un etudiant en presence de tentatives de fraudes. Communication presentee a l'Universite du Quebec a Montreal. Retrieved from http://www.camri.uqam.ca/camri/camriBase/
Raiche, G., Magis, D. and Blais, J.-G. (2008). Multidimensional item response theory models integrating additional inattention, pseudo-guessing, and discrimination person parameters. Communication at the annual international Psychometric Society meeting, Durham, New Hamshire. Retrieved from http://www.camri.uqam.ca/camri/camriBase/
Raiche, G., Magis, D., Blais, J.-G., and Brochu, P. (2013). Taking atypical response patterns into account: a multidimensional measurement model from item response theory. In M. Simon, K. Ercikan, and M. Rousseau (Eds), Improving large-scale assessment in education. New York, New York: Routledge.
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | ## Not run:
## GENERATION OF VECTORS OF RESPONSE
# NOTE THE USUAL PARAMETRIZATION OF THE ITEM DISCRIMINATION,
# THE VALUE OF THE PERSONNAL FLUCTUATION FIXED AT 0,
# AND THE VALUE OF THE PERSONNAL PSEUDO-GUESSING FIXED AT 0.30.
# IT COULD BE TYPICAL OF PLAGIARISM BEHAVIOR.
nItems <- 40
a <- rep(1.702,nItems); b <- seq(-5,5,length=nItems)
c <- rep(0,nItems); d <- rep(1,nItems)
nSubjects <- 1; rep <- 2
theta <- seq(-1,-1,length=nSubjects)
S <- runif(n=nSubjects,min=0.0,max=0.0)
C <- runif(n=nSubjects,min=0.3,max=0.3)
D <- runif(n=nSubjects,min=0,max=0)
set.seed(seed = 100)
X <- ggrm4pl(n=nItems, rep=rep,
theta=theta, S=S, C=C, D=D,
s=1/a, b=b,c=c,d=d)
## Genreric function m4plPersonParameters to use
## prefered to the more specific one: m4plEstimate and m4plEstimateMore
# ....................................................................
model <- "C"
test1 <- m4plPersonParameters(x=X, b=b, s=1/a, c=c, d=d, m=0, model=model,
prior="uniform", more=FALSE)
test2 <- m4plPersonParameters(x=X, b=b, s=1/a, c=c, d=d, m=0, model=model,
prior="uniform", more=TRUE)
# ....................................................................
## ESTIMATION OF THE PERSONNAL PARAMETERS BY ALL MODELS.
# THE CHOOSEN PRIOR IS UNIFORM WITH m=0.
# ....................................................................
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "T", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "S", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "C", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "D", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "SC", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "SD", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "CD", prior="uniform")
m4plEstimate(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "SCD", prior="uniform")
# ....................................................................
## THE SAME ESTIMATION, BUT WITH INFORMATION ABOUT
# THE STANDARD ERROR, THE CORRELATION AND THE LOG LIKELIKOOD
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "T", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "S", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "C", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "D", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "SC", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "SD", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "CD", prior="uniform")
m4plEstimateMore(x=X, b=b, s=1/a, c=c, d=d, m=0, model= "SCD", prior="uniform")
# ....................................................................
## Same simulation, but with replications
# ....................................................................
rep <- 100
set.seed(seed = 100)
X <- ggrm4pl(n=nItems, rep=rep,
theta=theta, S=S, C=C, D=D,
s=1/a, b=b,c=c,d=d)
## Function used to extract each parameters of the list return by m4plEstimateMore
extract <- function(x,i) x[[i]]
## Usual IRT model integrating only the parameters theta
apply( X, 1, m4plEstimate, b=b, s=1/a, c=c, d=d, m=0, model= "T",
prior="uniform")
tests <- apply(X, 1, m4plEstimateMore, b=b, s=1/a, c=c, d=d, m=0, model= "T",
prior="uniform")
personParameters <- matrix(unlist(lapply(tests,extract,1)),nrow=rep)
personSe <- matrix(unlist(lapply(tests,extract,2)),nrow=rep)
personCor <- matrix(unlist(lapply(tests,extract,3)),nrow=rep)
personLL <- matrix(unlist(lapply(tests,extract,4)),nrow=rep)
results <- data.frame(Parameter=personParameters, Se=personSe,
LL=personLL)
round(c(mean=sapply(results, mean, na.rm=TRUE)),2); round(c(se=sapply(results, sd, na.rm=TRUE)),2)
## Model integrating the parameters theta and C
# Same response patterns for comparison of estimates
t( apply(X, 1, m4plEstimate, b=b, s=1/a, c=c, d=d, m=0, model= "C",
prior="uniform"))
tests <- apply(X, 1, m4plEstimateMore, b=b, s=1/a, c=c, d=d, m=0, model= "C",
prior="uniform")
personParameters <- t(matrix(unlist(lapply(tests,extract,1)),ncol=rep))
personSe <- t(matrix(unlist(lapply(tests,extract,2)),ncol=rep))
personLL <- t(matrix(unlist(lapply(tests,extract,4)),ncol=rep))
results <- data.frame(Parameter=personParameters, Se=personSe,
LL=personLL)
round(c(mean=sapply(results, mean, na.rm=TRUE)),2); round(c(se=sapply(results, sd, na.rm=TRUE)),2)
## Average correlation between the person parameters
nParameters <- length(personParameters[1,])
personCor <- unlist(lapply(tests,extract,3))
personCor <- matrix( sapply(data.frame(t(matrix(personCor,ncol=rep))), mean, na.rm=TRUE),
ncol=nParameters)
personCor
## Model integrating the parameters theta and C
# Same response patterns for comparison of estimates
t(apply( X,1, m4plEstimate, b=b, s=1/a, c=c, d=d, m=0, model= "SCD",
prior="uniform"))
tests <- apply(X, 1, m4plEstimateMore, b=b, s=1/a, c=c, d=d, m=0, model= "SCD",
prior="uniform")
personParameters <- t(matrix(unlist(lapply(tests,extract,1)),ncol=rep))
personSe <- t(matrix(unlist(lapply(tests,extract,2)),ncol=rep))
personLL <- t(matrix(unlist(lapply(tests,extract,4)),ncol=rep))
results <- data.frame(Parameter=personParameters, Se=personSe,
LL=personLL)
round(c(mean=sapply(results, mean, na.rm=TRUE)),2); round(c(se=sapply(results, sd, na.rm=TRUE)),2)
## Average correlation between the person parameters
nParameters <- length(personParameters[1,])
personCor <- unlist(lapply(tests,extract,3))
personCor <- matrix( sapply(data.frame(t(matrix(personCor,ncol=rep))), mean, na.rm=TRUE),
ncol=nParameters)
personCor
# ....................................................................
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.