parallel_GBF_BNBR: Generalised Bayesian Fusion [parallel]

View source: R/BNBR_generalised_BF.R

parallel_GBF_BNBRR Documentation

Generalised Bayesian Fusion [parallel]

Description

Generalised Bayesian Fusion for Bayesian Negative Binomial Regression

Usage

parallel_GBF_BNBR(
  particles_to_fuse,
  N,
  m,
  time_mesh,
  dim,
  data_split,
  phi_rate,
  prior_means,
  prior_variances,
  C,
  precondition_matrices,
  inv_precondition_matrices = NULL,
  Lambda = NULL,
  resampling_method = "multi",
  ESS_threshold = 0.5,
  sub_posterior_means = NULL,
  adaptive_mesh = FALSE,
  adaptive_mesh_parameters = NULL,
  record = FALSE,
  diffusion_estimator = "Poisson",
  beta_NB = 10,
  gamma_NB_n_points = 2,
  local_bounds = TRUE,
  seed = NULL,
  n_cores = parallel::detectCores(),
  cl = NULL,
  level = 1,
  node = 1,
  print_progress_iters = 1000
)

Arguments

particles_to_fuse

list of length m, where particles_to_fuse[c] contains the particles for the c-th sub-posterior. Can initialise a this from list of sub-posterior samples by using the initialise_particle_sets function

N

number of samples

m

number of sub-posteriors to combine

time_mesh

time mesh used in Bayesian Fusion

dim

dimension of the predictors (= p+1)

data_split

list of length m where each item is a list of length 4 where for c=1,...,m, data_split[[c]]$y is the vector for y responses and data_split[[c]]$X is the design matrix for the covariates for sub-posterior c, data_split[[c]]$full_data_count is the unique rows of the full data set with their counts and data_split[[c]]$design_count is the unique rows of the design matrix and their counts

phi_rate

rate parameter for NB distribution

prior_means

prior for means of predictors

prior_variances

prior for variances of predictors

C

overall number of sub-posteriors

precondition_matrices

list of length m, where precondition_matrices[[c]] is the precondition matrix for sub-posterior c

resampling_method

method to be used in resampling, default is multinomial resampling ('multi'). Other choices are stratified resampling ('strat'), systematic resampling ('system'), residual resampling ('resid')

ESS_threshold

number between 0 and 1 defining the proportion of the number of samples that ESS needs to be lower than for resampling (i.e. resampling is carried out only when ESS < N*ESS_threshold)

sub_posterior_means

matrix with m rows and d columns, where sub_posterior_means[c,] is the sub-posterior mean of sub-posterior c

adaptive_mesh

logical value to indicate if an adaptive mesh is used (default is FALSE)

adaptive_mesh_parameters

list of parameters used for adaptive mesh

record

logical value indicating if variables such as E[nu_j], chosen, mesh_terms and k4_choice should be recorded at each iteration and returned (see return variables for this function) - default is FALSE

diffusion_estimator

choice of unbiased estimator for the Exact Algorithm between "Poisson" (default) for Poisson estimator and "NB" for Negative Binomial estimator

beta_NB

beta parameter for Negative Binomial estimator (default 10)

gamma_NB_n_points

number of points used in the trapezoidal estimation of the integral found in the mean of the negative binomial estimator (default is 2)

local_bounds

logical value indicating if local bounds for the phi function are used (default is TRUE)

seed

seed number - default is NULL, meaning there is no seed

n_cores

number of cores to use

cl

an object of class "cluster" for parallel computation in R. If none is passed, then one is created and used within this function

level

indicates which level this is for the hierarchy (default 1)

node

indicates which node this is for the hierarchy (default 1)

print_progress_iters

number of iterations between each progress update (default is 1000). If NULL, progress will only be updated when importance sampling is finished

Value

A list with components:

particles

particles returned from fusion sampler

proposed_samples

proposal samples from fusion sampler

time

run-time of fusion sampler

elapsed_time

elapsed time of each step of the algorithm

time_mesh

time_mesh used

ESS

effective sample size of the particles after each step

CESS

conditional effective sample size of the particles after each step

resampled

boolean value to indicate if particles were resampled after each time step

precondition_matrices

list of length 2 where precondition_matrices[[2]] are the pre-conditioning matrices that were used and precondition_matrices[[1]] are the combined precondition matrices

sub_posterior_means

list of length 2, where sub_posterior_means[[2]] are the sub-posterior means that were used and sub_posterior_means[[1]] are the combined sub-posterior means

combined_data

combined data for the fusion density

If record is set to TRUE, additional components will be returned:

E_nu_j

approximation of the average variation of the trajectories at each time step

chosen

which term was chosen if using an adaptive mesh at each time step

mesh_terms

the evaluated terms in deciding the mesh at each time step

k4_choice

which of the roots of k4 were chosen


rchan26/hierarchicalFusion documentation built on Sept. 11, 2022, 10:30 p.m.