pystan贝叶斯推理的软件包

联合创作 · 2023-09-30 16:07

PyStan 为 Stan 提供了一个 Python 接口,这是一个使用 No-U-Turn 采样器进行贝叶斯推理的软件包,这是Hamiltonian Monte Carlo 的一种变体。

PyStan具有以下依赖项:

  • Python:2.7,> = 3.3

  • Cython:> = 0.22

  • NumPy:> = 1.7

PyStan还要求在安装和运行时可以使用C ++编译器。 在基于Debian的系统上,这是通过发出命令apt-get install build-essential来完成的。

例子:

import pystan

schools_code = """
data {
    int<lower=0> J; // number of schools
    vector[J] y; // estimated treatment effects
    vector<lower=0>[J] sigma; // s.e. of effect estimates
}
parameters {
    real mu;
    real<lower=0> tau;
    vector[J] eta;
}
transformed parameters {
    vector[J] theta;
    theta = mu + tau * eta;
}
model {
    eta ~ normal(0, 1);
    y ~ normal(theta, sigma);
}
"""

schools_dat = {'J': 8,
               'y': [28,  8, -3,  7, -1,  1, 18, 12],
               'sigma': [15, 10, 16, 11,  9, 11, 10, 18]}

sm = pystan.StanModel(model_code=schools_code)
fit = sm.sampling(data=schools_dat, iter=1000, chains=4)


 

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报