Learn R Programming

sirt (version 4.1-15)

unidim.test.csn: Test for Unidimensionality of CSN

Description

This function tests whether item covariances given the sum score are non-positive (CSN; see Junker 1993), i.e. for items \(i\) and \(j\) it holds that $$ Cov( X_i, X_j | X^+ ) \le 0 $$ Note that this function only works for dichotomous data.

Usage

unidim.test.csn(dat, RR=400, prop.perm=0.75, progress=TRUE)

Value

A list with following entries

stat

Value of the statistic

stat_perm

Distribution of statistic under \(H_0\) of permuted dataset

p

The corresponding p value of the statistic

H0_quantiles

Quantiles of the statistic under permutation (the null hypothesis \(H_0\))

Arguments

dat

Data frame with dichotomous item responses. All persons with (some) missing responses are removed.

RR

Number of permutations used for statistical testing

prop.perm

A positive value indicating the amount of permutation in an existing permuted data set

progress

An optional logical indicating whether computation progress should be displayed

Details

For each item pair \((i,j)\) and a each sum score group \(k\) a conditional covariance \(r(i,j|k)\) is calculated. Then, the test statistic for CSN is $$ h=\sum_{k=1}^{I-1} \frac{n_k}{n} \max_{i,j} r(i,j|k) $$ where \(n_k\) is the number of persons in score group \(k\). "'Large values"' of \(h\) are not in agreement with the null hypothesis of non-positivity of conditional covariances.

The distribution of the test statistic \(h\) under the null hypothesis is empirically obtained by column wise permutation of items within all score groups. In the population, this procedure corresponds to conditional covariances of zero. See de Gooijer and Yuan (2011) for more details.

References

De Gooijer, J. G., & Yuan, A. (2011). Some exact tests for manifest properties of latent trait models. Computational Statistics and Data Analysis, 55, 34-44.

Junker, B.W. (1993). Conditional association, essential independence, and monotone unidimensional item response models. Annals of Statistics, 21, 1359-1378.

Examples

Run this code
#############################################################################
# EXAMPLE 1: Dataset data.read
#############################################################################

data(data.read)
dat <- data.read
set.seed(778)
res <- sirt::unidim.test.csn( dat )
  ##  CSN Statistic=0.04737, p=0.02

if (FALSE) {
#############################################################################
# EXAMPLE 2: CSN statistic for two-dimensional simulated data
#############################################################################

set.seed(775)
N <- 2000
I <- 30   # number of items
rho <- .60   # correlation between 2 dimensions
t0 <- stats::rnorm(N)
t1 <- sqrt(rho)*t0 + sqrt(1-rho)*stats::rnorm(N)
t2 <- sqrt(rho)*t0 + sqrt(1-rho)*stats::rnorm(N)
dat1 <- sirt::sim.raschtype(t1, b=seq(-1.5,1.5,length=I/2) )
dat2 <- sirt::sim.raschtype(t2, b=seq(-1.5,1.5,length=I/2) )
dat <- as.matrix(cbind( dat1, dat2) )
res <- sirt::unidim.test.csn( dat )
  ##  CSN Statistic=0.06056, p=0.02
}

Run the code above in your browser using DataLab