2016-09-23 69 views
-1

如何計算概率總和的對數,即ln(p1 + p2),其中p1 =非常小的數字,p2 =非常小的數字。使用lp1 = ln(p1)和lp2 = ln(p2)的值R中的下溢概率的總和

如果你的p1和p2是非常小的數字,會發生下溢。如何避免這種情況?

回答

4

一般來說下面的提示是在r採取日誌有用:

  • 如果你正在服用log(1+x)一個非常小的x有一個函數log1p是更準確(見expm1)。
  • $ \日誌(X^A)= A \日誌(x)的$
  • $ \日誌(AX)= \日誌的(a)+ \日誌(x)的$
  • 計算日誌(X)爲小x很好。 log(1e-308)不會遭受下溢。計算exp(-1e308)是不同的,但這遠遠小於任何代表性答案。

一個爲您解決問題的方法可能是(假設p1p2少於$ 10^-308 $)是計算日誌(P2)和P1/P2,然後

日誌(P1 + p2)= log(1 + p1/p2)+ log(p2)

使用log1p計算第一項並且您已經有第二項。