Python中的累計分布函數(shù)通常用于描述隨機(jī)變量在某個取值之前出現(xiàn)的概率,是概率分布函數(shù)的積分。
import numpy as np import matplotlib.pyplot as plt from scipy import stats # 生成正態(tài)分布數(shù)據(jù) x = np.linspace(-5, 5, num=100) norm = stats.norm(loc=0, scale=1) y = norm.pdf(x) # 計算累計分布函數(shù) cumulative_dist = norm.cdf(x) # 繪制圖形 fig, ax = plt.subplots() ax.plot(x, y, label='Probability Density Function') ax.plot(x, cumulative_dist, label='Cumulative Distribution Function') ax.legend() plt.show()
以上代碼生成了一個正態(tài)分布的概率密度函數(shù)和累計分布函數(shù)的圖形。累計分布函數(shù)在x軸取值為0時,對應(yīng)的是累計概率為0.5,即50%的概率會出現(xiàn)在0的左邊,50%的概率會出現(xiàn)在0的右邊。
由于累計分布函數(shù)是概率分布函數(shù)的積分,因此它具有一些重要的性質(zhì),如:
- 累計分布函數(shù)的值域在0到1之間,且在x趨近正無窮時趨向于1,在x趨近負(fù)無窮時趨向于0。
- 累計分布函數(shù)是單調(diào)不減的。
在實(shí)際應(yīng)用中,累計分布函數(shù)常常用于計算數(shù)據(jù)分布的百分位點(diǎn),例如以下代碼可以計算標(biāo)準(zhǔn)正態(tài)分布在0.95分位點(diǎn)的取值:
percentile = stats.norm.ppf(q=0.95, loc=0, scale=1) print(f'The value at 0.95 percentile point: {percentile:.2f}')
累計分布函數(shù)在數(shù)據(jù)分析、金融、工程等領(lǐng)域都有廣泛的應(yīng)用。