Hi there,
I'm new to mirt and would appreciate your help.
Specifically, I'm trying to get the SE for a and b parameters for the 2-parameter Logistic Model on 3 binary items (also the df for X2* item fit statistic, further below).
Here is the information regarding the 3 items and the 2-PL model:
#select items:
podaci.CRT3.rec <- as.data.frame(select(df.NA, CRT1:CRT3))
psych::describe(podaci.CRT3.rec)
#vars n mean sd median trimmed mad min max range skew kurtosis se
#CRT1 1 448 0.43 0.5 0 0.41 0 0 1 1 0.29 -1.92 0.02
#CRT2 2 448 0.49 0.5 0 0.48 0 0 1 1 0.05 -2.00 0.02
#CRT3 3 448 0.51 0.5 1 0.51 0 0 1 1 -0.04 -2.00 0.02
#2PL model:
fit.crt3 <- mirt(podaci.CRT3.rec, model = 1, calcNull = T) #calcNull - logical; calculate the Null model for additional fit statistics (e.g., TLI)? Only applicable if the data contains no NA's and the data is not overly sparse
#Get fit indices:
fit.crt3@Fit
#$G2
#[1] 0.0004630958
#$p
#[1] 0.9828311
#$TLI
#[1] 1.016118
#$CFI
#[1] 1
#$RMSEA
#[1] 0
#$df
#[1] 1
#$AIC
#[1] 1613.402
#$AICc
#[1] 1613.593
#$BIC
#[1] 1638.031
#$SABIC
#[1] 1618.989
#$HQ
#[1] 1623.111
#$logLik
#[1] -800.701
#$logPrior
#[1] 0
#$SElogLik
#[1] 0
#$F
#F1
#CRT1 0.8504659
#CRT2 0.7118403
#CRT3 0.8996261
#$h2
#CRT1 CRT2 CRT3
#0.7232922 0.5067166 0.8093271
Here is where I get stuck - although I have specified "printSE = T", I get only the and b parameter estimates but not their SE:
#GET the COEFFICIETS with STANDARD ERRORS:
coef(fit.crt3, IRTpars = T, printSE = T )
#$CRT1
# a b g u
#par 2.752 0.213 0 1
#$CRT2
# a b g u
#par 1.725 0.047 0 1
#$CRT3
# a b g u
#par 3.507 -0.031 0 1
#$GroupPars
# MEAN_1 COV_11
#par 0 1
Also, it's worth saying that when I don't specify "printSE = T" (i.e., coef(fit.crt3, IRTpars = T)), I don't get the confidence intervals that I do get with the 2-PL model with 8 binary items.
Also, since there are only 3 items, the S_X2 and X2 (X2 is pretty much useless anyway, given inflated Type I error rates) item fit indices cannot be calculated: Thus, I use the X2*:
itemfit(fit.crt3, na.rm = T, fit_stats = "X2*")
#item X2_star p.X2_star
#1 CRT1 0.031 0.791
#2 CRT2 0.056 0.889
#3 CRT3 0.016 0.740
But, I do not know how to get the degrees of freedom for X2*. How can I obtain them?
Finnaly, I've tried boot.mirt for bootstrapped confidence intervals, and I get the parameter a estimates ( t1*, t3*, t5*, they are the same as the "a" estimates I get with coef(fit.crt3, IRTpars = T, printSE = T )), but not the parameter b estimates (t2*, t4*, t6*, they differ from the "b" estimates I get with coef(fit.crt3, IRTpars = T, printSE = T )) instead of which I get the
boot.mirt(fit.crt3, R = 100)
#ORDINARY NONPARAMETRIC BOOTSTRAP
# Call:
# boot::boot(data = dat, statistic = boot.draws, R = R, npars = npars,
# constrain = constrain, class = class, parprior = parprior,
# model = model, itemtype = itemtype, group = group, LR = LR,
# obj = x, technical = technical)
#
# Bootstrap Statistics :
# original bias std. error
# t1* 2.75172966 0.161429860 0.6073123
# t2* -0.58673221 -0.074924130 0.2534655
# t3* 1.72501883 0.119301687 0.2837102
# t4* -0.08147124 -0.009537416 0.1475875
# t5* 3.50652627 0.671293226 2.0593330
# t6* 0.10958272 0.006503643 0.2608795
I am really lost and would very much appreciate your help!
Thank you in advance.
Kind regards,
Marina