Gegeben seien zwei reellen Zahlen x
und y
, möchte ich die folgende Funktion in Python berechnen:Verhindern von Unterschreitungen als Logarithmus der Wahrscheinlichkeitsberechnungs, die einer normalen Probe in Python in einem bestimmten Intervall fällt
log Pr [ x <= t <= y ],
wo t
abgetastet wird aus einer normalen Verteilung.
Eine naive Implementierung ist scipy.stats.norm
zu verwenden.
np.log(scipy.stats.norm.cdf(y) - scipy.stats.norm.cdf(x))
Leider ist dies führt zu einer Unterschreitung, wenn x
und y
weit von 0
sind. Wie kann man einen solchen numerischen Fehler verhindern?