The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Item Response Theory (IRT)

library(exametrika)

IRT for Binary Data

The IRT() function estimates item parameters using logistic models. It supports 2PL, 3PL, and 4PL models via the model option.

result.IRT <- IRT(J15S500, model = 3)
result.IRT
#> Item Parameters
#>        slope location lowerAsym PSD(slope) PSD(location) PSD(lowerAsym)
#> Item01 0.818   -0.834    0.2804      0.182         0.628         0.1702
#> Item02 0.860   -1.119    0.1852      0.157         0.471         0.1488
#> Item03 0.657   -0.699    0.3048      0.162         0.798         0.1728
#> Item04 1.550   -0.949    0.1442      0.227         0.216         0.1044
#> Item05 0.721   -1.558    0.2584      0.148         0.700         0.1860
#> Item06 1.022   -1.876    0.1827      0.171         0.423         0.1577
#> Item07 1.255   -0.656    0.1792      0.214         0.289         0.1165
#> Item08 0.748   -0.155    0.1308      0.148         0.394         0.1077
#> Item09 1.178    2.287    0.2930      0.493         0.423         0.0440
#> Item10 0.546   -0.505    0.2221      0.131         0.779         0.1562
#> Item11 1.477    1.089    0.0628      0.264         0.120         0.0320
#> Item12 1.480    1.085    0.0462      0.245         0.115         0.0276
#> Item13 0.898   -0.502    0.0960      0.142         0.272         0.0858
#> Item14 1.418   -0.787    0.2261      0.248         0.291         0.1252
#> Item15 0.908   -0.812    0.1531      0.159         0.383         0.1254
#> 
#> Item Fit Indices
#>        model_log_like bench_log_like null_log_like model_Chi_sq null_Chi_sq
#> Item01       -262.979       -240.190      -283.343       45.579      86.307
#> Item02       -253.406       -235.436      -278.949       35.938      87.025
#> Item03       -280.642       -260.906      -293.598       39.471      65.383
#> Item04       -204.877       -192.072      -265.962       25.611     147.780
#> Item05       -232.138       -206.537      -247.403       51.201      81.732
#> Item06       -173.672       -153.940      -198.817       39.464      89.755
#> Item07       -250.908       -228.379      -298.345       45.058     139.933
#> Item08       -314.782       -293.225      -338.789       43.113      91.127
#> Item09       -321.919       -300.492      -327.842       42.852      54.700
#> Item10       -309.319       -288.198      -319.850       42.241      63.303
#> Item11       -248.385       -224.085      -299.265       48.600     150.360
#> Item12       -238.856       -214.797      -293.598       48.119     157.603
#> Item13       -293.478       -262.031      -328.396       62.895     132.730
#> Item14       -223.471       -204.953      -273.212       37.036     136.519
#> Item15       -271.905       -254.764      -302.847       34.282      96.166
#>        model_df null_df   NFI   RFI   IFI   TLI   CFI RMSEA    AIC    CAIC
#> Item01       11      13 0.472 0.376 0.541 0.443 0.528 0.079 23.579 -33.781
#> Item02       11      13 0.587 0.512 0.672 0.602 0.663 0.067 13.938 -43.422
#> Item03       11      13 0.396 0.287 0.476 0.358 0.456 0.072 17.471 -39.890
#> Item04       11      13 0.827 0.795 0.893 0.872 0.892 0.052  3.611 -53.750
#> Item05       11      13 0.374 0.260 0.432 0.309 0.415 0.086 29.201 -28.159
#> Item06       11      13 0.560 0.480 0.639 0.562 0.629 0.072 17.464 -39.897
#> Item07       11      13 0.678 0.619 0.736 0.683 0.732 0.079 23.058 -34.303
#> Item08       11      13 0.527 0.441 0.599 0.514 0.589 0.076 21.113 -36.248
#> Item09       11      13 0.217 0.074 0.271 0.097 0.236 0.076 20.852 -36.508
#> Item10       11      13 0.333 0.211 0.403 0.266 0.379 0.075 20.241 -37.119
#> Item11       11      13 0.677 0.618 0.730 0.676 0.726 0.083 26.600 -30.761
#> Item12       11      13 0.695 0.639 0.747 0.697 0.743 0.082 26.119 -31.241
#> Item13       11      13 0.526 0.440 0.574 0.488 0.567 0.097 40.895 -16.466
#> Item14       11      13 0.729 0.679 0.793 0.751 0.789 0.069 15.036 -42.324
#> Item15       11      13 0.644 0.579 0.727 0.669 0.720 0.065 12.282 -45.079
#>            BIC
#> Item01 -22.781
#> Item02 -32.422
#> Item03 -28.890
#> Item04 -42.750
#> Item05 -17.159
#> Item06 -28.897
#> Item07 -23.303
#> Item08 -25.248
#> Item09 -25.508
#> Item10 -26.119
#> Item11 -19.761
#> Item12 -20.241
#> Item13  -5.466
#> Item14 -31.324
#> Item15 -34.079
#> 
#> Model Fit Indices
#>                    value
#> model_log_like -3880.735
#> bench_log_like -3560.005
#> null_log_like  -4350.217
#> model_Chi_sq     641.461
#> null_Chi_sq     1580.424
#> model_df         165.000
#> null_df          195.000
#> NFI                0.594
#> RFI                0.520
#> IFI                0.663
#> TLI                0.594
#> CFI                0.656
#> RMSEA              0.076
#> AIC              311.461
#> CAIC            -548.950
#> BIC             -383.950

