🙆‍♀️

cmdstanpy : インストール

2022/10/23に公開

https://mc-stan.org/cmdstanpy/installation.html

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