RM.w: Estimation of the weighted Rasch model using CML

Description Usage Arguments Details Value Author(s) Examples

Description

This function computes item and raw score parameter estimates of a Rasch model for binary item responses by using weighted CML estimation. Input data should be a 0/1 matrix (1 = Yes). Residual correlation, fit statistics and corresponding standard errors, Rasch reliability and individual fit statistics are also reported.

Usage

1
2
RM.w(.data, .w = NULL, .d=NULL, country=NULL, se.control = T, 
quantile.seq = NULL, write.file = F, max.it=100)

Arguments

.data

Input 0/1 data matrix or data frame; affirmative responses must be coded as 1s. Rows represent respondents, columns represent items. Missing values must be coded as NA.

.w

Vector of sampling weights. The length must be the same as the number of rows of .data. If left unspecified, all the individuals will be equally weighted (.w = rep(1, nrow(.data))).

.d

Optional vector for the assumption on the extreme raw score parameters. Default is 0.5 and (k-0.5), k being the maximum number of items (columns of .data).

country

Optional (character) name of the dataset.

se.control

Are the measurement errors for respondent extreme parameters to be calculated based on raw scores 0.5 and (k-0.5)? If FALSE, measurement errors for those parameters are based on the pseudo-raw-scores specified in the .d vector. Default is TRUE.

quantile.seq

Quantiles corresponding to the observed and the expected individual fit statistic distributions. Default is seq(0,1,0.01).

write.file

If TRUE, a CSV file with the main results will be saved in the working directory.

max.it

Maximum number of iterations for estimation of item parameters.

Details

The weighted CML method is used to estimate the item parameters. Respondent parameters are estimated post-hoc as maximum likelihood given the item parameters. Cases with missing responses to some items can be included in the input data, but will not be used to estimate the Rasch model. Missing responses should be coded as NA in the input data file.

As the parameters for the extreme raw scores (0 and k), are undefined under the CML, some assumptions are needed unless the proportions of respondents with those raw scores are so small that they can be considered to be measured without error. Vector .d gives the option to include up to four alternative assumptions on the pseudo-raw-scores on which calculation of parameters for extreme raw scores will be based. More in detail, .d can be a two, three or four element vector:

Value

A list with the following elements:

country Name of the country or the application.
b Item severity parameters.
a Raw score severity parameters.
se.b Item severities' standard error.
se.a Raw score parameters' standard error.
infit Item infit statistics.
outfit Item outfit statistics.
reliab Rasch reliability.
reliab.fl Rasch reliability (equally weighted across raw scores).
infit.person Person infits.
infit.person.theor Person infits (theorethical).
outfit.person Person outfits.
outfit.person.theor Person outfits (theoretical).
q.infit.theor Quintiles of theoretical person infits.
q.infit Quintiles of person infits.
q.outfit.theor Quintiles of theoretical person outfits.
q.outfit Quintiles of person outfits.
res.corr Residual correlation matrix.
se.infit Standard errors of infits.
mat.res Matrix of individual residuals for each item.
d Pseudo raw scores for the calculation of extreme raw score parameters.
XX Data matrix.
wt Vector of post-stratification sampling weights.
n.compl Number of complete, non-extreme cases.
wt.rs Weighted (absolute) distribution of respondents across raw scores.

Author(s)

Sara Viviani sara.viviani@fao.org, Mark Nord mark.nord@fao.org

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
## Not run: 
data(data.FAO_country1)
# Questionnaire data and weights
XX.country1 = data.FAO_country1[,1:8]
wt.country1 = data.FAO_country1$wt
# Fit weighted Rasch
rr.country1 = RM.w(XX.country1, wt.country1)
# Fit unweighted Rasch
rr.country1.nw = RM.w(XX.country1)

# Item severity
rr.country1$b

# Item standard error
rr.country1$se.b

# Respondent severity for each raw score
rr.country1$a

# Respondent measurement error for each raw score
rr.country1$se.a

# Item infit  
rr.country1$infit

# Item outfit 
rr.country1$outfit

# Rasch reliability based on observed distribution of cases across raw scores
rr.country1$reliab

# Rasch reliability  based on equal proportion of cases in each 
# non-extreme raw score (more comparable across datasets)
rr.country1$reliab.fl

# Respondent infit distribution: observed and expected
quantile.seq = c(0,.01,.02,.05,.10,.25,.50,.75,.90,.95,
   .98,.99,1)
q.infit = rr.country1$q.infit
q.infit.theor  = rr.country1$q.infit.theor
plot(quantile.seq, q.infit, type = "b", xlab = "Quantiles", 
ylab = "Observed infit", ylim = c(0, 6))
lines(quantile.seq, q.infit.theor, type = "b", col = 2)

# Checking conditional independence: residual correlation matrix 
rr.country1$res.cor

# Save outputs to csv file with data name
rr.country1 = RM.w(XX.country1, wt.country1, country = "country1", write.file = T)

## End(Not run)

Nwosu/JAN_17_RM_weights documentation built on May 7, 2019, 8:20 p.m.