checkident {SparseMSE} | R Documentation |
Check a model for the existence and identifiability of the maximum likelihood estimate
Description
Apply the linear programming test as derived by Fienberg and Rinaldo (2012), and a calculation of the rank of the design matrix, to check whether a particular model yields an identifiable maximum likelihood estimate based on the given data. The linear programming problem is as described on page 3 of Fienberg and Rinaldo (2012), with a typographical error corrected. Further details are given by Chan, Silverman and Vincent (2019).
Usage
checkident(zdat, mX = 0, verbose = FALSE)
Arguments
zdat |
Data matrix with |
mX |
A |
verbose |
Specifies the output. If |
Value
If verbose=FALSE
, then return the error code ierr
which is 0 if there are no errors, 1 if the linear program test shows that the maximum likelihood
estimate does not exist, 2 if it is not identifiable, and 3 if both tests are failed.
If verbose=TRUE
, then return a list with components as below
ierr
As described above.
zlp
Linear programming object, in particular giving the value of the objective function at optimum.
References
Chan, L., Silverman, B. W., and Vincent, K. (2019). Multiple Systems Estimation for Sparse Capture Data: Inferential Challenges when there are Non-Overlapping Lists. Available from https://arxiv.org/abs/1902.05156.
Fienberg, S. E. and Rinaldo, A. (2012). Maximum likelihood estimation in log-linear models. Ann. Statist. 40, 996-1023. Supplementary material: Technical report, Carnegie Mellon University. Available from http://www.stat.cmu.edu/~arinaldo/Fienberg_Rinaldo_Supplementary_Material.pdf.
Examples
data(Artificial_3)
#Build a matrix that contains all two-list effects
m=dim(Artificial_3)[2]-1
mX = t(expand.grid(1:m, 1:m)); mX = mX[ , mX[1,]<mX[2,]]
# When the model is not identifiable
checkident(Artificial_3,mX=mX, verbose=TRUE)
# When the maximum likelihood estimate does not exist
checkident(Artificial_3, mX=mX[,1],verbose=TRUE)
#Model passes both tests
checkident(Artificial_3, mX=mX[,2:3],verbose=TRUE)