This function performs Biclustering structure learning using the Infinite Relational Model (IRM) to automatically determine the optimal number of classes C and optimal number of fields F. It dispatches to the appropriate method based on the data type: binary, ordinal, or nominal. For binary data, see Section 7.8 in Shojima(2022). For nominal data, a Dirichlet-Multinomial collapsed Gibbs sampler is used.
Biclustering_IRM(U, ...)# S3 method for default
Biclustering_IRM(U, na = NULL, Z = NULL, w = NULL, ...)
# S3 method for binary
Biclustering_IRM(
U,
Z = NULL,
w = NULL,
na = NULL,
gamma_c = 1,
gamma_f = 1,
max_iter = 100,
stable_limit = 5,
minSize = 20,
EM_limit = 20,
seed = 123,
verbose = TRUE,
...
)
# S3 method for nominal
Biclustering_IRM(
U,
gamma_c = 1,
gamma_f = 1,
alpha = 1,
max_iter = 100,
stable_limit = 5,
minSize = 20,
EM_limit = 20,
seed = 123,
verbose = TRUE,
...
)
# S3 method for ordinal
Biclustering_IRM(
U,
gamma_c = 1,
gamma_f = 1,
alpha = 1,
mic = TRUE,
max_iter = 100,
stable_limit = 5,
minSize = 20,
EM_limit = 100,
seed = 123,
verbose = TRUE,
...
)
# S3 method for rated
Biclustering_IRM(
U,
gamma_c = 1,
gamma_f = 1,
alpha = 1,
max_iter = 100,
stable_limit = 5,
minSize = 20,
EM_limit = 20,
seed = 123,
verbose = TRUE,
...
)
An object of class "exametrika" containing the IRM results.
See Biclustering_IRM.binary or Biclustering_IRM.nominal for details.
Sample size. The number of rows in the dataset.
A character string indicating the model type.
Length of the test. The number of items included in the test.
Optimal number of classes (new naming convention).
Optimal number of fields (new naming convention).
Number of EM algorithm iterations (new naming convention).
Optimal number of classes (deprecated, use n_class).
Optimal number of fields (deprecated, use n_field).
Number of EM algorithm iterations (deprecated, use em_cycle).
Bicluster Reference Matrix
Field Reference Profile
Index of FFP includes the item location parameters B and Beta, the slope parameters A and Alpha, and the monotonicity indices C and Gamma.
Test Reference Profile
Field Membership Profile
Rank Membership Profile matrix.The s-th row vector of \(\hat{M}_R\), \(\hat{m}_R\), is the rank membership profile of Student s, namely the posterior probability distribution representing the student's belonging to the respective latent classes. It also includes the rank with the maximum estimated membership probability, as well as the rank-up odds and rank-down odds.
Latent Rank Distribution. see also plot.exametrika
Latent Field Distribution. see also plot.exametrika
Rank Membership Distribution.
Overall fit index for the test.See also TestFit
For nominal data, the returned list includes:
Response matrix.
Missing indicator matrix.
Number of items.
Sample size.
Optimal number of classes.
Optimal number of fields.
Number of EM algorithm iterations.
Field Reference Profile, a 3D array (nfld x ncls x maxQ).
Latent Field Distribution.
Latent Class Distribution.
Field membership probability matrix.
Class membership probability matrix.
Estimated field assignment for each item.
Estimated class assignment for each student.
Rank Membership Profile matrix with estimated class.
Overall fit index for the test.
Log-likelihood of the model.
For ordinal data, the returned list includes:
Response matrix.
Missing indicator matrix.
Number of items.
Sample size.
Optimal number of classes.
Optimal number of fields.
Number of EM algorithm iterations.
Field Reference Profile (BCRM), a 3D array (nfld x ncls x maxQ).
Index of FRP includes the item location parameters B and Beta, the slope parameters A and Alpha, and the monotonicity indices C and Gamma.
Test Reference Profile.
Bicluster Field Reference Profile (expected scores), a list with Weighted and Observed components.
Latent Field Distribution.
Latent Class Distribution.
Field membership probability matrix.
Class membership probability matrix.
Estimated field assignment for each item.
Estimated class assignment for each student.
Rank Membership Profile matrix with estimated class.
Overall fit index for the test.
Log-likelihood of the model.
Logical; TRUE if Strongly Ordinal Alignment Condition is satisfied.
Logical; TRUE if Weakly Ordinal Alignment Condition is satisfied.
For rated data, the returned list includes:
Response matrix.
Binary correct/incorrect matrix.
Missing indicator matrix.
Number of items.
Sample size.
Optimal number of classes.
Optimal number of fields.
Number of EM algorithm iterations.
Field Reference Profile (BCRM), a 3D array (nfld x ncls x maxQ).
Field Reference Profile based on binary correct rates (nfld x ncls).
Item-level correct response rate per class (nitems x ncls).
Index of FRP includes the item location parameters B and Beta, the slope parameters A and Alpha, and the monotonicity indices C and Gamma.
Test Reference Profile.
Latent Field Distribution.
Latent Class Distribution.
Field membership probability matrix.
Class membership probability matrix.
Estimated field assignment for each item.
Estimated class assignment for each student.
Rank Membership Profile matrix with estimated class.
Field analysis with CRR and field memberships.
Overall fit index for the test (binary layer, default).
Fit indices for the nominal layer (AIC/BIC/CAIC only).
Log-likelihood of the binary layer model.
Log-likelihood of the nominal layer model.
Logical; TRUE if Strongly Ordinal Alignment Condition is satisfied.
Logical; TRUE if Weakly Ordinal Alignment Condition is satisfied.
U is either a data class of exametrika, or raw data. When raw data is given, it is converted to the exametrika class with the dataFormat function.
Additional arguments passed to specific methods.
na argument specifies the numbers or characters to be treated as missing values.
Z is a missing indicator matrix of the type matrix or data.frame
w is item weight vector
\(\gamma_C\) is the hyperparameter of the CRP and represents the attractiveness of a new Class. As \(\gamma_C\) increases, the student is more likely to be seated at a vacant class. The default is 1.
\(\gamma_F\) is the hyperparameter of the CRP and represents the attractiveness of a new Field. The greater this value it more likely to be classified in the new field. The default is 1.
A maximum iteration number of IRM process. The default is 100.
The IRM process exits the loop when the FRM stabilizes and no longer changes significantly. This option sets the maximum number of stable iterations, with a default of 5.
A value used for readjusting the number of classes.If the size of each
class is less than minSize, the number of classes will be reduced. Note that this
under limit of size is not used for either all correct or all incorrect class.
After IRM process, resizing the number of classes process will starts.
This process using EM algorithm,EM_limit is the maximum number of iteration with
default of 20.
Random seed for reproducibility. When a numeric value is provided,
set.seed(seed) is called before the Gibbs sampling begins, ensuring
reproducible results. The default is 123, which guarantees deterministic
output. Set to NULL to disable seed setting and let the results depend
on the current state of the random number generator.
verbose output Flag. default is TRUE
Dirichlet distribution concentration parameter for the prior density of field reference probabilities (rated/nominal IRM). Must be positive. The default is 1.
Logical; if TRUE, forces Field Reference Profiles to be monotonically increasing across classes (ordinal IRM only). Default is TRUE.
# \donttest{
# Fit a Biclustering model with automatic structure learning using IRM
# gamma_c and gamma_f are concentration parameters for the Chinese Restaurant Process
result <- Biclustering_IRM(J35S515, gamma_c = 1, gamma_f = 1, verbose = TRUE)
# Display the Bicluster Reference Matrix (BRM) as a heatmap
plot(result, type = "Array")
# Plot Field Reference Profiles (FRP) in a 3-column grid
plot(result, type = "FRP", nc = 3)
# }
# \donttest{
result <- Biclustering_IRM(J35S515, gamma_c = 1, gamma_f = 1, verbose = TRUE)
plot(result, type = "Array")
# }
# \donttest{
# Fit a nominal Biclustering IRM model
result <- Biclustering_IRM(J20S600, gamma_c = 1, gamma_f = 1, verbose = TRUE)
plot(result, type = "Array")
# }
# \donttest{
# Fit an ordinal Biclustering IRM model
result <- Biclustering_IRM(J35S500, gamma_c = 1, gamma_f = 1, verbose = TRUE)
plot(result, type = "Array")
# }
# \donttest{
# Fit a rated Biclustering IRM model
result <- Biclustering_IRM(J21S300, gamma_c = 1, gamma_f = 1, verbose = TRUE)
plot(result, type = "Array")
# }
Run the code above in your browser using DataLab