Hello all,
I am new to Brms and IRT, and I am trying to understand the theory and modeling of IRT by reading and replicating @paul.buerkner 's great piece https://arxiv.org/pdf/1905.09501.pdf line by line. And, I plan to utilize the instructions for modeling in the paper in my own IRT 2PL ordinal modeling.
What I am confusing is about the prior setting in IRT 2PL ordinal models in the paper. In the model formula of 2PL Graded Response Model (on page 37),
R> formula_va_ord_2pl <- bf(
R+ resp ~ 1 + (1 |i| item) + (1 | id),
R+ disc ~ 1 + (1 |i| item)
R+ )
the paper sets the “weakly informative priors on hierarchical standard deviations” as below.
R> prior_va_ord_2pl <-
R+ prior("constant(1)", class = "sd", group = "id") +
R+ prior("normal(0, 3)", class = "sd", group = "item") +
R+ prior("normal(0, 1)", class = "sd", group = "item", dpar = "disc")
As far as I understand, the partial pooling for item and person parameters, the normal prior on those parameters is automatically set and cannot be changed via the prior option, but may change the hyperparameters defining the covariance matrix of the person or item parameters that is on the standard deviations and correlation matrices (as the author explains on page 17).
Question 1. In the above 2PL GRM model, what are the default (or hidden?) normal priors on item and person? Is “normal (0,5)” or “normal (0,3)” set to item and person?
If I look at the manual of Brms (https://cran.r-project.org/web/packages/brms/brms.pdf), the manual says the corresponding standard deviation parameters are restricted
to be non-negative and, by default, have a half student-t prior with 3 degrees of freedom on page 194. If my understanding is correct, in the above model, priors on hyperparameters (standard deviations) are changed into “constant (1)”, “normal (0,3)”, and “normal (0,1)” from “default half student-t prior with 3 degrees of freedom”. Still, I am uncertain what are default normal priors on item and person.
Comparing 2PL GRM, if I look into the prior setting for the 2PL binary model on page 27 in the paper, the model formula of 2PL binary as follows
R> formula_va_2pl <- bf(
R+ r2 ~ exp(logalpha) * eta,
R+ eta ~ 1 + (1 |i| item) + (1 | id),
R+ logalpha ~ 1 + (1 |i| item),
R+ nl = TRUE
R+ )
with prior setting,
R> prior_va_2pl <-
R+ prior("normal(0, 5)", class = "b", nlpar = "eta") +
R+ prior("normal(0, 1)", class = "b", nlpar = "logalpha") +
R+ prior("constant(1)", class = "sd", group = "id", nlpar = "eta") +
R+ prior("normal(0, 3)", class = "sd", group = "item", nlpar = "eta") +
R+ prior("normal(0, 1)", class = "sd", group = "item", nlpar = "logalpha")
Ok, it seems like priors for priors on hyperparameters (standard deviations) are the same with 2PL GRM except for setting “normal (0,5)” and “normal (0,1)” to two parameters “eta” and “logalpha”.
Question 2. The author says, “The parameter eta represents the sum of person parameter and item easiness, whereas logalpha represents the log discrimination.” If so, is it a correct understanding that “normal (0, 3)” is set to “person parameter” and “item easiness parameter”, whereas “normal (0,1)” is set to “item discrimination parameter”?
And, I am wondering whether I can utilize this 2PL binary formula and prior setting into the modeling of my own 2PL ordinary model. This is because I want to adjust priors for item and person with more flexibility, and I want item discrimination function to be positive for all items using “logalpha” as the author did.
Thank you for reading my long questions. If anyone who is familiar with this paper and 2PL IRT ordinal modeling can help me, it would be really appreciated.