使用两阶段 RJMCMC 过程,我获得了与每个模型有关的对数后验向量。我的目标是在标准化后将这些转换为概率(用于 RJMCMC 过程的第二阶段)。
问题是日志后验很大(例如 1100)。要转换为概率(不是对数刻度),我想做:
exp(log.post)/sum(exp(log.post))
然而,这是不可能的,因为对数后验的值很大。关于如何转换的任何建议?
我想要原始比例的概率,而不是对数比例。
使用两阶段 RJMCMC 过程,我获得了与每个模型有关的对数后验向量。我的目标是在标准化后将这些转换为概率(用于 RJMCMC 过程的第二阶段)。
问题是日志后验很大(例如 1100)。要转换为概率(不是对数刻度),我想做:
exp(log.post)/sum(exp(log.post))
然而,这是不可能的,因为对数后验的值很大。关于如何转换的任何建议?
我想要原始比例的概率,而不是对数比例。
考虑表达式:
溢出时计算上述表达式的通用策略是如下变换:
例如 R 扼流圈:
但是,很高兴地计算以下转换以产生 0.01798621 的值:
当您计算时,您可能仍然会遇到上溢或下溢的问题,但这应该不会造成问题,因为转换后的表达式仍然会被很好地定义。
在一般情况下,使用 来避免溢出。在计算贝叶斯因子和概率时,我总是使用这种方法。