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 阶原点矩