🙆♀️
cmdstanpy : インストール
CmdStanPy
pythonでStanを行う際はpystanなどがありますが、最近は速度の面からCmdStanPyが注目されつつあるため、CmdStanPyを使用して解析を行いたいと思います。
インストール
CmdStanPyのインストール
今回はPoetryでインストールしました。
pyproject.toml
[tool.poetry]
name = "bayesianstatistics"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.9"
cmdstanpy = {extras = ["all"], version = "^1.0.7"}
xarray = "^2022.10.0"
pandas = "^1.5.1"
numpy = "^1.23.4"
arviz = "^0.12.1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
poetry install
CmdStanのインストール
poetry shell
install_cmdstan
ls -F ~/.cmdstan
サンプル
bernoulli.stan
data {
int<lower=0> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1> theta;
}
model {
theta ~ beta(1,1); // uniform prior on interval 0,1
y ~ bernoulli(theta);
}
from cmdstanpy import CmdStanModel
stan_file = "./bernoulli.stan"
model = CmdStanModel(stan_file=stan_file)
data = {
"N" : 10,
"y" : [0,1,0,0,0,0,0,0,0,1]
}
fit = model.sample(data=data)
fit.summary()
Discussion