随机过程

作者: Liam_ml | 来源:发表于2019-01-22 23:18 被阅读17次

    概率,统计学是一门非常有意思的学科,概率的起源从赌博开始的,后面慢慢发展出来了随机过程,鞅论等等。

    概率的很多东西和我们的直观感受是有区别的。这里展示一个简单的随机过程的例子。

    有四个顶点(0,0),(1,0),(0,1),(1,1)我们从任意一个点开始,向其他几个点移动,向对角线移动的概率是p,向两边移动的概率是(1-p)/2.

    问题是从(0,0)点开始,移动n次,重新回到(0,0)点的概率是多少?

    答案是:p=1的时候 ,回到原点的概率是0.5,其他的时候概率是0.25

    模拟

    sims <- function(Start='(0,0)',n=100,p=0.5,H=c('(0,0)','(1,1)')){
      vertex <- c('(0,0)','(1,0)','(1,1)','(0,1)') 
      path <- 0
      path[1] <- Start
      for (i in 2:n) {
        print(i)
        if(path[i-1]=='(0,0)'){
          path[i] = sample(c('(1,1)','(1,0)','(0,1)'),prob = c(1-p,p/2,p/2),size = 1)
        }else if(path[i-1]=='(1,1)'){
          path[i] = sample(c('(0,0)','(1,0)','(0,1)'),prob = c(1-p,p/2,p/2),size = 1)
        }else if(path[i-1]=='(1,0)'){
          path[i] = sample(c('(0,1)','(0,0)','(1,1)'),prob = c(1-p,p/2,p/2),size = 1)
        }else if(path[i-1]=='(0,1)'){
          path[i] = sample(c('(1,0)','(0,0)','(1,1)'),prob = c(1-p,p/2,p/2),size = 1)
        }
      }
      
      
      result <- sum(path %in% H)/n
      return(list(path,result))
    }   
     
    
    result <- simu(Start = '(0,0)',n = 10000,p = 0.1,H = '(0,0)')
    table(result[[1]])
    
    
    table(result[[1]])/sum(table(result[[1]]))
    
     (0,0)  (0,1)  (1,0)  (1,1) 
    0.2510 0.2492 0.2499 0.2499 
    

    可以看出,从任何一点开始,经过n次,到达任意一点的概率都是0.25

    有意思吧

    学一学高等概率论与随机过程

    相关文章

      网友评论

        本文标题:随机过程

        本文链接:https://www.haomeiwen.com/subject/mkddjqtx.html