Programs
CMDSTAN_HOME
Stan.CMDSTAN_HOME — Constant.The directory which contains the CmdStan executables such as bin/stanc and  bin/stansummary. Inferred from Main.CMDSTAN_HOME or ENV["CMDSTAN_HOME"] when available. Use set_cmdstan_home! to modify.
set_cmdstan_home!
Stan.set_cmdstan_home! — Function.Set the path for the CMDSTAN_HOME environment variable.
Example: set_cmdstan_home!(homedir() * "/Projects/Stan/cmdstan/")
stanmodel()
Stan.Stanmodel — Type.Method Stanmodel
Create a Stanmodel.
Constructors
Stanmodel(
  method=Sample();
  name="noname", 
  nchains=4,
  num_warmup=1000, 
  num_samples=1000,
  thin=1,
  model="",
  monitors=String[],
  data=DataDict[],
  random=Random(),
  init=DataDict[],
  output=Output(),
  pdir::String=pwd(),
  useMamba=true,
  mambaThinning=1
)
Required arguments
* `method::Method`            : See ?MethodOptional arguments
* `name::String`               : Name for the model
* `nchains::Int`               : Number of chains, if possible execute in parallel
* `num_warmup::Int`            : Number of samples used for num_warmupation 
* `num_samples::Int`           : Sample iterations
* `thin::Int`                  : Stan thinning factor
* `model::String`              : Stan program source
* `data::DataDict[]`           : Observed input data as an array of Dicts
* `random::Random`             : Random seed settings
* `init::DataDict[]`           : Initial values for parameters in parameter block
* `output::Output`             : File output options
* `pdir::String`               : Working directory
* `monitors::String[] `        : Filter for variables used in Mamba post-processing
* `useMamba::Bool`             : Use Mamba Chains for diagnostics and graphics
* `mambaThinning::Int`         : Additional thinning factor in Mamba ChainsExample
bernoullimodel = "
data { 
  int<lower=1> N; 
  int<lower=0,upper=1> y[N];
} 
parameters {
  real<lower=0,upper=1> theta;
} 
model {
  theta ~ beta(1,1);
  y ~ bernoulli(theta);
}
"
stanmodel = Stanmodel(num_samples=1200, thin=2, name="bernoulli", model=bernoullimodel);Related help
?stan                          : Run a Stanmodel
?Sample                        : Sampling settings
?Method                       : List of available methods
?Output                        : Output file settings
?DataDict                      : Input data dictionaries, will be converted to R syntaxStan.update_model_file — Function.Method update_model_file
Update Stan language model file if necessary
Method
update_model_file(
  file::String, 
  str::String
)Required arguments
* `file::String`                : File holding existing Stan model
* `str::String`                 : Stan model stringRelated help
?Stan.Stanmodel                 : Create a StanModelstan()
Stan.stan — Function.stan
Execute a Stan model.
Method
rc, sim = stan(
  model::Stanmodel, 
  data=Void, 
  ProjDir=pwd();
  init=Void,
  summary=true, 
  diagnostics=false, 
  CmdStanDir=CMDSTAN_HOME
)Required arguments
* `model::Stanmodel`              : See ?MethodOptional positional arguments
* `data=Void`                     : Observed input data dictionary 
* `ProjDir=pwd()`                 : Project working directoryKeyword arguments
* `init=Void`                     : Initial parameter value dictionary
* `summary=true`                  : Use CmdStan's stansummary to display results
* `diagnostics=false`             : Generate diagnostics file
* `CmdStanDir=CMDSTAN_HOME`       : Location of CmdStan directoryReturn values
* `rc::Int`                       : Return code from stan(), rc == 0 if all is well
* `sim`                           : Chain resultsExamples
# no data, use default ProjDir (pwd)
stan(mymodel)
# default ProjDir (pwd)
stan(mymodel, mydata)
# specify ProjDir
stan(mymodel, mydata, "~/myproject/")
# keyword arguments
stan(mymodel, mydata, "~/myproject/", diagnostics=true, summary=false)
# use default ProjDir (pwd), with keyword arguments
stan(mymodel, mydata, diagnostics=true, summary=false)Related help
?Stanmodel                      : Create a StanModelStan.stan_summary — Method.Method stan_summary
Display CmdStan summary
Method
stan_summary(
  filecmd::Cmd; 
  CmdStanDir=CMDSTAN_HOME
)Required arguments
* `filecmd::Cmd`                : Run command containing names of sample filesOptional arguments
* CmdStanDir=CMDSTAN_HOME       : CmdStan directory for stansummary programRelated help
?Stan.stan                      : Create a StanModelStan.stan_summary — Method.Method stan_summary
Display CmdStan summary
Method
stan_summary(
  file::String; 
  CmdStanDir=CMDSTAN_HOME
)Required arguments
* `file::String`                : Name of file with samplesOptional arguments
* CmdStanDir=CMDSTAN_HOME       : CmdStan directory for stansummary programRelated help
?Stan.stan                      : Execute a StanModelTypes
Stan.Method — Type.Available top level Method
Method
*  Sample::Method             : Sampling
*  Optimize::Method           : Optimization
*  Diagnose::Method           : Diagnostics
*  Variational::Method        : Variational BayesStan.Sample — Type.Sample type and constructor
Settings for method=Sample() in Stanmodel.
Method
Sample(;
  num_samples=1000,
  num_warmup=1000,
  save_warmup=false,
  thin=1,
  adapt=Adapt(),
  algorithm=SamplingAlgorithm()
)Optional arguments
* `num_samples::Int64`          : Number of sampling iterations ( >= 0 )
* `num_warmup::Int64`           : Number of warmup iterations ( >= 0 )
* `save_warmup::Bool`           : Include warmup samples in output
* `thin::Int64`                 : Period between saved samples
* `adapt::Adapt`                : Warmup adaptation settings
* `algorithm::SamplingAlgorithm`: Sampling algorithm
Related help
?Stanmodel                      : Create a StanModel
?Adapt
?SamplingAlgorithmStan.Adapt — Type.Adapt type and constructor
Settings for adapt=Adapt() in Sample().
Method
Adapt(;
  engaged=true,
  gamma=0.05,
  delta=0.8,
  kappa=0.75,
  t0=10.0,
  init_buffer=75,
  term_buffer=50,
  window::25
)Optional arguments
* `engaged::Bool`              : Adaptation engaged?
* `gamma::Float64`             : Adaptation regularization scale
* `delta::Float64`             : Adaptation target acceptance statistic
* `kappa::Float64`             : Adaptation relaxation exponent
* `t0::Float64`                : Adaptation iteration offset
* `init_buffer::Int64`         : Width of initial adaptation interval
* `term_buffer::Int64`         : Width of final fast adaptation interval
* `window::Int64`              : Initial width of slow adaptation intervalRelated help
?Sample                        : Sampling settingsStan.SamplingAlgorithm — Type.Available sampling algorithms
Currently limited to Hmc().
Stan.Hmc — Type.Hmc type and constructor
Settings for algorithm=Hmc() in Sample().
Method
Hmc(;
  engine=Nuts(),
  metric=Stan.diag_e,
  stepsize=1.0,
  stepsize_jitter=1.0
)Optional arguments
* `engine::Engine`            : Engine for Hamiltonian Monte Carlo
* `metric::Metric`            : Geometry for base manifold
* `stepsize::Float64`         : Stepsize for discrete evolutions
* `stepsize_jitter::Float64`  : Uniform random jitter of the stepsize [%]Related help
?Sample                        : Sampling settings
?Engine                        : Engine for Hamiltonian Monte Carlo
?Nuts                          : Settings for Nuts
?Static                        : Settings for Static
?Metric                        : Base manifold geometriesStan.Metric — Type.Metric types
Geometry of base manifold
Types defined
* unit_e::Metric      : Euclidean manifold with unit metric
* dense_e::Metric     : Euclidean manifold with dense netric
* diag_e::Metric      : Euclidean manifold with diag netricStan.Engine — Type.Engine types
Engine for Hamiltonian Monte Carlo
Types defined
* Nuts       : No-U-Tyrn sampler
* Static     : Static integration timeStan.Nuts — Type.Nuts type and constructor
Settings for engine=Nuts() in Hmc().
Method
Nuts(;max_depth=10)Optional arguments
* `max_depth::Number`           : Maximum tree depthRelated help
?Sample                        : Sampling settings
?Engine                        : Engine for Hamiltonian Monte CarloStan.Static — Type.Static type and constructor
Settings for engine=Static() in Hmc().
Method
Static(;int_time=2 * pi)Optional arguments
* `;int_time::Number`          : Static integration timeRelated help
?Sample                        : Sampling settings
?Engine                        : Engine for Hamiltonian Monte CarloStan.Diagnostics — Type.Available method diagnostics
Currently limited to Gradient().
Stan.Gradient — Type.Gradient type and constructor
Settings for diagnostic=Gradient() in Diagnose().
Method
Gradient(;epsilon=1e-6, error=1e-6)Optional arguments
* `epsilon::Float64`           : Finite difference step size
* `error::Float64`             : Error thresholdRelated help
?Diagnose                      : Diagnostic methodStan.Diagnose — Type.Diagnose type and constructor
Method
Diagnose(;d=Gradient())Optional arguments
* `d::Diagnostics`            : Finite difference step sizeRelated help
```julia ?Diagnostics : Diagnostic methods ?Gradient : Currently sole diagnostic method
Stan.OptimizeAlgorithm — Type.OptimizeAlgorithm types
Types defined
* Lbfgs::OptimizeAlgorithm   : Euclidean manifold with unit metric
* Bfgs::OptimizeAlgorithm    : Euclidean manifold with unit metric
* Newton::OptimizeAlgorithm  : Euclidean manifold with unit metricStan.Optimize — Type.Optimize type and constructor
Settings for Optimize top level method.
Method
Optimize(;
  method=Lbfgs(),
  iter=2000,
  save_iterations=false
)Optional arguments
* `method::OptimizeMethod`      : Optimization algorithm
* `iter::Int`                   : Total number of iterations
* `save_iterations::Bool`       : Stream optimization progress to outputRelated help
?Stanmodel                      : Create a StanModel
?OptimizeAlgorithm              : Available algorithmsStan.Lbfgs — Type.Lbfgs type and constructor
Settings for method=Lbfgs() in Optimize().
Method
Lbfgs(;init_alpha=0.001, tol_obj=1e-8, tol_grad=1e-8, tol_param=1e-8, history_size=5)Optional arguments
* `init_alpha::Float64`        : Linear search step size for first iteration
* `tol_obj::Float64`           : Convergence tolerance for objective function
* `tol_rel_obj::Float64`       : Relative change tolerance in objective function
* `tol_grad::Float64`          : Convergence tolerance on norm of gradient
* `tol_rel_grad::Float64`      : Relative change tolerance on norm of gradient
* `tol_param::Float64`         : Convergence tolerance on parameter values
* `history_size::Int`          : No of update vectors to use in Hessian approxRelated help
?OptimizeMethod               : List of available optimize methods
?Optimize                      : Optimize argumentsStan.Bfgs — Type.Bfgs type and constructor
Settings for method=Bfgs() in Optimize().
Method
Bfgs(;init_alpha=0.001, tol_obj=1e-8, tol_rel_obj=1e4, 
  tol_grad=1e-8, tol_rel_grad=1e7, tol_param=1e-8)Optional arguments
* `init_alpha::Float64`        : Linear search step size for first iteration
* `tol_obj::Float64`           : Convergence tolerance for objective function
* `tol_rel_obj::Float64`       : Relative change tolerance in objective function
* `tol_grad::Float64`          : Convergence tolerance on norm of gradient
* `tol_rel_grad::Float64`      : Relative change tolerance on norm of gradient
* `tol_param::Float64`         : Convergence tolerance on parameter valuesRelated help
?OptimizeMethod               : List of available optimize methods
?Optimize                      : Optimize argumentsStan.Newton — Type.Newton type and constructor
Settings for method=Newton() in Optimize().
Method
Newton()Related help
?OptimizeMethod               : List of available optimize methods
?Optimize                      : Optimize argumentsStan.Variational — Type.Variational type and constructor
Settings for method=Variational() in Stanmodel.
Method
Variational(;
  grad_samples=1,
  elbo_samples=100,
  eta_adagrad=0.1,
  iter=10000,
  tol_rel_obj=0.01,
  eval_elbo=100,
  algorithm=:meanfield,          
  output_samples=10000
)Optional arguments
* `algorithm::Symbol`             : Variational inference algorithm
                                    :meanfiedl;
                                    :fullrank
* `iter::Int64`                   : Maximum number of iterations
* `grad_samples::Int`             : No of samples for MC estimate of gradients
* `elbo_samples::Int`             : No of samples for MC estimate of ELBO
* `eta::Float64`                  : Stepsize weighing parameter for adaptive sequence
* `adapt::Adapt`                  : Warmupadaptations
* `tol_rel_obj::Float64`          : Tolerance on the relative norm of objective
* `eval_elbo::Int`                : Tolerance on the relative norm of objective
* `output_samples::Int`           : Numberof posterior samples to draw and saveRelated help
?Stanmodel                      : Create a StanModel
?Stan.Method                   : Available top level methods
?Stan.Adapt                     : Adaptation settingsUtilities
Stan.cmdline — Function.cmdline
Recursively parse the model to construct command line.
Method
cmdline(m)Required arguments
* `m::Stanmodel`                : StanmodelRelated help
?Stanmodel                      : Create a StanModelStan.check_dct_type — Function.check_dct_type
Check if dct == Dict{String, Any}[] and has length > 0.
Method
check_dct_type(dct)Required arguments
* `dct::Dict{String, Any}`      : Observed data or parameter init dataStan.update_R_file — Function.update_R_file
Rewrite a dictionary of observed data or initial parameter values in R dump file format to a file.
Method
update_R_file{T<:Any}(file, dct)Required arguments
* `file::String`                : R file name
* `dct::Dict{String, T}`        : Dictionary to format in RStan.par — Function.par
Rewrite dct to R format in file.
Method
par(cmds)Required arguments
* `cmds::Array{Base.AbstractCmd,1}`    : Multiple commands to concatenate
or
* `cmd::Base.AbstractCmd`              : Single command to be
* `n::Number`                            inserted n times into cmd
or
* `cmd::Array{String, 1}`              : Array of cmds as StringsStan.read_stanfit — Method.read_stanfit
Rewrite dct to R format in file.
Method
par(cmds)Required arguments
* `cmds::Array{Base.AbstractCmd,1}`    : Multiple commands to concatenate
or
* `cmd::Base.AbstractCmd`              : Single command to be
* `n::Number`                            inserted n times into cmd
or
* `cmd::Array{String, 1}`              : Array of cmds as StringsIndex
- Stan.CMDSTAN_HOME
- Stan.Adapt
- Stan.Bfgs
- Stan.Diagnose
- Stan.Diagnostics
- Stan.Engine
- Stan.Gradient
- Stan.Hmc
- Stan.Lbfgs
- Stan.Method
- Stan.Metric
- Stan.Newton
- Stan.Nuts
- Stan.Optimize
- Stan.OptimizeAlgorithm
- Stan.Sample
- Stan.SamplingAlgorithm
- Stan.Stanmodel
- Stan.Static
- Stan.Variational
- Stan.check_dct_type
- Stan.cmdline
- Stan.par
- Stan.read_stanfit
- Stan.set_cmdstan_home!
- Stan.stan
- Stan.stan_summary
- Stan.stan_summary
- Stan.update_R_file
- Stan.update_model_file