赞
踩
从图中我们得出的状态转移矩阵
进行100次循环,发现大概从第六十次开始,状态概率分布就基本不变了,一直保持在[0.625 0.3125 0.0625],即62.5%的牛市,31.25%的熊市与6.25%的横盘。
循环50次,发现从第20次开始,牛市的概率就开始向62.5%越来越趋近,第50次Current round: 50 [[0.62499992 0.31250007 0.06250001]]
我们更改一下矩阵的初始概率分布,[0.7,0.1,0.2],最终状态的概率分布趋于同一个稳定的概率分布[0.625 0.3125 0.0625], 也就是说我们的马尔科夫链模型的状态转移矩阵收敛到的稳定概率分布与我们的初始状态概率分布无关
同样采用自己本身为初始概率,从第六次开始,概率就不再变化了
于是我们就可以根据马尔科夫链进行采样得到稳定分布:
任意初始的概率分布是π0(x)π0(x), 经过第一轮马尔科夫链状态转移后的概率分布是π1(x)π1(x),。。。第i轮的概率分布是πi(x)πi(x)。假设经过n轮后马尔科夫链收敛到我们的平稳分布π(x)π(x),即:
πn(x)=πn+1(x)=πn+2(x)=...=π(x)πn(x)=πn+1(x)=πn+2(x)=...=π(x)
对于每个分布πi(x)πi(x),我们有:
πi(x)=πi−1(x)P=πi−2(x)P2=π0(x)Piπi(x)=πi−1(x)P=πi−2(x)P2=π0(x)Pi
开始采样,首先,基于初始任意简单概率分布比如高斯分布π0(x)π0(x)采样得到状态值x0x0,基于条件概率分布P(x|x0)P(x|x0)采样状态值x1x1,一直进行下去,当状态转移进行到一定的次数时,比如到n次时,我们认为此时的采样集(xn,xn+1,xn+2,...)(xn,xn+1,xn+2,...)即是符合我们的平稳分布的对应样本集,可以用来做蒙特卡罗模拟求和了。
总结下基于马尔科夫链的采样过程:
1)输入马尔科夫链状态转移矩阵PP,设定状态转移次数阈值n1n1,需要的样本个数n2n2
2)从任意简单概率分布采样得到初始状态值x0x0
3)for t=0t=0 to n1+n2−1n1+n2−1: 从条件概率分布P(x|xt)P(x|xt)中采样得到样本xt+1xt+1样本集(xn1,xn1+1,...,xn1+n2−1)(xn1,xn1+1,...,xn1+n2−1)即为我们需要的平稳分布对应的样本集。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。