fit.model: Fits Stan model

Description Usage Arguments Details Value Examples

Description

Uses a built ikde.model to draw samples from posterior distribution using Stan

Usage

1
2
3
fit.model(ikde.model, burn.iter = 1000, sample.iter = 1000,
  chains = 1, control = NULL, refresh = NULL,
  display.output = FALSE)

Arguments

ikde.model

An object of class ikde.model which has been built

burn.iter

Number of warmup iterations

sample.iter

Number of sampling iterations

chains

Number of independent chains to use

control

Control parameters used in the Markov chain. See ?rstan::stan for details.

refresh

How frequently should progress be reported, in numbers of iterations

display.output

Boolean indicating whether output from rstan::stan should be printed

Details

Takes a built ikde.model object, which contains model DSO, and fits the model using rstan::stan.

Value

An object of S4 class stanfit. See rstan::stan for more details.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
data(lm.generated)

X <- lm.generated$X
y <- lm.generated$y

data <- list(N = list(type = "int<lower=1>", dim = 1, value = nrow(X)),
             k = list(type = "int<lower=1>", dim = 1, value = ncol(X)),
             X = list(type = "matrix", dim = "[N, k]", value = X),
             y = list(type = "vector", dim = "[N]", value = y))
parameters <- list(beta = list(type = "vector", dim = "[k]"),
                   sigma_sq = list(type = "real<lower=0>", dim = 1))
model <- list(priors = c("beta ~ normal(0, 10);",
                         "sigma_sq ~ inv_gamma(1, 1);"),
              likelihood = c("y ~ normal(X * beta, sqrt(sigma_sq));"))

ikde.model <- define.model(data, parameters, model)
ikde.model <- build.model(ikde.model)
stan.fit <- fit.model(ikde.model)
stan.extract <- extract(stan.fit)

# Only an estimation, may not exactly match presented result
print(apply(stan.extract$beta, 2, mean))
# [1] 3.199021 1.620546 4.489716 1.226508

tkmckenzie/ikde documentation built on May 13, 2019, 9:53 p.m.