预测未来的神技——有趣的马尔科夫链
作为概率论的一个重要分支,随机过程撑起了概率论的半壁江山,如今,它广泛使用在诸如天气预报、统计物理、天体物理、运筹决策、经济数学、安全科学、人口理论、可靠性及计算机科学等领域。
自然中存在的随机过程非常广泛,利用随机过程的理论建模,就总也逃不开马尔科夫链,比如我们熟知的液体中颗粒所做的布朗运动、商业活动中索要研究的每天销售情况、在数字通信中的语音信号、视频信号等等。它可以将无规则的运动用数学描述出来,对现实生产生活有着巨大的指导意义!
它究竟是什么,又是如何得到广泛应用的?笔者今天将向大家一一道来。
研究背景
▲安德雷·马尔科夫
1856年出生的马尔科夫是俄国非常有名的数学家,他和切比雪夫、李雅普诺夫一起,将概率论从濒临衰亡的边缘拯救出来。三人中以马尔科夫的贡献尤为重要,潜心向学的马尔科夫,年仅40岁就被选为科学院院士,一生中发表的概率论方面的文章或专著共有二十五篇(部)之多。
他研究并提出一个用数学方法就能解释自然变化的一般规律模型,后人将其命名为马尔科夫链(Markov Chain)。
什么是马尔科夫链?马尔科夫性:过程或(系统)在时刻t0所处的状态为已知的条件下,过程在时刻t>t0所处状态的条件分布过程在时刻t0之前所处的状态无关的特性成为马尔科夫性或无后效性。即:过程“将来”的情况与“过去”的情况是无关的。具有马尔科夫性的随机过程成为马尔科夫过程。
马尔可夫链:时间和状态都是离散的马尔科夫过程。
马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。马尔可夫链是具有马尔可夫性质的随机变量的一个数列。这些变量的范围,即它们所有可能取值的集合,被称为“状态空间”,而
的值则是在时间n的状态。如果
对于过去状态的条件概率分布仅是
的一个函数,则
就称为马尔科夫链。熟悉的泊松过程和维纳过程(布朗运动)都是马尔科夫过程(泊松过程是时间连续状态离散的马尔科夫过程;维纳过程是时间状态都联系的马尔科夫过程。)
马尔可夫链是由一个条件分布来表示:
这被称为是随机过程中的“转移概率”。这有时也被称作是“一步转移概率”。二、三,以及更多步的转移概率可以导自一步转移概率和马尔可夫性质,同样地,这些式子可以通过乘以转移概率并求k−1次积分来一般化到任意的将来时间n+k。
有趣的马尔科夫链 看似简单的马尔科夫链,在现实生活中已经无孔不入了!在《上帝手中的骰子——无所不能的贝叶斯(下篇)》中提到了马尔科夫链一个最终要的应用:语音识别
让机器“听懂”人类的语言,两个马尔科夫模型就解决了:
声学模型:利用HMM建模(隐马尔可夫模型),HMM是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。
语言模型:N-Gram最简单有效,所以应用的也最广泛。它基于独立输入假设:第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。
简单来说,人们利用马尔科夫模型,来计算事件的状态转移概率矩阵,除了语音识别,只要随机过程具有马尔科夫性,都少不了应用马尔科夫链。
拿最常见的天气预报来说,就可以利用马尔科夫链建立天气预测模型。运用马尔可夫链,只需要最近或现在的动态资料则可按转移概率可预测将来,这样就可以很方便地达到预测天气变化的目的。
博彩领域,马尔科夫链的 应用同样普遍。比如足球博彩,可以应用加权马尔科夫链对结果进行预测,使投资者取得正收益的概率大于50%。
在金融领域,利用马尔科夫链可以进行股指建模、时间序列分析、组合预测模型。甚至著名的BS公式(期权定价),也用到了马尔科夫链(维纳过程)。
人穷果然要多读书,同样是博彩,有人求神拜佛,有人早就开始用马尔科夫链建模获取绝对收益了,同样是炒股,有人不断重复赚了赔了的过程,收益跑不过指数不说,还可能亏损,而有人利用马尔科夫链建模,早在一茬茬割韭菜了。
在这个科技发达,信息泛滥的年代,个体的主观判断已经不足以击败科技,在看似无规则的变化中,马尔科夫链为我们揭开了随机过程的神秘面纱,从简单的拼音输入法,到复杂的预测建模,处处都离不开它的应用,在这里抛砖引玉,未来期待看到更多关于它的精彩!
马尔科夫链蒙特卡洛方法(Markov Chain Monte Carlo),简称MCMC,产生于19世纪50年代早期,是在贝叶斯理论框架下,通过计算机进行模拟的蒙特卡洛方法(Monte Carlo)。该方法将马尔科夫(Markov)过程引入到Monte Carlo模拟中,实现抽样分布随模拟的进行而改变的动态模拟,弥补了传统的蒙特卡罗积分只能静态模拟的缺陷。MCMC是一种简单有效的计算方法,在很多领域到广泛的应用,如统计物、贝叶斯(Bayes)问题、计算机问题等。
从理论上说,贝叶斯推断和分析是容易实施的,即对于任何先验分布,只需要计算所需后验分布的性质,如后验分布的矩(如后验均值、后验方差)、后验概率密度函数等,而这些计算木质上就是计算后验分布某一函数的高维积分。但在实践中,鉴于未知参数的后验分布多为高维、复杂的非常见分布,对这些高维积分进行计算十分困难,这一困难使得贝叶斯推断方法在实践中的应用受到很大的限制,在很长一段时间,贝叶斯推断主要用于处理简单低维的问题,以避免计算上的困难。MCMC方法突破了这一原木极为困难的计算问题,它通过模拟的方式对高维积分进行计算,进而使原本异常复杂的高维积分计算问题迎刃而解,使贝叶斯方法仅适用于解决简单低维问题的状况大有改观为贝叶斯方法的应用开辟了新的道路。 [1]
基本思路结构 MCMC方法的结构如图1所示。 [2]
图1 MCMC方法框架图
MCMC方法是使用马尔科夫链的蒙特卡洛积分,其基木思想是:构造一条Markov链,使其平稳分布为待估参数的后验分布,通过这条马尔科夫链产生后验分布的样木,并基于马尔科夫链达到平稳分布时的样木(有效样本)进行蒙特卡洛积分。
设
为某一空间,n为产生的总样木数,m为链条达到平稳时的样本数,则MCMC方法的基木思路可概括为:
(1)构造Markov链。构造一条Markov链,使其收敛到平稳分布
;
(2)产生样本:由
中的某一点
出发,用(1)中的Markov链进行抽样模拟,产生点序列:
;
(3)蒙特卡洛积分:任一函数f(x)的期望估计为:
。 [1]
MCMC中采样算法如图2所示。
在采用MCMC方法时,马尔科夫链转移核的构造至关重要,不同的转移核构造方法,将产生不同的MCMC方法,目前常用的MCMC方法主要有两种:Gibbs抽样和Metropolis-Hastings算法。 [1]
Metropolis-Hasting 算法
Metropolis 算法是马尔科夫链蒙特卡罗的基石。它是由 Metropolos 等人在 1953年的一篇仅 4 页的文章中提出。Metropolis 算法用一个对称的建议分布 T(x,y)来产生一个潜在的转移点,然后根据特定的接受拒绝方法来决定是否转移到该潜在点。最初的 Metropolis 算法将 T 取为对称的函数,而 Metropolis-Hasting 方法将之推广到非对称的 T,其中 T 满足 T(x,y)>0 的充要条件是 T(y,x)>0。已知当前状态
,该算法的迭代步骤如下:
第 1 步:从建议分布
抽取潜在转移点 y。
第 2 步:在[0,1]均匀分布中抽取一个随机数
,并且更新
,若满足
,否则令
。对于 r(x,y),Metropolis 和 Hastings 建议采用如下形式的:
Gibbs 算法
Gibbs 算法是一种特殊的 Metropolis 算法。对于一个 d 维随机变量
,Gibbs 算法在生成
的第 i 个分量时选择建议分布 T 为第 i 个分量基于其他所有分量的条件分布。即已知当前状态
, Gibbs 算法通过如下的方法更新 d 个分量来更新
:
第 1 步 : 对 于 固 定 的 i(初值为1),从条件分件
=(
|
)中抽样出
。
第 2 步:令 i=i+1,重复第 1 步。 [3]
收敛诊断方法
MCMC方法依赖于模拟的收敛性,下面介绍三种常用的收敛性诊断方法。
同时产生多条马尔科夫链
这种方法的思路是选取多个不同的初值,同时产生多条马尔科夫链,经过一段时间后,若这几条链稳定下来,则说明算法收敛了。在实际操作中,可在同一个二维图中画出这些不同的马尔科夫链产生的后验样本值对迭代次数的散点图,如果经过若干次迭代后,这些散点图基木稳定,重合在一起,则可判断其算法收敛。
比率诊断法
这种方法的思路是选取多个不同的初值,同时产生T条马尔科夫链,记第j条链的方差估计为
,链内方差的均值为W,链间方差为B,则:
。R的值趋近1,则表明MCMC模拟收敛,且比较稳定,通常R<1.2,表明收敛性较好;如果R值很大,则表明需要增大模拟的次数,且考虑收敛速度慢的原因。
Teweke Test法
Teweke Test由一系列的Z检验组成,其基木思路是:先对所有样本(假设有M个)做一次Z检验,然后去掉最前面的c个样本,用剩余的M-c个样本重复上述检验,再继续去掉最前面的c个样本,用剩余的M-2c个样本重复上述检验,依次类推,重复K次这样的检验,直到M-Kc<50时终止检验,观察这K次Z检验的z值,若大部分z值都落在(-2,2)内,则表明马尔科夫链己收敛到平稳分布。 [1]
- 1. 朱新玲. 马尔科夫链蒙特卡罗方法研究综述[J]. 统计与决策,2009,(21):151-153.
- 2.朱慧蕾. 基于马尔科夫链蒙特卡罗方法的道路图像分割[D].南京理工大学,2013.
- 3. 马杰灵. 不同点列在拟马尔科夫链蒙特卡罗中的应用[D].清华大学,2013.
预测未来的神技——有趣的马尔科夫链http://t.jinritoutiao.js.cn/RMUXW4/
转载请注明:徐自远的乱七八糟小站 » 预测未来的神技——有趣的马尔科夫链