在隐马尔可夫模型中选择“最佳”模型的标准

机器算法验证 r aic 隐马尔可夫模型 比克
2022-03-08 06:19:37

我有一个时间序列数据集,我试图拟合隐马尔可夫模型 (HMM) 以估计数据中潜在状态的数量。我这样做的伪代码如下:

for( i in 2 : max_number_of_states ){ 
    ...
    calculate HMM with i states
    ...
    optimal_number_of_states = "model with smallest BIC"
    ...
}

现在,在通常的回归模型中,BIC 倾向于支持最简约的模型,但在 HMM 的情况下,我不确定它在做什么。有谁真正知道 BIC 标准倾向于哪种 HMM?我也能够获得 AIC 和似然值。由于我试图推断真实的状态总数,因此这些标准之一是否比另一个“更好”?

1个回答

我在这里假设您的输出变量是分类的,尽管情况可能并非如此。但是,通常情况下,当我看到使用 HMM 时,状态的数量是预先知道的,而不是通过调整来选择的。通常它们对应于一些恰好未被观察到的易于理解的变量。但这并不意味着你不能尝试它。

但是,使用 BIC(和 AIC)的危险在于,模型中自由参数数量的k值随状态数量呈二次方增加,因为您有带有 Px(P-1) 参数的转移概率矩阵(对于 P 状态) 以及给定每个状态的输出的每个类别的输出概率。因此,如果正确计算 AIC 和 BIC,k应该会快速上升。

如果您有足够的数据,我会推荐一种更柔和的方法来调整状态数量,例如对保留样本进行测试。您可能还想只查看可能性统计数据并直观地查看它在什么时候达到稳定状态。此外,如果您的数据很大,请记住这会将 BIC 推向更小的模型。