--- title: "Psychometric Models in `irt` Package" author: "Emre Gönülateş" date: "`r Sys.Date()`" output: rmarkdown::html_vignette: toc: true vignette: > %\VignetteIndexEntry{Psychometric Models in `irt` Package} %\VignetteEngine{knitr::knitr} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( fig.width = 5, collapse = TRUE, comment = "#>" ) ``` This vignettes covers the psychometric models that are implemented in the `irt` package. # Item Models | Name | Description | Parameters | |-------|-------------------------------------------------|---------------| | Rasch | Rasch Model | b | | 1PL | One-Parameter Logistic Model | b, D | | 2PL | Two-Parameter Logistic Model | a, b, D | | 3PL | Three-Parameter Logistic Model | a, b, c, D | | 4PL | Four-Parameter Logistic Model | a, b, c, d, D | | GRM | Graded Response Model | a, b, D | | PCM | Partial Credit Model | b | | GPCM | Generalized Partial Credit Model | a, b, D | | GPCM2 | Reparameterized Generalized Partial Credit Model | a, b, d, D | ## Rasch Model For an examinee $i$ with ability $\theta_i$, the probability of correct response to an item $j$ is: $$P\left(X_{ij} = 1 | \theta_i;b_j\right) = \frac{e^{(\theta_i - b_j)}}{1 + e^{(\theta_i - b_j)}} $$ where , $b_j$ is the item difficulty (or threshold) of item $j$. User needs to specify only the item difficulty parameter: ```{r} library(irt) itm_rasch <- item(b = -1.29) itm_rasch ``` The probability of each response option at $\theta = -.65$ is: ```{r} prob(ip = itm_rasch, theta = -0.65) ``` The item characteristic curve of this item is: ```{r} plot(itm_rasch) ``` ## One-Parameter Logistic Model For an examinee $i$ with ability $\theta_i$, the probability of correct response to an item $j$ is: $$P\left(X_{ij} = 1 | \theta_i;b_j\right) = \frac{e^{D(\theta_i - b_j)}}{1 + e^{D(\theta_i - b_j)}} $$ where , $b_j$ is the item difficulty (or threshold) of item $j$. D is the scaling constant (the default value is `r irt:::DEFAULT_D_SCALING`). User needs to specify the following parameters: ```{r} itm_1pl <- item(b = 0.83, D = 1) itm_1pl ``` The probability of each response option at $\theta = .73$ is: ```{r} prob(ip = itm_1pl, theta = 0.73) ``` The item characteristic curve of this item is: ```{r} plot(itm_1pl) ``` ## Two-Parameter Logistic Model For an examinee $i$ with ability $\theta_i$, the probability of correct response to an item $j$ is: $$P\left(X_{ij} = 1 | \theta_i;a_j, b_j\right) = \frac{e^{Da_j(\theta_i - b_j)}}{1 + e^{Da_j(\theta_i - b_j)}} $$ where $a_j$ is the item discrimination (or slope) of item $j$, $b_j$ is the item difficulty (or threshold). D is the scaling constant (the default value is `r irt:::DEFAULT_D_SCALING`). User needs to specify all of the parameter values: ```{r} itm_2pl <- item(a = .94, b = -1.302, D = 1) itm_2pl ``` The probability of each response option at $\theta = -0.53$ is: ```{r} prob(ip = itm_2pl, theta = -0.53) ``` The item characteristic curve of this item is: ```{r} plot(itm_2pl) ``` ## Three-Parameter Logistic Model For an examinee $i$ with ability $\theta_i$, the probability of correct response to an item $j$ is: $$P\left(X_{ij} = 1 | \theta_i;a_j, b_j, c_j\right) = c_j + (1 - c_j)\frac{e^{Da_j(\theta_i - b_j)}}{1 + e^{Da_j(\theta_i - b_j)}} $$ where $a_j$ is the item discrimination (or slope) of item $j$, $b_j$ is the item difficulty (or threshold), and $c_j$ is the lower asymptote (or pseudo-guessing) value. D is the scaling constant (the default value is `r irt:::DEFAULT_D_SCALING`). As can be seen from the equation above, the user needs to specify all of the parameter values: ```{r} itm_3pl <- item(a = 1.51, b = 2.04, c = .16, D = 1.7) itm_3pl ``` The probability of each response option at $\theta = 1.5$ is: ```{r} prob(ip = itm_3pl, theta = 1.5) ``` The item characteristic curve of this item: ```{r} plot(itm_3pl) ``` ## Four-Parameter Logistic Model For an examinee $i$ with ability $\theta_i$, the probability of correct response to an item $j$ is: $$P\left(X_{ij} = 1 | \theta_i;a_j, b_j, c_j, d_j\right) = c_j + (d_j - c_j)\frac{e^{Da_j(\theta_i - b_j)}}{1 + e^{Da_j(\theta_i - b_j)}} $$ where $a_j$ is the item discrimination (or slope) of item $j$, $b_j$ is the item difficulty (or threshold), $c_j$ is the lower asymptote (or pseudo-guessing) value and $d_j$ is the upper asymptote. D is the scaling constant (the default value is `r irt:::DEFAULT_D_SCALING`). As can be seen from the equation above, the user needs to specify all of the parameter values: ```{r} itm_4pl <- item(a = 1.2, b = -.74, c = .22, d = .99, D = 1.7) itm_4pl ``` The probability of each response option at $\theta = 1.2$ is: ```{r} prob(ip = itm_4pl, theta = 1.2) ``` The item characteristic curve of this item is: ```{r} plot(itm_4pl) ``` ## Graded Response Model (GRM) For an examinee $i$ with ability $\theta_i$, the probability of responding at or above the category $k$ to an item $j$ with possible scores $k = 0, 1, \ldots, m_j$: $$P^*\left(X_{ij} = k | \theta_i;a_j, b_j\right) = \frac{e^{Da_j(\theta_i - b_{jk})} }{1 + e^{Da_j(\theta_i - b_{jk})}} $$ where $a_j$ is the item discrimination (or slope) of item $j$, $b_{jk}$ is the threshold parameter. Note that the probability of responding at or above the lowest category is $P^*\left(X_{ij} = 0\right) = 1$. Responding at a category $k$ can be calculated as: $$P(X_{ij}=k|\theta_i) = P^*(X_{ij} = k) - P^*(X_{ij} = k+1)$$ The user needs to specify the following parameter values: ```{r} itm_grm <- item(a = 0.84, b = c(-1, -.2, .75, 1.78), D = 1.7, model = "GRM") itm_grm ``` The probability of each response option at $\theta = 1.13$ is: ```{r} prob(ip = itm_grm, theta = 1.13) ``` The option characteristic curves of this item is: ```{r} plot(itm_grm) ``` ## Generalized Partial Credit Model (GPCM) For an examinee $i$ with ability $\theta_i$, the probability of a response $k$ to an item $j$ with possible scores $k = 0, 1, \ldots, m_j$: $$P\left(X_{ij} = k | \theta_i;a_j, b_j\right) = \frac{\text{exp} \left( \sum_{v = 0}^{k}Da_j(\theta_i - b_{jv}) \right) } {{\sum_{h = 0}^{m_j} \text{exp} \left[ \sum_{v = 0}^{h} Da_j(\theta_i - b_{jv}) \right] }} $$ where $a_j$ is the item discrimination (or slope) of item $j$, $b_{jv}$ are the step difficulty parameters. Note that $b_{jv}$ values are not necessarily ordered from smallest to the largest. D is the scaling constant (the default value is `r irt:::DEFAULT_D_SCALING`). $\sum_{v = 0}^0 Da_j(\theta_i - b_{jv}) = 0$. The user needs to specify the following parameter values: ```{r} itm_gpcm <- item(a = 1.1, b = c(-.74, .3, .91, 2.19), D = 1.7, model = "GPCM") itm_gpcm ``` The probability of each response option at $\theta = -0.53$ is: ```{r} prob(ip = itm_gpcm, theta = -0.53) ``` The option characteristic curves of this item is: ```{r} plot(itm_gpcm) ``` ## Partial Credit Model (PCM) For an examinee $i$ with ability $\theta_i$, the probability of a response $k$ to an item $j$ with possible scores $k = 0, 1, \ldots, m_j$: $$P\left(X_{ij} = k | \theta_i;b_j\right) = \frac{\text{exp} \left( \sum_{v = 0}^{k}(\theta_i - b_{jv}) \right) } {{\sum_{h = 0}^{m_j} \text{exp} \left[ \sum_{v = 0}^{h} (\theta_i - b_{jv}) \right] }} $$ where $b_{jv}$ are the step difficulty parameters. $\sum_{v = 0}^0 (\theta_i - b_{jv}) = 0$. The user needs to specify the following parameter values: ```{r} itm_pcm <- item(b = c(-1.38, -.18, 1.1), model = "PCM") itm_pcm ``` The probability of each response option at $\theta = -1.09$ is: ```{r} prob(ip = itm_pcm, theta = -1.09) ``` The option characteristic curves of this item is: ```{r} plot(itm_pcm) ``` ## Reparameterized Generalized Partial Credit Model (GPCM2) For an examinee $i$ with ability $\theta_i$, the probability of a response $k$ to an item $j$ with possible scores $k = 0, 1, \ldots, m_j$: $$P\left(X_{ij} = k | \theta_i;a_j, b_j, d_j\right) = \frac{\text{exp} \left( \sum_{v = 0}^{k}Da_j(\theta_i - b_j + d_{jv}) \right) } {{\sum_{h = 0}^{m_j} \text{exp} \left[ \sum_{v = 0}^{h} Da_j(\theta_i - b_j + d_{jv}) \right] }} $$ where $a_j$ is the item discrimination (or slope) of item $j$, $b_j$ is the overall location parameter and $d_{jv}$ are the threshold parameters. D is the scaling constant (the default value is `r irt:::DEFAULT_D_SCALING`). The user needs to specify the following parameter values: ```{r} itm_gpcm2 <- item(a = .71, b = .37, d = c(-.18, .11, 1.29), D = 1, model = "GPCM2") itm_gpcm2 ``` The probability of each response option at $\theta 1.3$ is: ```{r} prob(ip = itm_gpcm2, theta = 1.3) ``` The option characteristic curves of this item is: ```{r} plot(itm_gpcm2) ```