关闭

随机过程建模及随机模拟

标签: 数学建模R语言
1401人阅读 评论(0) 收藏 举报
分类:

随机过程建模

1 马尔科夫过程

  1. 随机过程定义
    • 设 T 为一个指标集,
    • 随机变量族 ξ={ξt;tT} 称为随机过程,
    • 其中 ξt 为定义在概率空间(Ω,F,P) , 取值于 S 上的随机变量, S 称为状态空间
    • 马尔科夫性–—以粒子的游动为例, 如果已知粒子现在位置,粒子将来的运动与 粒子过去的轨迹相互独立, 则称粒子运动满足 Markov性
    • 马尔科夫过程 —— 具有Markov性的随机过程称为Markov过程
  2. Markov链的定义
    • 时间参数 T 为离散, 状态空间 S 为离散或可数的马尔科夫过程称为Markov链(马氏链)
    • 严格地说:称一个随机过程 ξ={ξ0,ξ1,,ξn,} 为Markov链, 若
      1. 它的状态空间有限或可数,
      2. 对于任意的m1 n0 及状态 i,j,i0,j0,,in1 都有P(ξn+1=j|ξn=i,ξn1=in1,,ξ0=i0)=P(ξn+1=j|ξn=i)
  3. 马尔科夫链的描述
    1. 状态转移概率
      pij(n,m)=P(ξm=j|ξn=i)(m>n)
    2. 由于状态空间是有限或可数的, 不妨设为 1,,N 可将 pij(n,m) 排成矩阵,
      P(n,m)=(pij(n,m))N×N

      称为时刻 n 到时刻 m 的状态转移概率矩阵

  4. 状态转移概率矩阵的性质
    • 行和为1 k=1Npik(n,m)=k=1nP(ξm=k|ξn=i)=P(ξmΩ|ξn=j)=1
    • 0pij(n,m)1
    • 对任意的 l>m>n 有
      k=1Npik(n,m)pkj(m,l)=pij(n,l)
  5. 性质3的证明

    根据马尔科夫性, 有

    pij(n,l)=====P(ξl=j|ξn=i)k=1NP(ξl=j,ξm=k|ξn=i)k=1NP(ξl=k|ξm=k,ξn=i)P(ξm=k|ξn=i)k=1NP(ξm=k|ξn=i)P(ξl=j|ξm=k)k=1Npik(n,m)pkj(m,l)
  6. 性质三的重新表述
    (pi1(n,m),pi2(n,m),,piN(n,m))p1j(m,l)p2j(m,l)pNj(m,l)=pij(n,l)
    • 其中 (pi1(n,m),pi2(n,m),,piN(n,m)) 为 矩阵 P(n,m) 的第 i 行
    • (p1j(m,l),p2j(m,l),pNj(m,l))T 为 矩阵 P(m,l) 的第 j 列
    • 由此可得: 对 n<m<l , 有
      P(n,l)=P(n,m)P(m,l),
  7. 时齐的马尔科夫链
    1. 称马尔科夫链为时齐(时间齐性)的, 若
      P(ξm+n=j|ξm=i)=P(ξn=j|ξ0=i)=pij(n)

      对 m,n,i,j 成立

    2. 此时称 P(n) 为n步转移概率矩阵,
    3. 一步转移概率矩阵 P(1) 简记为 P , 称为马氏链的转移矩阵。
    4. 由上述性质三, P(n,l)=P(n,m)P(m,l) , n<m<l 可得
      P(n)=P××P=Pn
  8. 时齐马氏链在任意时刻的分布
    • 设初始分布为 μ0=(μ01,,μ0N), μ0i=P(ξ0=i),i=1,,N 则, 任意时刻 n , 随机过程处于 第 j 个状态的概率
      μnj=P(ξn=j)=i=1NP(ξn=j|ξ0=i)μ0i
    • 记 μn=(μn1,μn2,,μnN) 为行向量, 则有
      μn=μ0Pn

      其中 P 为一步转移矩阵

  9. 例子
    1. 洗发水广告投入

      某甲种洗发水改变了广告方式, 经调查发现, 买甲种洗发水及另外三种主要竞争对手的顾客 每两个月的平均转换率如下所示

      转换前 \ 转换后
      0.95 0.02 0.02 0.01
      0.30 0.60 0.06 0.04
      0.2 0.10 0.70 0
      0.20 0.20 0.10 0.50

      假设目前顾客的分布律为 (0.25,0.30,0.35,0.10) 求半年后甲种洗发水的顾客率。

  10. 问题求解
    • 程序 初始分布与3步转移后的结果
    options(digits=3)
     p<-c(0.95,0.02,0.02,0.01,0.30,0.60,
    0.06,0.04,0.2,0.10,0.70,0,0.20,0.20,0.10,0.50);
     P<-matrix(p,byrow=TRUE,ncol=4)
     mu0<-c(0.25,0.3,0.35,0.1)
     mu0%*%P%*%P%*%P
    
          [,1]  [,2]  [,3]   [,4]
    [1,] 0.622 0.158 0.184 0.0361
    
  11. 进一步计算多次转移后的分布

    markovchain.png

  12. 转移概率的30次方,30步转移概率矩阵
    pnm(P,30)
    
          [,1]   [,2]   [,3]   [,4]
    [1,] 0.829 0.0718 0.0770 0.0223
    [2,] 0.828 0.0721 0.0773 0.0223
    [3,] 0.828 0.0723 0.0778 0.0224
    [4,] 0.828 0.0722 0.0776 0.0224
    

