[pymc3][python]test code 2 after pymc3 installation

test environment:

pymc3==3.11.2

code:

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()

result:

 

Guess you like

Origin blog.csdn.net/FL1623863129/article/details/132050458