Stan (プログラミング言語)
表示
作者 | Stan Development Team |
---|---|
初版 | 2012年8月30日 |
最新版 |
2.23
/ 2020年 |
リポジトリ | |
プログラミング 言語 | C++ |
対応OS | Unix-like, Microsoft Windows, Mac OS X |
プラットフォーム | Intel x86 - 32-bit, x64 |
サポート状況 | Active |
種別 | Statistical package |
ライセンス | New BSD License |
公式サイト |
mc-stan |
Stan(スタン)はC++で書かれた統計的推論のための確率的プログラミング言語[1][2]。 Stan言語では、対数確率密度関数を計算する命令型プログラムを使用して、(ベイジアン) 統計モデルを実装できる。
アンドリュー・ゲルマンらによって開発され[3]、 モンテカルロ法の先駆者であるスタニスワフ・ウラムにちなんで名付けられた。 BSDライセンスの下でライセンスされている。
インターフェース
[編集]Stanにはいくつかのインターフェースからアクセスできる。
- RStan - R言語との統合。アンドリュー・ゲルマンらによってメンテナンスされている。
- PyStan - Pythonとの統合。
- CmdStan - Unixシェルのコマンドライン実行可能ファイル。
- MatlabStan - MATLAB数値計算環境との統合。
- Stan.jl - Juliaとの統合。
- StataStan - Stataとの統合。
- MathematicaStan - Mathematicaとの統合。
- ScalaStan - Scalaとの統合
アルゴリズム
[編集]Stanは、ベイジアン推論のための勾配ベースのマルコフ連鎖モンテカルロ法 (MCMC法)アルゴリズム、近似ベイズ推論のための確率論的勾配ベース変分ベイズ法 、およびペナルティ付き最尤推定のための勾配ベース最適化を実装している。
- MCMC法のアルゴリズム:
- No-U-Turn Sampler[1][2][4](NUTS):HMC法の変法であり、StanのデフォルトのMCMCエンジンとなっている。
- ハミルトニアン・モンテカルロ法 (HMC法)
- 変分推論アルゴリズム:
- ブラックボックス変分推論[5]
- 最適化アルゴリズム:
- 制限付きメモリBFGS (Stanのデフォルトの最適化アルゴリズム)
- Broyden–Fletcher–Goldfarb–Shannoアルゴリズム
- 古典的な標準誤差の推定値と近似ベイズ後置子に対するラプラスの方法
活用例
[編集]スタンは、社会科学、医薬品統計[6]、市場調査[7]、医用画像[8]などの分野で使用されている。
参考文献
[編集]- ^ a b Stan Development Team. Stan User’s Guide 2.23
- ^ a b Stan Development Team. Stan Reference Manual 2.23
- ^ “Development Team” (英語). stan-dev.github.io 2020年5月10日閲覧。
- ^ Hoffman, Matthew D.; Gelman, Andrew (April 2014). “The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo”. Journal of Machine Learning Research 15: pp. 1593–1623 .
- ^ Kucukelbir, Alp; Ranganath, Rajesh; Blei, David M. (June 2015). Automatic Variational Inference in Stan. 1506. arXiv:1506.03431. Bibcode: 2015arXiv150603431K.
- ^ Natanegara, Fanni; Neuenschwander, Beat; Seaman, John W.; Kinnersley, Nelson; Heilmann, Cory R.; Ohlssen, David; Rochester, George (2013). “The current state of Bayesian methods in medical product development: survey results and recommendations from the DIA Bayesian Scientific Working Group”. Pharmaceutical Statistics 13 (1): 3–12. doi:10.1002/pst.1595. ISSN 1539-1612. PMID 24027093.
- ^ Feit. “Using Stan to Estimate Hierarchical Bayes Models”. 19 March 2019閲覧。
- ^ Gordon, GSD; Joseph, J. "Quantitative phase and polarisation endoscopy applied to detection of early oesophageal tumourigenesis". arXiv:1811.03977 [physics.med-ph]。
- Bob, Carpenter; Andrew, Gelman; Matthew, Hoffman; Daniel, Lee; Ben, Goodrich; Michael, Betancourt; Marcus, Brubaker; Jiqiang, Guo et al. (2017). “Stan: A Probabilistic Programming Language”. Journal of Statistical Software 76 (1): 1–32. doi:10.18637/jss.v076.i01. ISSN 1548-7660.
- Gelman, Andrew, Daniel Lee, and Jiqiang Guo (2015). Stan: A probabilistic programming language for Bayesian inference and optimization, Journal of Educational and Behavioral Statistics.
- Hoffman, Matthew D., Bob Carpenter, and Andrew Gelman (2012). Stan, scalable software for Bayesian modeling, Proceedings of the NIPS Workshop on Probabilistic Programming.
外部リンク
[編集]- Stan - 公式ウェブサイト
- Stan source, a Git repository hosted on GitHub