1. 程式人生 > >scipy.stats與統計學:4個概率分布:N,chi2,F,t

scipy.stats與統計學:4個概率分布:N,chi2,F,t

均值 sig 開平方 number -h 分布 fit std post

scipy.stats與統計學:4個概率分布:N,chi2,F,t

四個常用分布的概率密度函數、分布函數、期望、分位數、以及期望方差標準差中位數原點矩:

1,正態分布:

from scipy.stats import norm

(1)概率密度函數:

norm.pdf(x, mu, sigma)               # 返回N(mu,sigma^2)的概率密度函數在 x 處的值

(2)概率分布函數:

norm.cdf(x, mu, sigma)               # 返回N(mu,sigma^2)的概率密度函數在 負無窮 到 x 上的積分,也就是概率分布函數的值
norm.sf(x, mu, sigma)                # 返回 1 - norm.cdf(x, mu, sigma^2)

(3)數學期望:

norm.expect( func = f, loc = mu, scale = sigma )       # 返回f(x)的期望,註意這裏的loc和scale

(4)分位數:

norm.isf(1-alpha, mu, sigma)         # 返回值s滿足:norm.cdf(s, mu, sigma^2) = alpha,s就是alpha分位數
norm.ppf(alpha, mu, sigma)           # 返回值s滿足:norm.cdf(s, mu, sigma^2) = alpha,s就是alpha分位數

(5)最大似然估計:

norm.fit(a)                                 # 假定數組a來自正態分布,返回mu和sigma的最大似然估計。感覺結果不咋地。。

(6)分布的數量關系:

norm.mean(mu,sigma)                         # N(mu,sigma^2) 的均值
norm.var(mu,sigma)                          # N(mu,sigma^2) 的方差
norm.std(mu,sigma)                          # N(mu,sigma^2) 的方差再開平方根
norm.median(mu,sigma)                       # N(mu,sigma^2) 的中位數
norm.moment(a,mu,sigma)                     # N(mu,sigma^2) 的 a 階原點矩

(7)產生滿足正態分布的隨機數:

norm.rvs(loc = mu,scale = sigma, size = N)       # 產生N個服從N(mu,sigma^2)的隨機數

2,卡方分布:chi2

from scipy.stats import chi2

(1)概率密度函數:

chi2.pdf(x, n)                       # 返回\chi^2(n)的概率密度函數在 x 處的值

(2)概率分布函數:

chi2.cdf(x, n)                       # 返回\chi^2(n)的概率密度函數在 0 到 x 上的積分,也就是概率分布函數的值
chi2.sf(x, n)                        # 返回 1 - chi2.cdf(x, n)

(3)數學期望:

chi2.expect( func = f , args=(n,) )  # 返回f(x)的期望

(4)分位數:

chi2.isf(1-alpha, n)                 # 返回值s滿足:chi2.cdf(s, n) = alpha,  s就是alpha分位數
chi2.ppf(alpha, n)                   # 返回值s滿足:chi2.cdf(s, n) = alpha,  s就是alpha分位數

(5)分布的數量關系:

chi2.mean(n)                         # \chi^2(n) 的均值
chi2.var(n)                          # \chi^2(n) 的方差
chi2.std(n)                          # \chi^2(n) 的方差再開平方根
chi2.median(n)                       # \chi^2(n) 的中位數
chi2.moment(a,n)                     # \chi^2(n) 的 a 階原點矩

3,F分布:

from scipy.stats import f

(1)概率密度函數:

f.pdf(x, m, n)                       # 返回F(m,n)的概率密度函數在x處的值

(2)概率分布函數:

f.cdf(x, m, n)                       # 返回F(m,n)的概率密度函數在0到x上的積分,也就是概率分布函數的值
chi2.sf(x, n)                        # 返回 1 - f.cdf(x, m, n)

(3)數學期望:

f.expect( func = g , args=(m, n) )   # 返回g(x)的數學期望

(4)分位數:

f.isf(1-alpha, m, n)                 # 返回值s滿足:chi2.cdf(s, n) = alpha,  s就是alpha分位數
f.ppf(alpha, m, n)                   # 返回值s滿足:chi2.cdf(s, n) = alpha,  s就是alpha分位數

(5)分布的數量關系:

f.mean(m, n)                         # F(m,n) 的均值
f.var(m, n)                          # F(m,n) 的方差
f.std(m, n)                          # F(m,n) 的方差再開平方根
f.median(m, n)                       # F(m,n) 的中位數
f.moment(a, m, n)                    # F(m,n) 的 a 階原點矩

4,t分布:

from scipy.stats import t

(1)概率密度函數:

t.pdf(x, n)                         # 返回t(n)的概率密度函數在x處的值

(2)概率分布函數:

t.cdf(x, n)                         # 返回t(n)的概率密度函數在負無窮到x上的積分,也就是概率分布函數的值
t.sf(x, n)                          # 返回 1 - t.cdf(x, n)

(3)數學期望:

t.expect( func = f , args=(n,) )    # 返回f(x)的期望

(4)分位數:

t.isf(1-alpha, n)                   # 返回值s滿足:t.cdf(s, n) = alpha,  s就是alpha分位數
t.ppf(alpha, n)                     # 返回值s滿足:t.cdf(s, n) = alpha,  s就是alpha分位數

(5)分布的數量關系:

t.mean(n)                           # t(n) 的均值
t.var(n)                            # t(n) 的方差
t.std(n)                            # t(n) 的方差再開平方根
t.median(n)                         # t(n) 的中位數
t.moment(a,n)                       # t(n) 的 a 階原點矩



scipy.stats與統計學:4個概率分布:N,chi2,F,t