【发布时间】:2019-08-31 20:13:15
【问题描述】:
让我们使用来自this question的数据集:
dat<-data.frame(replicate(20,sample(c("A", "B", "C","D"), size = 100, replace=TRUE)))
那么我们就可以建立转移矩阵和马尔可夫链了:
# Build transition matrix
trans.matrix <- function(X, prob=T)
{
tt <- table( c(X[,-ncol(X)]), c(X[,-1]) )
if(prob) tt <- tt / rowSums(tt)
tt
}
trans.mat <- trans.matrix(as.matrix(dat))
attributes(trans.mat)$class <- 'matrix'
# Build markovchain
library(markovchain)
chain <- new('markovchain', transitionMatrix = trans.mat)
如果我现在遇到一个新序列,比如说AAABCAD,那么我可以在给定这个马尔可夫链的情况下计算观察到这个序列的概率吗?
【问题讨论】:
标签: r markov-chains