I. Item parameters

В качестве примера взята шкала из утверждений, которые измеряют Привязанность к школе (School Connectedness)

library(ltm)
library(foreign)
library(dplyr)

df <- read.spss("/students/aamenshikova/Kaluga/IRT Summer/base5perc.sav", to.data.frame = T)
s_con <- dplyr::select(df,sc1,sc2,sc3,sc4,sc5,sc6,sc7,sc8,sc9)

Модель Graded Response Model, такая использована в статье

mdl2 <- grm(s_con, constrained = FALSE)
mdl2
## 
## Call:
## grm(data = s_con, constrained = FALSE)
## 
## Coefficients:
##      Extrmt1  Extrmt2  Extrmt3  Dscrmn
## sc1   -1.882   -1.032    0.302   3.474
## sc2   -2.138   -1.408   -0.180   2.798
## sc3   -2.387   -1.209    0.440   1.726
## sc4   -1.461   -0.214    1.166   1.920
## sc5   -2.948   -1.694    0.341   1.583
## sc6   -2.482   -0.993    0.644   1.330
## sc7   -2.961   -1.683   -0.235   1.233
## sc8   -3.473   -2.064    0.096   1.050
## sc9   -2.608   -1.154    0.948   1.521
## 
## Log.Lik: -12241.64

Для того, чтобы посчитать threshhold для категории 2 (Скорее не согласен), нужно вычесть значение b2 из значения b1, соответственно, для категории 3 (Скорее согласен) нужно вычесть b3 из b2

Slope и thresholds - два основных параметра, и их удобно изображать и интерпретировать с помощью графиков типа “Item Characteristic Curves”. Для каждого вопроса, который измеряет интересующую латентную переменную (здесь - Привязанность к школе), функция рисует отдельный график с кривыми для каждой категории ответа (“Совершенно не согласен”, “Скорее согласен” и т.д.). Кривые на графике показывают распределение вероятностей ответов (Y, Probability) и выраженность латентой переменной (X, Theta) на основе ответов всех респондентов для каждой категории внутри одного вопроса согласно модели GRM.

Значение slope характеризует разброс вероятностей в ответах на вопрос по отношению к значениям латентной переменной: чем выше slope, тем разброс вероятностей больше с ее увеличением или уменьшением.Графически соответствует количеству пиков и высоте их вершин на графике.Чем выше значение slope, тем больше вершин (пиков) появляется на кривой индивидуальных ответов.

Что касается значений thresholds: чем они выше, тем больше на графике заметен сдвиг кривых вправо, в сторону положительных значений латентной переменной.

Примеры

Для конструкта Привязанность к школе посмотрим на графики для вопросов “В школе мне хорошо”(sc1) и “В школе я могу быть самим собой”(sc6) сверху и снизу соответственно

par(mfrow = c(3, 3))
par(mar=c(1,1,1,1))
plot(mdl2, lwd = 2, cex = 0.8,
     legend = TRUE, cx = "topright",
     xlab = "Привязанность к школе", cex.main = 1,
cex.lab = 1, cex.axis = 1)

1. Slopes
  • В школе мне хорошо (sc1)

a = 3.474

  • В школе я могу быть самим собой(sc6)

a = 1.330

И более высокое значения показателя, и наличие острых пиков на графике для утверждения “В школе мне хорошо” говорит о более резкой смене вероятностей при для высоких и низких показателей латентной переменной Привязанность к школе. При любом значении латентной переменной более распространены категории ответа, у которых вероятность (значение по шкале Y, Probability) выше.

Выбор категории “Скорее не согласен” для утверждения “В школе мне хорошо” говорит о том, что показатель латентной переменной, Привязанность к школе, находится в отрезке от -1.9 до -1.1. Выбор той же категории для утверждения “В школе я могу быть самим собой” указывает на уровень привязанности к школе в промежутке от -2.4 до -1.1

Чем меньше промежутки значений латентной переменной для каждой из категорий, тем более информативным считается вопрос/утверждение при измерении латентной переменной. Поэтому утверждение “В школе мне хорошо” дает больше информации о привязанности к школе, чем “В школе я могу быть самим собой”

2. Threshholds
  • В школе мне хорошо (sc1)

b1 = -1.882 b2 = -1.032 b3 = 0.302

  • В школе я могу быть самим собой(sc6)

b1 = -2.482 b2 = -0.993 b3 = 0.644

Для утверждения “В школе мне хорошо” значения thresholds в целом выше, и кривые сдвинуты влево меньше, чем в случае утверждения “В школе я могу быть самим собой”. Так первое утверждение получило более положительные ответы от респондентов по отношению к латентной переменной Привязанность к школе.

Респондент со средней привязанностью к школе (0 по оси Х, значение латентной переменной) выберет категорию “Скорее согласен” для утверждения “В школе мне хорошо” с вероятностью примерно 70%. Для утверждения “В школе я могу быть самим собой” “Скорее согласен” ответят 50% при среднем значении латентной переменной.

II. IRT scale scores

Функция ниже позволяет подсчитать IRT scale score для каждого респондента в отдельности. В качестве альтернативы простому суммированию в таком подходе рассматриваются все возможные комбинации ответов. Именно респонденты с одинаковыми последовательными сочетаниями ответов на вопросы внутри одной шкалы получают одинаковые значения scale score.

factor.scores добавляет к датасету с используемыми переменными 4 колонки:

Также уровни функция заменяет на цифры:

  1. Совершенно не согласен
  2. Скорее не согласен
  3. Скорее согласен
  4. Полностью согласен
scores_scon <- ltm::factor.scores(mdl2, resp.patterns = `s_con`)$score.dat
head(scores_scon)
##   sc1 sc2 sc3 sc4 sc5 sc6 sc7 sc8 sc9 Obs         Exp         z1     se.z1
## 1   4   4   4   4   4   4   4   4   4  63 50.60649076  1.7266512 0.5541767
## 2   4   4   4   4   4   4   4   4   4  63 50.60649076  1.7266512 0.5541767
## 3   4   4   4   3   4   4   4   4   4  21 20.39202510  1.2611094 0.4568771
## 4   3   4   3   2   4   3   3   3   2   1  0.16308030 -0.2538268 0.3210101
## 5   4   4   3   3   3   2   3   3   2   1  0.03728976  0.0141369 0.3220160
## 6   3   2   3   1   3   3   3   4   2   1  0.03867509 -0.9353283 0.3134783

Можно самостоятельно указать интересующую комбинацию (комбинации) ответов, и тогда в выводе появятся только scale scores для таких комбинаций

scores_scon12 <- ltm::factor.scores(mdl2, resp.patterns = rbind(c(1,1,1,1,1,1,1,1,1), c(2,2,2,2,2,2,2,2,2)))$score.dat
scores_scon12
##   sc1 sc2 sc3 sc4 sc5 sc6 sc7 sc8 sc9 Obs       Exp        z1     se.z1
## 1   1   1   1   1   1   1   1   1   1   2 0.2250385 -3.187599 0.4887001
## 2   2   2   2   2   2   2   2   2   2   1 0.0304650 -1.574715 0.2743589