Discrete (Rasch) Grade of Membership Model
gom.em.Rd
This function estimates the grade of membership model (Erosheva, Fienberg & Joutard, 2007; also called mixed membership model) by the EM algorithm assuming a discrete membership score distribution. The function is restricted to dichotomous item responses.
Usage
gom.em(dat, K=NULL, problevels=NULL, weights=NULL, model="GOM", theta0.k=seq(-5,5,len=15),
xsi0.k=exp(seq(-6, 3, len=15)), max.increment=0.3, numdiff.parm=1e-4,
maxdevchange=1e-6, globconv=1e-4, maxiter=1000, msteps=4, mstepconv=0.001,
theta_adjust=FALSE, lambda.inits=NULL, lambda.index=NULL, pi.k.inits=NULL,
newton_raphson=TRUE, optimizer="nlminb", progress=TRUE)
# S3 method for gom
summary(object, file=NULL, ...)
# S3 method for gom
anova(object,...)
# S3 method for gom
logLik(object,...)
# S3 method for gom
IRT.irfprob(object,...)
# S3 method for gom
IRT.likelihood(object,...)
# S3 method for gom
IRT.posterior(object,...)
# S3 method for gom
IRT.modelfit(object,...)
# S3 method for IRT.modelfit.gom
summary(object,...)
Arguments
- dat
Data frame with dichotomous responses
- K
Number of classes (only applies for
model="GOM"
)- problevels
Vector containing probability levels for membership functions (only applies for
model="GOM"
). If a specific space of probability levels should be estimated, then a matrix can be supplied (see Example 1, Model 2a).- weights
Optional vector of sampling weights
- model
The type of grade of membership model. The default
"GOM"
is the nonparametric grade of membership model. A parametric multivariate normal representation can be requested by"GOMnormal"
. The probabilities and membership functions specifications described in Details are called via"GOMRasch"
.- theta0.k
Vector of \(\tilde{\theta}_k\) grid (applies only for
model="GOMRasch"
)- xsi0.k
Vector of \(\xi_p\) grid (applies only for
model="GOMRasch"
)- max.increment
Maximum increment
- numdiff.parm
Numerical differentiation parameter
- maxdevchange
Convergence criterion for change in relative deviance
- globconv
Global convergence criterion for parameter change
- maxiter
Maximum number of iterations
- msteps
Number of iterations within a M step
- mstepconv
Convergence criterion within a M step
- theta_adjust
Logical indicating whether multivariate normal distribution should be adaptively chosen during the EM algorithm.
- lambda.inits
Initial values for item parameters
- lambda.index
Optional integer matrix with integers indicating equality constraints among \(\lambda\) item parameters
- pi.k.inits
Initial values for distribution parameters
- newton_raphson
Logical indicating whether Newton-Raphson should be used for final iterations
- optimizer
Type of optimizer. Can be
"optim"
or"nlminb"
.- progress
Display iteration progress? Default is
TRUE
.- object
Object of class
gom
- file
Optional file name for summary output
- ...
Further arguments to be passed
Details
The item response model of the grade of membership model
(Erosheva, Fienberg & Junker, 2002;
Erosheva, Fienberg & Joutard, 2007) with \(K\) classes
for dichotomous correct responses \(X_{pi}\)
of person \(p\) on item \(i\) is as follows (model="GOM"
)
$$
P(X_{pi}=1 | g_{p1}, \ldots, g_{pK} )=\sum_k \lambda_{ik} g_{pk}
\quad, \quad \sum_{k=1}^K g_{pk}=1
\quad, \quad 0 \leq g_{pk} \leq 1
$$
In most applications (e.g. Erosheva et al., 2007), the grade of
membership function \(\{g_{pk}\}\) is assumed to follow a Dirichlet
distribution. In our gom.em
implementation
the membership function is assumed to be discretely represented
by a grid \(u=(u_1, \ldots, u_L)\) with entries between 0 and 1
(e.g. seq(0,1,length=5)
with \(L=5\)).
The values \(g_{pk}\) of the membership function can then
only take values in \(\{ u_1, \ldots, u_L \}\) with the restriction
\(\sum_k g_{pk} \sum_l \bold{1}(g_{pk}=u_l )=1\).
The grid \(u\) is specified by using the argument problevels
.
The Rasch grade of membership model (model="GOMRasch"
) poses constraints
on probabilities \(\lambda_{ik}\) and membership functions \(g_{pk}\).
The membership
function of person \(p\) is parameterized by a location parameter \(\theta_p\)
and a variability parameter \(\xi_p\). Each class \(k\) is represented by
a location parameter \(\tilde{\theta}_k\). The membership function is defined as
$$ g_{pk} \propto
\exp \left[ - \frac{ (\theta_p - \tilde{\theta}_k)^2 }{2 \xi_p^2 } \right]
$$
The person parameter \(\theta_p\) indicates the usual 'ability', while \(\xi_p\) describes the individual tendency to change between classes \(1,\ldots,K\) and their corresponding locations \(\tilde{\theta}_1, \ldots,\tilde{\theta}_K\). The extremal class probabilities \(\lambda_{ik}\) follow the Rasch model $$ \lambda_{ik}=invlogit( \tilde{\theta}_k - b_i )= \frac{ \exp( \tilde{\theta}_k - b_i ) }{ 1 + \exp( \tilde{\theta}_k - b_i ) }$$
Putting these assumptions together leads to the model equation $$ P(X_{pi}=1 | g_{p1}, \ldots, g_{pK} )= P(X_{pi}=1 | \theta_p, \xi_p )= \sum_k \frac{ \exp( \tilde{\theta}_k - b_i ) }{ 1 + \exp(\tilde{\theta}_k - b_i ) } \cdot \exp \left[ - \frac{ (\theta_p - \tilde{\theta}_k)^2 }{2 \xi_p^2 } \right] $$
In the extreme case of a very small \(\xi_p=\varepsilon > 0\) and \(\theta_p=\theta_0\), the Rasch model is obtained
$$ P(X_{pi}=1 | \theta_p, \xi_p )= P(X_{pi}=1 | \theta_0, \varepsilon )= \frac{ \exp( \theta_0 - b_i ) }{ 1 + \exp( \theta_0 - b_i ) } $$
See Erosheva et al. (2002), Erosheva (2005, 2006) or Galyart (2015) for a comparison of grade of membership models with latent trait models and latent class models.
The grade of membership model is also published under the name Bernoulli aspect model, see Bingham, Kaban and Fortelius (2009).
Value
A list with following entries:
- deviance
Deviance
- ic
Information criteria
- item
Data frame with item parameters
- person
Data frame with person parameters
- EAP.rel
EAP reliability (only applies for
model="GOMRasch"
)- MAP
Maximum aposteriori estimate of the membership function
- EAP
EAP estimate for individual membership scores
- classdesc
Descriptives for class membership
- lambda
Estimated response probabilities \(\lambda_{ik}\)
- se.lambda
Standard error for estimated response probabilities \(\lambda_{ik}\)
- mu
Mean of the distribution of \((\theta_p, \xi_p)\) (only applies for
model="GOMRasch"
)- Sigma
Covariance matrix of \((\theta_p, \xi_p)\) (only applies for
model="GOMRasch"
)- b
Estimated item difficulties (only applies for
model="GOMRasch"
)- se.b
Standard error of estimated difficulties (only applies for
model="GOMRasch"
)- f.yi.qk
Individual likelihood
- f.qk.yi
Individual posterior
- probs
Array with response probabilities
- n.ik
Expected counts
- iter
Number of iterations
- I
Number of items
- K
Number of classes
- TP
Number of discrete integration points for \((g_{p1},...,g_{pK})\)
- theta.k
Used grid of membership functions
- ...
Further values
References
Bingham, E., Kaban, A., & Fortelius, M. (2009). The aspect Bernoulli model: multiple causes of presences and absences. Pattern Analysis and Applications, 12(1), 55-78.
Erosheva, E. A. (2005). Comparing latent structures of the grade of membership, Rasch, and latent class models. Psychometrika, 70, 619-628.
Erosheva, E. A. (2006). Latent class representation of the grade of membership model. Seattle: University of Washington.
Erosheva, E. A., Fienberg, S. E., & Junker, B. W. (2002). Alternative statistical models and representations for large sparse multi-dimensional contingency tables. Annales-Faculte Des Sciences Toulouse Mathematiques, 11, 485-505.
Erosheva, E. A., Fienberg, S. E., & Joutard, C. (2007). Describing disability through individual-level mixture models for multivariate binary data. Annals of Applied Statistics, 1, 502-537.
Galyardt, A. (2015). Interpreting mixed membership models: Implications of Erosheva's representation theorem. In E. M. Airoldi, D. Blei, E. A. Erosheva, & S. E. Fienberg (Eds.). Handbook of Mixed Membership Models (pp. 39-65). Chapman & Hall.
See also
For joint maximum likelihood estimation of the grade of membership model
see gom.jml
.
See also the mixedMem package for estimating mixed membership models by a variational EM algorithm.
The C code of Erosheva et al. (2007) can be downloaded from http://projecteuclid.org/euclid.aoas/1196438029#supplemental.
Code from Manrique-Vallier can be downloaded from http://pages.iu.edu/~dmanriqu/software.html.
See http://users.ics.aalto.fi/ella/publications/aspect_bernoulli.m for a Matlab implementation of the algorithm in Bingham, Kaban and Fortelius (2009).