MCMC学习笔记-马尔科夫链概述

news2025/2/28 0:33:11

参考文章:MCMC(二)马尔科夫链 - 刘建平Pinard - 博客园

写给小白看的马尔科夫链(Markov Chain)最佳入门教程_许进进的博客-CSDN博客_markov链

目录

1.马尔科夫链概述

1.1股票市场模型

2.马尔科夫链模型状态转移矩阵的性质 (本节重点)

2.1代码实例

2.2实现结果

2.3马尔科夫链收敛性质总结


1.马尔科夫链概述

        假某一时刻的状态转移的概率只与它本身前一个状态有关,与前前一个、前前前一个状态都无关,用途:这样做可以大大简化模型的复杂度,因此马尔科夫链在时间序列模型中可以得到广泛的应用,比如循环神经网络RNN、隐式马尔科夫模型HMM、MCMC....

        精确的数学定义:假设序列状态是\cdot \cdot \cdot X_{t-2},X_{t-1},X_{t},X_{t+1},\cdot \cdot \cdot,那么在时刻X_{t+1}的状态的条件概率仅仅依赖于前一个时刻X_{t},即:

P(X_{t+1}|\cdot \cdot \cdot X_{t-2},X_{t-1},X_{t})=P(X_{t+1}|X_{t})

        既然某一时刻状态转移的概率只依赖于它的前一个状态,那么我们只要求出系统任意两个状态之间的转换概率,这个马尔科夫链的模型就确定下来了。

1.1股票市场模型

        这个马尔科夫链是表示股市模型的,共有三种状态:牛市(Bull market)、熊市(Bear market)、横盘(Stagnant market) 。每一个状态都以一定的转换概率转化到下一个状态。

具体求解过程:http://t.csdn.cn/XVM6f

2.马尔科夫链模型状态转移矩阵的性质 (本节重点)

        马尔科夫链模型的状态转移矩阵最终收敛得到的稳定概率分布初始状态概率分布无关。用途:得到了这个稳定概率分布对应的马尔科夫链模型的状态转移矩阵,则我们可以用任意的概率分布样本开始,代入马尔科夫模型的状态转移矩阵,经过一些的序列的转换,最终可以得到符合对应稳定概率分布的样本

        这个性质不光对我们上面的状态转移矩阵有效,对于绝大多数的其他的马尔科夫链模型的状态转移矩阵也有效。同时不光是离散状态,连续状态时也成立。

        对于一个确定的状态转移矩阵P,它的n次幂P^{n} 在当n大于一定的值时,也可以发现是确定的概率分布。

2.1代码实例

import numpy as np
matrix =  np.matrix([[0.9,0.075,0.025],[0.15,0.8,0.05],[0.25,0.25,0.5]], dtype=float)
#vector1 = np.matrix([[0.7,0.1,0.2]], dtype = float)

for i in range(10):
    matrix = matrix*matrix
    print ("Current round:", i+1)
    print (matrix)

2.2实现结果

Current round: 1
[[0.8275  0.13375 0.03875]
 [0.2675  0.66375 0.06875]
 [0.3875  0.34375 0.26875]]
Current round: 2
[[0.73555  0.212775 0.051675]
 [0.42555  0.499975 0.074475]
 [0.51675  0.372375 0.110875]]
Current round: 3
[[0.65828326 0.28213131 0.05958543]
 [0.56426262 0.36825403 0.06748335]
 [0.5958543  0.33741675 0.06672895]]
Current round: 4
[[0.62803724 0.30972343 0.06223933]
 [0.61944687 0.3175772  0.06297594]
 [0.6223933  0.3148797  0.062727  ]]
Current round: 5
[[0.62502532 0.31247685 0.06249783]
 [0.6249537  0.31254233 0.06250397]
 [0.62497828 0.31251986 0.06250186]]
Current round: 6
[[0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]]
Current round: 7
[[0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]]
Current round: 8
[[0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]]
Current round: 9
[[0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]]
Current round: 10
[[0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]
 [0.625  0.3125 0.0625]] 

        我们可以发现,在n\geq 6 以后,p^{n} 的值稳定不再变化,而且每一行都为[0.625  0.3125 0.0625],这和我们前面的稳定分布是一致的,这个性质不光是离散状态成立,连续状态时也成立。

