【随机过程】马氏链的理论与仿真

        在2014年终总结中,我提到要对这学期学过的数学课中的部分算法进行仿真实现。《数值分析》和《工程优化》这两门数学课里面还有些专门讲算法的,可以用来仿真。在《随机过程》这门课中,几乎全都是公式推导,定理证明,实在难以仿真实现。最后发现,马尔科夫链这一章比较适合仿真,况且先前也写过类似的程序,更重要的是之前有人也问过关于马氏链的Matlab实现问题。关于马氏链的理论原理在这就不作描述,下面直接用程序来实现具体问题的求解。

        假设有9个状态,其状态转移图如下所示:

根据状态转移图,我们可以得到其一步转移概率矩阵为P:

问题一:从状态1在1000次内转移到状态9的概率为多少?

理论值:

       由一步转移概率矩阵P的性质知,P的n次幂矩阵Pn中的第i行第j列的元素表示的是从状态i经过n步转移到状态j的概率。注意到,状态9为吸收态。因此,在1000步以内的任意一步到达状态9后,就永远停留在了状态9。所以P的1000次幂矩阵P1000中的第1行第9列就是从状态1在1000次内转移到状态9的概率。

仿真值:

       在仿真中,我们设置仿真次数为100000次(越大越好),设置初始状态为1,在1000步中,如果到达状态9就记录,然后跳出循环,开始新一轮循环。具体代码如下:

clear all
clc

%一步转移概率矩阵
P=[0.7 0.3 0 0 0 0 0 0 0
   0.7 0 0.3 0 0 0 0 0 0
   0 0.7 0 0.3 0 0 0 0 0
   0 0 0.7 0 0.3 0 0 0 0
   0 0 0 0.7 0 0.3 0 0 0
   0 0 0 0 0.7 0 0.3 0 0
   0 0 0 0 0 0.7 0 0.3 0
   0 0 0 0 0 0 0.7 0 0.3
   0 0 0 0 0 0 0 0 1];

p=P^1000;
p(1,9)%理论值
num=0;%记录到达状态9的次数
for i=1:100000%实验次数
    state=1;%初始状态为1
    for j=1:1000%1000步
         if state==1
            if rand()<0.3
                state=2;
            end
        elseif state==9
            state=9;

        else
            if rand()<0.3
                state=state+1;
            else
                state=state-1;
            end
        end
        if state==9
            num=num+1;
            break;
        end
    end
end
        num/100000 %仿真值

问题二:从状态1到状态9平均需要几步?

理论值:

            最直观的想法就是:假设从状态1到达状态9需要n步的概率为pn,则平均步数可以表示为1*p1+2*p2+……+n*pn+……。注意,这里的pn是首达概率,即从状态1经过k步首次到达状态9的概率,也就是前k-1次没有到达状态9。显然这里的首达概率而不是转移概率矩阵中的概率。这里的首达概率不好求,不过可以矩阵论(可惜没有选这门课)的相关知识来理论求解,最终可以得到的表达式如下:

其中,x,y表示状态,在本例中,x=1,y=9,其它符号表示如下:

仿真值:

           有时候,理论比较复杂的问题,仿真起来就相对简单,和问题一中的仿真类似,假定仿真次数为10000次,设置最大步数为100000000,当到达状态9时,就记录所需步数并跳出循环,具体的程序实现如下:

clear all
clc

P=[0.7 0.3 0 0 0 0 0 0 0
   0.7 0 0.3 0 0 0 0 0 0
   0 0.7 0 0.3 0 0 0 0 0
   0 0 0.7 0 0.3 0 0 0 0
   0 0 0 0.7 0 0.3 0 0 0
   0 0 0 0 0.7 0 0.3 0 0
   0 0 0 0 0 0.7 0 0.3 0
   0 0 0 0 0 0 0.7 0 0.3
   0 0 0 0 0 0 0 0 1];

sum=0;
p=P^1000;

x=1;
y=9;
P_size=9;%状态个数
Ix=zeros(1,P_size);%行向量
Ix(x)=1;
Iy=zeros(P_size,1);%列向量
Iy(y)=1;
I=eye(P_size);
Ey=I;
Ey(y,y)=0;

average=Ix*(I-P*Ey)^-2*P*Iy%理论值

state=1;%初始状态
num=0;%达到次数
result=0;%需要经过的步数
for k=1:100000%仿真10000次
    state=1;
    for i=1:100000000%设定最大步数(越大越好)
        if state==1
            if rand()<0.3
                state=2;
            end
        elseif state==9
            state=9;
        else
            if rand()<0.3
                state=state+1;
            else
                state=state-1;
            end
        end
        if state==9
            num=num+1;
            result=result+i;%记录总的步数
            break;
        end
    end
end  

result/num%计算平均步数

原文:http://blog.csdn.net/tengweitw/article/details/43160553

作者:nineheadedbird

时间: 2024-10-28 23:15:06

【随机过程】马氏链的理论与仿真的相关文章

【Matlab编程】马氏链随机模拟