2 平稳分布-稳定分布

  1. 平稳分布
    • 一般情况下, 绝对概率是与初始分布 μ0 有关的, 但还当 limnpij(n)=πj 与 i 无关时(n步转移矩阵的第j列元素相同, 与i无关),则 不论初始状态的概率分布是什么, 此马尔科夫链最终可以达到稳定状态, 稳定后所有时刻 随机变量的概率分布不变
    • 此时有
      limnP(ξn=j)=limni=1Nμ0ipij(n)=i=1Nμ0iπj=πj
  2. 遍历性(各态历经性)
    1. 遍历性

      若齐次马氏链的n次转移概率矩阵 P(n) 对一切 i,j 都存在不依赖于 i 的极限:

      limnpij(n)=πj,

      并且 πj=i=1nWipij, jπj=1,πj0 , 则称其具有遍历性, 这时的分布 πj 称为极限分布或平稳分布。

  3. 遍历性
    1. 遍历性含义:

      对于满足遍历性的马氏链, 无论初始概率分布是什么, 经历过足够长的时间后, 都会达到一 个与初始概率分布无关的状态

    2. 稳定分布

      此时如果初始分布选为极限分布, 则任意时刻 n , ξn 都具有同样的分布, 因此称 为平稳分布

  4. 遍历性存在的充分条件
    1. 定理

      对具有 m 个状态的齐次马氏链 ξ ,如果存在一个整数 n0 , 使对一切的 i,j=1,2,...,N 有

      pij(n0)>0

      则这个马氏链具有遍历性

  5. 稳态分布的求法
    • 根据遍历性的定义, 稳态分布 Π=(π1,,πm) 满足
      Π=ΠPi=1mπi=1πi>0

      求解上述方程组, 可得平稳分布

  6. 稳态分布典型 例题
    • 为适应日益扩大的旅游事业的需要, 某城市的甲、乙、丙三个照相馆组成一个联营部, 联合 经营相机出租的业务, 游客可由甲乙丙三处任何一处租用相机, 用完后, 还到三处中的任意 一处均可, 根据统计资料, 各处转移概率如下表
      租用 \ 归还
      0.2 0.8 0
      0.8 0 0.2
      0.1 0.3 0.6
    • 欲选择其中一处设相机维修点, 问该点设在哪个照相馆比较好?
  7. 模型分析
    • 顾客归还相机只与本次租用相机地点有关, 与相机以前所处店址无关
    • 因此可以用 ξn 表示相机第n次被租用时所处的店址,
    • ξ=1,2,3 分别表示第n次相机来自 甲、乙、丙三个门店,
    • 则 ξn,n=1,2, 构成马尔科夫链,
  8. 马尔科夫链的转移矩阵
    P=0.20.80.10.800.300.20.6
  9. 问题求解
    • 维修点的设置问题实际上需要寻找此马尔科夫链的极限分布中的最大值, 即相机存量最多的 店址, 设 Π=(π1,π2,π3) ,求解
      Π=ΠP,π1+π2+π3=1,pi>0,i=1,2,3
    • 得 π1=1741,π2=1641,π3=841
  10. 求解
    • 程序
    p<-c(0.2,0.8,0,0.8,0,0.2,0.1,0.3,0.6)
    P<-matrix(p,byrow=TRUE,ncol=3)
    A<-rbind(t(P-diag(rep(1,3)))[1:2,],rep(1,3))
    t(solve(A,c(0,0,1)))
    
          [,1] [,2]  [,3]
    [1,] 0.415 0.39 0.195
    

3 随机模拟

  1. 随机模拟计算
    • 一列火车大约在下午1点离开 A站其规律如下;
      离站时间 13:00 13:05 13:10
      概率 0.7 0.2 0.1
    • 火车从A到 B 途中所需要的平均时间为30分, 有2分钟的标准差。
    • 如果你要赶的是这趟火车的下一站, 而你到达B 站的时间分布为
      到站时间 13:28 13:30 13:32 13:34
      概率 0.3 0.4 0.2 0.1
    • 问你能赶上这列火车的概率是多少?
  2. 程序代码(Using R)

    以分钟作为时间单位, 起点13:00 作为原点

    n<-1000
    t1<-sample(c(0,5,10),p=c(0.7,0.2,0.1),n,replace=TRUE)
    t2<-rnorm(n,30,2)
    t3<-sample(c(28,30,32,34),p=c(0.3,0.4,0.2,0.1),n,replace=TRUE)
    a<-sum(t3<t1+t2)/n
    a
    
    [1] 0.633
    
  3. matlab代码
    n=10000;
    t1=mnrnd(ones(n,1),[0.7,0.2,0.1])*[0,5,10]';
    t2=mnrnd(ones(n,1),[0.3,0.4,0.2,0.1])*[28,30,32,34]';
    t3=normrnd(30,2,n,1);
    a=sum(t2<t1+t3)/n;
    a
    
    a =
    
        0.6316
    


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22318次
    • 积分:360
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档
    最新评论