If the packages are not ready installed on your computer use the
function install.packages(). Then we include the
libraries:
library(eRm)
library(iarm)
library(PP)
library(rms)
library(r2r)
library(splines)
Targeting indicates the degree to which the study population is
outside the target range of the scale items. Using the function
PCM() from the R-package erm we can fix the
mean of item difficulties at zero using the option
sum0 = TRUE. For a well-targeted scale (not too easy, not
too difficult) the mean person locations should then also be around
zero. A positive mean value for person locations indicates that the
sample is located at a higher level than the items, while a negative
value suggests the opposite. If many respondents are at the margins,
then the scale is not properly targeted. Targeting can be verified
graphically and numerically. We will demonstrate both approaches.
Typically, the analysis of the quality of the targeting of the scale
for a population, first compares the mean person ability estimate with
the mean item difficulty. With good targeting both should be close to
zero. We consider the colitis data set containing a sample (N=678) of
cases and controls (variable status) who were interviewed
by nurse or postal questionnaire (variable interv).
Information on gender (variable sex) and a global self
rated health item (variable health) is also included.
We download the data set from the home page and save it in an
R-object called data.
data <- read.table(url("http://publicifsv.sund.ku.dk/~kach/scaleval/colitis.txt"),
header = TRUE)
Let us define a new object items featuring only the
actual items (columns 6-19) and complete cases.
items <- data[, 6:19]
items[items == "."] <- NA
items <- items[complete.cases(items), ]
items <- as.data.frame(sapply(items, as.numeric))
First, we compute the parameter estimates of a PCM using the
PCM() function with sum0 = TRUE.
fit <- PCM(items, sum0 = TRUE)
We extract the difficulty parameter of the items (=Location in
eRm) and calculate the mean and sd.
i.dif <- fit$betapar
mean.dif <- mean(i.dif)
sd.dif <- sd(i.dif)
We find the ability of the persons using the
person.parameter() function and calculate the mean and
sd.
pp <- person.parameter(fit)
abil <- pp$theta.table[, "Person Parameter"]
mean.abil <- mean(abil)
sd.abil <- sd(abil)
We show the rounded mean and sd difficulties and abilities.
summary.targeting <- data.frame(Mean_Difficulty = mean.dif, SD_Difficulty = sd.dif,
Mean_Abilities = mean.abil, SD_Abilities = sd.abil)
round(summary.targeting, 3)
Mean_Difficulty SD_Difficulty Mean_Abilities SD_Abilities
1 0 1.816 0.38 1.692
Reliability, in the context of Modern Test Theory, is an estimate of the precision of the person ability estimates. The Person Separation Reliability, calculates the proportion of person variance that is not due to error. The concept of person separation reliability is very similar to reliability indices such as Cronbach’s \(\alpha\). The interpretation of the person separation reliability may vary, but in general it is agreed on that the reliablity is very good if the PSR is close to 1, good if > 0.85 and sufficient if > 0.7.
The PSR reported by most Rasch computer programs is calculated by subtracting the ratio of the sample mean square person measure error (\(MSE_p\)) to the sample person measure variance (\(SD_p^2\)) from one. The formula (Wright and Masters, 1982, p.106) is:
\[PSR=1-\left[\frac{MSE_p}{SD^2_p}\right]\]
The R-package eRm informs about the persons separation
with the function SepRel() which can be applied on the
person.parameter() output.
SepRel(pp)
Separation Reliability: 0.7299
The scale at this stage, has very high reliability.
The function test_prop() in R-package iarm
makes available reliability and also targeting indices:
SepRel() in the R-package eRmWe check the data distribution.
round(test_prop(fit), 3)
Separation Reliability Test difficulty Test target
0.7298994 0.1490000 0.5380000
Test information
2.3132049
Separation Reliability Test difficulty Test target
0.730 0.149 0.538
Test information
2.313
The graphical testing of targeting includes the person item map as
implemented in eRm with the function
plotPImap(), i.e., plots of the distribution of item
difficulty parameters and person ability parameters.
plotPImap(fit, sorted = TRUE)
In the top panel the grey bars form a bar chart showing the distribution of the person locations. Each item has its own line and the item location is shown as a dot. Note that this is different for polytomous items.