假设我想预测一个人是class1=healthy
还是class2= fever
。我有一个包含以下域的数据集:{normal,cold,dizzy}
转换矩阵将包含从我们的训练数据集生成的转换概率,而初始向量将包含一个人从域{normal,cold,dizzy}
开始具有状态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)
代表以下序列:normal->normal->normal->normal
或者只是像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-2级MC的初始向量怎么样?我们需要两个大小为1xdomain
的初始向量,如下所示:
normal cold dizzy
[1,] NA NA NA
每个类导致两个初始向量。第一个给出{normal,cold,dizzy}
类第一天healthy/fever
出现概率,第二个给出healthy/fever
第二天出现概率。这将给出4个初始向量。
OR我们只需要一个大小为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
我可以看到,如果我们想要仅用一种状态对观察进行分类,那么表示初始向量的第二种方式将是有问题的。
答案 0 :(得分:2)
假设空格集是 S 。通常,在 n 顺序中,
转换矩阵的维度为 | S | n X | S | 。这是因为给定当前的 n 状态历史,我们需要单个下一状态的概率。确实,这个单一的下一个状态会引发另一个复合状态历史 n ,但过渡本身就是单个下一个状态。见this example in Wikipedia,例如..
初始分布是 | S | n 元素的分布(您的第二个选项)。