統計工作中幾個常用用法在python統計函數庫scipy.stats的使用范例。
正態分布
以正態分布的常見需求為例了解scipy.stats的基本使用方法。
1.生成服從指定分布的隨機數
norm.rvs通過loc和scale參數可以指定隨機變量的偏移和縮放參數,這里對應的是正態分布的期望和標准差。size得到隨機數數組的形狀參數。(也可以使用np.random.normal(loc=0.0, scale=1.0, size=None))
In [4]: import numpy as np
In [5]: import scipy.stats as st
In [6]: st.norm.rvs(loc = 0,scale = 0.1,size =10)
Out[6]:
array([ 0.12259875, 0.07001414, 0.11296181, -0.00630321, -0.04377487,
0.00474487, -0.00728678, 0.03860256, 0.06701367, 0.03797084])
In [7]:
In [9]: st.norm.rvs(loc = 3,scale = 10,size=(2,2))
Out[9]:
array([[-13.26078265, 0.88411923],
[ 5.14734849, 17.94093177]])
In [10]:
2.求概率密度函數指定點的函數值
stats.norm.pdf正態分布概率密度函數。
In [33]: st.norm.pdf(0,loc = 0,scale = 1)
Out[33]: 0.3989422804014327
In [34]: st.norm.pdf(np.arange(3),loc = 0,scale = 1)
Out[34]: array([ 0.39894228, 0.24197072, 0.05399097])
In [35]:
3.求累計分布函數指定點的函數值
stats.norm.cdf正態分布累計概率密度函數。
In [52]: st.norm.cdf(0,loc=3,scale=1)
Out[52]: 0.0013498980316300933
In [53]: st.norm.cdf(0,0,1)
Out[53]: 0.5
In [54]:
4.累計分布函數的逆函數
stats.norm.ppf正態分布的累計分布函數的逆函數,即下分位點。
In [59]: z05 = st.norm.ppf(0.05)
In [60]:
In [60]: z05
Out[60]: -1.6448536269514729
In [61]: st.norm.cdf(z05)
Out[61]: 0.049999999999999975
In [62]:
通用函數
stats連續型隨機變量的公共方法:
名稱 備注
rvs 產生服從指定分布的隨機數
pdf 概率密度函數
cdf 累計分布函數
sf 殘存函數(1-CDF)
ppf 分位點函數(CDF的逆)
isf 逆殘存函數(sf的逆)
fit 對一組隨機取樣進行擬合,最大似然估計方法找出最適合取樣數據的概率密度函數系數。
*離散分布的簡單方法大多數與連續分布很類似,但是pdf被更換為密度函數pmf。
常見分布
可能用到的分布對照表
名稱 含義
beta beta分布
f F分布
gamma gam分布
poisson 泊松分布
hypergeom 超幾何分布
lognorm 對數正態分布
binom 二項分布
uniform 均勻分布
chi2 卡方分布
cauchy 柯西分布
laplace 拉普拉斯分布
rayleigh 瑞利分布
t 學生T分布
norm 正態分布
expon 指數分布
參考文檔
用Python做統計分析 (Scipy.stats的文檔) - python論壇 - 經管之家(原人大經濟論壇)
Scipy教程 - 統計函數庫scipy.stats - 皮皮blog - CSDN博客
scipy.stats.weibull_max — SciPy v0.19.1 Reference Guide
---------------------
作者:潛水的飛魚baby
來源:CSDN
原文:https://blog.csdn.net/u011702002/article/details/78245804
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!