本文是利用蒙特卡罗算法对马氏链过程的模拟.假设有10个状态,从每个状态到与之相邻状态的概率是相同的,仿真次数为1000,及进行了1000次状态转移.我们以动画的形式再现了状态转移的过程,并记录了到达每个状态的次数,具体实现如下: close all;clc;clear; figure; s=1; n=1000; r=1; % 圆圈的半径 title('等概率情况的计算机模拟') set(gcf,'doublebuffer','on'); % 设置图形渲染效果 xlabel('Please pre

康美药业暗流:马氏家族资本腾挪图 10亿炒股炒PE

由康美药业(600518.SH)"财务造假门"牵扯而出,马氏家族通过上市公司关联企业在房地产领域的投资,颇为市场瞩目.据<证券市场周刊>记者不完全统计发现,马氏家族通过另外两个上市公司关联企业,在股票一级(PE)和二级市场的累计投入资金高超过10亿元,马氏家族资本腾挪拼图初现. 2012年12月15日,<证券市场周刊>封面刊发了<康美谎言>一文,质疑康美药业在土地购买和项目建设上涉嫌造假,至少虚增了18.47亿元的资产,几乎为公司2002-2010年

传媒巨头马氏家族拟8.78亿港元私有化东方报业

每经记者 李凌霞 在香港传媒业极具影响力的报业巨头马氏家族提出,拟以总计8.78亿港元,将旗下拥有<东方日报>.<太阳报>等多家在香港颇具影响力的报纸的上市公司东方报业集团(00018,HK)私有化. 从去年第四季度以来,在港股市场上,"私有化"这个话题十分热门,先后有多家上市公司提出私有化建议.尽管电讯盈科(00008,HK).鳄鱼恤(00122,HK)等公司私有化建议因诸多原因最终而未能成功,但这并未能阻挡其他上市公司大股东的私有化意愿. 继上周主营保健品的

传媒巨头马氏家族拟私有化东方报业总涉资达8.78亿

每经记者 李凌霞 在香港传媒业极具影响力的报业巨头马氏家族提出,拟以总计8.78亿港元,将旗下拥有<东方日报>.<太阳报>等多家在香港颇具影响力的报纸的上市公司东方报业集团(00018,HK)私有化. 从去年第四季度以来,在港股市场上,"私有化"这个话题十分热门,先后有多家上市公司提出私有化建议.尽管电讯盈科(00008,HK).鳄鱼恤(00122,HK)等公司私有化建议因诸多原因最终而未能成功,但这并未能阻挡其他上市公司大股东的私有化意愿. 继上周主营保健品的

体验百度外链工具:也许之前关于外链的理论都是错的

之前百度官方在站长工具方面基本空白,从6月底到现在才逐渐开始关注到中小站长的需求,于是陆续推出了一些官方的查询工具,外链工具就是其中一个.外链这个东西说简单也简单,但要说复杂,那是相当的复杂.之前大家查询外链,认为雅虎给出的外链比较靠谱,后来雅虎把这个功能给停了.另外,大家一直比较关注的是通过domain域名的方式查百度外链的,至于是否准确暂且不提,反正大家都在用,常见的站长查询工具也是通过这个语法给出的数据.百度这几天刚刚推出了官方的外链工具,笔者体验了一下,下面说说几点看法. 首先介绍这个百

硅谷杂志:基于HMM模型的入侵检测技术研究

[硅谷网12月10日文] 据<硅谷>杂志2012年第18期刊文称,入侵检测技术作为计算机安全技术的一个重要组成部分,已经受到越来越广泛地关注.作为一种新的动态安全防御技术,它是继防火墙之后的第二道安全防线.主要研究当前入侵检测一直无法很好解决的两个问题,即 复杂网络攻击的检测和网络在入侵攻击下的风险评估. 0前言 自上世纪90年代以来,基于TCP/IP的互联网得到了飞速的发展,信息的传递和处理超越了时间和空间的限制,网络信息化已成为不可阻挡的趋势,但其安全性也受到越来越多的挑战.于是人们针对网

天图资本首席投资官冯卫东:定位理论忽悠了谁?

文/冯卫东(天图资本首席投资官)前两天一篇很火的文章转到我面前,是金错刀先生加按转发的傅骏先生大作<看一个老广告人的反思:定位理论是大忽悠?>.金错刀先生的按语虽然认为"定位理论肯定不是忽悠",却也认为"工业时代最强悍的品牌营销武器定位理论,的确在失效",并进而认为"品牌正在失效,现在要靠用户体验".我在天图品牌训练营和深圳定位读书会的微信群中对该文(为行文方便,以下简称"傅文")观点作了一个简单评论,群友们纷纷要

腾讯CEO马化腾:从“抄袭”开始创业之路

从"技术小角色"到".COM公敌" 淘宝网新推出不到一个月的收费服务"招财进宝"的夭折,引发了马云和马化腾的一番口水大战. "这一年半以来,我们承受了无数的压力和明枪暗箭",也许是感慨万千,马云直接将矛头对准了马化腾."我自己认为挖人很累,互联网同行竞争应该遵守一定的游戏规则,光靠挖人很难做到创新.而现在腾讯拍拍网最大的问题就是没有创新,所有的东西都是抄来的." "马化腾是业内有名的抄袭大王,而且

亚马逊和Google一类网站的商业经济模式

长尾理论最初是用来来描述诸如亚马逊和Google一类网站的商业经济模式.它阐述的这样一个事实:网站上原来不受重视的小批次.多样性产品.低销量的产品,积累起来的总收益超过主流产品销售收益的现象. 长尾理论在在互联网领域,长尾效应尤为显著.例如,不少网站的搜索关键词是由零零散散的长尾关键词组合构成的,其占据了超过50%以上的搜索量.Google也是是一个最典型的"长尾"公司,Google有一半的生意来自这些小网站的广告,数以百万计的中小企业代表了一个巨大的长尾广告市场. 在电子商务领域,亚