Un problema molto comune nella catena di Markov Monte Carlo riguarda le probabilità di calcolo che sono la somma di termini esponenziali di grandi dimensioni,
dove i componenti di lattina possono variare da molto piccoli a molto grandi. Il mio approccio è stato quello di fattorizzare il termine esponenziale più grande modo che:
Questo approccio è ragionevole se tutti gli elementi di sono grandi, ma non è una buona idea se non lo sono. Naturalmente, gli elementi più piccoli non contribuiscono comunque alla somma in virgola mobile, ma non sono sicuro di come gestirli in modo affidabile. Nel codice R, il mio approccio è simile a:
if ( max(abs(a)) > max(a) )
K <- min(a)
else
K <- max(a)
ans <- log(sum(exp(a-K))) + K
Sembra un problema abbastanza comune che ci dovrebbe essere una soluzione standard, ma non sono sicuro di cosa si tratti. Grazie per eventuali suggerimenti.