假设我想预测一个人是“健康类”还是“发热类”。我有一个包含以下域的数据集:
转移矩阵将包含从我们的训练数据集生成的转移概率,而初始向量将包含该人以状态 x 开始(day1)的概率,该状态来自域
如果我想建立一个一阶马尔可夫链,我会为每个类生成一个3x3的转移矩阵和一个1x3的初始向量,如下所示:
{正常,感冒,头晕}
。转移矩阵将包含从我们的训练数据集生成的转移概率,而初始向量将包含该人以状态 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
我可以理解用第二种方式表示初始向量在只有一个状态的情况下可能会有问题。