Description Usage Arguments Details Value Author(s) See Also Examples
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.
1 | PerformEquating(listcountry, tol, tol2, mincommon, step)
|
listcountry |
A list of |
tol |
Tolerance from the second iteration step on. After the first iteration,
a difference of |
tol2 |
Initial tolerance. At the first iteration step, items are considered common if their item severity differ of |
mincommon |
Number of minimum common items. In a specific country, if the number of common items is less than |
step |
Speed of decreasing of the algorithm tolerance. After the first iteration, |
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
Set the iteration counter it = 1
Report the country-specific item parameters on the same metric, i.e. having the same mean and standard deviation. Standardized, country-specific, item parameters (indicated, from here on, as country std.sev.) are obtained by dividing them by their standard deviation σ_i.
Assuming that all items are common, define the global reference standard (from here on, ref.sev.) as median of severity parameters across countries.
For each country, calculate the absolute difference between the standardized parameter, and the reference standard (d_i = (d_i1, ..., d_ik)), and define the set of unique and common items for country i as U_i = {j: d_ij > tol2
}, and C_i = {j: d_ij < tol2
}.
Define discr = 1+tol
WHILE discr > tol
The new metric is defined based on common items in each country, leading to the computation of expansion coefficients α_i and β_i:
β_i = sd(comm.ref.sev.)/sd(comm.country.std.sev.),
and
α_i = mean(comm.ref.sev.)- β_i * mean(comm.country.std.sev.)
Here, comm. stands for common that reference and country severities are considered only for items defined as common. Therefore, for each country, the new metric is defined in terms of mean and standard deviation of the set of common items.
The country-specific parameters are re-scaled and re-centered based on the expansion coefficients as follows:
new country std.sev. = α_i + β_i * old country std.sev.
Calculate the new reference standard (new ref.sev.) based on the median of the new country std. sev. (based only on common items). Based on the new reference standard, the new parameter difference (d_i), and the new set of unique (U_i) and common (C_i) items is defined.
Re-define the tolerance as discr
= max(tol
, max(d_ij')), where j' in C^_i.
If C_i has cardinality less than mincommon
, country i is eliminated from the set of countries that contributes to the definition of the reference standard.
Set it = it + 1
end WHILE
Define the expansion coefficients on the actual contry-specific severities. This final coefficients will be used to equate the country-specific metric to a common metric, allowing comparable results.
β_i final = sd(comm.ref.sev.)/sd(comm.country.sev.),
and
α_i final = mean(comm.ref.sev.)- β_i final * mean(comm.country.sev.)
It is important to note that β_i final and α_i final consider the actual country severities, and not the standardized ones.
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. |
Carlo Cafiero carlo.cafiero@fao.org
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.