Type: | Package |
Title: | Efficient Bayesian Algorithms for Binary and Categorical Data Regression Models |
Version: | 0.3.5 |
Author: | Gregor Zens [aut, cre], Sylvia Frühwirth-Schnatter [aut], Helga Wagner [aut] |
Maintainer: | Gregor Zens <zens@iiasa.ac.at> |
Description: | Efficient Bayesian implementations of probit, logit, multinomial logit and binomial logit models. Functions for plotting and tabulating the estimation output are available as well. Estimation is based on Gibbs sampling where the Markov chain Monte Carlo algorithms are based on the latent variable representations and marginal data augmentation algorithms described in "Gregor Zens, Sylvia Frühwirth-Schnatter & Helga Wagner (2023). Ultimate Pólya Gamma Samplers – Efficient MCMC for possibly imbalanced binary and categorical data, Journal of the American Statistical Association <doi:10.1080/01621459.2023.2259030>". |
Encoding: | UTF-8 |
License: | GPL-3 |
Language: | en-US |
Depends: | R (≥ 3.5.0) |
Imports: | ggplot2, knitr, matrixStats, mnormt, pgdraw, reshape2, coda, truncnorm |
LazyData: | true |
RoxygenNote: | 7.2.1 |
NeedsCompilation: | no |
Packaged: | 2024-11-10 14:37:06 UTC; Gregor |
Repository: | CRAN |
Date/Publication: | 2024-11-10 17:00:10 UTC |
Efficient MCMC Samplers for Bayesian probit regression and various logistic regression models
Description
UPG
estimates Bayesian regression models for binary or categorical outcomes using samplers based on marginal data augmentation.
Usage
UPG(y,
X,
model,
Ni = NULL,
baseline = NULL,
draws = 1000,
burnin = 1000,
A0 = 4,
B0 = 4,
d0 = 2.5,
D0 = 1.5,
G0 = 100,
verbose = TRUE,
gamma.boost = TRUE,
delta.boost = TRUE,
beta.start = NULL)
Arguments
y |
a binary vector for probit and logit models. A character, factor or numeric vector for multinomial logit models. A numerical vector of the number of successes for the binomial model. |
X |
a matrix of explanatory variables including an intercept in the first column. Rows are individuals, columns are variables. |
model |
indicates the model to be estimated. |
Ni |
a vector containing the number of trials when estimating a binomial logit model. |
baseline |
a string that can be used to change the baseline category in MNL models. Default baseline is the most commonly observed category. |
draws |
number of saved Gibbs sampler iterations. Default is 1000 for illustration purposes, you should use more when estimating a model (e.g. 10,000). |
burnin |
number of burned Gibbs sampler iterations. Default is 1000 for illustration purposes, you should use more when estimating a model (e.g. 2,000). |
A0 |
prior variance for the intercept, 4 is the default. |
B0 |
prior variance for the coefficients, 4 is the default. |
d0 |
prior shape for working parameter delta, 2.5 is the default. |
D0 |
prior rate for working parameter delta, 1.5 is the default. |
G0 |
prior variance for working parameter gamma, 100 is the default. |
verbose |
logical variable indicating whether progress should be printed during estimation. |
gamma.boost |
logical variable indicating whether location-based parameter expansion boosting should be used. |
delta.boost |
logical variable indicating whether scale-based parameter expansion boosting should be used. |
beta.start |
provides starting values for beta (e.g. for use within Gibbs sampler). Baseline coefficients need to be zero for multinomial model. |
Value
Depending on the estimated model, UPG()
returns a UPG.Probit
, UPG.Logit
, UPG.MNL
or UPG.Binomial
object.
Author(s)
Gregor Zens
See Also
summary.UPG.Probit
to summarize a UPG.Probit
object and to create tables.
predict.UPG.Logit
to predict probabilities using a UPG.Logit
object.
plot.UPG.MNL
to plot a UPG.MNL
object.
Examples
# load package
library(UPG)
# estimate a probit model using example data
# warning: use more burn-ins, burnin = 100 is just used for demonstration purposes
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit", burnin = 100)
# estimate a logit model using example data
# warning: use more burn-ins, burnin = 100 is just used for demonstration purposes
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit", burnin = 100)
# estimate a MNL model using example data
# warning: use more burn-ins, burnin = 100 is just used for demonstration purposes
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl", burnin = 100)
# estimate a binomial logit model using example data
# warning: use more burn-ins, burnin = 100 is just used for demonstration purposes
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial", burnin = 100)
MCMC Diagnostics for UPG.Probit
, UPG.Logit
, UPG.MNL
and UPG.Binomial
objects using coda
Description
UPG.Diag
computes a number of MCMC diagnostics based on the Markov chains that are contained in the model output returned by UPG
.
Usage
UPG.Diag(object = NULL)
Arguments
object |
an object of class |
Value
Returns a list containing effective sample size, effective sampling rate and inefficiency factors for each coefficient. In addition, maximum, minimum and median of these measures are returned.
Author(s)
Gregor Zens
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
# compute MCMC diagnostics
UPG.Diag(results.probit)
MCMC Diagnostics for UPG.Binomial
objects
Description
UPG.Diag.Binomial
computes inefficiency factors, effective sample size and effective sampling rate based on the posterior distributions in a UPG.Binomial
object.
Usage
UPG.Diag.Binomial(object = NULL)
Arguments
object |
an object of class |
Value
Returns a list containing effective sample size, effective sampling rate and inefficiency factors for each coefficient.
Author(s)
Gregor Zens
MCMC Diagnostics for UPG.Logit
objects
Description
UPG.Diag.Logit
computes inefficiency factors, effective sample size and effective sampling rate based on the posterior distributions in a UPG.Logit
object.
Usage
UPG.Diag.Logit(object = NULL)
Arguments
object |
an object of class |
Value
Returns a list containing effective sample size, effective sampling rate and inefficiency factors for each coefficient.
Author(s)
Gregor Zens
MCMC Diagnostics for UPG.MNL
objects
Description
UPG.Diag.MNL
computes inefficiency factors, effective sample size and effective sampling rate based on the posterior distributions in a UPG.MNL
object.
Usage
UPG.Diag.MNL(object = NULL)
Arguments
object |
an object of class |
Value
Returns a list containing effective sample size, effective sampling rate and inefficiency factors for each coefficient.
Author(s)
Gregor Zens
MCMC Diagnostics for UPG.Probit objects
Description
UPG.Diag.Probit
computes inefficiency factors, effective sample size and effective sampling rate based on the posterior distributions in a UPG.Probit
object.
Usage
UPG.Diag.Probit(object = NULL)
Arguments
object |
an object of class |
Value
Returns a list containing effective sample size, effective sampling rate and inefficiency factors for each coefficient.
Author(s)
Gregor Zens
Extract coefficients from UPG.Binomial objects
Description
coef
can be used to extract posterior means and credible intervals based on posterior quantiles from UPG.Binomial
objects.
Usage
## S3 method for class 'UPG.Binomial'
coef(object, ..., q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other coef parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a matrix containing posterior means and the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.Binomial
to summarize a UPG.Binomial
object and create tables.
predict.UPG.Binomial
to predict probabilities using a UPG.Binomial
object.
plot.UPG.Binomial
to plot a UPG.Binomial
object.
Examples
# estimate a binomial logit model using example data
library(UPG)
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial")
# extract posterior means and credible interval based on 0.025 and 0.975 quantiles
coef(results.binomial, q = c(0.025, 0.975))
Extract coefficients from UPG.Logit objects
Description
coef
can be used to extract posterior means and credible intervals based on posterior quantiles from UPG.Logit
objects.
Usage
## S3 method for class 'UPG.Logit'
coef(object, ..., q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other coef parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a matrix containing posterior means and the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.Logit
to summarize a UPG.Logit
object and create tables.
predict.UPG.Logit
to predict probabilities using a UPG.Logit
object.
plot.UPG.Logit
to plot a UPG.Logit
object.
Examples
# estimate a logit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit")
# extract posterior means and credible interval based on 0.025 and 0.975 quantiles
coef(results.logit, q = c(0.025, 0.975))
Extract coefficients from UPG.MNL objects
Description
coef
can be used to extract posterior means and credible intervals based on posterior quantiles from UPG.MNL
objects.
Usage
## S3 method for class 'UPG.MNL'
coef(object, ..., q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other coef parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a list containing posterior means and the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.MNL
to summarize a UPG.MNL
object and create tables.
predict.UPG.MNL
to predict probabilities using a UPG.MNL
object.
plot.UPG.MNL
to plot a UPG.MNL
object.
Examples
# estimate a multinomial logit model using example data
library(UPG)
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl")
# extract posterior means and credible interval based on 0.025 and 0.975 quantiles
coef(results.mnl, q = c(0.025, 0.975))
Extract coefficients from UPG.Probit objects
Description
coef
can be used to extract posterior means and credible intervals based on posterior quantiles from UPG.Probit
objects.
Usage
## S3 method for class 'UPG.Probit'
coef(object, ..., q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other coef parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a matrix containing posterior means and the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.Probit
to summarize a UPG.Probit
object and create tables.
predict.UPG.Probit
to predict probabilities using a UPG.Probit
object.
plot.UPG.Probit
to plot a UPG.Probit
object.
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
# extract posterior means and credible interval based on 0.025 and 0.975 quantiles
coef(results.probit, q = c(0.025, 0.975))
Female labor force participation data.
Description
A dataset containing socio-economic characteristics as well as a labor force participation dummy for 753 married women from the panel study of income dynamics.
Usage
lfp
Format
A data frame with 753 rows and 9 variables:
- lfp
binary indicator for participating in the labor force (=1) or not (=0)
- intercept
intercept
- k5
number of children 5 years old or younger
- k618
number of children 6 to 18 years old
- age
age in years
- wc
binary indicator for college education of the wife
- hc
binary indicator for college education of the husband
- lwg
log expected wage rate; for women in the labor force, the actual wage rate; for women not in the labor force, an imputed value based on a regression of
lwg
on the other variables- inc
family income exclusive of wife's income
Source
Data taken from 'carData' package. Also known as the 'Mroz' dataset. Mroz, T. A. (1987) The sensitivity of an empirical model of married women's hours of work to economic and statistical assumptions. Econometrica 55, 765-799.
Compute log-likelihoods from UPG.Binomial objects
Description
logLik
can be used to compute log-likelihoods from UPG.Binomial
objects. The log-likelihood is based on the posterior mean of the coefficients.
Usage
## S3 method for class 'UPG.Binomial'
logLik(object = NULL, ...)
Arguments
object |
an object of class |
... |
other logLik parameters. |
Value
Returns a numeric of class logLik
with attributes containing the number of estimated parameters and the number of observations.
Author(s)
Gregor Zens
See Also
summary.UPG.Binomial
to summarize a UPG.Binomial
object and create tables.
plot.UPG.Binomial
to plot a UPG.Binomial
object.
coef.UPG.Binomial
to extract coefficients from a UPG.Binomial
object.
Examples
# estimate a binomial logit model using example data
library(UPG)
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial")
# extract log-likelihood
ll.binomial = logLik(results.binomial)
Compute log-likelihoods from UPG.Logit objects
Description
logLik
can be used to compute log-likelihoods from UPG.Logit
objects. The log-likelihood is based on the posterior mean of the coefficients.
Usage
## S3 method for class 'UPG.Logit'
logLik(object = NULL, ...)
Arguments
object |
an object of class |
... |
other logLik parameters. |
Value
Returns a numeric of class logLik
with attributes containing the number of estimated parameters and the number of observations.
Author(s)
Gregor Zens
See Also
summary.UPG.Logit
to summarize a UPG.Logit
object and create tables.
plot.UPG.Logit
to plot a UPG.Logit
object.
coef.UPG.Logit
to extract coefficients from a UPG.Logit
object.
Examples
# estimate a logit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit")
# extract log-likelihood
ll.logit = logLik(results.logit)
Compute log-likelihoods from UPG.MNL objects
Description
logLik
can be used to compute log-likelihoods from UPG.MNL
objects. The log-likelihood is based on the posterior mean of the coefficients.
Usage
## S3 method for class 'UPG.MNL'
logLik(object = NULL, ...)
Arguments
object |
an object of class |
... |
other logLik parameters. |
Value
Returns a numeric of class logLik
with attributes containing the number of estimated parameters and the number of observations.
Author(s)
Gregor Zens
See Also
summary.UPG.MNL
to summarize a UPG.MNL
object and create tables.
plot.UPG.MNL
to plot a UPG.MNL
object.
coef.UPG.MNL
to extract coefficients from a UPG.MNL
object.
Examples
# estimate a multinomial logit model using example data
library(UPG)
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl")
# extract log-likelihood
ll.mnl = logLik(results.mnl)
Compute log-likelihoods from UPG.Probit objects
Description
logLik
can be used to compute log-likelihoods from UPG.Probit
objects. The log-likelihood is based on the posterior mean of the coefficients.
Usage
## S3 method for class 'UPG.Probit'
logLik(object = NULL, ...)
Arguments
object |
an object of class |
... |
other logLik parameters. |
Value
Returns a numeric of class logLik
with attributes containing the number of estimated parameters and the number of observations.
Author(s)
Gregor Zens
See Also
summary.UPG.Probit
to summarize a UPG.Probit
object and create tables.
plot.UPG.Probit
to plot a UPG.Probit
object.
coef.UPG.Probit
to extract coefficients from a UPG.Probit
object.
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
# extract log-likelihood
ll.probit = logLik(results.probit)
Coefficient plots for UPG.Binomial objects
Description
plot
generates plots from UPG.Binomial
objects using ggplot2
. Coefficient plots show point estimates for all coefficients as well as their credible intervals.
Usage
## S3 method for class 'UPG.Binomial'
plot(
x = NULL,
...,
sort = FALSE,
names = NULL,
xlab = NULL,
ylab = NULL,
q = c(0.025, 0.975),
include = NULL
)
Arguments
x |
an object of class |
... |
other plot parameters. |
sort |
a logical variable indicating whether the plotted coefficients should be sorted according to effect sizes. Default is FALSE. |
names |
a character vector indicating names for the variables used in the plots. |
xlab |
a character vector of length 1 indicating a title for the x-axis. |
ylab |
a character vector of length 1 indicating a title for the y-axis. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
include |
can be used to plot only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
Value
Returns a ggplot2 object.
Author(s)
Gregor Zens
See Also
summary.UPG.Binomial
to summarize a UPG.Binomial
object and create tables.
predict.UPG.Binomial
to predict probabilities using a UPG.Binomial
object.
coef.UPG.Binomial
to extract coefficients from a UPG.Binomial
object.
Examples
# estimate a binomial logit model using example data
library(UPG)
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial")
# plot the results and sort coefficients by effect size
plot(results.binomial, sort = TRUE)
# plot only variables 1 and 3 with custom names, credible intervals and axis labels
plot(results.binomial,
include = c(1,3),
names = c("Custom 1", "Custom 2"),
q = c(0.1, 0.9),
xlab = c("Custom X"),
ylab = c("Custom Y"))
Coefficient plots for UPG.Logit objects
Description
plot
generates plots from UPG.Logit
objects using ggplot2
. Coefficient plots show point estimates for all coefficients as well as their credible intervals.
Usage
## S3 method for class 'UPG.Logit'
plot(
x = NULL,
...,
sort = FALSE,
names = NULL,
xlab = NULL,
ylab = NULL,
q = c(0.025, 0.975),
include = NULL
)
Arguments
x |
an object of class |
... |
other plot parameters. |
sort |
a logical variable indicating whether the plotted coefficients should be sorted according to effect sizes. Default is FALSE. |
names |
a character vector indicating names for the variables used in the plots. |
xlab |
a character vector of length 1 indicating a title for the x-axis. |
ylab |
a character vector of length 1 indicating a title for the y-axis. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
include |
can be used to plot only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
Value
Returns a ggplot2 object.
Author(s)
Gregor Zens
See Also
summary.UPG.Logit
to summarize a UPG.Logit
object and create tables.
predict.UPG.Logit
to predict probabilities using a UPG.Logit
object.
coef.UPG.Logit
to extract coefficients from a UPG.Logit
object.
Examples
# estimate a logit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit")
# plot the results and sort coefficients by effect size
plot(results.logit, sort = TRUE)
# plot only variables 1 and 3 with custom names, credible intervals and axis labels
plot(results.logit,
include = c(1,3),
names = c("Custom 1", "Custom 2"),
q = c(0.1, 0.9),
xlab = c("Custom X"),
ylab = c("Custom Y"))
Coefficient plots for UPG.MNL objects
Description
plot
generates plots from UPG.MNL
objects using ggplot2
. Coefficient plots show point estimates for all coefficients in all groups except the baseline as well as their credible intervals.
Usage
## S3 method for class 'UPG.MNL'
plot(
x = NULL,
...,
sort = FALSE,
names = NULL,
groups = NULL,
xlab = NULL,
ylab = NULL,
q = c(0.025, 0.975),
include = NULL
)
Arguments
x |
an object of class |
... |
other plot parameters. |
sort |
a logical variable indicating whether the plotted coefficients should be sorted according to average effect sizes across groups. Default is FALSE. |
names |
a character vector indicating names for the variables used in the plots. |
groups |
a character vector indicating names for the groups excluding the baseline. The group names must correspond to the ordering in the dependent variable used for estimation. |
xlab |
a character vector of length 1 indicating a title for the x-axis. |
ylab |
a character vector of length 1 indicating a title for the y-axis. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
include |
can be used to plot only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
Value
Returns a ggplot2 object.
Author(s)
Gregor Zens
See Also
summary.UPG.MNL
to summarize a UPG.MNL
object and create tables.
predict.UPG.MNL
to predict probabilities using a UPG.MNL
object.
coef.UPG.MNL
to extract coefficients from a UPG.MNL
object.
Examples
# estimate a multinomial logit model using example data
library(UPG)
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl")
# plot the results and sort coefficients by average effect size
plot(results.mnl, sort = TRUE)
# plot only variables 1 and 3 with custom group and variable names
# also, customize credible intervals and axis labels
plot(results.mnl,
include = c(1,3),
names = c("Custom 1", "Custom 2"),
groups = c("Alpha", "Beta"),
q = c(0.1, 0.9),
xlab = c("Custom X"),
ylab = c("Custom Y"))
Coefficient plots for UPG.Probit objects
Description
plot
generates plots from UPG.Probit
objects using ggplot2
. Coefficient plots show point estimates for all coefficients as well as their credible intervals.
Usage
## S3 method for class 'UPG.Probit'
plot(
x = NULL,
...,
sort = FALSE,
names = NULL,
xlab = NULL,
ylab = NULL,
q = c(0.025, 0.975),
include = NULL
)
Arguments
x |
an object of class |
... |
other plot parameters. |
sort |
a logical variable indicating whether the plotted coefficients should be sorted according to effect sizes. Default is FALSE. |
names |
a character vector indicating names for the variables used in the plots. |
xlab |
a character vector of length 1 indicating a title for the x-axis. |
ylab |
a character vector of length 1 indicating a title for the y-axis. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
include |
can be used to plot only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
Value
Returns a ggplot2 object.
Author(s)
Gregor Zens
See Also
summary.UPG.Probit
to summarize a UPG.Probit
object and create tables.
predict.UPG.Probit
to predict probabilities using a UPG.Probit
object.
coef.UPG.Probit
to extract coefficients from a UPG.Probit
object.
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
# plot the results and sort coefficients by effect size
plot(results.probit, sort = TRUE)
# plot only variables 1 and 3 with custom names, credible intervals and axis labels
plot(results.probit,
include = c(1, 3),
names = c("Custom 1", "Custom 2"),
q = c(0.1, 0.9),
xlab = c("Custom X"),
ylab = c("Custom Y"))
Predicted probabilities from UPG.Binomial objects
Description
predict
generates predicted probabilities from a UPG.Binomial
object. In addition, credible intervals for these probabilities are computed. Probabilities can be predicted from the data used for estimating the model or for a new data set with the same structure.
Usage
## S3 method for class 'UPG.Binomial'
predict(object = NULL, ..., newdata = NULL, q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other predict parameters. |
newdata |
a matrix or a |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a list containing posterior means of predicted probabilities as well as the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.Binomial
to summarize a UPG.Binomial
object and create tables.
plot.UPG.Binomial
to plot a UPG.Binomial
object.
coef.UPG.Binomial
to extract coefficients from a UPG.Binomial
object.
Examples
# estimate a binomial logit model using example data
library(UPG)
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial")
# extract predicted probabilities
predict(results.binomial)
Predicted probabilities from UPG.Logit objects
Description
predict
generates predicted probabilities from a UPG.Logit
object. In addition, credible intervals for these probabilities are computed. Probabilities can be predicted from the data used for estimating the model or for a new data set with the same structure.
Usage
## S3 method for class 'UPG.Logit'
predict(object = NULL, ..., newdata = NULL, q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other predict parameters. |
newdata |
a matrix or a |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a list containing posterior means of predicted probabilities as well as the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.Logit
to summarize a UPG.Logit
object and create tables.
plot.UPG.Logit
to plot a UPG.Logit
object.
coef.UPG.Logit
to extract coefficients from a UPG.Logit
object.
Examples
# estimate a logit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit")
# extract predicted probabilities
predict(results.logit)
Predicted probabilities from UPG.MNL objects
Description
predict
generates predicted probabilities from a UPG.MNL
object. In addition, credible intervals for these probabilities are computed. Probabilities can be predicted from the data used for estimating the model or for a new data set with the same structure.
Usage
## S3 method for class 'UPG.MNL'
predict(object = NULL, ..., newdata = NULL, q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other predict parameters. |
newdata |
a matrix or a |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a list containing posterior means of predicted probabilities as well as the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.MNL
to summarize a UPG.MNL
object and create tables.
plot.UPG.MNL
to plot a UPG.MNL
object.
coef.UPG.MNL
to extract coefficients from a UPG.MNL
object.
Examples
# estimate a multinomial logit model using example data
library(UPG)
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl")
# extract predicted probabilities
predict(results.mnl)
Predicted probabilities from UPG.Probit objects
Description
predict
generates predicted probabilities from a UPG.Probit
object. In addition, credible intervals for these probabilities are computed. Probabilities can be predicted from the data used for estimating the model or for a new data set with the same structure.
Usage
## S3 method for class 'UPG.Probit'
predict(object = NULL, ..., newdata = NULL, q = c(0.025, 0.975))
Arguments
object |
an object of class |
... |
other predict parameters. |
newdata |
a matrix or a |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
Value
Returns a list containing posterior means of predicted probabilities as well as the desired credible interval.
Author(s)
Gregor Zens
See Also
summary.UPG.Probit
to summarize a UPG.Probit
object and create tables.
plot.UPG.Probit
to plot a UPG.Probit
object.
coef.UPG.Probit
to extract coefficients from a UPG.Probit
object.
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
# extract predicted probabilities
predict(results.probit)
Print information for UPG.Binomial objects
Description
print
provides some basic information about a UPG.Binomial
object.
Usage
## S3 method for class 'UPG.Binomial'
print(x, ...)
Arguments
x |
an object of class |
... |
other print parameters. |
Author(s)
Gregor Zens
See Also
summary.UPG.Binomial
to summarize a UPG.Binomial
object and create tables.
predict.UPG.Binomial
to predict probabilities using a UPG.Binomial
object.
plot.UPG.Binomial
to plot a UPG.Binomial
object.
Examples
# estimate a binomial logit model using example data
library(UPG)
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial")
print(results.binomial)
Print information for UPG.Logit objects
Description
print
provides some basic information about a UPG.Logit
object.
Usage
## S3 method for class 'UPG.Logit'
print(x, ...)
Arguments
x |
an object of class |
... |
other print parameters. |
Author(s)
Gregor Zens
See Also
summary.UPG.Logit
to summarize a UPG.Logit
object and create tables.
predict.UPG.Logit
to predict probabilities using a UPG.Logit
object.
plot.UPG.Logit
to plot a UPG.Logit
object.
Examples
# estimate a logit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit")
print(results.logit)
Print information for UPG.MNL objects
Description
print
provides some basic information about a UPG.MNL
object.
Usage
## S3 method for class 'UPG.MNL'
print(x, ...)
Arguments
x |
an object of class |
... |
other print parameters. |
Author(s)
Gregor Zens
See Also
summary.UPG.MNL
to summarize a UPG.MNL
object and create tables.
predict.UPG.MNL
to predict probabilities using a UPG.MNL
object.
plot.UPG.MNL
to plot a UPG.MNL
object.
Examples
# estimate a multinomial logit model using example data
library(UPG)
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl")
print(results.mnl)
Print information for UPG.Probit objects
Description
print
provides some basic information about a UPG.Probit
object.
Usage
## S3 method for class 'UPG.Probit'
print(x, ...)
Arguments
x |
an object of class |
... |
other print parameters. |
Author(s)
Gregor Zens
See Also
summary.UPG.Probit
to summarize a UPG.Probit
object and create tables.
predict.UPG.Probit
to predict probabilities using a UPG.Probit
object.
plot.UPG.Probit
to plot a UPG.Probit
object.
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
print(results.probit)
Students program choices.
Description
A dataset containing the choice among general program, vocational program and academic program for 200 high school students as well as some explanatory variables.
Usage
program
Format
A data frame with 200 rows and 5 variables:
- program
a vector of program choices
- intercept
an intercept term
- female
binary indicator for female students
- ses
socioeconomic status, 1 is lowest
- write
writing score of student
Source
Original dataset is known as 'hsbdemo' and has been sourced from https://stats.oarc.ucla.edu/stat/data/hsbdemo.dta.
Estimation results and tables for UPG.Binomial objects
Description
summary
generates a summary of estimation results for UPG.Binomial
objects. Point estimates, estimated standard deviation as well as credible intervals for each variable are tabulated. In addition, an indicator quickly shows whether the credible interval includes zero or not. Moreover, LaTeX, HTML and pandoc tables can be quickly generated via knitr
.
Usage
## S3 method for class 'UPG.Binomial'
summary(
object = NULL,
...,
q = c(0.025, 0.975),
names = NULL,
digits = 2,
include = NULL,
table = NULL,
cap = NULL
)
Arguments
object |
an object of class |
... |
other summary parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
names |
a character vector indicating names for the variables used in the output. |
digits |
number of digits to be included in output. Last digit will be rounded using |
include |
can be used to summarize and tabulate only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
table |
can be used to return a LaTeX table ( |
cap |
character vector that can be used to specify the table caption. |
Value
Returns a knitr_kable
object containing the summary table.
Author(s)
Gregor Zens
See Also
plot.UPG.Binomial
to plot a UPG.Binomial
object.
predict.UPG.Binomial
to predict probabilities using a UPG.Binomial
object.
coef.UPG.Binomial
to extract coefficients from a UPG.Binomial
object.
Examples
# estimate a binomial logit model using example data
library(UPG)
data(titanic)
y = titanic[,1]
Ni = titanic[,2]
X = titanic[,-c(1,2)]
results.binomial = UPG(y = y, X = X, Ni = Ni, model = "binomial")
# basic summary of regression results
summary(results.binomial)
# generate a LaTeX table with subset of variables and custom names
summary(results.binomial,
include=c(1,3),
names=c("V. kept 1", "V. kept 3"),
table="latex")
Estimation results and tables for UPG.Logit objects
Description
summary
generates a summary of estimation results for UPG.Logit
objects. Point estimates, estimated standard deviation as well as credible intervals for each variable are tabulated. In addition, an indicator quickly shows whether the credible interval includes zero or not. Moreover, LaTeX, HTML and pandoc tables can be quickly generated via knitr
.
Usage
## S3 method for class 'UPG.Logit'
summary(
object = NULL,
...,
q = c(0.025, 0.975),
names = NULL,
digits = 2,
include = NULL,
table = NULL,
cap = NULL
)
Arguments
object |
an object of class |
... |
other summary parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
names |
a character vector indicating names for the variables used in the output. |
digits |
number of digits to be included in output. Last digit will be rounded using |
include |
can be used to summarize and tabulate only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
table |
can be used to return a LaTeX table ( |
cap |
character vector that can be used to specify the table caption. |
Value
Returns a knitr_kable
object containing the summary table.
Author(s)
Gregor Zens
See Also
plot.UPG.Logit
to plot a UPG.Logit
object.
predict.UPG.Logit
to predict probabilities using a UPG.Logit
object.
coef.UPG.Logit
to extract coefficients from a UPG.Logit
object.
Examples
# estimate a logit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.logit = UPG(y = y, X = X, model = "logit")
# basic summary of regression results
summary(results.logit)
# generate a LaTeX table with subset of variables and custom names
summary(results.logit,
include=c(1,3),
names=c("V. kept 1", "V. kept 3"),
table="latex")
Estimation results and tables for UPG.MNL objects
Description
summary
generates a summary of estimation results for UPG.MNL
objects. Point estimates, estimated standard deviation as well as credible intervals for each variable are tabulated. In addition, an indicator quickly shows whether the credible interval includes zero or not. Moreover, LaTeX, HTML and pandoc tables can be quickly generated via knitr
.
Usage
## S3 method for class 'UPG.MNL'
summary(
object = NULL,
...,
q = c(0.025, 0.975),
groups = NULL,
names = NULL,
digits = 2,
include = NULL,
table = NULL,
cap = NULL
)
Arguments
object |
an object of class |
... |
other summary parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
groups |
a character vector indicating names for the groups, excluding the baseline. The group names must correspond to the ordering in the dependent variable used for estimation. |
names |
a character vector indicating names for the variables used in the output. |
digits |
number of digits to be included in output. Last digit will be rounded using |
include |
can be used to summarize and tabulate only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
table |
can be used to return a LaTeX table ( |
cap |
character vector that can be used to specify the table caption. |
Value
Returns a knitr_kable
object containing the summary table.
Author(s)
Gregor Zens
See Also
plot.UPG.MNL
to plot a UPG.MNL
object.
predict.UPG.MNL
to predict probabilities using a UPG.MNL
object.
coef.UPG.MNL
to extract coefficients from a UPG.MNL
object.
Examples
# estimate a multinomial logit model using example data
library(UPG)
data(program)
y = program[,1]
X = program[,-1]
results.mnl = UPG(y = y, X = X, model = "mnl")
# basic summary of regression results
summary(results.mnl)
# generate a LaTeX table with subset of variables and custom names
summary(results.mnl,
include=c(1,3),
groups=c("Alpha","Beta"),
names=c("V. kept 1", "V. kept 3"),
table="latex")
Estimation result summary and tables for UPG.Probit objects
Description
summary
generates a summary of estimation results for UPG.Probit
objects. Point estimates, estimated standard deviation as well as credible intervals for each variable are tabulated. In addition, an indicator quickly shows whether the credible interval includes zero or not. Moreover, LaTeX, HTML and pandoc tables can be quickly generated via knitr
.
Usage
## S3 method for class 'UPG.Probit'
summary(
object = NULL,
...,
q = c(0.025, 0.975),
names = NULL,
digits = 2,
include = NULL,
table = NULL,
cap = NULL
)
Arguments
object |
an object of class |
... |
other summary parameters. |
q |
a numerical vector of length two providing the posterior quantiles to be extracted. Default are 0.025 and 0.975 quantiles. |
names |
a character vector indicating names for the variables used in the output. |
digits |
number of digits to be included in output. Last digit will be rounded using |
include |
can be used to summarize and tabulate only a subset of variables. Specify the columns of X that should be kept in the plot. See examples for further information. |
table |
can be used to return a LaTeX table ( |
cap |
character vector that can be used to specify the table caption. |
Value
Returns a knitr_kable
object containing the summary table.
Author(s)
Gregor Zens
See Also
plot.UPG.Probit
to plot a UPG.Probit
object.
predict.UPG.Probit
to predict probabilities using a UPG.Probit
object.
coef.UPG.Probit
to extract coefficients from a UPG.Probit
object.
Examples
# estimate a probit model using example data
library(UPG)
data(lfp)
y = lfp[,1]
X = lfp[,-1]
results.probit = UPG(y = y, X = X, model = "probit")
# basic summary of regression results
summary(results.probit)
# generate a LaTeX table with subset of variables and custom names
summary(results.probit,
include=c(1,3),
names=c("V. kept 1", "V. kept 3"),
table="latex")
Grouped Titanic survival data.
Description
A dataset containing the number of survivals and the total number of persons by passenger class, age group and gender.
Usage
titanic
Format
A data frame with 78 rows and 6 variables:
- survived
number of passengers that survived
- total
number of total passengers
- intercept
an intercept term
- pclass
passenger class (3 is lowest)
- female
binary indicator for female passenger groups
- age.group
age group indicator (0-5yrs, 5-10yrs, ...)
Source
Data originally sourced from https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv. See also https://towardsdatascience.com/the-binomial-regression-model-everything-you-need-to-know-5216f1a483d3.