Python求解正態分佈置信區間教程
阿新 • • 發佈:2020-01-09
正態分佈和置信區間
正態分佈(Normal Distribution)又叫高斯分佈,是一種非常重要的概率分佈。其概率密度函式的數學表達如下:
置信區間是對該區間能包含未知引數的可置信的程度的描述。
使用SciPy求解置信區間
import numpy as np import matplotlib.pyplot as plt from scipy import stats N = 10000 x = np.random.normal(0,1,N) # ddof取值為1是因為在統計學中樣本的標準偏差除的是(N-1)而不是N,統計學中的標準偏差除的是N # SciPy中的std計算預設是採用統計學中標準差的計算方式 mean,std = x.mean(),x.std(ddof=1) print(mean,std) # 計算置信區間 # 這裡的0.9是置信水平 conf_intveral = stats.norm.interval(0.9,loc=mean,scale=std) print(conf_intveral)
輸出如下:
0.0033541207210673997 0.9986647964318905 (-1.639303291798682,1.6460115332408163)
這裡的-1.639303291798682是置信上界,1.6460115332408163是置信下界,兩個數值構成的區間就是置信區間
使用Matplotlib繪製正態分佈密度曲線
# 繪製概率密度分佈圖 x = np.arange(-5,5,0.001) # PDF是概率密度函式 y = stats.norm.pdf(x,scale=std) plt.plot(x,y) plt.show()
這裡的pdf()函式是Probability density function,就是本文最開始的那個公式
最後的輸出影象如下,可以看到結果跟理論上的正太分佈還是比較像的:
正態分佈置信區間規律
函式曲線下68.268949%的面積在平均數左右的一個標準差範圍內
函式曲線下95.449974%的面積在平均數左右兩個標準差的範圍內
函式曲線下99.730020%的面積在平均數左右三個標準差的範圍內
函式曲線下99.993666%的面積在平均數左右四個標準差的範圍內
以上這篇Python求解正態分佈置信區間教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。