马尔可夫链蒙特卡罗法

作业19.7

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import betaclass MCMC:def __init__(self,scale=0.5):self.ta = np.random.random(1)self.scale = 0.5def update_ta(self):ta_n = np.random.normal(loc=self.ta, scale=self.scale, size=1)[0]a = min(1,beta.pdf(ta_n,1,1)/beta.pdf(self.ta,1,1))u = np.random.random(1)if u <= a :self.ta = ta_ndef fit(self,n,m):self.sample_list = []for i in range(m):self.update_ta()if i > n :self.sample_list.append(self.ta)def plot(self):plt.hist(self.sample_list,bins=50,alpha=0.3)plt.show()def main():mc = MCMC(0.2)mc.fit(5000,10000)print(np.mean([beta.pdf(x,1,1) for x in mc.sample_list])*0.4)mc.plot()if __name__ == '__main__':main()

例题19.10

import numpy as np
import matplotlib.pyplot as pltclass MCMC:def __init__(self,p=None):self.p = pself.x1 = np.random.random(1)[0]self.x2 = np.random.random(1)[0]def update_x1(self):self.x1 = np.random.normal(loc=self.p*self.x2, scale=np.sqrt(1-self.p**2), size=1)[0]def update_x2(self):self.x2 = np.random.normal(loc=self.p*self.x1, scale=np.sqrt(1-self.p**2), size=1)[0]def fit(self,n,m):self.sample_list = []self.x1_list = []self.x2_list = []for i in range(m):self.update_x1()self.update_x2()if i > n :self.sample_list.append((self.x1,self.x2))self.x1_list.append(self.x1)self.x2_list.append(self.x2)def plot(self):plt.hist(self.x1_list,bins=50,alpha=0.3)plt.hist(self.x2_list,bins=50,alpha=0.3)plt.hist(np.random.normal(loc=0, scale=np.sqrt(1-self.p**2), size=5000),bins=50,alpha=.3)plt.show()def main():mc = MCMC(0.5)mc.fit(5000,10000)print(mc.sample_list)mc.plot()if __name__ == '__main__':main()

统计学习方法第十九章作业:马尔可夫链蒙特卡罗法、吉布斯抽样算法(书上题目) 代码实现相关推荐

  1. 统计学习方法第十六章作业:PCA主成分分析算法 代码实现

    PCA主成分分析 import numpy as np class PCA:def __init__(self,x,R=None):self.x = np.array(x)self.dim = sel ...

  2. 统计学习方法第十五章作业:SVD矩阵分解 代码实现 及其在推荐的应用和矩阵压缩意义

    SVD矩阵分解 import numpy as npclass SVD:def __init__(self,x):self.x = np.array(x)def get_r_rv(self,x):x ...

  3. 统计学习方法第十四章作业:聚类—层次聚类聚合/分裂算法、K_means聚类算法 代码实现

    层次聚类聚合/分裂算法 import numpy as np import copy import matplotlib.pyplot as pltclass Hierarchical_cluster ...

  4. 《统计学习方法(第2版)》李航 第19章 马尔可夫蒙特卡罗法 MCMC 思维导图笔记 及 课后全部习题答案(步骤详细, 包含Metropolis算法,吉布斯算法代码实现)第十九章

    思维导图: 19.1 用蒙特卡罗积分法求: ∫−∞∞x2exp⁡(−x22)dx\int_{-\infty}^{\infty} x^{2} \exp \left(-\frac{x^{2}}{2}\ri ...

  5. 信息系统项目管理师---第十七章 战略管理 第十八章 组织级项目管理 第十九章 流程管理历年考题

    信息系统项目管理师-第十七章 战略管理 第十八章 组织级项目管理 第十九章 流程管理历年考题 第十七章 战略管理历年考题 1.2005 年 5 月第 57 题 :战略管理的主要活动可以分为下列中的(B ...

  6. 数字图像处理:第十九章 立体视觉

    第十九章 立体视觉 目录 1.    引言 2.    双目立体视觉(BinocularStereo Vision) 2.1 双目立体视觉模型 2.2 匹配基元 2.3 匹配算法 2.4 双目立体视觉 ...

  7. 复现经典:《统计学习方法》第 10 章 隐马尔可夫模型

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  8. 【Java数据结构与算法】第十九章 贪心算法、Prim算法和Kruskal算法

    第十九章 贪心算法.Prim算法和Kruskal算法 文章目录 第十九章 贪心算法.Prim算法和Kruskal算法 一.贪心算法 1.介绍 2.支付问题 二.Prim算法 1.最小生成树 2.介绍 ...

  9. 类 workbooks 的 open 方法无效_第十九章 Cach 命令大全 OPEN 命令

    第十九章 Caché 命令大全 OPEN 命令 获取输入/输出操作的设备或文件的所有权. 重点 打开设备要指定延迟秒,否则将无限等待. 大纲 OPEN:pc device:(parameters):t ...

最新文章

  1. Python_List对象内置方法详解
  2. python人工智能-马哥教育官网-专业Linux培训班,Python培训机构
  3. 送你一朵小红花观后感
  4. 一套完整的用户增长系统架构
  5. 西建大历年电子与通信工程复试真题_学姐分享2020年西安电子科技大学电子与通信工程考研初复试经验指导...
  6. 关于MQTT协议的说明
  7. python中、if语句的下一句一定要缩进吗_【python公开课|Python if else对缩进的要求是什么,想做好python,就一定要看这个文章】- 环球网校...
  8. python数据分析与挖掘实战pdf_《Python数据分析与挖掘实战》PDF+完整源码
  9. EF CodeFirst类生成器
  10. gitlab 安装、配置、清空、卸载、重装
  11. soap报文解析 php,soap 返回报文解析
  12. maven编译,执行测试用例报错 The forked VM terminated without saying properly goodbye. VM crash or System.exit c
  13. 游戏引擎设计的技术及详解
  14. python控制苹果手机触摸屏失灵怎么办_苹果手机触摸屏失灵的各种解决方法
  15. igg google
  16. 这才不是我想看的《时间简史》
  17. 如何解决计算工作日的问题?
  18. Ubuntu下安装RabbbitVCS(图形化svn管理工具)-- Ubuntu也有TortoiseSVN
  19. 第十二届蓝桥杯初赛试题B直线
  20. 2022.05.07基金策略研究

热门文章

  1. 《C++标准程序库》笔记之二
  2. Linux 重新挂载分区的方法
  3. PHP和MySQL处理树状、分级、无限分类、分层数据的方法
  4. SQL 触发器 当修改TEST表中的F1字段时,同时根据条件修改F2字段
  5. 医学论文摘要撰写的四要素以及注意事项
  6. 转载:vscode gcc makefile git 配置入门
  7. 计算机进桌面后反复重启,我的电脑一插网线就自动重启。到界面之后又马上重启。一直循环。...
  8. applicaiton.yml 日志配置_底层基于Apache Hudi的DLA最佳实践 海量、低成本日志分析...
  9. 中南林科大c语言程序设计,2017年中南林业科技大学计算机与信息工程学院802C语言与数据结构之C程序设计考研题库...
  10. php怎么去除变量里的换行,php去除字符串换行符示例分享