bsmatch {StratifiedSampling} | R Documentation |
Statistical matching using optimal transport and balanced sampling
Description
We propose a method based on the output of the function otmatch
. The method consists of choosing a unit from sample 2 to assign to a particular unit from sample 1.
Usage
bsmatch(object, Z2)
Arguments
object |
A data.frame, output from the function |
Z2 |
A optional matrix, if we want to add some variables for the stratified balanced sampling step. |
Details
All details of the method can be seen in the manuscript: Raphaël Jauslin and Yves Tillé (2021) <arXiv:2105.08379>.
Value
A list of two objects, A data.frame that contains the matching and the normalized weights. The first two columns of the data.frame contain the unit identities of the two samples. The third column are the final weights. All remaining columns are the matching variables.
See Also
Examples
#--- SET UP
N=1000
p=5
X=array(rnorm(N*p),c(N,p))
EPS= 1e-9
n1=100
n2=200
s1=sampling::srswor(n1,N)
s2=sampling::srswor(n2,N)
id1=(1:N)[s1==1]
id2=(1:N)[s2==1]
d1=rep(N/n1,n1)
d2=rep(N/n2,n2)
X1=X[s1==1,]
X2=X[s2==1,]
#--- HARMONIZATION
re=harmonize(X1,d1,id1,X2,d2,id2)
w1=re$w1
w2=re$w2
#--- STATISTICAL MATCHING WITH OT
object = otmatch(X1,id1,X2,id2,w1,w2)
#--- BALANCED SAMPLING
out <- bsmatch(object)
[Package StratifiedSampling version 0.4.2 Index]