我需要关于马尔可夫链和数据预处理相关主题的帮助。
假设我有以下矩阵,它将个体与随时间变化的状态联系起来:
我想要获取这个矩阵的状态转移矩阵: 因此,所需的是:
(因为有两个从状态A出发的转移)。我知道markovchain包有一个功能,可以在有序列的情况下进行操作,比如AAABBAAABBCC,但是如果数据设置成我这样的形式,就不能使用该功能。 理想情况下,直接的程序会很好,但如果有一种方法可以将数据转换为一组序列,那也可以。
ID Time1 Time2
1 14021 A A
2 15031 B A
3 16452 A C
我想要获取这个矩阵的状态转移矩阵: 因此,所需的是:
A B C
A 1 0 1
B 1 0 0
C 0 0 0
同样的事情,但现在根据从该状态转换的总次数进行加权,即
A B C
A 0.5 0 0.5
B 1 0 0
C 0 0 0
(因为有两个从状态A出发的转移)。我知道markovchain包有一个功能,可以在有序列的情况下进行操作,比如AAABBAAABBCC,但是如果数据设置成我这样的形式,就不能使用该功能。 理想情况下,直接的程序会很好,但如果有一种方法可以将数据转换为一组序列,那也可以。
c("B","A","A","C")
,那么您就可以使用markovchain::createSequenceMatrix
。 - M--