glm_studt: Fit GLM with a regularized student-t prior regression...

Description Usage Arguments Value Examples

View source: R/glm_studt.R

Description

Program for fitting a GLM equipped with a regularized student-t prior on the regression coefficients, parametrized using the normal-inverse-gamma distribution. The 'regularization' refers to the fact that the inverse-gamma scale is has a finite upper bound that it smoothly approaches. This method was not used in the simulation study but was used in the data analysis. Specifically, it corresponds to 'PedRESC2'.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
glm_studt(
  stan_fit = stanmodels$RegStudT,
  y,
  x_standardized,
  beta_scale,
  dof = 1,
  slab_precision = (1/15)^2,
  only_prior = F,
  mc_warmup = 50,
  mc_iter_after_warmup = 50,
  mc_chains = 1,
  mc_thin = 1,
  mc_stepsize = 0.1,
  mc_adapt_delta = 0.9,
  mc_max_treedepth = 15,
  ntries = 1,
  return_as_stanfit = FALSE
)

Arguments

stan_fit

an R object of class stanfit, which allows the function to run without recompiling the stan code.

y

(vector) outcomes corresponding to the type of glm desired. This should match whatever datatype is expected by the stan program.

x_standardized

(matrix) matrix of numeric values with number of rows equal to the length of y and number of columns equal to p+q. It is assumed without verification that each column is standardized to whatever scale the prior expects - in Boonstra and Barbaro, all predictors are marginally generated to have mean zero and unit variance, so no standardization is conducted. In practice, all data should be standardized to have a common scale before model fitting. If regression coefficients on the natural scale are desired, they be easily obtained through unstandardizing.

beta_scale

(pos. real) constants indicating the prior scale of the student-t prior.

dof

(pos. integer) degrees of freedom for the student-t prior

slab_precision

(pos. real) the slab-part of the regularized horseshoe, this is equivalent to (1/d)^2 in the notation of Boonstra and Barbaro

only_prior

(logical) should all data be ignored, sampling only from the prior?

mc_warmup

number of MCMC warm-up iterations

mc_iter_after_warmup

number of MCMC iterations after warm-up

mc_chains

number of MCMC chains

mc_thin

every nth draw to keep

mc_stepsize

positive stepsize

mc_adapt_delta

between 0 and 1

mc_max_treedepth

max tree depth

ntries

(pos. integer) the stan function will run up to this many times, stopping either when the number of divergent transitions* is zero or when ntries has been reached. The reported fit will be that with the fewest number of divergent iterations.

return_as_stanfit

(logical) should the function return the stanfit object asis or should a summary of stanfit be returned as a regular list

Value

list object containing the draws and other information.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    data(historical)

    foo = glm_studt(y = historical$y_hist,
                    x_standardized = historical[,2:5],
                    beta_scale = 0.0231,
                    dof = 1,
                    slab_precision = 0.00444,
                    only_prior = 0,
                    mc_warmup = 1000,
                    mc_iter_after_warmup = 1000,
                    mc_chains = 2,
                    mc_thin = 1,
                    mc_stepsize = 0.1,
                    mc_adapt_delta = 0.99,
                    mc_max_treedepth = 15,
                    ntries = 2);

    data(current)

    foo = glm_studt(y = current$y_curr,
                    x_standardized = current[,2:11],
                    beta_scale = 0.0231,
                    dof = 1,
                    slab_precision = 0.00444,
                    only_prior = 0,
                    mc_warmup = 1000,
                    mc_iter_after_warmup = 1000,
                    mc_chains = 2,
                    mc_thin = 1,
                    mc_stepsize = 0.1,
                    mc_adapt_delta = 0.99,
                    mc_max_treedepth = 15,
                    ntries = 2);

umich-biostatistics/AdaptiveBayesianUpdates documentation built on July 29, 2021, 3:06 a.m.