[英]what is the difference expect and mean in the scipy.stats?
根據期望值的定義,它也指均值。 但是在scipy.stats.binom中,它們獲得了不同的值。 像這樣,
import scipy.stats as st
st.binom.mean(10, 0.3) ----> 3.0
st.binom.expect(args=(10, 0.3)) ---->3.0000000000000013
這讓我感到困惑! 為什么?
在示例中,所不同的是浮點計算。 通常,取決於積分公差,期望值可能也會被截斷。
mean
和其他矩對於許多分布都具有解析解,在這種情況下,我們通常可以得到精確的估計。
expect
是一個通用函數,它通過離散情況下的求和和連續情況下的數值積分來計算任意(*)函數的期望。 這會積累浮點噪聲,但也取決於數值積分的收斂標准,並且通常不如解析計算出的力矩精確。
(*)某些“不好的”功能在集成中可能會出現數字問題,例如,在scipy.integrate.quad中使用默認設置時可能會發生
這可能只是計算平均值時數值不精確的結果。 從數學上講,它們應該是相同的,但是計算平均值的方式不同,使用有限精度算法實現時具有不同的屬性。 例如,將數字相加並除以總和並不是特別可靠,尤其是當數字圍繞真實(理論)均值少量波動或具有相反的符號時。 遞歸估計可能具有更好的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.