欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > [python]pymc3-3.11.0安装后测试代码

[python]pymc3-3.11.0安装后测试代码

2025/2/23 7:30:48 来源:https://blog.csdn.net/FL1623863129/article/details/144678754  浏览:    关键词:[python]pymc3-3.11.0安装后测试代码

测试通过环境:

pymc3==3.11.0

python=3.8

测试代码:

import arviz as az
import matplotlib.pyplot as plt
import numpy as np
import pymc3 as pm
RANDOM_SEED = 8927
np.random.seed(RANDOM_SEED)
az.style.use("arviz-darkgrid")
# True parameter values
alpha, sigma = 1, 1
beta = [1, 2.5]# Size of dataset
size = 100# Predictor variable
X1 = np.random.randn(size)
X2 = np.random.randn(size) * 0.2# Simulate outcome variable
Y = alpha + beta[0] * X1 + beta[1] * X2 + np.random.randn(size) * sigma
fig, axes = plt.subplots(1, 2, sharex=True, figsize=(10, 4))
axes[0].scatter(X1, Y, alpha=0.6)
axes[1].scatter(X2, Y, alpha=0.6)
axes[0].set_ylabel("Y")
axes[0].set_xlabel("X1")
axes[1].set_xlabel("X2")
basic_model = pm.Model()
if __name__ == '__main__':with basic_model:# Priors for unknown model parametersalpha = pm.Normal("alpha", mu=0, sigma=10)beta = pm.Normal("beta", mu=0, sigma=10, shape=2)sigma = pm.HalfNormal("sigma", sigma=1)# Expected value of outcomemu = alpha + beta[0] * X1 + beta[1] * X2# Likelihood (sampling distribution) of observationsY_obs = pm.Normal("Y_obs", mu=mu, sigma=sigma, observed=Y)# instantiate samplerstep = pm.Slice()# draw 5000 posterior samplestrace = pm.sample(5000, step=step, return_inferencedata=False)az.plot_trace(trace)plt.show()

测试结果:

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词