测试环境:
pymc3==3.11.2
代码:
import numpy as np
import pymc3 as pm
import matplotlib.pyplot as plt
if __name__ == '__main__':
    # 生成随机数据
    np.random.seed(123)
    x = np.linspace(0, 1, 100)
    y = 0.5 * x + np.random.normal(0, 0.1, size=100)
    # 定义概率模型
    with pm.Model() as model:
        # 定义先验分布
        alpha = pm.Normal('alpha', mu=0, sd=1)
        beta = pm.Normal('beta', mu=0, sd=1)
        sigma = pm.HalfNormal('sigma', sd=1)
        # 定义线性关系
        mu = alpha + beta * x
        # 定义似然函数
        likelihood = pm.Normal('y', mu=mu, sd=sigma, observed=y)
        # 进行贝叶斯推断
        trace = pm.sample(1000, tune=1000)
    # 可视化结果
    pm.traceplot(trace)
    plt.show()结果:












![[LeetCode]只出现一次的数字相关题目(c语言实现)](https://img-blog.csdnimg.cn/4e29f5ff21914b2c8df6b92a6808e64f.png)






