PSEObservedEquate: Apply post-stratification Kernel Equating to data from a NEAT...

View source: R/Kernel Equating Functions.R

PSEObservedEquateR Documentation

Apply post-stratification Kernel Equating to data from a NEAT design.

Description

This method weights the data from the samples taking the two forms being equated (form X and form Y) so that they have an equivalent distribution on the anchor test up to a defined order statistic. Then, Kernel Equating is applied to the weighted (and thus hopefully equivalent) groups.

Usage

PSEObservedEquate(dx, dy, target = NA, order = 5, hX = NA, hY = NA)

Arguments

dx

Data frame with variables "x" and "a" representing scores for individual candidates on form X and on the anchor test.

dy

Data frame with variables "y" and "a" representing scores for individual candidates on form Y and on the anchor test.

target

A character denoting the synthetic population. Can be "x" to denote weighting to the form X population, "y" to denote weighting to the form Y population or left blank (default) to indicate the data should be weighted to the average across all data.

order

Numeric (integer) input denoting the order up to which the anchor distributions should be matched across populations. For example, 2 would indicate that the means and the means of the squared values (related to the standard deviation) should match. An order of 4 essentially indicates that the means, SDs, skewness and kurtosis of anchor test scores should be matched. The default is 5. Setting this to a lower value (2, 3 or 4) may be useful in the event of error messages (often related to non-convergence). Higher values may be valuable if the distributions of anchor test scores follow an extremely different shape on the two populations.

hX

Bandwidth for form X. By default a plug-in estimator from Andersson and von Davier (2014) is used.

hY

Bandwidth for form Y. By default a plug-in estimator from Andersson and von Davier (2014) is used.

Value

The function returns a list with the following elements:

KerEquiFunc

A function that translates any vector of scores on form X into equivalent scores on form Y.

KerLinFunc

A function that translates any vector of scores on form X into equivalent scores on form Y based on linear equating in the matched samples.

EqTable

A data frame combining the sorted unique scores on form X in the data and their equated values on form Y (both kernel equipercentile and linear equating) on matched data.

muSx

Estimated mean on form X within the synthetic population.

sigmaSx

Estimated standard deviation on form X within the synthetic population.

muSy

Estimated mean on form Y within the synthetic population.

sigmaSy

Estimated standard deviation on form Y within the synthetic population.

References

Andersson, B., & von Davier, A. A. (2014). Improving the bandwidth selection in kernel equating. Journal of Educational Measurement, 51(3), 223-238.

Examples

#Simulate two data sets with roughly equivalent relationship to underlying "true" scores but a difference in means
#This example shows the tendency for the PSE approach to under-adjust for the true difference in ability between groups
n1=8000
n2=5500
t1=rnorm(n1,0.5,1)
t2=rnorm(n2,0,1)
x=round(pmin(100,pmax(0,50+20*(0.9*t1+rnorm(n1,0,sqrt(1-0.9^2))))))
a1=round(pmin(20,pmax(0,10+4*(0.7*t1+rnorm(n1,0,sqrt(1-0.7^2))))))
cor(cbind(x,t1,a1))
y=round(pmin(100,pmax(0,50+20*(0.9*t2+rnorm(n2,0,sqrt(1-0.9^2))))))
a2=round(pmin(20,pmax(0,10+4*(0.7*t2+rnorm(n2,0,sqrt(1-0.7^2))))))
cor(cbind(y,t2,a2))
PSEObservedEquate(data.frame(x=x,a=a1),data.frame(y=y,a=a2))


CambridgeAssessmentResearch/KernEqWPS documentation built on Feb. 23, 2024, 9:34 p.m.