PerformEquating: Equating parameter estimates of a Rasch model across...

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/PerformEquating.R

Description

This functions allows to equate parameter estimates across different cultural, linguistic or environmental contexts, providing coefficients to report item and raw score parameters on the same metric for cross-context comparisons.

Usage

1
PerformEquating(listcountry, tol, tol2, mincommon, step)

Arguments

listcountry

A list of RM.w objects.

tol

Tolerance from the second iteration step on. After the first iteration, a difference of discr = 1+tol is considered to define common and unique items. discr is decreased iteration by iteration.

tol2

Initial tolerance. At the first iteration step, items are considered common if their item severity differ of tol2 from the standard, hence, it is advisable that tol2 is defined sufficieltly large (1 or 2 logits). At each iteration, tol2 = min(tol2 - step, discr), where discr depends on the maximum observed parameter difference.

mincommon

Number of minimum common items. In a specific country, if the number of common items is less than mincommon, the country is not used to compute the standard.

step

Speed of decreasing of the algorithm tolerance. After the first iteration, tol2 = min(tol2 - step, discr), where discr depends on the maximum observed parameter difference.

Details

This function allows to define a common reference scale across different context (depending on, for instance, the different environment, country, language the scale has been administered). In this document, such differences are refered to as country effects, but they have in fact a broader, context-related, meaning. In each country, common and unique item are defined based on the logit-difference with the standard, and such standard is defined based only on the common items. Because of the link between the definition of common items and the standard reference scale, the algorithm needs to start with a very permissive tolerance, and gradually decrease this tolerance during the subsequent iterations.

Let us indicate with n the number of countries, k the number of items and b_{ij} the estimated item parameter for country i = 1, …, n and item j = 1, …, k. The vector b_i includes all the estimated item parameters for country i, while the vector b_j contains the estimated parameter for item j in all countries. By construction, b_i are zero-centered (we will indicate this property as μ_i = 0), but they can have arbitrary standard deviation (σ_i). σ_i is related to the scale discrimination power and reliability, but it also reflects a country-specific, and therefore not comparable, metric.

The equating algortithm is breafly described below.

EQUATING ALGORITHM

Value

A list with the following elements:

aa Vector of the α_i, one for each country, at convergence.
bb Vector of the β_i, one for each country, at convergence.
aaa Vector of the α_i final, one for each country, at convergence.
bbb Vector of the β_i final, one for each country, at convergence.
id.comm TRUE/FALSE matrix with n rows and k columns. TRUE indicates that that item in that country is common.
b Matrix with n rows and k columns containing the estimated item severities for each country.
b.scaled Matrix with n rows and k columns containing the scaled item severities for each country at convergence.
b.tot Reference standard severity vector at convergence.
diff.mat Matrix with n rows and k columns containing the differences between the country-specific severities (b.scaled) and the reference standard severities (b.tot).
items Names of the items.
names Names of the countries.
diff The tolerance (discr) at convergence.
eqset Set of countries that contribute to the reference standard definition, at convergence.
number Number of common items per country, at convergence.

Author(s)

Carlo Cafiero [email protected]

See Also

RM.w, prob.assign

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
## Not run: 
data(data.FAO_country1)
data(data.FAO_country2)
data(data.FAO_country3)
data(data.FAO_country4)
# Questionnaire data and weights for countries 1, 2, 3 and 4
XX.country1 = data.FAO_country1[,1:8]
XX.country2 = data.FAO_country2[,1:8]
XX.country3 = data.FAO_country3[,1:8]
XX.country4 = data.FAO_country4[,1:8]

wt.country1 = data.FAO_country1$wt
wt.country2 = data.FAO_country2$wt
wt.country3 = data.FAO_country3$wt
wt.country4 = data.FAO_country4$wt

# Fit weighted Rasch for each country separately
rr.country1 = RM.w(XX.country1, wt.country1, country = "Country 1")
rr.country2 = RM.w(XX.country2, wt.country2, country = "Country 2")
rr.country3 = RM.w(XX.country3, wt.country3, country = "Country 3")
rr.country4 = RM.w(XX.country4, wt.country4, country = "Country 4")

# Prepare function input
listcountry = list(rr.country1, rr.country2, rr.country3, rr.country4)

# Perform equating
result = PerformEquating(listcountry, tol = 0.35, tol2 = 2, mincommon = 5, step = 1e-9)

# Expansion factors
alphai = result$aaa   
betai = result$bbb

# Compare prevalence curves on a common metric 
s.levels = seq(-5, 5, length.out = 200)
s.levels.eq = sapply(1:length(listcountry), function(i) alphai[i] + betai[i] * s.levels)

plot(s.levels.eq[,1], prob.assign(listcountry[[1]], sthres = s.levels)$sprob, 
type = "l", col = 1, ylim = c(0, 1), xlab = "Latent trait", ylab = "Cumulative prevalence profile")  

for(i in 2:length(listcountry)) {
	lines(s.levels.eq[,i], prob.assign(listcountry[[i]], sthres = s.levels)$sprob, 
  type = "l", col = i) 
}     
legend("topright", lty = 1, col = 1:length(listcountry), legend = result$names, 
bty = "n", x.intersp = 0.5, cex = 0.8)
text(result$b.tot, 0.2, result$items, srt = 90, cex = 0.6)

## End(Not run)

Nwosu/new_RM_weights documentation built on May 9, 2017, 3:23 p.m.