2.3马尔科夫链收敛性质总结

        如果一个非周期的马尔科夫链有状态转移矩阵P ,并且它的任何两个状态是联通的,那么lim_{n\rightarrow \infty }P_{ij}^{n} 与i无关,我们有:

(1)

 lim_{n\rightarrow \infty }P_{ij}^{n}=\pi (j)

(2)

 lim_{n\rightarrow \infty }P^{n}=\begin{pmatrix} \pi (1) &\pi (2) &... &\pi (j) &... \\ \pi (1) &\pi (2) &... & \pi (j) &... \\ ...& ... &... &... & ...\\ \pi (1) & \pi (2) & ... & \pi (j) &... \\ ... & ... &... &... & ... \end{pmatrix}

(3)

\pi (j)=\sum_{i=0}^{\infty }\pi (i)P_{ij}

(4) \pi 是方程\pi P=\pi 的唯一非负解,其中:

\pi =[\pi (1),\pi (2),...\pi (j),...]\sum_{i=0}^{\infty }\pi (i)=1

        我们对上面总结的性质做出解释:

(1)非周期的马尔科夫链:这个主要是指马尔科夫链的状态转化不是循环的,如果是循环的则永远不会收敛。幸运的是,我们遇到的马尔科夫链一般都是非周期性的。

用数学方式表述则是:对于任意某一状态i,d为集合{n|n\geq 1,p_{ii}^{n}>0}的最大公约数,如果d=1,则该状态为非周期的。

(2)任何两个状态是连通的:指的是从任意一个状态可以通过有限步数达到其他任意一个状态,不会出现条件概率一直为0导致无法到达的现象。

(3)马尔科夫链的状态数可以是有限的,也可以是无限的,因此可以用于连续概率分布和离散概率分布。

(4)\pi 通常称为马尔科夫链的平稳分布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小程序容器技术加持下,企业自主打造小程序生态

小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的小程序开发环境和开发者生态。 据对公开资料进行统计,2021年全网小程序数量已超700万,其中微信小程序开发者突破300…

java使用world模板动态生成PDF文件

根据项目需求,需要用到一个功能,根据页面参数需要动态的生成一个world,并将world生成两份PDF文件,一份正式文件,一份临时的电子文件(带有二维码,扫描可以下载正式文件的电子版本)。同…

JAVA开发(nginx)

主要描述下面4个内容: 1.Nginx的正向代理和反向代理 2.Nginx的动静分离 3.Nginx的负载均衡 4.Nginx的配置详解 解释: Nginx的正向代理:代理的是客户端。 Nginx的反向代理:代理的是服务端。在web服务中,一般都是…

2022年“网络安全”赛项驻马店市赛选拔赛 任务书

2022年“网络安全”赛项驻马店市赛选拔赛 一、竞赛时间 共计3小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段单兵模式系统渗透测试 任务一 Windows操作系统渗透测试 100分钟 100 任务二 Linux操作系统渗透测试 150 任务三 数字取证调查 150 任务四 …

vscode不能打开终端问题

遇到vscode不能打开终端问题,一直以为是安全软件限制问题,也没搜到解决方案,因为影响也不大,就没有管。 最近,要用vscode调试代码,发现不能打开终端,没法玩了,又来看这个问题&#…

【图像隐藏】基于matlab像素预测和位平面压缩的加密图像可逆数据隐藏【含Matlab源码 2218期】

⛄一、加密图像可逆数据隐藏简介 1 信息隐藏技术概述 信息隐藏技术是把秘密信息隐藏在多媒体信息中的一种方法。图像是最适合信息隐藏的数据载体。信息隐藏的方法主要有数字水印技术、隐写术等。 信息隐藏可以分为有损信息隐藏与可逆信息隐藏信息隐藏技术, 区别在于接收端是否…

