赞
踩
在数学建模中,常常用到一种模型——马尔可夫链。下面讲一讲我通过网上的资料学习到的马尔可夫链的知识。
马尔可夫链为状态空间从一个状态跳转到另外一个状态的转换的随机过程,这个过程要求具备无记忆性的的性质——即未来的状态与过去无关,只与当前状态有关。马尔可夫链的每一步,系统根据概率分布,可以从一个状态跳转到另一个状态,也可以保持当前状态。状态的改变叫做转移,不同状态的改变之间的概率又称为转移概率。
由马尔可夫链的概念可以得到公式:
其中Xi的可能取值构成的可数集称为该链的状态空间。
通常用一系列有向图来描述马尔可夫链,其中图n的边用从时刻n的状态到时刻n+1的状态的概率 Pr ( X n + 1 = x ∣ X n = x n ) 来标记。也可以用从时刻n到时刻n+1的转移矩阵表示同样的信息。但是,马氏链常常被假定为时齐的,在这种情况下,图和矩阵与n无关,因此也不表现为序列。
除了时齐马尔可夫链,还有一种是m阶马尔克夫链,它的未来状态与前面m个状态有关,用公式来表达就是——
用SPSSAU进行马尔克夫预测实例:
某计算机机房的一台计算机经常出故障,研究者每隔15分钟观察一次计讨机的运行状态,收集了24小时的数据(共作97次观察)。用1表示正常状态,用0表示不正常状态,所得的数据序列如下:
a=1110010011111110011110111111001111111110001101101111011011010111101110111101111110011011111100111;
使用java程序对数据进行分析,程序如下:
-
- public class check {
- public static void main(String []args)
- {
- int flag1=0;int flag2=0;int flag3=0;int flag4=0;
- int a[]=new int[] {1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,0,1,
- 1,1,1,0,1,1,0,1,1,0,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,0,0,1,1,1};
- for(int i=0;i<a.length-1;i++)
- {
- if(a[i]==0&&a[i+1]==0)
- flag1++;
- if(a[i]==0&&a[i+1]==1)
- flag2++;
- if(a[i]==1&&a[i+1]==0)
- flag3++;
- if(a[i]==1&&a[i+1]==1)
- flag4++;
- }
- System.out.print(flag1+"\n"+flag2+"\n"+flag3+"\n"+flag4);
- }
- }
代码运行如下:
得到00状态为8次,01状态为18,10状态为18,11状态为52.
放入SPSSAU中分析——
可以从上述数据分析得到出,最终稳定状态机房电脑状态为坏的概率为0.2708,机房电脑状态为好的概率为0.7292.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。