A Gibbs Sampler algorithm to sample the posterior distribution of the Bliss model.

Bliss_Gibbs_Sampler(data, param, verbose = FALSE)

Arguments

data

a list containing:

y

a numerical vector, the outcome values y_i.

x

a list of matrices, the qth matrix contains the observations of the qth functional covariate at time points given by grids.

grids

a list of numerical vectors, the qth vector is the grid of time points for the qth functional covariate.

param

a list containing:

Q

an integer, the number of functional covariates.

iter

an integer, the number of iterations of the Gibbs sampler algorithm.

K

a vector of integers, corresponding to the numbers of intervals for each covariate.

p

an integer, the number of time points.

basis

a character (optional). The possible values are "uniform" (default), "epanechnikov", "gauss" and "triangular" which correspond to different basis functions to expand the coefficient function and the functional covariates

phi_l

a numerical (optional). An hyperparameters related to the exponential prior on the length of the intervals. Lower values promotes wider intervals.

verbose_cpp

a boolean value (optional). Write stuff from the Rcpp scripts if TRUE.

verbose

write stuff if TRUE (optional).

Value

a list containing :

trace

a matrix, the trace of the Gibbs Sampler.

param

a list containing parameters used to run the function.

Examples

# \donttest{
param_sim <- list(Q=1,n=25,p=50,grids_lim=list(c(0,1)),iter=2e2,K=2)
data_sim <- sim(param_sim,verbose=FALSE)
res_Bliss_Gibbs_Sampler <- Bliss_Gibbs_Sampler(data_sim,param_sim)
#> 	 Initialization.
#> 	 Determine the starting point.
#> 	 Start the Gibbs Sampler loop.
theta_1 <- res_Bliss_Gibbs_Sampler$trace[1,]
theta_1
#>          b_1        b_2 m_1 m_2 l_1 l_2       mu sigma_sq
#> 1 -0.7829372 -0.5807346  23   4   9   6 8.478265 1.139512
# }