【虚幻引擎UE】UE5 简单实现范围计算圆圈绘制

先来看看可以实现的效果: 一、实现快速绘制圆圈的C函数 .cpp文件 #include "drawPolygon.h" #include "Components/LineBatchComponent.h" #include "Engine/World.h" #include "EngineGlobals.h" #include "Prim…

墨西哥专线详解:墨西哥专线时效多久,墨西哥专线价格多少?

墨西哥专线是国内直飞墨西哥或者海运墨西哥的专线物流服务,从中国到墨西哥的物流大约需要3到30天。不同的运输方式到墨西哥的时间不同。国际快递是最快的。通常3到5天就可以完成目的地派送,最慢的是海运专线,到墨西哥大约需要20到30天才能到达…

隐式神经表示二:超分网络学习傅里叶系数Local Texture Estimator for Implicit Representation Function

文章目录1. Local Texture Estimator for Implicit Representation Function1. 通过隐式神经网络表示方法 实现 超分辨率。2. 在编码器和解码器之间作者引入一个 local texture estimator3. 代码分析整体框架生成图像特征,编码器是一个常规的卷积网络,文…

【Pytorch with fastai】第 8 章 :协同过滤深入探讨

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

十四、Java String 类

Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 创建字符串 创建字符串最简单的方式如下: String str "xxx"; 在代码中遇到字符串常量时,这里的值是 &q…

大数据开源平台好在哪里?

当前是大数据发展时代,对于企业而言需要紧紧抓住契机乘势而上,利用好内部数据做好数字化转型,可以为企业带来更高的发展空间。大数据开源平台是助力企业提升办公效率的软件平台,那么,哪里有这样的大数据开源平台&#…

关于Git使用:fatal: Could not read from remote repository.的报错问题解决

目录 一:问题描述 二:解决过程 1,增加账号及邮箱 2,添加秘钥: 3,获取公钥并将其设置到云效里面 4,宝塔终端 解除密码 三:解决截图 一:问题描述 我们公司的版本仓…

【布隆过滤器】世界上大概有1 亿种小蛋糕,客户康宝要求这辈子不吃重复的小蛋糕。

文章目录需求概念思想问题优点缺点应用手写布隆过滤器补充需求 现在客户康宝有一个需求:世界上大概有 1 亿 种小蛋糕,康宝要求这辈子不吃重复种类的小蛋糕。 因为小蛋糕的种类很大可能只会增加,而不会减少,面对这种大数据量的要…

静态分析 Qt Ceator 组织的工程代码

文章目录Missing reference in range-for with non trivial type (QString) [clazy-range-loop]Slots named on_foo_bar are error prone [clazy-connect-by-name]Call to virtual method FlowLayout::takeAt during destruction bypasses virtual dispatch [clang-analyzer-op…

目的和目标的差异|丰田自动工程完结的目的、目标、应用化的意义和明确、二

目的和目标的差异|丰田自动工程完结的目的、目标、应用化的意义和明确、二 业务的方式改废|工作的目的、目标、输出的明确化 业务改善的一种方法被称为业务改废。意思是更好地改善现有的业务,废除不必要的业务。 使用这种方法,首先要明确想要改变和废除…

初学Java,遇错就懵,这类问题到底怎么处理呢?!

前言 众所周知,壹哥在干Java的路上已经越走越远,越陷越深,最近无意刷知乎时看到一位初学Java的迷惑少年,被报错干懵啦!!! 初学Java的同学,遇到报错一定不要慌,首先检查…

Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、版本设置 每个App都有三个基础信息,第一个是App的图标,第二个是App的名称,第三个是App的版本号。 一旦安装了某个版本的App,那么之后只能安装版本更新的同名App&#xf…

[公派访问学者]申请条件及选拔方法

国家公派访问学者绝大多数是经过层层选拔的,那么具体有哪些条件呢?又是如何选拔的呢?知识人网访问学者申请咨询老师和大家分享以下这篇文章。 一、申请条件 1、高级研究学者 申请时年龄不超过55岁。教学科研人员应为教授、博士生导师。申请人须同时具备以下条件…