pymc3 安装以及测试代码

本文详细描述了一位初学者在配置Bayesianinference环境,尤其是使用PyMC3时遇到的问题,包括版本不匹配、C++库错误、BLAS警告等,并提供了相应的解决方案,如安装m2w64-toolchain和mingwlibpython,以及调整Theano设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小白想学习Bayesian inference, 在配环境的地方卡了四五天。搜集各种教程终于配好了,现在记录步骤如下。

(跑是能跑的,只知道报错很多是版本不匹配的问题,但是其中具体原因我也不是很清楚,希望有大佬能指点一下~多谢)

1. 创建环境

conda create -n bayesian python==3.8
conda activate bayesian

2. pip 安装 pym3

pip install pymc3==3.11.5

3. 此时运行会报c++ 的错误(一堆),运行下面两个命令

conda install m2w64-toolchain
conda install mingw libpython

4.如果出现这个警告:

WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.

执行以下命令


conda install mkl
conda install mkl-service
conda install blas

然后在 C:\Users\用户名 下新建文件,命名为 .theanorc.txt ,写入保存

[blas]
Idflags=-lmkl_rt

5. 测试代码

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

np.random.seed(123)

alpha = 1
sigma = 1
beta = [1, 2.5]

N = 100

X1 = np.random.randn(N)
X2 = np.random.randn(N)

Y = alpha + beta[0] * X1 + beta[1] * X2 + np.random.randn(N) * sigma

fig1, ax1 = plt.subplots(1, 2, figsize=(10, 4))
ax1[0].scatter(X1, Y)
ax1[0].set_xlabel('X1')
ax1[0].set_ylabel('Y')
ax1[1].scatter(X2, Y)
ax1[1].set_xlabel('X2')
ax1[1].set_ylabel('Y')

fig2 = plt.figure(2)
ax2 = Axes3D(fig2)
ax2.scatter(X1, X2, Y)
ax2.set_xlabel('X1')
ax2.set_ylabel('X2')
ax2.set_zlabel('Y')

import pymc3 as pm

basic_model = pm.Model()
with basic_model:
    alpha = pm.Normal('alpha', mu=0, sd=10)
    beta = pm.Normal('beta', mu=0, sd=10, shape=2)
    sigma = pm.HalfNormal('sigma', sd=1)

    mu = alpha + beta[0] * X1 + beta[1] * X2

    Y_obs = pm.Normal('Y_obs', mu=mu, sd=sigma, observed=Y)
map_estimate = pm.find_MAP(model=basic_model)
from scipy import optimize

map_estimate2 = pm.find_MAP(model=basic_model)
print(map_estimate)
print(map_estimate2)

6. 运行结果依然有一堆警告但是anyway了

参考:

关于这个例子的教程:PyMC3 概率编程入门

BLAS 的 WARNING

使用pymc3可能遇到的问题及解决方法

Anaconda 安装 theano填坑

### 如何在 Python安装 PyMC3 库 #### 使用 Pip 安装 PyMC3 如果已经配置好了 Anaconda 或 Miniconda 的环境,可以直接通过 `pip` 命令来安装 PyMC3。以下是具体方法: ```bash pip install pymc3 ``` 这种方法适用于大多数标准的 Python 环境[^1]。 --- #### 在 Windows 上使用 Conda 创建新环境并安装 PyMC3 对于 Windows 用户来说,推荐使用 Conda 来管理依赖项和虚拟环境。以下是详细的步骤说明: 1. **创建新的 Conda 虚拟环境** 可以为 PyMC3 创建一个新的独立环境,以避免与其他项目发生冲突。执行以下命令可以创建名为 `myenv` 的新环境,并指定 Python 版本为 3.8: ```bash conda create -n myenv "python=3.8" libpython mkl-service m2w64-toolchain numba python-graphviz scipy ``` 2. **激活新建的环境** 激活刚刚创建的 `myenv` 环境以便后续操作在此环境中完成: ```bash conda activate myenv ``` 3. **安装 PyMC3** 接下来,在已激活的环境中通过 `pip` 安装 PyMC3: ```bash pip install pymc3 ``` 4. **添加 Jupyter Notebook 内核支持** 如果计划在 Jupyter Notebook 中使用 PyMC3,则需要将当前环境注册到 Jupyter 的可用内核列表中: ```bash conda install ipykernel python -m ipykernel install --user --name=myenv ``` 5. **启用多环境切换功能** 若要方便地在不同环境下切换工作,可安装扩展工具 `nb_conda`: ```bash conda install nb_conda ``` 以上流程能够确保 PyMC3 和其依赖项被正确安装至目标环境中[^2]。 --- #### 解决 C++ 编译器相关错误 部分用户可能会遇到与 C++ 编译器有关的错误提示。针对此情况,可以通过额外安装特定的编译工具链解决该问题: ```bash conda install m2w64-toolchain conda install mingw libpython ``` 这些命令提供了必要的构建工具集,从而帮助顺利完成 PyMC3安装过程[^3]。 --- #### 学习更多关于 PyMC3 的资源 除了上述技术细节外,了解完整的 Python 生态圈及其应用场景也非常重要。例如,可以从零开始学习 Python 数据分析、Web 开发等领域的内容[^4]。这有助于更全面掌握如何利用像 PyMC3 这样的高级统计建模工具解决问题。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值