| vcov.mipfp | R Documentation |
This function determines the (asymptotic) covariance matrix of the estimates
in an mipfp object using either the Delta formula designed by Little
and Wu (1991) or Lang's formula (2004).
## S3 method for class 'mipfp'
vcov(object, method.cov = "delta", seed = NULL,
target.data = NULL, target.list = NULL, replace.zeros = 1e-10, ...)
object |
An object of class mipfp. |
method.cov |
Select the method to use for the computation of the covariance.
The available methods are |
seed |
The initial multi-dimensional array used to create |
target.data |
A list containing the data of the target margins used to create
|
target.list |
A list of the target margins used to create |
replace.zeros |
If 0-cells are to be found, then their values are replaced with this value. |
... |
Not used. |
The asymptotic covariance matrix of the estimates probabilities using Delta's formula has the form (Little and Wu, 1991)
K * inv(t(K) * inv(D1) * K) * t(K) * inv(D2) * K * inv(t(K) * inv(D1) * K) * t(K)
where
K is the orthogonal complement of the marginal matrix, i.e. the
matrix A required to obtain the marginal frequencies m;
D1 and D2 are two diagonal matrices whose components
depends on the estimation process used to generate object.
If the estimation process has been done using
ipfp
then diag(D1) = p.hat and
diag(D2) = p.seed;
ml
then diag(D1) = p.hat^2 / p.seed and
diag(D2) = diag(D1);
chi2
then diag(D1) = p.hat^4 / p.seed^3
and diag(D2) = diag(D1);
lsq
then diag(D1) = p.seed and
diag(D2) = p.seed^3 / p.hat^2;
where p.hat is the vector of estimated probabilities and p.seed is the vector of the seed probabilities.
Using Lang's formula (2004), the covariance matrix becomes
1/N (D - p.hat * t(p.hat) - D * H * inv(t(H) * D * H) * t(H) * D)
where
D
is a diagonal matrix of the estimated probabilities p.hat;
H
denotes the Jacobian evaluated in p.hat of the function
h(p) = t(A) * p - m.
A list with the following components:
x.hat.cov |
A covariance matrix of the estimated counts (last index move fastest)
computed using the method specified in |
p.hat.cov |
A covariance matrix of the estimated probabilities (last index
move fastest) computed using the method specified in |
x.hat.se |
The standard deviation of the estimated counts (last index move fastest)
computed using the method specified in |
p.hat.se |
The standard deviation of the estimated probabilities (last index move
fastest) computed using the method specified in |
df |
Degrees of freedom of the estimates. |
method.cov |
The method used to compute the covariance matrix. |
Johan Barthelemy.
Maintainer: Johan Barthelemy johan@uow.edu.au.
Lang, J.B. (2004) Multinomial-Poisson homogeneous models for contingency tables. Annals of Statistics 32(1): 340-383.
Little, R. J., Wu, M. M. (1991) Models for contingency tables with known margins when target and seed populations differ. Journal of the American Statistical Association 86 (413): 87-95.
Estimate function to create an object of class
mipfp and to update an initial multidimensional array with respect to
given constraints.
# true contingency (2-way) table true.table <- array(c(43, 44, 9, 4), dim = c(2, 2)) # generation of sample, i.e. the seed to be updated seed <- ceiling(true.table / 10) # desired targets (margins) target.row <- apply(true.table, 2, sum) target.col <- apply(true.table, 1, sum) # storing the margins in a list target.data <- list(target.col, target.row) # list of dimensions of each marginal constrain target.list <- list(1, 2) # calling the Estimate function res <- Estimate(seed, target.list, target.data) # printing the variance-covariance matrix print(vcov(res))