Version: | 1.6.2 |
Date: | 2022-5-2 |
Title: | Bayesian Measurement Models for Analyzing Endorsement Experiments |
Author: | Yuki Shiraito [aut, cre], Kosuke Imai [aut], Bryn Rosenfeld [ctb] |
Maintainer: | Yuki Shiraito <shiraito@umich.edu> |
Depends: | coda, utils |
Description: | Fit the hierarchical and non-hierarchical Bayesian measurement models proposed by Bullock, Imai, and Shapiro (2011) <doi:10.1093/pan/mpr031> to analyze endorsement experiments. Endorsement experiments are a survey methodology for eliciting truthful responses to sensitive questions. This methodology is helpful when measuring support for socially sensitive political actors such as militant groups. The model is fitted with a Markov chain Monte Carlo algorithm and produces the output containing draws from the posterior distribution. |
LazyLoad: | yes |
LazyData: | yes |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
URL: | https://github.com/SensitiveQuestions/endorse/ |
NeedsCompilation: | yes |
Packaged: | 2022-05-02 06:43:44 UTC; yuki |
Repository: | CRAN |
Date/Publication: | 2022-05-02 07:00:12 UTC |
Counting Incidents around Points
Description
This function calculates the number of incidents (e.g., violent events) within a specified distance around specified points (e.g., villages).
Usage
GeoCount(x, y, distance, x.latitude = "latitude",
x.longitude = "longitude", y.latitude = "latitude",
y.longitude = "longitude")
Arguments
x |
data frame containing the longitude and the latitude of points. |
y |
data frame containing the longitude and the latitude of incidents. |
distance |
numeric. The distance from points in kilometers. |
x.latitude |
character. The variable name for the latitude in |
x.longitude |
character. The variable name for the longitude in |
y.latitude |
character. The variable name for the latitude in |
y.longitude |
character. The variable name for the longitude in |
Author(s)
Yuki Shiraito, Department of Political Science, University of Michigan shiraito@umich.edu.
Getting Indices of Incidents around a specified point
Description
This function obtains the indices of incidents within a specified distance around a specified point.
Usage
GeoId(x, y, distance, x.latitude = "latitude",
x.longitude = "longitude", y.latitude = "latitude",
y.longitude = "longitude")
Arguments
x |
data frame containing the longitude and the latitude of a point. |
y |
data frame containing the longitude and the latitude of incidents. |
distance |
numeric. The distance from villages in kilometers. |
x.latitude |
character. The variable name for the latitude in |
x.longitude |
character. The variable name for the longitude in |
y.latitude |
character. The variable name for the latitude in |
y.longitude |
character. The variable name for the longitude in |
Value
A vector containing the indices of y
that are within
distance
kilometers around the point specified by x
. If
there are multiple observations in x
, the first row is used as
the point.
Author(s)
Yuki Shiraito, Department of Political Science, University of Michigan shiraito@umich.edu.
Fitting the Measurement Model of Political Support via Markov Chain Monte Carlo
Description
This function generates a sample from the posterior distribution of the measurement model of political support. Individual-level covariates may be included in the model. The details of the model are given under ‘Details’. See also Bullock et al. (2011).
Usage
endorse(Y, data, data.village = NA, village = NA, treat = NA,
na.strings = 99, identical.lambda = TRUE,
covariates = FALSE, formula.indiv = NA,
hierarchical = FALSE, formula.village = NA, h = NULL,
group = NULL, x.start = 0, s.start = 0,
beta.start = 1, tau.start = NA, lambda.start = 0,
omega2.start = .1, theta.start = 0, phi2.start = .1,
kappa.start = 0, psi2.start = 1, delta.start = 0,
zeta.start = 0, rho2.start = 1, mu.beta = 0, mu.x = 0,
mu.theta = 0, mu.kappa = 0, mu.delta = 0, mu.zeta = 0,
precision.beta = 0.04, precision.x = 1,
precision.theta = 0.04, precision.kappa = 0.04,
precision.delta = 0.04, precision.zeta = 0.04,
s0.omega2= 1, nu0.omega2 = 10, s0.phi2 = 1,
nu0.phi2 = 10, s0.psi2 = 1, nu0.psi2 = 10,
s0.sig2 = 1, nu0.sig2 = 400, s0.rho2 = 1,
nu0.rho2 = 10, MCMC = 20000, burn = 1000, thin = 1,
mh = TRUE, prop = 0.001, x.sd = TRUE,
tau.out = FALSE, s.out = FALSE, omega2.out = TRUE,
phi2.out = TRUE, psi2.out = TRUE, verbose = TRUE,
seed.store = FALSE, update = FALSE,
update.start = NULL)
Arguments
Y |
a list of the variable names for the responses. It should take the following form:
If |
data |
data frame containing the individual-level variables.
The cases must be complete, i.e., no |
data.village |
data frame containing the village-level variables.
The cases must be complete, i.e., no |
village |
character. The variable name of the village indicator in the individual-level data. If auxiliary information is included, this should correspond to the variable name of the units at which prediction is desired. |
treat |
An optional matrix of non negative integers indicating
the treatment
status of each observation and each question.
Rows are observations
and columns are questions. 0 represents the control status while
positive integers indicate treatment statuses.
If |
na.strings |
a scalar or a vector indicating the values of the
response variable that are to be interpreted as “Don't Know” or
“Refused to Answer.” The value should not be |
identical.lambda |
logical. If |
covariates |
logical. If |
formula.indiv |
a symbolic description specifying the individual level
covariates for the support parameter and the ideal points. The formula
should be one-sided, e.g. |
hierarchical |
logical. IF |
formula.village |
a symbolic description specifying the village level covariates for the support parameter and the ideal points. The formula should be one-sided. |
h |
Auxiliary data functionality. Optional named numeric vector with length equal to number of groups. Names correspond to group labels and values correspond to auxiliary moments (i.e. to the known share of the sensitive trait at the group level). |
group |
Auxiliary data functionality. Optional character string.
The variable name of the group indicator in the individual-level data
(e.g. |
x.start |
starting values for the ideal points vector |
s.start |
starting values for the support parameter, |
beta.start |
starting values for the question related parameters,
|
tau.start |
starting values for the cut points in the response
model. If |
lambda.start |
starting values for the coefficients in the
support parameter model, |
omega2.start |
starting values for the variance of the support
parameters, |
theta.start |
starting values for the means of the
|
phi2.start |
starting values for the covariance matrices of the
coefficients
of the support parameters, |
kappa.start |
starting values for the coefficients on village level covariates in the
support parameter model, |
psi2.start |
starting values for the variance of the village random intercepts in the support
parameter model, |
delta.start |
starting values for the coefficients on individual level covariates in the ideal
point model. Will be used only if |
zeta.start |
starting values for the coefficients on village level covariates in the ideal
point model. Will be used only if |
rho2.start |
numeric. starting values for the variance of the village random intercepts in the ideal point
model, |
mu.beta |
the mean of the independent Normal prior on the
question related parameters. Can be either a scalar or a matrix of
dimension the number of questions times 2.
The default is |
mu.x |
the mean of the independent Normal prior on the
question related parameters. Can be either a scalar or a vector of
the same length as the number of observations.
The default is |
mu.theta |
the mean of the independent Normal prior on the
mean of the coefficients in the support parameter model.
Can be either a scalar or a vector of
the same length as the dimension of covariates.
The default is |
mu.kappa |
the mean of the independent Normal prior on the
coefficients of village level covariates. Can be either a scalar or a matrix of
dimension the number of covariates times the number of endorsers.
If auxiliary information is included, the value of |
mu.delta |
the mean of the independent Normal prior on the
the coefficients in the ideal point model.
Can be either a scalar or a vector of
the same length as the dimension of covariates.
The default is |
mu.zeta |
the mean of the independent Normal prior on the
the coefficients of village level covariates in the ideal point model.
Can be either a scalar or a vector of
the same length as the dimension of covariates.
The default is |
precision.beta |
the precisions (inverse variances) of the
independent Normal prior on the
question related parameters. Can be either a scalar or
a 2 |
precision.x |
scalar. The known precision of the
independent Normal distribution on the
ideal points.
The default is |
precision.theta |
the precisions of the
independent Normal prior on the means of the coefficients
in the support parameter model. Can be either a scalar or
a vector of the same length as the dimension of covariates.
The default is |
precision.kappa |
the precisions of the
independent Normal prior on the coefficients of village level covariates
in the support parameter model. Can be either a scalar or
a vector of the same length as the dimension of covariates.
If auxiliary information is included, the value of |
precision.delta |
the precisions of the
independent Normal prior on the the coefficients
in the ideal point model. Can be either a scalar or
a square matrix of the same dimension as the dimension of
covariates.
The default is |
precision.zeta |
the precisions of the
independent Normal prior on the the coefficients of village level covariates
in the ideal point model. Can be either a scalar or
a square matrix of the same dimension as the dimension of
covariates.
The default is |
s0.omega2 |
scalar. The scale of the independent scaled
inverse- chi-squared
prior for the variance parameter in the support parameter model.
If auxiliary information is included, the value of |
nu0.omega2 |
scalar. The degrees of freedom of the independent
scaled inverse-chi-squared
prior for the variance parameter in the support parameter model.
If auxiliary information is included, the value of |
s0.phi2 |
scalar. The scale of the independent
scaled inverse-chi-squared
prior for the variances of the coefficients in
the support parameter model.
The default is |
nu0.phi2 |
scalar. The degrees of freedom of the independent
scaled
inverse-chi-squared
prior for the variances of the coefficients in
the support parameter model.
The default is |
s0.psi2 |
scalar. The scale of the independent
scaled inverse-chi-squared
prior for the variances of the village random intercepts in
the support parameter model.
The default is |
nu0.psi2 |
scalar. The degrees of freedom of the independent
scaled
inverse-chi-squared
prior for the variances of the village random intercepts in
the support parameter model.
The default is |
s0.sig2 |
scalar. The scale of the independent
scaled inverse-chi-squared
prior for the variance parameter in
the ideal point model.
The default is |
nu0.sig2 |
scalar. The degrees of freedom of the independent
scaled
inverse-chi-squared
prior for the variance parameter in the ideal point model.
The default is |
s0.rho2 |
scalar. The scale of the independent
scaled inverse-chi-squared
prior for the variances of the village random intercepts in
the ideal point model.
The default is |
nu0.rho2 |
scalar. The degrees of freedom of the independent
scaled
inverse-chi-squared
prior for the variances of the village random intercepts in
the ideal point model.
The default is |
MCMC |
the number of iterations for the sampler. The default is
|
burn |
the number of burn-in iterations for the sampler. The
default is |
thin |
the thinning interval used in the simulation. The default
is |
mh |
logical. If |
prop |
a positive number or a vector consisting of positive
numbers. The length of the vector should be the same as the number of
questions. This argument sets proposal variance for the
Metropolis-Hastings algorithm in sampling the cut points of the
response model. The default is |
x.sd |
logical. If |
tau.out |
logical. A switch that determines whether or not to
store the cut points in the response model. The default is
|
s.out |
logical. If |
omega2.out |
logical. If |
phi2.out |
logical. If |
psi2.out |
logical. If |
verbose |
logical. A switch that determines whether or not to
print the progress of the chain and Metropolis acceptance ratios for
the cut points of the response model. The default is
|
seed.store |
logical. If |
update |
logical. If |
update.start |
list. If the function is run to update a chain, the output
object of the previous run should be supplied. The default is |
Details
The model takes the following form:
Consider an endorsement experiment where we wish to measure the level
of support for K
political
actors. In the survey, respondents are asked whether or
not they support each of J
policies chosen by researchers.
Let Y_{ij}
represent respondent
i
's answer to the survey question regarding policy j
.
Suppose that the response variable Y_{ij}
is the ordered factor
variable taking one of L_{j}
levels, i.e., Y_{ij} \in \{0,
1, \dots,
L_{j} - 1\}
where L_{j} > 1
. We assume that a greater value of
Y_{ij}
indicates a greater level of support for policy j
.
We denote an M
dimensional vector of the observed
characteristics of respondent i
by Z_i
.
In the experiment, we
randomly assign one of K
political actors as an endorser to
respondent i
's question regarding policy j
and denote this
treatment variable by T_{ij} \in \{0,1,\dots,K\}
. We use
T_{ij}=0
to represent the control observations where no
political endorsement is attached to the question. Alternatively, one
may use the endorsement by a neutral actor as the control group.
The model for the response variable, Y_{ij}
, is given by,
Y_{ij} = l \; {\rm if} \; \tau_{l} < Y^{*}_{ij} \le
\tau_{l + 1},
Y^{*}_{ij} \; | \; T_{ij} = k \sim \mathcal{N}(- \alpha_{j} +
\beta_{j} (x_{i} + s_{ijk}), \; I)
where l \in \{0, 1, \dots, L_{j} \}, \tau_{0} = -\infty <
\tau_{1} = 0 < \tau_{2} < \dots < \tau_{L_{j}} = \infty
.
\beta_j
's are assumed to be positive.
The model for the support parameter, s_{ijk}
, is given by
if T_{ij} \neq 0
,
s_{ijk} \sim \mathcal{N}(Z_i^{T} \lambda_{jk}, \; \omega_{jk}^2)
with covariates, and
s_{ijk} \sim \mathcal{N}(\lambda_{jk}, \; \omega_{jk}^2),
without covariates, for j = 1, \dots, J, \; k = 1, \dots, K
,
and if T_{ij} = 0, \; s_{ijk} = 0
.
The \lambda
's in the support parameter model are modeled in the
following hierarchical manner,
\lambda_{jk} \sim \mathcal{N}(\theta_k, \; \Phi_k)
for k = 1, \dots, K
.
If you set identical.lambda = FALSE
and hierarchical = TRUE
,
the model for s_{ijk}
is if T_{ij} \neq 0
,
s_{ijk} \sim \mathcal{N}(\lambda^{0}_{jk, village[i]} + Z_i^{T} \lambda_{jk}, \; \omega_{jk}^2)
and
\lambda^{0}_{jk, village[i]} \sim \mathcal{N}(V_{village[i]}^{T} \kappa_{jk}, \; \psi_{jk}^2)
for k = 1, \dots, K
and j = 1, \dots, J
. In addition,
\lambda
and \kappa
are modeled in the following
hierarchical manner,
\lambda^{*}_{jk} \sim \mathcal{N}(\theta_k, \; \Phi_k)
for k = 1, \dots, K
, where \lambda^{*}_{jk} =
(\lambda^{T}_{jk}, \kappa^{T}_{jk})^{T}
.
If you set identical.lambda = TRUE
and hierarchical = TRUE
,
the model for s_{ijk}
is if T_{ij} \neq 0
,
s_{ijk} \sim \mathcal{N}(\lambda^{0}_{k, village[i]} + Z_i^{T} \lambda_{k}, \; \omega_{k}^2)
and
\lambda^{0}_{k, village[i]} \sim \mathcal{N}(V_{village[i]}^{T} \kappa_{k}, \; \psi_{k}^2)
for k = 1, \dots, K
.
If the covariates are included in the model, the model for the ideal points is given by
x_{i} \sim \mathcal{N}(Z_{i}^{T} \delta, \; \sigma_{x}^{2})
for i = 1, \dots, N
where \sigma_x^2
is a known prior
variance.
If you set hierarchical = TRUE
,
the model is
x_{i} \sim \mathcal{N}(\delta^{0}_{village[i]} + Z_i^{T} \delta, \; \sigma^2)
and
\delta^{0}_{village[i]} \sim \mathcal{N}(V_{village[i]}^{T} \zeta, \; \rho^2)
for k = 1, \dots, K
.
Finally, the following independent prior distributions are placed on unknown parameters,
\alpha_j \sim \mathcal{N}(\mu_\alpha, \; \sigma_\alpha^2)
for j = 1, \dots, J
,
\beta_j \sim \mathcal{TN}_{\beta_j > 0}(\mu_\beta, \; \sigma_\beta^2)
for j = 1, \dots, J
,
\delta \sim \mathcal{N}(\mu_\delta, \; \Sigma_\delta),
\theta_k \sim \mathcal{N}(\mu_\theta, \; \Sigma_\theta)
for k = 1, \dots, K
,
\omega_{jk}^2 \sim {\rm Inv-}\chi^{2}(\nu_{\omega}^0, \;
s_{\omega}^0)
for j = 1, \dots, J
and k = 1, \dots, K
, and
{\rm diag}(\Phi_k) \sim {\rm Inv-}\chi^{2}(\nu_{\Phi}^0, \;
s_{\Phi}^0)
for k = 1, \dots, K
, where \Phi_k
is assumed to be a
diagonal matrix.
Value
An object of class "endorse"
, which is a list containing the following
elements:
beta |
an |
x |
If |
s |
If
|
delta |
If |
tau |
If |
lambda |
an mcmc object. A sample from the posterior distribution
of
|
theta |
an mcmc object. A sample from the posterior distribution
of |
kappa |
an mcmc object. |
zeta |
an mcmc object. |
Note that the posterior sample of all parameters are NOT
standardized. In making posterior inference, each parameter should be
divided by the standard deviation of x (in the default setting, it is
given as "x") or by \sigma^2
(in the default setting, it
is given as "sigma2").
Also note that \alpha
and the intercept in
\delta
(or, if the model is hierarchical, the intercept
in \zeta
) are not identified. Instead,
- \alpha + \beta * \delta_0
or, if the model is hierarchical,
- \alpha + \beta * \zeta_0
is identified after either of the above standardization, where
\delta_0
and \zeta_0
denote the
intercepts.
When using the auxiliary data functionality, the following objects are included:
aux |
logical value indicating whether estimation incorporates auxiliary moments |
nh |
integer count of the number of auxiliary moments |
Author(s)
Yuki Shiraito, Department of Political Science, University of Michigan shiraito@umich.edu
Kosuke Imai, Department of Government and Statistics, Harvard University Imai@Harvard.Edu, https://imai.fas.harvard.edu
References
Bullock, Will, Kosuke Imai, and Jacob N. Shapiro. (2011) “Statistical Analysis of Endorsement Experiments: Measuring Support for Militant Groups in Pakistan,” Political Analysis, Vol. 19, No. 4 (Autumn), pp.363-384.
Examples
## Not run:
data(pakistan)
Y <- list(Q1 = c("Polio.a", "Polio.b", "Polio.c", "Polio.d", "Polio.e"),
Q2 = c("FCR.a", "FCR.b", "FCR.c", "FCR.d", "FCR.e"),
Q3 = c("Durand.a", "Durand.b", "Durand.c", "Durand.d",
"Durand.e"),
Q4 = c("Curriculum.a", "Curriculum.b", "Curriculum.c",
"Curriculum.d", "Curriculum.e"))
## Varying-lambda non-hierarchical model without covariates
endorse.out <- endorse(Y = Y, data = pakistan, identical.lambda = FALSE,
covariates = FALSE, hierarchical = FALSE)
## Varying-lambda non-hierarchical model with covariates
indiv.covariates <- formula( ~ female + rural)
endorse.out <- endorse(Y = Y, data = pakistan, identical.lambda = FALSE,
covariates = TRUE,
formula.indiv = indiv.covariates,
hierarchical = FALSE)
## Common-lambda non-hierarchical model with covariates
indiv.covariates <- formula( ~ female + rural)
endorse.out <- endorse(Y = Y, data = pakistan, identical.lambda = TRUE,
covariates = TRUE,
formula.indiv = indiv.covariates,
hierarchical = FALSE)
## Varying-lambda hierarchical model without covariates
div.data <- data.frame(division = sort(unique(pakistan$division)))
div.formula <- formula(~ 1)
endorse.out <- endorse(Y = Y, data = pakistan, data.village = div.data,
village = "division", identical.lambda = FALSE,
covariates = FALSE, hierarchical = TRUE,
formula.village = div.formula)
## Varying-lambda hierarchical model with covariates
endorse.out <- endorse(Y = Y, data = pakistan, data.village = div.data,
village = "division", identical.lambda = FALSE,
covariates = TRUE,
formula.indiv = indiv.covariates,
hierarchical = TRUE,
formula.village = div.formula)
## Common-lambda hierarchical model without covariates
endorse.out <- endorse(Y = Y, data = pakistan, data.village = div.data,
village = "division", identical.lambda = TRUE,
covariates = FALSE, hierarchical = TRUE,
formula.village = div.formula)
## Common-lambda hierarchical model with covariates
endorse.out <- endorse(Y = Y, data = pakistan, data.village = div.data,
village = "division", identical.lambda = TRUE,
covariates = TRUE,
formula.indiv = indiv.covariates,
hierarchical = TRUE,
formula.village = div.formula)
## End(Not run)
Descriptive Plot of Endorsement Experiment Data
Description
This function creates a descriptive plot for a question in an endorsement experiment.
Usage
endorse.plot(Y, data, scale, dk = 98, ra = 99, yaxis = NULL,
col.seq = NA)
Arguments
Y |
a character vector. List of the variable names for the responses to a question. Each variable name corresponds to each treatment status. |
data |
data frame containing the variables. |
scale |
an integer. The scale of the responses. The function
assumes that the responses are coded so that |
dk |
an integer indicating the value of the response variable
that is to be interpreted as “Don't Know.” Default is |
ra |
an integer indicating the value of the response variable
that is to be interpreted as “Refused.” Default is |
yaxis |
a character vector of the same length as |
col.seq |
a vector of colors for the bars or bar components. By default, a gradation of gray where the darkest indicates the highest support level. |
Value
A descriptive plot for the responses to a question.
Author(s)
Yuki Shiraito, Department of Political Science, University of Michigan shiraito@umich.edu.
Kosuke Imai, Department of Government and Statistics, Harvard University Imai@Harvard.Edu, https://imai.fas.harvard.edu/
Examples
data(pakistan)
Y <- c("Polio.a", "Polio.b", "Polio.c", "Polio.d", "Polio.e")
yaxis <- c("Control", "Kashmir", "Afghan", "Al-Qaida", "Tanzeems")
endorse.plot(Y = Y, data = pakistan, scale = 5)
Pakistan Survey Experiment on Support for Militant Groups
Description
This data set is a subset of the data from the endorsement experiment conducted in Pakistan to study support for militant groups. The survey was implemented by Fair et al. (2009). It is also used by Bullock et al. (2011).
Usage
data(pakistan)
Format
A data frame containing 5212 observations. The variables are:
-
division
: division number. -
edu
: education. 1 if “illiterate”; 2 if “primary”; 3 if “middle”; 4 if “matric”; 5 if “intermediate (f.a/f.sc),” “graduate (b.a/b.sc.),” or “professionals (m.a /or other professional degree).” -
inc
: approximate monthly income. 1 if less than 3000 rupees; 2 if 3000 to 10,000 rupees; 3 if 10,001 to 15,000 rupees; 4 if more than 15,000 rupees. -
female
: 0 if male; 1 if female -
rural
: 0 if rural; 1 if urban -
Polio.a-e
: support for World Health Organization's plan of universal polio vaccinations in Pakistan. 5 indicates the highest support while 1 indicates the lowest support. -
FCR.a-e
: support for the reform of the Frontier Crimes Regulation (FCR) governing the tribal areas. 5 indicates the highest support while 1 indicates the lowest support. -
Durand.a-e
: support for using peace jirgas to resolve disputes over the Afghan border, the Durand Line. 5 indicates the highest support while 1 indicates the lowest support. -
Curriculum.a-e
: support for the Government of Pakistan's plan of curriculum reforms in religious schools or madaris. 5 indicates the highest support while 1 indicates the lowest support.
For the response variables, endorsers are:
-
varname.a
: control (no endorsement). -
varname.b
: Pakistani militant groups in Kashmir. -
varname.c
: Militants fighting in Afghanistan. -
varname.d
: Al-Qaida. -
varname.e
: Firqavarana Tanzeems.
Source
Bullock, Will, Kosuke Imai, and Jacob N. Shapiro. 2011. Replication data for: Statistical analysis of endorsement experiments: Measuring support for militant groups in Pakistan. hdl:1902.1/14840. The Dataverse Network.
References
Bullock, Will, Kosuke Imai, and Jacob N. Shapiro. (2011) “Statistical Analysis of Endorsement Experiments: Measuring Support for Militant Groups in Pakistan,” Political Analysis, Vol. 19, No. 4 (Autumn), pp.363-384.
Fair, Christin C., Neil Malhotra, and Jacob N. Shapiro. (2009) “The Roots of Militancy: Explaining Support for Political Violence in Pakistan,” Working Paper, Princeton University.
Predict Method for the Measurement Model of Political Support
Description
Function to calculate predictions from a measurement model fitted to an endorsement experiment data.
Usage
## S3 method for class 'endorse'
predict(object, newdata, type = c("prob.support",
"linear.s"), standardize = TRUE, ...)
Arguments
object |
a fitted object of class inheriting from |
newdata |
an optional data frame containing data that will be used to make predictions from. If omitted, the data used to fit the regression are used. |
type |
the type of prediction required. The default is on the
scale of the predicted probability of positive support; the
alternative |
standardize |
logical switch indicating if the predicted values on
the scale of |
... |
further arguments to be passed to or from other methods. |
Details
predict.endorse
produces predicted support for political actors
from a fitted "endorse"
object. If newdata
is omitted
the predictions are based on the date used for the fit. Setting
type
specifies the type of predictions. The default is
"prob.support"
, in which case the function computes the average
predicted probability of positive support:
P(s_{ijk} > 0 \mid Z_i, \; \lambda_{j}, \; \omega_{j}) =
\Phi \left( \frac{ Z_i^{T} \lambda_{j} }{ \omega_{j} } \right)
for each political group k
. If type
is set to be
"linear.s"
, the output is the predicted mean of support
parameters:
E(s_{ijk} \mid Z_i, \; \lambda_{j}) = Z_i^{T} \lambda_{j}.
If the logical standardize
is TRUE
, the predicted mean
of support is standardized by dividing by \omega_j
.
Value
A "mcmc"
object for predicted values.
Author(s)
Yuki Shiraito, Department of Political Science, University of Michigan shiraito@umich.edu.
See Also
endorse
for model fitting