Bardzo częstym problemem w Markov Chain Monte Carlo jest obliczanie prawdopodobieństw, które są sumą dużych terminów wykładniczych,
gdzie składniki może wahać się od bardzo małych do bardzo dużych. Moje podejście na uwzględnieniu największego wykładniczego terminu , aby:
e ' ≡ e się 1 + wiadomości e się 2 + . . .
Takie podejście jest uzasadnione, jeżeli wszystkie elementy są duże, ale nie taki dobry pomysł, jeśli nie są. Oczywiście, mniejsze elementy i tak nie przyczyniają się do sumy zmiennoprzecinkowej, ale nie jestem pewien, jak sobie z nimi poradzić. W kodzie R moje podejście wygląda następująco:
if ( max(abs(a)) > max(a) )
K <- min(a)
else
K <- max(a)
ans <- log(sum(exp(a-K))) + K
Wydaje się dość powszechnym problemem, że powinno istnieć standardowe rozwiązanie, ale nie jestem pewien, co to jest. Dziękuję za wszelkie sugestie.