| ecoNP | R Documentation |
ecoNP is used to fit the nonparametric Bayesian model (based on a
Dirichlet process prior) for ecological inference in 2 \times 2 tables
via Markov chain Monte Carlo. It gives the in-sample predictions as well as
out-of-sample predictions for population inference. The models and
algorithms are described in Imai, Lu and Strauss (2008, 2011).
ecoNP(
formula,
data = parent.frame(),
N = NULL,
supplement = NULL,
context = FALSE,
mu0 = 0,
tau0 = 2,
nu0 = 4,
S0 = 10,
alpha = NULL,
a0 = 1,
b0 = 0.1,
parameter = FALSE,
grid = FALSE,
n.draws = 5000,
burnin = 0,
thin = 0,
verbose = FALSE
)
formula |
A symbolic description of the model to be fit, specifying the
column and row margins of |
data |
An optional data frame in which to interpret the variables in
|
N |
An optional variable representing the size of the unit; e.g., the
total number of voters. |
supplement |
An optional matrix of supplemental data. The matrix has
two columns, which contain additional individual-level data such as survey
data for |
context |
Logical. If |
mu0 |
A scalar or a numeric vector that specifies the prior mean for
the mean parameter |
tau0 |
A positive integer representing the scale parameter of the
Normal-Inverse Wishart prior for the mean and variance parameter
|
nu0 |
A positive integer representing the prior degrees of freedom of
the variance matrix |
S0 |
A positive scalar or a positive definite matrix that specifies the
prior scale matrix for the variance matrix |
alpha |
A positive scalar representing a user-specified fixed value of
the concentration parameter, |
a0 |
A positive integer representing the value of shape parameter of
the gamma prior distribution for |
b0 |
A positive integer representing the value of the scale parameter
of the gamma prior distribution for |
parameter |
Logical. If |
grid |
Logical. If |
n.draws |
A positive integer. The number of MCMC draws. The default is
|
burnin |
A positive integer. The burnin interval for the Markov chain;
i.e. the number of initial draws that should not be stored. The default is
|
thin |
A positive integer. The thinning interval for the Markov chain;
i.e. the number of Gibbs draws between the recorded values that are skipped.
The default is |
verbose |
Logical. If |
An object of class ecoNP containing the following elements:
call |
The matched call. |
X |
The row margin, |
Y |
The column margin, |
burnin |
The number of initial burnin draws. |
thin |
The thinning interval. |
nu0 |
The prior degrees of freedom. |
tau0 |
The prior scale parameter. |
mu0 |
The prior mean. |
S0 |
The prior scale matrix. |
a0 |
The prior shape parameter. |
b0 |
The prior scale parameter. |
W |
A three dimensional array storing the posterior in-sample predictions
of |
Wmin |
A numeric matrix storing the lower bounds of |
Wmax |
A numeric matrix storing the upper bounds of |
The following additional elements are included in the output when
parameter = TRUE.
mu |
A three dimensional array storing the
posterior draws of the population mean parameter, |
Sigma |
A three dimensional array storing the posterior draws of the
population variance matrix, |
alpha |
The posterior draws of |
nstar |
The number of clusters at each Gibbs draw. |
Imai, Kosuke, Ying Lu and Aaron Strauss. (2011). “eco: R Package for Ecological Inference in 2x2 Tables” Journal of Statistical Software, Vol. 42, No. 5, pp. 1-23.
Imai, Kosuke, Ying Lu and Aaron Strauss. (2008). “Bayesian and Likelihood Inference for 2 x 2 Ecological Tables: An Incomplete Data Approach” Political Analysis, Vol. 16, No. 1 (Winter), pp. 41-69.
eco, ecoML, predict.eco, summary.ecoNP
## load the registration data
data(reg)
## NOTE: We set the number of MCMC draws to be a very small number in
## the following examples; i.e., convergence has not been properly
## assessed. See Imai, Lu and Strauss (2006) for more complete examples.
## fit the nonparametric model to give in-sample predictions
## store the parameters to make population inference later
res <- ecoNP(Y ~ X, data = reg, n.draws = 50, param = TRUE, verbose = TRUE)
##summarize the results
summary(res)
## obtain out-of-sample prediction
out <- predict(res, verbose = TRUE)
## summarize the results
summary(out)
## density plots of the out-of-sample predictions
oldpar <- par(mfrow=c(2,1))
plot(density(out[,1]), main = "W1")
plot(density(out[,2]), main = "W2")
## load the Robinson's census data
data(census)
## fit the parametric model with contextual effects and N
## using the default prior specification
res1 <- ecoNP(Y ~ X, N = N, context = TRUE, param = TRUE, data = census,
n.draws = 25, verbose = TRUE)
## summarize the results
summary(res1)
## out-of sample prediction
pres1 <- predict(res1)
summary(pres1)
par(oldpar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.