理解如何构建高阶马尔可夫链

7
假设我想预测一个人是“健康类”还是“发热类”。我有一个包含以下域的数据集:{正常,感冒,头晕}
转移矩阵将包含从我们的训练数据集生成的转移概率,而初始向量将包含该人以状态 x 开始(day1)的概率,该状态来自域{正常,感冒,头晕},同样这也是由我们的训练集生成的。
如果我想建立一个一阶马尔可夫链,我会为每个类生成一个3x3的转移矩阵和一个1x3的初始向量,如下所示:
> TransitionMatrix
       normal cold dizzy
normal     NA   NA    NA
cold       NA   NA    NA
dizzy      NA   NA    NA

>Initial Vector
     normal cold dizzy
[1,]     NA   NA    NA

NA将填充相应的概率。

1-我的问题是关于高阶链中的转移矩阵。例如,在二阶MC中,我们是否会有一个大小为domain²xdomain²的转移矩阵,如下所示:

               normal->normal normal->cold normal->dizzy cold->normal cold->cold cold->dizzy dizzy->normal dizzy->cold dizzy->dizzy
normal->normal             NA           NA            NA           NA         NA          NA            NA          NA           NA
normal->cold               NA           NA            NA           NA         NA          NA            NA          NA           NA
normal->dizzy              NA           NA            NA           NA         NA          NA            NA          NA           NA
cold->normal               NA           NA            NA           NA         NA          NA            NA          NA           NA
cold->cold                 NA           NA            NA           NA         NA          NA            NA          NA           NA
cold->dizzy                NA           NA            NA           NA         NA          NA            NA          NA           NA
dizzy->normal              NA           NA            NA           NA         NA          NA            NA          NA           NA
dizzy->cold                NA           NA            NA           NA         NA          NA            NA          NA           NA
dizzy->dizzy               NA           NA            NA           NA         NA          NA            NA          NA           NA

这里的单元格(1,1)表示以下序列:正常->正常->正常->正常

或者它是这样的domain²xdomain

               normal cold dizzy
normal->normal     NA   NA    NA
normal->cold       NA   NA    NA
normal->dizzy      NA   NA    NA
cold->normal       NA   NA    NA
cold->cold         NA   NA    NA
cold->dizzy        NA   NA    NA
dizzy->normal      NA   NA    NA
dizzy->cold        NA   NA    NA
dizzy->dizzy       NA   NA    NA

这里的单元格 (1,1) 表示 normal->normal->normal,与之前的表示方式不同。

2-对于二阶 MC,初始向量怎么处理?我们需要两个大小为 1xdomain 的初始向量,像这样:

     normal cold dizzy
[1,]     NA   NA    NA

每个类别需要两个初始向量。第一个向量给出了“健康/发热”类别在第一天出现“{正常、感冒、头晕}”的概率,而第二个向量给出了该类别在第二天出现这些情况的概率。这将给出4个初始向量。

或者我们只需要一个大小为1xdomain²的初始向量:

    normal->normal normal->cold normal->dizzy cold->normal cold->cold cold->dizzy dizzy->normal dizzy->cold dizzy->dizzy
[1,]             NA           NA            NA           NA         NA          NA            NA          NA           NA

我可以理解用第二种方式表示初始向量在只有一个状态的情况下可能会有问题。

1个回答

3

假设空间集合为S。通常,在第n个阶段中,

  1. 转移矩阵的维度为|S|n X |S|。这是因为在给定当前n个状态历史的情况下,我们需要求出单个下一个状态的概率。确实,这个单个下一个状态会引起另一个历史复合状态n,但转移本身是到单个下一个状态。例如,参见维基百科上的这个例子

  2. 初始分布是对|S|n个元素的分布(您的第二个选项)。


对于第二个问题,假设我有一个只有一个状态(例如“正常”)的观测。我该如何从初始分布中检索它?我应该对所有这些进行求和吗:“正常->正常 正常->寒冷 正常->头晕”(不确定我是否已经足够清楚地表达了这个问题)。 - Imlerith
如果我理解你的问题正确,那么你想知道如何从联合分布计算边缘分布。这是众所周知的,请参考此链接:http://stats.stackexchange.com/questions/54472/given-a-table-defining-the-joint-probabilities-how-do-i-calculate-certain-param。 - Ami Tavory
我目前正在学习高阶马尔可夫链,你有什么好的文献推荐吗?我很难找到它。我大多数在网上找到的都是幻灯片,但没有任何参考资料。我对吸收高阶马尔可夫链的转移矩阵很感兴趣。这意味着一旦链进入其中一个或多个状态,就不可能离开。谢谢 :) - Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接