本文讨论python中怎样计算分布的分位数及累积概率
⭐️ 根据累计概率获取分位数
在 Python 中,你可以使用 scipy.stats
中的 ppf
(percent point function)来根据累积概率获取分位数。ppf
是逆累积分布函数,也就是根据给定的累积概率计算对应的分位数。这个函数适用于各种分布,如正态分布、t 分布、卡方分布等。
示例代码
以下是几个常见分布的示例,展示如何根据累积概率计算分位数:
1. 正态分布分位数
import scipy.stats as stats
# 计算标准正态分布的95%分位数
quantile_95 = stats.norm.ppf(0.95)
print(f"正态分布的95%分位数: {quantile_95}")
2. t 分布分位数
# 计算自由度为10的t分布的90%分位数
quantile_t = stats.t.ppf(0.90, df=10)
print(f"t 分布(自由度=10)下的90%分位数: {quantile_t}")
3. 卡方分布分位数
# 计算自由度为5的卡方分布的95%分位数
quantile_chi2 = stats.chi2.ppf(0.95, df=5)
print(f"卡方分布(自由度=5)下的95%分位数: {quantile_chi2}")
常见分布的 ppf
函数
- 正态分布:
stats.norm.ppf(q)
- t 分布:
stats.t.ppf(q, df)
,df
为自由度 - 卡方分布:
stats.chi2.ppf(q, df)
,df
为自由度 - 指数分布:
stats.expon.ppf(q)
- 均匀分布:
stats.uniform.ppf(q)
参数说明
q
: 累积概率(介于 0 和 1 之间)df
: 分布的自由度(适用于 t 分布和卡方分布)
解释
ppf(0.95)
表示在累积概率为 0.95 时的分位数。- 在正态分布中,
ppf(0.95)
大约为 1.645,表示在标准正态分布下,95% 的数据小于 1.645。
示例结果
正态分布的95%分位数: 1.6448536269514722
t 分布(自由度=10)下的90%分位数: 1.372183641270259
卡方分布(自由度=5)下的95%分位数: 11.070497693516351
通过 ppf
,你可以计算任何概率分布下的分位数,十分适合概率分析、统计检验等场景。
⭐️ 根据分位数获取累计概率
在 Python 中,你可以使用 scipy.stats
模块中的 cdf
(Cumulative Distribution Function,累积分布函数)来根据分位数获取累积概率。cdf
是分布函数,计算小于等于给定分位数的概率。
示例代码
以下是如何根据分位数来计算累积概率的几个示例:
1. 正态分布的累积概率
import scipy.stats as stats
# 计算标准正态分布下分位数为1.645的累积概率
probability = stats.norm.cdf(1.645)
print(f"正态分布下分位数1.645的累积概率: {probability}")
2. t 分布的累积概率
# 计算自由度为10的t分布下分位数为1.372的累积概率
probability_t = stats.t.cdf(1.372, df=10)
print(f"t 分布(自由度=10)下分位数1.372的累积概率: {probability_t}")
3. 卡方分布的累积概率
# 计算自由度为5的卡方分布下分位数为11.07的累积概率
probability_chi2 = stats.chi2.cdf(11.07, df=5)
print(f"卡方分布(自由度=5)下分位数11.07的累积概率: {probability_chi2}")
常见分布的 cdf
函数
- 正态分布:
stats.norm.cdf(x)
- t 分布:
stats.t.cdf(x, df)
,df
为自由度 - 卡方分布:
stats.chi2.cdf(x, df)
,df
为自由度 - 指数分布:
stats.expon.cdf(x)
- 均匀分布:
stats.uniform.cdf(x)
参数说明
x
: 分位数(你要查询的值)df
: 分布的自由度(适用于 t 分布和卡方分布)
示例结果
正态分布下分位数1.645的累积概率: 0.9500150944608786
t 分布(自由度=10)下分位数1.372的累积概率: 0.9000266080481659
卡方分布(自由度=5)下分位数11.07的累积概率: 0.9499891253831642
通过 cdf
函数,你可以计算任何分布在给定分位数下的累积概率。这在统计学中非常有用,比如进行显著性检验、概率分析等。