吉布斯采样(Gibbs采样)

目录


MCMC(一)蒙特卡罗方法 https://www.cnblogs.com/emanlee/p/12356492.html

MCMC(二)马尔科夫链 https://www.cnblogs.com/emanlee/p/12357341.html

MCMC(三)MCMC采样和M-H采样 https://www.cnblogs.com/emanlee/p/12358022.html

MCMC(四)Gibbs采样  https://www.cnblogs.com/emanlee/p/12358194.html

 

 

 

 

 

 

 

 

 

 

 

 

 

复制代码
import math
import random
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.stats import multivariate_normal

samplesource = multivariate_normal(mean=[5,-1], cov=[[1,1],[1,4]])

def p_ygivenx(x, m1, m2, s1, s2):
    return (random.normalvariate(m2 + rho * s2 / s1 * (x - m1), math.sqrt((1 - rho ** 2) * (s2**2))))

def p_xgiveny(y, m1, m2, s1, s2):
    return (random.normalvariate(m1 + rho * s1 / s2 * (y - m2), math.sqrt((1 - rho ** 2) * (s1**2))))

N = 5000
K = 20
x_res = []
y_res = []
z_res = []
m1 = 5
m2 = -1
s1 = 1
s2 = 2

rho = 0.5
y = m2

for i in range(N):
    for j in range(K):
        x = p_xgiveny(y, m1, m2, s1, s2)
        y = p_ygivenx(x, m1, m2, s1, s2)
        z = samplesource.pdf([x,y])
        x_res.append(x)
        y_res.append(y)
        z_res.append(z)

num_bins = 50
plt.hist(x_res, num_bins, normed=1, facecolor='green', alpha=0.5)
plt.hist(y_res, num_bins, normed=1, facecolor='red', alpha=0.5)
plt.title('Histogram')
plt.show()
复制代码

 

 

 

然后我们看看样本集生成的二维正态分布,代码如下:

fig = plt.figure()
ax = Axes3D(fig, rect=[0, 0, 1, 1], elev=30, azim=20)
ax.scatter(x_res, y_res, z_res,marker='o')
plt.show()

 

 

 

 

 

 

from

https://www.cnblogs.com/pinard/p/6645766.html

 

REF

https://blog.csdn.net/arcers/article/details/88732639

https://www.cnblogs.com/xbinworld/p/4266146.html

https://wenku.baidu.com/view/d57107bff9c75fbfc77da26925c52cc58bd690ee.html

https://www.plob.org/article/5061.html

http://blog.sciencenet.cn/blog-255662-542389.html

https://blog.csdn.net/xc_xc_xc/article/details/76257344

 

posted @   emanlee  阅读(6297)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2015-02-24 为WebBrowser指定IE内核版本(MSIE 7.0)
2012-02-24 matlab中读取txt数据文件(txt文本文档)
2010-02-24 ASP.NET Export DataTable to Excel
2009-02-24 C语言程序设计 数据类型转换
点击右上角即可分享
微信分享提示