這裏帶結果的例子:限制在與SciPy的np.inf
我通過高斯分佈整合(畝= 800,標準差= 1)〜+ -2sigma PPF和相同積分從-inf
到+inf
。出於某種原因,第二個積分結果爲零,但實際上它應該更準確。
有人可以解釋,爲什麼發生這種異常或我犯了一個錯誤?
代碼:
from scipy.integrate import quad
import numpy as np
from scipy.stats import norm
def integrand(x):
return x*norm.pdf(x, 800, 1)
print quad(integrand, norm.ppf(0.05, 800,1), norm.ppf(0.95, 800,1))
print quad(integrand, -np.inf, np.inf)
(719.9999999999894, 5.913323331834147e-11)
(0.0, 0.0)
編輯:順便說一下,當平均是小(例如2),它工作正常 - 兩個積分結果非常接近。
我在這裏看不到問題。你意識到第二個積分是_supposed_爲零,對嗎? (你在一個對稱的時間間隔內整合一個奇數函數,PDF的x倍) –
不,它應該是分佈的預期值,在他的情況下,它是800.這似乎是一個整合的問題方法。如果你用1代替你的期望值,你會得到正確的結果 – Christoph
這不是假設的意思嗎? – Farseer