The estimated ability parameters for each examinee are included in the returned object:

head(result.IRT$ability)
#>           ID         EAP       PSD
#> 1 Student001 -0.75534105 0.5806086
#> 2 Student002 -0.17403350 0.5472973
#> 3 Student003  0.01379172 0.5529872
#> 4 Student004  0.57628083 0.5748167
#> 5 Student005 -0.97438596 0.5915842
#> 6 Student006  0.85229552 0.5819544

Plot Types

IRT provides several plot types:

Items can be specified using the items argument. The layout is controlled by nr (rows) and nc (columns).

plot(result.IRT, type = "IRF", items = 1:6, nc = 2, nr = 3)

plot(result.IRT, type = "IRF", overlay = TRUE)

plot(result.IRT, type = "IIC", items = 1:6, nc = 2, nr = 3)

plot(result.IRT, type = "TRF")

plot(result.IRT, type = "TIC")

GRM: Graded Response Model

The Graded Response Model (Samejima, 1969) extends IRT to polytomous response data. It can be applied using the GRM() function.

result.GRM <- GRM(J5S1000)
result.GRM
#> Item Parameter
#>    Slope Threshold1 Threshold2 Threshold3
#> V1 0.928     -1.662     0.0551       1.65
#> V2 1.234     -0.984     1.1297         NA
#> V3 0.917     -1.747    -0.0826       1.39
#> V4 1.479     -0.971     0.8901         NA
#> V5 0.947     -1.449     0.0302       1.62
#> 
#> Item Fit Indices
#>   model_log_like bench_log_like null_log_like model_Chi_sq null_Chi_sq model_df
#> 1      -1205.374      -1086.461     -1363.667      237.827     554.411       41
#> 2       -815.895       -840.063     -1048.636      -48.336     417.145       27
#> 3      -1216.143      -1096.756     -1373.799      238.773     554.085       41
#> 4       -747.724       -819.597     -1062.099     -143.747     485.003       27
#> 5      -1211.561      -1096.132     -1377.883      230.856     563.502       41
#>   null_df   NFI   RFI   IFI   TLI   CFI RMSEA      AIC     CAIC      BIC
#> 1      42 0.571 0.561 0.617 0.607 0.616 0.069  155.827  -86.391  -45.391
#> 2      28 1.000 1.000 1.000 1.000 1.000 0.000 -102.336 -261.846 -234.846
#> 3      42 0.569 0.559 0.615 0.604 0.614 0.069  156.773  -85.445  -44.445
#> 4      28 1.000 1.000 1.000 1.000 1.000 0.000 -197.747 -357.257 -330.257
#> 5      42 0.590 0.580 0.637 0.627 0.636 0.068  148.856  -93.362  -52.362
#> 
#> Model Fit Indices
#>                    value
#> model_log_like -5196.696
#> bench_log_like -4939.010
#> null_log_like  -6226.083
#> model_Chi_sq     515.372
#> null_Chi_sq     2574.146
#> model_df         177.000
#> null_df          182.000
#> NFI                0.800
#> RFI                0.794
#> IFI                0.859
#> TLI                0.855
#> CFI                0.859
#> RMSEA              0.044
#> AIC              161.372
#> CAIC            -884.301
#> BIC             -707.301

GRM supports similar plot types as IRT:

plot(result.GRM, type = "IRF", nc = 2)

plot(result.GRM, type = "IIF", nc = 2)

plot(result.GRM, type = "TIF")

References

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.