簡體   English   中英

是否有計算不同類型概率密度函數積分的捷徑?

[英]Is there a shortcut to calculate integrals for different types of probability density functions?

在這樣的情況下,

from scipy.integrate import quad
import numpy as np

exponential_distribution = lambda x, lam: lam*np.exp(-lam*x)
result = quad(exponential_distribution, 0.25, 0.75, args=0.1)[0]

我在想象這樣的事情

from magic_library import integrate_distribution

result = integrate_distribution(distribution='exponential', parameter=[0.1], a=0.25, b=0.75)

您可以將scipy.stats已經定義的分布用於大多數目的。 對於指數分布的情況,您可以創建具有凍結參數(即lam )的分布實例。 該對象具有您可以調用以管理積分的方法,例如cdf ,即指數分布的累積分布函數。

x0 to x1積分就是這兩個點的cdf值之間的差值。 對於expon類, scale參數等效於示例函數中的1/lam

from scipy import stats

lam = 0.1
exponential_distribution = stats.expon(scale=1/lam)

exponential_distribution.cdf(0.75) - exponential_distribution.cdf(0.25)
# returns:
0.04756642569977977

我們可以將其與您用於集成的方法進行比較,並看到它給出了相同的答案。

from scipy.integrate import quad
import numpy as np

exponential_distribution = lambda x, lam: lam*np.exp(-lam*x)
quad(exponential_distribution, 0.25, 0.75, args=0.1)[0]
# returns:
0.04756642569977978

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM