Python interface to Stan, a package for Bayesian inference

## Project description

PyStan provides a Python interface to Stan, a package for Bayesian inference using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo.

For more information on Stan and its modeling language, see the Stan User’s Guide and Reference Manual at http://mc-stan.org/.

## Detailed Installation Instructions

Detailed installation instructions can be found in the doc/installation_beginner.md file.

## Quick Installation

NumPy and Cython (version 0.22 or greater) are required. matplotlib is optional.

PyStan and the required packages may be installed from the Python Package Index using pip.

```pip install pystan
```

Alternatively, if Cython (version 0.22 or greater) and NumPy are already available, PyStan may be installed from source with the following commands

```git clone --recursive https://github.com/stan-dev/pystan.git
cd pystan
python setup.py install
```

If you encounter an ImportError after compiling from source, try changing out of the source directory before attempting import pystan. On Linux and OS X cd /tmp will work.

## Example

```import pystan
import numpy as np
import matplotlib.pyplot as plt

schools_code = """
data {
int<lower=0> J; // number of schools
real y[J]; // estimated treatment effects
real<lower=0> sigma[J]; // s.e. of effect estimates
}
parameters {
real mu;
real<lower=0> tau;
real eta[J];
}
transformed parameters {
real theta[J];
for (j in 1:J)
theta[j] = mu + tau * eta[j];
}
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]}

fit = pystan.stan(model_code=schools_code, data=schools_dat,
iter=1000, chains=4)

print(fit)

eta = fit.extract(permuted=True)['eta']
np.mean(eta, axis=0)

# if matplotlib is installed (optional, not required), a visual summary and
# traceplot are available
fit.plot()
plt.show()
```

## Release historyRelease notifications

Filename, size & hash SHA256 hash help File type Python version Upload date
pystan-2.15.0.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (44.2 MB) Copy SHA256 hash SHA256 Wheel cp27
pystan-2.15.0.0-cp27-cp27m-manylinux1_i686.whl (61.6 MB) Copy SHA256 hash SHA256 Wheel cp27
pystan-2.15.0.0-cp27-cp27m-manylinux1_x86_64.whl (62.4 MB) Copy SHA256 hash SHA256 Wheel cp27
pystan-2.15.0.0-cp27-cp27mu-manylinux1_i686.whl (61.6 MB) Copy SHA256 hash SHA256 Wheel cp27
pystan-2.15.0.0-cp27-cp27mu-manylinux1_x86_64.whl (62.4 MB) Copy SHA256 hash SHA256 Wheel cp27
pystan-2.15.0.0-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (44.2 MB) Copy SHA256 hash SHA256 Wheel cp34
pystan-2.15.0.0-cp34-cp34m-manylinux1_i686.whl (61.6 MB) Copy SHA256 hash SHA256 Wheel cp34
pystan-2.15.0.0-cp34-cp34m-manylinux1_x86_64.whl (62.4 MB) Copy SHA256 hash SHA256 Wheel cp34
pystan-2.15.0.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (44.2 MB) Copy SHA256 hash SHA256 Wheel cp35
pystan-2.15.0.0-cp35-cp35m-manylinux1_i686.whl (61.6 MB) Copy SHA256 hash SHA256 Wheel cp35
pystan-2.15.0.0-cp35-cp35m-manylinux1_x86_64.whl (62.4 MB) Copy SHA256 hash SHA256 Wheel cp35
pystan-2.15.0.0-cp35-cp35m-win32.whl (42.0 MB) Copy SHA256 hash SHA256 Wheel cp35
pystan-2.15.0.0-cp35-cp35m-win_amd64.whl (42.1 MB) Copy SHA256 hash SHA256 Wheel cp35
pystan-2.15.0.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (44.2 MB) Copy SHA256 hash SHA256 Wheel cp36
pystan-2.15.0.0-cp36-cp36m-manylinux1_i686.whl (61.6 MB) Copy SHA256 hash SHA256 Wheel cp36
pystan-2.15.0.0-cp36-cp36m-manylinux1_x86_64.whl (62.4 MB) Copy SHA256 hash SHA256 Wheel cp36
pystan-2.15.0.0-cp36-cp36m-win32.whl (42.0 MB) Copy SHA256 hash SHA256 Wheel cp36
pystan-2.15.0.0-cp36-cp36m-win_amd64.whl (42.1 MB) Copy SHA256 hash SHA256 Wheel cp36
pystan-2.15.0.0.tar.gz (25.4 MB) Copy SHA256 hash SHA256 Source None