Function to estimate estimate item influence measures. Code adapted from (Jurich & Madison, 2023). This function is not available for longitudinal DCMs.
Arguments
- model
a previously calibrated model; an object of class
gdina.- data
a required \(N \times I\) matrix. Binary item responses are in the columns.
- fullcorrelation
optional logical argument indicating a full or reduced response-classification correlation matrix.
- progress
An optional logical indicating whether the function should print the progress of estimation.
Details
For DCMs, item influence quantifies how much an item impacts classifications. Given an estimated DCM and item response data, this function estimates five item influence measures, including item pull, item override, proportion of attribute information, response-classification correlation (corr1), and response-posterior correlation (corr2).
Note
Currently, this function currently only runs on DCMs estimated at a single time point. It will not run properly for TDCM objects.
References
Jurich, D. & Madison, M. J. (2023). Measuring item influence for diagnostic classification models. Educational Assessment.
Examples
# \donttest{
## Item influence illustration
#load data (simulated based on Jurich and Bradshaw (2014))
qmatrix <- CDM::data.sda6$q.matrix
responses <- CDM::data.sda6$data
#Estimate the full LCDM
model1 <- CDM::gdina(responses, qmatrix, linkfct = "logit", method = "ML")
#> -----------------------------------------------------------------
#> CDM 8.3-14 (2025-07-13 14:03:01)
#> GDINA Model
#> Link function: logit
#> ** 2025-10-25 23:35:22.362136
#> -----------------------------------------------------------------
#> ...........................................................
#> Iteration 1 2025-10-25 23:35:22.376679
#> Deviance = 41250.26
#> Maximum parameter change: 0.255116
#> ...........................................................
#> Iteration 2 2025-10-25 23:35:22.416539
#> Deviance = 37307.05 | Deviance change = 3943.205
#> Maximum parameter change: 0.237805
#> ...........................................................
#> Iteration 3 2025-10-25 23:35:22.439977
#> Deviance = 36844.82 | Deviance change = 462.2334
#> Maximum parameter change: 0.058056
#> ...........................................................
#> Iteration 4 2025-10-25 23:35:22.475466
#> Deviance = 36784.82 | Deviance change = 60.00073
#> Maximum parameter change: 0.037476
#> ...........................................................
#> Iteration 5 2025-10-25 23:35:22.494236
#> Deviance = 36765.74 | Deviance change = 19.07727
#> Maximum parameter change: 0.134754
#> ...........................................................
#> Iteration 6 2025-10-25 23:35:22.525316
#> Deviance = 36639.5 | Deviance change = 126.237
#> Maximum parameter change: 0.052503
#> ...........................................................
#> Iteration 7 2025-10-25 23:35:22.545005
#> Deviance = 36619.88 | Deviance change = 19.628
#> Maximum parameter change: 0.058732
#> ...........................................................
#> Iteration 8 2025-10-25 23:35:22.572335
#> Deviance = 36562.93 | Deviance change = 56.9458
#> Maximum parameter change: 0.028076
#> ...........................................................
#> Iteration 9 2025-10-25 23:35:22.590864
#> Deviance = 36557.01 | Deviance change = 5.918637
#> Maximum parameter change: 0.069777
#> ...........................................................
#> Iteration 10 2025-10-25 23:35:22.617841
#> Deviance = 36533.7 | Deviance change = 23.31049
#> Maximum parameter change: 0.006856
#> ...........................................................
#> Iteration 11 2025-10-25 23:35:22.632933
#> Deviance = 36535.91 | Deviance change = -2.21303
#> **** Deviances decreases! Check for nonconvergence. ****
#> Maximum parameter change: 0.034248
#> ...........................................................
#> Iteration 12 2025-10-25 23:35:22.664202
#> Deviance = 36529.54 | Deviance change = 6.379348
#> Maximum parameter change: 0.005495
#> ...........................................................
#> Iteration 13 2025-10-25 23:35:22.678771
#> Deviance = 36528.75 | Deviance change = 0.7851915
#> Maximum parameter change: 0.003748
#> ...........................................................
#> Iteration 14 2025-10-25 23:35:22.698968
#> Deviance = 36528.29 | Deviance change = 0.4589058
#> Maximum parameter change: 0.00302
#> ...........................................................
#> Iteration 15 2025-10-25 23:35:22.713454
#> Deviance = 36527.71 | Deviance change = 0.5760876
#> Maximum parameter change: 0.009911
#> ...........................................................
#> Iteration 16 2025-10-25 23:35:22.74114
#> Deviance = 36527.23 | Deviance change = 0.4854475
#> Maximum parameter change: 0.00118
#> ...........................................................
#> Iteration 17 2025-10-25 23:35:22.75562
#> Deviance = 36526.96 | Deviance change = 0.2715357
#> Maximum parameter change: 0.010884
#> ...........................................................
#> Iteration 18 2025-10-25 23:35:22.78345
#> Deviance = 36526.76 | Deviance change = 0.2015728
#> Maximum parameter change: 0.001425
#> ...........................................................
#> Iteration 19 2025-10-25 23:35:22.797793
#> Deviance = 36526.66 | Deviance change = 0.1012999
#> Maximum parameter change: 0.00123
#> ...........................................................
#> Iteration 20 2025-10-25 23:35:22.812236
#> Deviance = 36526.58 | Deviance change = 0.0787773
#> Maximum parameter change: 0.001022
#> ...........................................................
#> Iteration 21 2025-10-25 23:35:22.826355
#> Deviance = 36526.51 | Deviance change = 0.0670459
#> Maximum parameter change: 0.000859
#> ...........................................................
#> Iteration 22 2025-10-25 23:35:22.8405
#> Deviance = 36526.45 | Deviance change = 0.0594842
#> Maximum parameter change: 0.00073
#> ...........................................................
#> Iteration 23 2025-10-25 23:35:22.854625
#> Deviance = 36526.4 | Deviance change = 0.0540514
#> Maximum parameter change: 0.000624
#> ...........................................................
#> Iteration 24 2025-10-25 23:35:22.868766
#> Deviance = 36526.35 | Deviance change = 0.0498587
#> Maximum parameter change: 0.000537
#> ...........................................................
#> Iteration 25 2025-10-25 23:35:22.888367
#> Deviance = 36526.3 | Deviance change = 0.0464631
#> Maximum parameter change: 0.000465
#> ...........................................................
#> Iteration 26 2025-10-25 23:35:22.90248
#> Deviance = 36526.26 | Deviance change = 0.0436157
#> Maximum parameter change: 0.000405
#> ...........................................................
#> Iteration 27 2025-10-25 23:35:22.916714
#> Deviance = 36526.21 | Deviance change = 0.0411638
#> Maximum parameter change: 0.000355
#> ...........................................................
#> Iteration 28 2025-10-25 23:35:22.93083
#> Deviance = 36526.18 | Deviance change = 0.0390077
#> Maximum parameter change: 0.000312
#> ...........................................................
#> Iteration 29 2025-10-25 23:35:22.94524
#> Deviance = 36526.14 | Deviance change = 0.0370793
#> Maximum parameter change: 0.000277
#> ...........................................................
#> Iteration 30 2025-10-25 23:35:22.959717
#> Deviance = 36526.1 | Deviance change = 0.0353313
#> Maximum parameter change: 0.000246
#> ...........................................................
#> Iteration 31 2025-10-25 23:35:22.974224
#> Deviance = 36526.07 | Deviance change = 0.0337297
#> Maximum parameter change: 0.00022
#> ...........................................................
#> Iteration 32 2025-10-25 23:35:22.988528
#> Deviance = 36526.04 | Deviance change = 0.0322497
#> Maximum parameter change: 0.000212
#> ...........................................................
#> Iteration 33 2025-10-25 23:35:23.002774
#> Deviance = 36526.01 | Deviance change = 0.0308728
#> Maximum parameter change: 0.000207
#> ...........................................................
#> Iteration 34 2025-10-25 23:35:23.016864
#> Deviance = 36525.98 | Deviance change = 0.0295852
#> Maximum parameter change: 0.000202
#> ...........................................................
#> Iteration 35 2025-10-25 23:35:23.031073
#> Deviance = 36525.95 | Deviance change = 0.028376
#> Maximum parameter change: 0.000197
#> ...........................................................
#> Iteration 36 2025-10-25 23:35:23.04522
#> Deviance = 36525.92 | Deviance change = 0.0272367
#> Maximum parameter change: 0.000192
#> ...........................................................
#> Iteration 37 2025-10-25 23:35:23.059313
#> Deviance = 36525.9 | Deviance change = 0.0261606
#> Maximum parameter change: 0.000187
#> ...........................................................
#> Iteration 38 2025-10-25 23:35:23.078571
#> Deviance = 36525.87 | Deviance change = 0.025142
#> Maximum parameter change: 0.000183
#> ...........................................................
#> Iteration 39 2025-10-25 23:35:23.09225
#> Deviance = 36525.85 | Deviance change = 0.0241762
#> Maximum parameter change: 0.000178
#> ...........................................................
#> Iteration 40 2025-10-25 23:35:23.105913
#> Deviance = 36525.82 | Deviance change = 0.0232592
#> Maximum parameter change: 0.000174
#> ...........................................................
#> Iteration 41 2025-10-25 23:35:23.119519
#> Deviance = 36525.8 | Deviance change = 0.0223876
#> Maximum parameter change: 0.00017
#> ...........................................................
#> Iteration 42 2025-10-25 23:35:23.132924
#> Deviance = 36525.78 | Deviance change = 0.0215582
#> Maximum parameter change: 0.000166
#> ...........................................................
#> Iteration 43 2025-10-25 23:35:23.14653
#> Deviance = 36525.76 | Deviance change = 0.0207684
#> Maximum parameter change: 0.000162
#> ...........................................................
#> Iteration 44 2025-10-25 23:35:23.160112
#> Deviance = 36525.74 | Deviance change = 0.0200156
#> Maximum parameter change: 0.000158
#> ...........................................................
#> Iteration 45 2025-10-25 23:35:23.173908
#> Deviance = 36525.72 | Deviance change = 0.0192977
#> Maximum parameter change: 0.000154
#> ...........................................................
#> Iteration 46 2025-10-25 23:35:23.187611
#> Deviance = 36525.7 | Deviance change = 0.0186127
#> Maximum parameter change: 0.00015
#> ...........................................................
#> Iteration 47 2025-10-25 23:35:23.20126
#> Deviance = 36525.68 | Deviance change = 0.0179586
#> Maximum parameter change: 0.000147
#> ...........................................................
#> Iteration 48 2025-10-25 23:35:23.214832
#> Deviance = 36525.66 | Deviance change = 0.0173337
#> Maximum parameter change: 0.000143
#> ...........................................................
#> Iteration 49 2025-10-25 23:35:23.22846
#> Deviance = 36525.65 | Deviance change = 0.0167363
#> Maximum parameter change: 0.00014
#> ...........................................................
#> Iteration 50 2025-10-25 23:35:23.24209
#> Deviance = 36525.63 | Deviance change = 0.0161651
#> Maximum parameter change: 0.000137
#> ...........................................................
#> Iteration 51 2025-10-25 23:35:23.255108
#> Deviance = 36525.62 | Deviance change = 0.0156186
#> Maximum parameter change: 0.000134
#> ...........................................................
#> Iteration 52 2025-10-25 23:35:23.268123
#> Deviance = 36525.6 | Deviance change = 0.0150956
#> Maximum parameter change: 0.000131
#> ...........................................................
#> Iteration 53 2025-10-25 23:35:23.285987
#> Deviance = 36525.59 | Deviance change = 0.0145947
#> Maximum parameter change: 0.000128
#> ...........................................................
#> Iteration 54 2025-10-25 23:35:23.29863
#> Deviance = 36525.57 | Deviance change = 0.0141148
#> Maximum parameter change: 0.000125
#> ...........................................................
#> Iteration 55 2025-10-25 23:35:23.311236
#> Deviance = 36525.56 | Deviance change = 0.0136549
#> Maximum parameter change: 0.000122
#> ...........................................................
#> Iteration 56 2025-10-25 23:35:23.323532
#> Deviance = 36525.55 | Deviance change = 0.013214
#> Maximum parameter change: 0.000119
#> ...........................................................
#> Iteration 57 2025-10-25 23:35:23.33589
#> Deviance = 36525.53 | Deviance change = 0.0127911
#> Maximum parameter change: 0.000117
#> ...........................................................
#> Iteration 58 2025-10-25 23:35:23.348436
#> Deviance = 36525.52 | Deviance change = 0.0123853
#> Maximum parameter change: 0.000114
#> ...........................................................
#> Iteration 59 2025-10-25 23:35:23.360984
#> Deviance = 36525.51 | Deviance change = 0.0119958
#> Maximum parameter change: 0.000112
#> ...........................................................
#> Iteration 60 2025-10-25 23:35:23.373688
#> Deviance = 36525.5 | Deviance change = 0.0116218
#> Maximum parameter change: 0.000109
#> ...........................................................
#> Iteration 61 2025-10-25 23:35:23.386345
#> Deviance = 36525.49 | Deviance change = 0.0112625
#> Maximum parameter change: 0.000107
#> ...........................................................
#> Iteration 62 2025-10-25 23:35:23.398937
#> Deviance = 36525.47 | Deviance change = 0.0109173
#> Maximum parameter change: 0.000105
#> ...........................................................
#> Iteration 63 2025-10-25 23:35:23.41145
#> Deviance = 36525.46 | Deviance change = 0.0105854
#> Maximum parameter change: 0.000102
#> ...........................................................
#> Iteration 64 2025-10-25 23:35:23.424047
#> Deviance = 36525.45 | Deviance change = 0.0102663
#> Maximum parameter change: 1e-04
#> ...........................................................
#> Iteration 65 2025-10-25 23:35:23.436603
#> Deviance = 36525.44 | Deviance change = 0.0099593
#> Maximum parameter change: 9.8e-05
#> -----------------------------------------------------------------
#> Time difference of 1.145018 secs
#Estimate item influence measures
influence <- TDCM::item.influence(model1, responses)
#> [1] Calclating item influence measures. Progress = 0%.
#> [1] Calclating item influence measures. Progress = 24%.
#> [1] Calclating item influence measures. Progress = 47%.
#> [1] Calclating item influence measures. Progress = 71%.
#> [1] Calclating item influence measures. Progress = 94%.
#> [1] Routine finished. Check results.
#Summarize influence statistics
influence$Pull #item pull
#> Item Attribute pull0 pull1
#> 1 1 1 0.649 0.652
#> 2 2 1 0.678 0.736
#> 3 3 1 0.597 0.694
#> 4 4 1 0.863 0.683
#> 5 5 2 0.498 0.702
#> 6 6 2 0.468 0.813
#> 7 7 2 0.515 0.763
#> 8 8 2 0.594 0.757
#> 9 9 3 0.601 0.633
#> 10 10 3 0.578 0.715
#> 11 11 3 0.501 0.708
#> 12 12 3 0.551 0.677
#> 13 13 3 1.000 0.823
#> 14 14 3 0.864 0.754
#> 15 15 4 0.581 0.771
#> 16 16 4 0.633 0.860
#> 17 17 4 0.754 0.753
influence$Override #item override
#> Item Attribute override
#> 1 1 1 0.070
#> 2 2 1 0.098
#> 3 3 1 0.044
#> 4 4 1 0.113
#> 5 5 2 0.031
#> 6 6 2 0.069
#> 7 7 2 0.070
#> 8 8 2 0.090
#> 9 9 3 0.022
#> 10 10 3 0.035
#> 11 11 3 0.024
#> 12 12 3 0.027
#> 13 13 3 0.156
#> 14 14 3 0.087
#> 15 15 4 0.098
#> 16 16 4 0.220
#> 17 17 4 0.094
influence$Information #proportion of attribute information
#> Item Attribute propinfo
#> 1 1 1 0.155
#> 2 2 1 0.236
#> 3 3 1 0.132
#> 4 4 1 0.476
#> 5 5 2 0.116
#> 6 6 2 0.248
#> 7 7 2 0.269
#> 8 8 2 0.367
#> 9 9 3 0.027
#> 10 10 3 0.076
#> 11 11 3 0.039
#> 12 12 3 0.044
#> 13 13 3 0.593
#> 14 14 3 0.221
#> 15 15 4 0.220
#> 16 16 4 0.399
#> 17 17 4 0.381
influence$Correlation1 #correlation of responses and classifications
#> Item Attribute Correl1
#> 1 1 1 0.300
#> 2 2 1 0.407
#> 3 3 1 0.266
#> 4 4 1 0.521
#> 5 5 2 0.186
#> 6 6 2 0.289
#> 7 7 2 0.287
#> 8 8 2 0.341
#> 9 9 3 0.193
#> 10 10 3 0.295
#> 11 11 3 0.209
#> 12 12 3 0.227
#> 13 13 3 0.758
#> 14 14 3 0.560
#> 15 15 4 0.359
#> 16 16 4 0.504
#> 17 17 4 0.471
influence$Correlation2 #correlation of responses and posterior probabilities
#> Item Attribute Correl2
#> 1 1 1 0.360
#> 2 2 1 0.441
#> 3 3 1 0.331
#> 4 4 1 0.603
#> 5 5 2 0.219
#> 6 6 2 0.309
#> 7 7 2 0.329
#> 8 8 2 0.388
#> 9 9 3 0.213
#> 10 10 3 0.357
#> 11 11 3 0.254
#> 12 12 3 0.272
#> 13 13 3 0.820
#> 14 14 3 0.579
#> 15 15 4 0.441
#> 16 16 4 0.581
#> 17 17 4 0.578
# }