The stratification matrix is calculated from the inclusion probabilities. It takes the distances between units into account. See Details.
wpik(X, pik, bound = 1, tore = FALSE, shift = FALSE, toreBound = -1)
A sparse matrix representing the spatial weights.
matrix representing the spatial coordinates.
vector of the inclusion probabilities. The length should be equal to \(N\).
a scalar representing the bound to reach. Default is 1.
an optional logical value, if we are considering the distance on a tore. Default is FALSE
.
an optional logical value, if you would use a shift perturbation. See Details for more informations. Default is FALSE
.
a numeric value that specify the size of the grid. Default is -1.
Entries of the stratification matrix indicates how the units are close from each others. Hence a large value \(w_{kl}\) means that the unit \(k\)
is close to the unit \(l\). This function considers that a unit represents its neighbor till their inclusion probabilities
sum up to bound
.
We define \(G_k\) the set of the nearest neighbor of the unit \(k\) including \(k\) such that the sum of their inclusion
probabilities is just greater than bound
. Moreover, let \(g_k = \#{G_k}\), the number of elements in \(G_k\).
The matrix \(\bf W\) is then defined as follows,
\( w_{kl} = \pi_l\) if unit \(l\) is in the set of the \(g_k - 1\) nearest neighbor of \(k\).
\( w_{kl} = \pi_l + 1 - (\sum_{t \in G_k} \pi_t)\) if unit \(l\) is the \(g_k\) nearest neighbour of \(k\).
\(w_{kl} = 0\) otherwise.
Hence, the \(k\)th row of the matrix represents neighborhood or stratum of the unit such that the inclusion probabilities sum up to 1 and the \(k\)th column the weights that unit \(k\) takes for each stratum.
The option shift
add a small normally distributed perturbation rnorm(0,0.01)
to the coordinates
of the centroid of the stratum considered. This could be useful if there are many unit that have the same distances.
Indeed, if two units have the same distance and are the last unit before that the bound is reached, then the weights
of the both units is updated. If a shift perturbation is used then all the distances are differents and only one unit
weight is update such that the bound is reached.
The shift perturbation is generated at the beginning of the procedure such that each stratum is shifted by the same perturbation.
wpikInv
, distUnitk
, wave
.
N <- 25
n <- 5
X <- as.matrix(cbind(runif(N),runif(N)))
pik <- rep(n/N,N)
W <- wpik(X,pik)
Run the code above in your browser using DataLab