目录
前言
研究随机现象变化过程的概率规律性的学科。
设 是一族随机变量,T是一个实数集合,若对任意实数 , 是一个随机变量,则称 为随机过程。
T为参数集合,参数t可以看作时间。的每一个可能取值所构成的集合称为状态空间,记为E。 当参数T为非负整数集时,随机过程又称为随机序列。我们要介绍的马尔可夫(Markov)链就是一 类特殊的随机序列。
一、马尔可夫链的定义
现实世界中有很多这样的现象,某一系统在已知现在情况的条件下,系统未来时刻的情况只与现在有关,而与过去的历史无直接关系。比如,研究一个商店的累计销售额,如果现在时刻的累计销售额已知,则未来某一时刻的累计销售额与现在时刻以前的任一时刻累计销售额无关。描述这类随机现象的数学模型称为马尔科夫模型,简称马氏模型。
二、转移概率矩阵
2.1、例题1
2.3、MATLAB程序设计
代码如下所示:
clc,clear, fid = fopen('data15_6.txt');
a = textscan(fid, '%s'); b=strjoin(a{:});
for i=0:1
for j=0:1
s=[int2str(i),int2str(j)]; %构造子字符串‘ij’
f(i+1,j+1)=length(strfind(b,s)); %计算子串‘ij’的个数
end
end
fs=sym(sum(f,2)); %求f矩阵的行和,并转换为符号数
f=f./repmat(fs,1,size(f,2)) %求状态转移频率
2.4、例题2
2.5、MATLAB程序设计
代码如下所示:
clc, clear
a=[4 3 2 1 4 3 1 1 2 3
2 1 2 3 4 4 3 3 1 1
1 3 3 2 1 2 2 2 4 4
2 3 2 3 1 1 2 4 3 1];
a=a'; a=a(:)'; %把矩阵a逐行展开成一个行向量
for i=1:4
for j=1:4
f(i,j)=length(strfind(a,[i j])); %统计子串‘ij’的个数
end
end
ni=sym(sum(f,2)); %计算矩阵f的行和,并转换为符号数
phat=f./repmat(ni,1,size(f,2)) %求状态转移的频率
三、柯尔莫哥洛夫定理
3.1、例题3
问:怎么算的啊?
答:由定理二,可直接由矩阵叉乘求得;或者用全概率公式求得;
第二次购买的概率为: ;
同理可得:
第三次购买的概率为: ;
四、转移概率的渐近性质—极限概率分布
4.1、例题4
4.2、例题4,MATLAB程序设计
代码如下所示:
%第一种方法
p=[0.8 0.1 0.1;0.5 0.1 0.4;0.5 0.3 0.2]; p=sym(p);
a=[p'-eye(3);ones(1,3)]; %构造方程组ax=b的系数矩阵
b=[zeros(3,1);1]; %构造方程组ax=b的常数项列
p_limit=a\b %求方程组的解
%第二种:利用求转移矩阵P的转置矩阵P^T的最大特征值1对应的特征概率向量,求得极限概率;
clc,clear, format rat
p=[0.8 0.1 0.1;0.5 0.1 0.4;0.5 0.3 0.2];
[v,d]=eigs(p',1) %求最大特征值及对应的特征向量
p=v/sum(v) %把最大特征值对应的特征向量化成概率向量
format %恢复到短小数的显示格式