============================ Frequently Asked Questions ============================ How can I use PyStan with Jupyter Notebook or JupyterLab? --------------------------------------------------------- Use `nest-asyncio `_. This package is needed because Jupter Notebook blocks the use of certain `asyncio `_ functions. (To verify this, try running ``asyncio.run(asyncio.sleep(1))`` in a notebook.) If you would like to learn more about the problem, see the following issue: `ipython/ipykernel#548 `_. This problem only affects Jupyter Notebook and derivatives. It does not affect IPython. Is Windows supported? --------------------- If `WSL2 `_ works for you, then the answer is "yes," otherwise the answer is "no." Experience has proven that supporting PyStan on Windows is challenging and requires a considerable investment of resources. If you would like to fund the development and ongoing maintenance of a version of PyStan which works on Windows, please post your proposal for discussion on the `Stan forum `_. .. _faq_linux_distributions: What Linux distributions are supported? --------------------------------------- There are three officially supported Linux distributions: - Debian 11 - Ubuntu 20.04 - Ubuntu 22.04 Users have reported that PyStan works on the following Linux distributions: - Arch Linux 2021.05.01 - Fedora 34 How do I get parameter summary statistics? ------------------------------------------ Consider using the following:: fit = posterior.sample(num_chains=4, num_samples=1000) df = fit.to_frame() print(df.describe().T) The final line uses the `pandas.DataFrame.describe `_ method. It should print useful statistics about the parameters:: count mean std min 25% 50% 75% max parameters lp__ 4,000.0 -39.4 2.6 -48.4 -41.0 -39.2 -37.6 -32.7 accept_stat__ 4,000.0 0.9 0.2 0.0 0.9 1.0 1.0 1.0 stepsize__ 4,000.0 0.3 0.0 0.3 0.3 0.3 0.3 0.3 treedepth__ 4,000.0 3.7 0.5 2.0 3.0 4.0 4.0 5.0 n_leapfrog__ 4,000.0 13.5 3.4 3.0 15.0 15.0 15.0 31.0 divergent__ 4,000.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 energy__ 4,000.0 44.3 3.3 34.1 42.0 44.1 46.6 56.8 mu 4,000.0 7.5 4.7 -9.5 4.6 7.6 10.7 24.6 tau 4,000.0 6.5 5.3 0.0 2.4 5.4 9.1 36.8 eta.1 4,000.0 0.4 0.9 -3.1 -0.2 0.4 1.0 3.5 eta.2 4,000.0 0.0 0.9 -3.5 -0.5 0.0 0.6 2.7 eta.3 4,000.0 -0.2 0.9 -3.9 -0.8 -0.2 0.4 3.0 eta.4 4,000.0 0.0 0.9 -3.1 -0.5 0.0 0.6 3.5 eta.5 4,000.0 -0.3 0.9 -3.1 -0.8 -0.3 0.3 2.8 eta.6 4,000.0 -0.2 0.9 -3.4 -0.8 -0.2 0.3 2.7 eta.7 4,000.0 0.3 0.9 -2.6 -0.3 0.4 0.9 3.1 eta.8 4,000.0 0.0 0.9 -2.5 -0.5 0.0 0.6 2.6 theta.1 4,000.0 11.0 8.1 -12.9 6.0 10.0 14.8 48.9 theta.2 4,000.0 7.8 6.1 -14.9 3.8 7.6 11.5 29.5 theta.3 4,000.0 6.1 7.7 -28.8 2.2 6.6 10.3 42.2 theta.4 4,000.0 7.7 6.4 -15.0 3.7 7.5 11.6 30.2 theta.5 4,000.0 5.2 6.1 -21.1 1.3 5.7 9.3 23.9 theta.6 4,000.0 5.8 6.7 -24.3 1.4 6.2 10.1 28.0 theta.7 4,000.0 10.4 6.5 -6.1 6.2 10.0 14.0 38.8 theta.8 4,000.0 8.0 7.2 -18.7 3.8 7.9 12.1 35.1 Using this technique should give you much of the information provided by the CmdStan program ``stansummary``. How can I run pystan on macOS with Apple silicon chips (Apple M1, M2, etc)? --------------------------------------------------------------------------- First, you have to install the httpstan package from source. This can be done with the following steps: 1. Download source code from newest httpstan version from `httpstan's GitHub `_. 2. Extract .zip or .tar.gz. 3. With an active virtual environment, navigate to the extracted folder in the terminal and follow instructions below taken from `httpstan's documentation `_: a. Build shared libraries by typing ``make`` into the terminal. b. Build the httpstan wheel on your system by typing ``python3 -m pip install poetry`` followed by ``python3 -m poetry build`` into the terminal. c. Install the wheel by typing ``python3 -m pip install dist/*.whl`` into the terminal. Second, you can install pystan from `PyPI `_ from source by typing ``pip install pystan --no-binary pystan`` into the terminal. You are now ready to use pystan and you can test it by running the "Quick start" code provided `here `_.