Очень распространенная проблема в цепочке Маркова Монте-Карло включает вычисление вероятностей, которые являются суммой больших экспоненциальных членов,
е ' ≡ е в 1 + Ē в 2 + . , ,
Такой подход является разумным , если все элементы велики, но не такая хорошая идея , если они не являются. Конечно, меньшие элементы в любом случае не влияют на сумму с плавающей запятой, но я не уверен, как с ними надежно справиться. В коде R мой подход выглядит так:
if ( max(abs(a)) > max(a) )
K <- min(a)
else
K <- max(a)
ans <- log(sum(exp(a-K))) + K
Это кажется достаточно распространенной проблемой, что должно быть стандартное решение, но я не уверен, что это такое. Спасибо за любые предложения.