-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathindex.qmd
138 lines (108 loc) · 9.46 KB
/
index.qmd
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
---
title: "Stan Toolkit"
page-layout: full
toc-location: right
aliases:
- ../interfaces/loo.html
- ../interfaces/rstanarm.html
- ../interfaces/pystan.html
- ../interfaces/mathematica-stan.html
- ../interfaces/rstantools.html
- ../interfaces/stata-stan.html
- ../interfaces/bayesplot.html
- ../interfaces/index.html
- ../interfaces/matlab-stan.html
- ../interfaces/rstan.html
- ../interfaces/stan.html
- ../interfaces/cmdstan.html
- ../interfaces/julia-stan.html
- ../interfaces/shinystan.html
- ../users/interfaces/loo.html
- ../users/interfaces/rstanarm.html
- ../users/interfaces/pystan.html
- ../users/interfaces/mathematica-stan.html
- ../users/interfaces/rstantools.html
- ../users/interfaces/brms.html
- ../users/interfaces/stata-stan.html
- ../users/interfaces/bayesplot.html
- ../users/interfaces/index.html
- ../users/interfaces/matlab-stan.html
- ../users/interfaces/rstan.html
- ../users/interfaces/stan.html
- ../users/interfaces/cmdstan.html
- ../users/interfaces/julia-stan.html
- ../users/interfaces/shinystan.html
---
A curated collection of tools and interfaces to help you work effectively with Stan across various programming environments and stages of your modeling workflow.
---
## Language-Specific Stan Interfaces
*Write, compile, and run Stan models directly within your programming environment.*
| **Language** | **Tool** | **Description** |
|--------------|----------|-----------------|
| **R** | [**CmdStanR**](https://mc-stan.org/cmdstanr){target="_blank"} | Interface to Stan for R, based on CmdStan. **Recommended interface for R users.** |
| **Python** | [**CmdStanPy**](https://mc-stan.org/cmdstanpy){target="_blank"} | Interface to Stan for Python, based on CmdStan. **Recommended interface for Python users.** |
| **Web** | [**Stan Playground**](https://stan-playground.flatironinstitute.org/){target="_blank"} | Browser-based editor and runtime environment for Stan models. **Highly recommended for new users.** |
| **Julia** | [**Stan.jl**](http://stanjulia.github.io/Stan.jl/stable/INTRO/){target="_blank"} | Interface to Stan for Julia users. |
| **MATLAB** | [**MatlabStan**](https://github.com/brian-lau/MatlabStan/wiki){target="_blank"} | Interface to Stan for MATLAB users. |
| **Shell** | [**CmdStan**](https://mc-stan.org/docs/cmdstan-guide){target="_blank"} | Command-line interface to Stan, usable from any shell environment. |
| **R** | [**RStan**](https://mc-stan.org/rstan){target="_blank"} | R interface to Stan. |
| **Python** | [**PyStan**](https://pystan.readthedocs.io/en/latest/){target="_blank"} | Legacy Python interface to Stan. |
: {tbl-colwidths="[10, 20, 70]"}
For detailed installation instructions see [Getting Started](../install/).
---
## High-Level Modeling Interfaces
*Simplify model specification in R.*
| **Language** | **Tool** | **Description** |
|--------------|----------|-----------------|
| **R** | [**brms**](https://paul-buerkner.github.io/brms/){target="_blank"} | Use extended `lme4`-like formula syntax to specify and fit multivariate and multilevel models in Stan. *Requires CmdStanR or RStan, plus C++ compiler.* |
| **R** | [**rstanarm**](https://mc-stan.org/rstanarm){target="_blank"} | Provides robust and efficient pre-compiled Stan versions of R model-fitting packages. Easily installed from CRAN, no C++ compiler needed. |
: {tbl-colwidths="[10, 20, 70]"}
---
## Visualization, Diagnostics, and Validation Tools
*Validate, visualize, and compare fitted models to ensure robust results.*
| **Language** | **Tool** | **Description** |
|--------------|----------|-----------------|
| **R** | [**bayesplot**](https://mc-stan.org/bayesplot/){target="_blank"} | Plotting functions for posterior analysis, diagnostics, and model checking. |
| **R** | [**loo**](https://mc-stan.org/loo/){target="_blank"} | Efficient leave-one-out cross-validation and WAIC for Bayesian models. |
| **R** | [**posterior**](https://mc-stan.org/posterior){target="_blank"} | Tools for working with posterior distributions. |
| **R** | [**projpred**](https://mc-stan.org/projpred){target="_blank"} | Projection predictive variable selection for Bayesian models. |
| **Python** | [**ArviZ**](https://python.arviz.org/en/stable/){target="_blank"} | Exploratory analysis of Bayesian models with extensive visualization capabilities. |
| **Julia** | [**ArviZ.jl**](https://julia.arviz.org/ArviZ/stable/){target="_blank"} | Julia interface to ArviZ for Bayesian analysis. |
| **Web** | [**MCMC Monitor**](https://github.com/flatironinstitute/mcmc-monitor){target="_blank"} | Web-based tool for monitoring MCMC diagnostics. |
: {tbl-colwidths="[10, 20, 70]"}
---
## Developer Tools and APIs
*Access Stan's computational backend for advanced applications and development.*
| **Language** | **Tool** | **Description** |
|------------------------|----------|-----------------|
| **C++** | [**Stan Math Library**](https://mc-stan.org/math/){target="_blank"} | Automatic differentiation and mathematical functions used by Stan. |
| **Multiple Languages** | [**BridgeStan**](https://roualdes.github.io/bridgestan/latest/){target="_blank"} | Library providing bindings to a model's log densities, gradients, and more for C++, Python, Julia, R, and Rust. |
| **R** | [**rstantools**](https://mc-stan.org/rstantools/){target="_blank"} | Tools for developers of R packages interfacing with Stan. |
| **OCaml** | [**stanc3**](https://mc-stan.org/stanc3/stanc/){target="_blank"} | The Stan compiler and programatic tools for manipulating Stan programs. |
: {tbl-colwidths="[10, 20, 70]"}
---
## Editor and IDE Support
*Enhance your coding experience with Stan language support in your favorite editor.*
| **Editor/IDE** | **Tool** | **Description** |
|------------------------|----------|-----------------|
| **RStudio** | **Built-in Support** | RStudio 1.2+ includes Stan syntax highlighting and code snippets [(Source code)](https://github.com/rstudio/rstudio/blob/main/src/gwt/acesupport/acemode/stan_highlight_rules.js){target="_blank"} |
| **Visual Studio Code** | [**VSCode Stan Extension**](https://marketplace.visualstudio.com/items?itemName=wardbrian.vscode-stan-extension){target="_blank"} | Stan language support with syntax highlighting, linting, autocompletion, and snippets |
| **Emacs** | [**stan-mode**](https://github.com/stan-dev/stan-mode){target="_blank"} <br/> [**stan-ts-mode**](https://github.com/WardBrian/stan-ts-mode){target="_blank"} | Major mode for Stan with syntax highlighting and indentation <br /> Tree-sitter based (Emacs 29+) major mode for Stan. Fewer features than stan-mode, but generally more up to date syntax highlighting. |
| **Vim** | [**stan-vim**](https://github.com/eigenfoo/stan-vim){target="_blank"} | Syntax highlighting, indentation, and code folding for Stan in Vim |
| **JupyterLab** | [**jupyterlab-stan-highlight**](https://www.npmjs.com/package/jupyterlab-stan-highlight){target="_blank"} | Syntax highlighting for Stan code blocks in JupyterLab |
| **Javascript** | [**Prism**](https://prismjs.com/){target="_blank"} </br> [**Highlight.js**](https://github.com/highlightjs/highlight.js){target="_blank"} | Lightweight syntax highlighting library [(Source code)](https://github.com/PrismJS/prism/blob/master/components/prism-stan.js){target="_blank"} </br> Syntax highlighter written in javascript [(Source code)](https://github.com/highlightjs/highlight.js/blob/main/src/languages/stan.js){target="_blank"} |
**Markdown** | [**Pandoc**](https://pandoc.org/){target="_blank"} </br> [**Pygments**](https://pygments.org/){target="_blank"} | Stan syntax highlighting for document formats [(Source code)](https://invent.kde.org/frameworks/syntax-highlighting/-/blob/master/data/syntax/stan.xml)</br>Python highlighter for Stan code blocks [(Source code)](https://github.com/pygments/pygments/blob/master/pygments/lexers/modeling.py){target="_blank"} |
| **Zed** | [**zed-stan-extension**](https://github.com/wardbrian/zed-stan-extension){target="_blank"} | Syntax highlighting for Stan in the Zed editor |
| **LaTeX** | [**lstbayes**](https://github.com/jrnold/lstbayes){target="_blank"} | LaTeX listings for Stan syntax highlighting |
| **Sublime Text** | [**SublimeStan**](https://github.com/djsutherland/sublime-stan){target="_blank"} | Syntax highlighting for Stan in Sublime Text |
| **Atom** | [**atom-language-stan**](https://github.com/stan-dev/atom-language-stan){target="_blank"} | Stan language support in Atom editor and GitHub.com |
: {tbl-colwidths="[15, 25, 60]"}
---
## Software Packages built on Stan
| **Language** | **Tool** | **Description** |
|------------------------|----------|-----------------|
| **Python**, **R** | [**PROPHET**](https://facebook.github.io/prophet/){target="_blank"} | Forecasting at scale for time series data. |
| **R** | [**blavaan**](https://ecmerkle.github.io/blavaan){target="_blank"} | R package for Bayesian latent variable analysis. |
| **R** | [**rethinking**](https://github.com/rmcelreath/rethinking/){target="_blank"} | Software for book *Statistical Rethinking* |
: {tbl-colwidths="[10, 20, 70]"}
Additional R packages on CRAN which are built on Stan can be found in the reverse links from the packages [rstan](https://cran.r-project.org/web/packages/rstan/index.html){target="_blank"} and [rstanarm](https://cran.r-project.org/web/packages/rstanarm/index.html){target="_blank"}.