Stan (プログラミング言語)
From Wikipedia, the free encyclopedia
| 作者 | 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は、ベイジアン推論のための勾配ベースのマルコフ連鎖モンテカルロ法 (MCMC法)アルゴリズム、近似ベイズ推論のための確率論的勾配ベース変分ベイズ法 、およびペナルティ付き最尤推定のための勾配ベース最適化を実装している。
- MCMC法のアルゴリズム:
- No-U-Turn Sampler[1][2][4](NUTS):HMC法の変法であり、StanのデフォルトのMCMCエンジンとなっている。
- ハミルトニアン・モンテカルロ法 (HMC法)
- 変分推論アルゴリズム:
- ブラックボックス変分推論[5]
- 最適化アルゴリズム:
- 制限付きメモリBFGS (Stanのデフォルトの最適化アルゴリズム)
- Broyden–Fletcher–Goldfarb–Shannoアルゴリズム
- 古典的な標準誤差の推定値と近似ベイズ後置子に対するラプラスの方法