Non-parametric item response model plots

R
item response theory
Author
Affiliation

Deon de Bruin

Department of Industrial Psychology, Stellenbosch University

Published

January 21, 2025

Introduction

Non-parametric item response modeling makes it possible to gain insight into the functioning of items without placing constraints on the analysis. Ramsay introduced a kernel smoothing non-parametric item response model that can be used to create informative plots of item functioning. Here we focus on two such plots, namely the expected item score curve and the option characterist curve.

Read the data

library(psychTools)
library(KernSmoothIRT)
data(bfi)
mydata <- bfi[c(16:20, 26)] 

Kernel smoothing of item characteristic curves

In this tutorial we use the ksIRT function to fit the non-parametric item response model to responses of 2800 people to the five Neuroticism items of the Big Five Inventory. There are 919 men and 1881 women.

At a minimum, we need to specify the name of the data frame that contains the data, the format of the data, which can be multiple choice (1), rating or partial credit (2), or nominal (3). The key can be a scalar or a vector that indicates the highest possible score that can be obtained for the items. If all the items have the same response categories a single number that indicates the highest possible score can be specified.

myksirt <- ksIRT(mydata[1:5], format = 2, key = 6)

ls(myksirt)
 [1] "bandwidth"        "binaryresp"       "DIF"              "evalpoints"      
 [5] "expectedscores"   "format"           "groups"           "itemcor"         
 [9] "itemlabels"       "kernelweights"    "nevalpoints"      "nitem"           
[13] "nsubj"            "OCC"              "RCC"              "scale"           
[17] "stderrs"          "subjscore"        "subjscoreML"      "subjscoresummary"
[21] "subjtheta"        "subjthetaML"      "subjthetasummary" "thetadist"       
myksirt
  Item Correlation
1    1   0.7894638
2    2   0.7745149
3    3   0.7977389
4    4   0.7071913
5    5   0.6771746

Option characteristic curves

## CHANGE the numbers of the items you want to plot
plot(myksirt, plottype = "OCC", item = c(1:5))

Expected score curves

Indicate the items you want to see the plots for.

plot(myksirt, plottype = "EIS", item = c(1:5))

Examining differential item functioning

myksirt.dif <- ksIRT(mydata[1:5], format = 2, key = 6, groups = mydata$gender)

Plotting expected score curves across groups

The expected item score curves are separately plotted for the men (coded as 1) and the women (coded as 2). The curves of items N4 and N5 clearly show signs of differential item functioning. Item N4 is somewhat easier to endorse for the men, whereas item N5 is somewhat easier to endorse for the women.

plot(myksirt.dif, plottype = "EISDIF", item = c(1:5))