| Title: | Thomson Sampling for Zero-Inflated Count Outcomes | 
| Version: | 0.1.0 | 
| Description: | A specialized tool is designed for assessing contextual bandit algorithms, particularly those aimed at handling overdispersed and zero-inflated count data. It offers a simulated testing environment that includes various models like Poisson, Overdispersed Poisson, Zero-inflated Poisson, and Zero-inflated Overdispersed Poisson. The package is capable of executing five specific algorithms: Linear Thompson sampling with log transformation on the outcome, Thompson sampling Poisson, Thompson sampling Negative Binomial, Thompson sampling Zero-inflated Poisson, and Thompson sampling Zero-inflated Negative Binomial. Additionally, it can generate regret plots to evaluate the performance of contextual bandit algorithms. This package is based on the algorithms by Liu et al. (2023) <doi:10.48550/arXiv.2311.14359>. | 
| Maintainer: | Tanujit Chakraborty <tanujitisi@gmail.com> | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| Imports: | MASS, parallel, fastDummies, matrixStats, ggplot2, stats | 
| NeedsCompilation: | no | 
| Packaged: | 2023-11-29 04:15:35 UTC; mad-s | 
| Author: | Xueqing Liu [aut],
  Nina Deliu [aut],
  Tanujit Chakraborty
     | 
| Repository: | CRAN | 
| Date/Publication: | 2023-11-29 14:00:10 UTC | 
Apply the algorithms to make decisions for Thompson sampling Zero-inflated Negative Binomial (TS-ZINB) algorithm
Description
Apply the algorithms to make decisions for Thompson sampling Zero-inflated Negative Binomial (TS-ZINB) algorithm
Usage
apply_ZINB(context, beta_ZINB, gamma_ZINB)
Arguments
context | 
 context at the current decision time  | 
beta_ZINB | 
 the randomly sampled Bayesian estimate for the Poisson component  | 
gamma_ZINB | 
 the randomly sampled Bayesian estimate for the zero component  | 
Value
Intervention option
Examples
apply_ZINB(matrix(1:10, nrow = 2),matrix(11:20, nrow = 5),matrix(21:30, nrow = 5))
Apply the algorithms to make decisions for Thompson sampling Zero-inflated Poisson (TS-ZIP) algorithm
Description
Apply the algorithms to make decisions for Thompson sampling Zero-inflated Poisson (TS-ZIP) algorithm
Usage
apply_ZIP(context, beta_ZIP, gamma_ZIP)
Arguments
context | 
 context at the current decision time  | 
beta_ZIP | 
 the randomly sampled Bayesian estimate for the Poisson component  | 
gamma_ZIP | 
 the randomly sampled Bayesian estimate for the zero component  | 
Value
Intervention option
Examples
apply_ZIP(matrix(1:10, nrow = 2),matrix(11:20, nrow = 5),matrix(21:30, nrow = 5))
Apply the algorithms to make decisions for Thompson sampling Poisson (TS-Poisson) algorithms
Description
Apply the algorithms to make decisions for Thompson sampling Poisson (TS-Poisson) algorithms
Usage
apply_laplacePoisson(context, beta_laplacePoisson)
Arguments
context | 
 context at the current decision time  | 
beta_laplacePoisson | 
 the randomly sampled Bayesian estimate  | 
Value
Intervention option
Examples
apply_laplacePoisson(matrix(1:10, nrow = 2),matrix(11:20, nrow = 5))
Apply the algorithms to make decisions for Linear Thompson sampling (TS) algorithms
Description
Apply the algorithms to make decisions for Linear Thompson sampling (TS) algorithms
Usage
apply_linearTS(context, beta_linearTS)
Arguments
context | 
 context at the current decision time  | 
beta_linearTS | 
 the randomly sampled Bayesian estimate  | 
Value
Intervention option
Examples
apply_linearTS(matrix(1:10, nrow = 2),matrix(11:20, nrow = 5))
Apply the algorithms to make decisions for Thompson sampling Negative Binomial (TS-NB) algorithms
Description
Apply the algorithms to make decisions for Thompson sampling Negative Binomial (TS-NB) algorithms
Usage
apply_normalNB(context, beta_normalNB)
Arguments
context | 
 context at the current decision time  | 
beta_normalNB | 
 the randomly sampled Bayesian estimate  | 
Value
Intervention option
Examples
apply_normalNB(matrix(1:10, nrow = 2),matrix(11:20, nrow = 5))
Summarize the simulation results and generate the regret plot
Description
Summarize the simulation results and generate the regret plot
Usage
output_summary(
  S = 30,
  num_cov = 4,
  T.init = 20,
  T0 = 1000,
  alpha = 1,
  gam = 25,
  K = 20,
  dist_env = c("Negative Binomial", "Poisson", "Linear TS", "ZIP", "ZINB"),
  show_figure = TRUE
)
Arguments
S | 
 number of replicates of the experiment (greater than 1). Default is 30.  | 
num_cov | 
 dimension for beta and gamma; we assume that they have the same dimensions for now. Default is 4.  | 
T.init | 
 length of the initial exploration stage. Default is 20.  | 
T0 | 
 number of decision times. Default is 1000.  | 
alpha | 
 tuning parameter that controls the exploration-exploitation tradeoff. Default is 1.  | 
gam | 
 over dispersion level of the environment model; this is only useful when the environment model is negative binomial or zero-inflated negative binomial. Default is 25.  | 
K | 
 number of actions/intervention options. Default is 20.  | 
dist_env | 
 tuning parameter that controls which environment model to use, with the options "Negative Binomial", "Poisson", "Linear TS", "ZIP", "ZINB"  | 
show_figure | 
 A logical flag specifying that the regret plot of the model should be returned if true (default), otherwise, false.  | 
Value
The summary of the simulation results with cumulative regret, regret, and parameters is generated along with the optional
output of the regret plot (show_figure = TRUE).
References
Liu, X., Deliu, N., Chakraborty, T., Bell, L., & Chakraborty, B. (2023). Thompson sampling for zero-inflated count outcomes with an application to the Drink Less mobile health study. arXiv preprint arXiv:2311.14359. https://arxiv.org/abs/2311.14359
Examples
output_summary(S = 2, num_cov = 2, T.init = 3, T0 = 5, dist_env = "Negative Binomial")
Updating parameters in algorithm
Description
Updating parameters in algorithm
Usage
update_algorithm(
  dist = c("Negative Binomial", "Poisson", "Linear TS", "ZIP", "ZINB"),
  Y_dist = 2,
  X_dist = 3,
  alpha_dist = 4,
  Bt = NULL,
  bt = NULL
)
Arguments
dist | 
 tuning parameter that controls which algorithm should be updated, with the options "Negative Binomial", "Poisson", "Linear TS", "ZIP", "ZINB"  | 
Y_dist | 
 History of the observed stochastic outcome at the current decision time  | 
X_dist | 
 History of the observed context at the current decision time  | 
alpha_dist | 
 tuning parameter that controls the exploration-exploitation tradeoff. Default is 1.  | 
Bt | 
 Outer product of contexts, only for   | 
bt | 
 Sum of contexts weighted by the outcome, only for   | 
Value
The updated parameter estimates.
Examples
update_algorithm(dist = "Negative Binomial")