授课语音

概率分布与假设检验

概率分布和假设检验是统计学中的核心概念,对于数据分析、机器学习、科研实验等方面都至关重要。以下将详细介绍概率分布和假设检验的基本概念和应用。


1. 概率分布

概率分布描述了随机变量所有可能取值的概率。它可以是离散的,也可以是连续的。

1.1 离散概率分布

离散概率分布适用于随机变量取离散值的情况,如掷骰子或抽取卡片等。

  • 常见的离散概率分布:
    • 二项分布 (Binomial Distribution):描述在固定次数的试验中,某个事件发生的次数。
    • 泊松分布 (Poisson Distribution):描述单位时间内某事件发生的次数,常用于稀有事件的建模。

二项分布: 二项分布适用于每次试验只有两种可能结果(如成功或失败),并且每次试验之间是独立的。其概率质量函数(PMF)为:

P(X = k) = C(n, k) * p^k * (1-p)^(n-k)

其中,n 是试验次数,p 是单次试验成功的概率,k 是成功次数,C(n, k) 是组合数,表示从 n 次试验中选择 k 次成功的方式。

例子:

from scipy.stats import binom

# 二项分布:10次试验,每次成功概率为0.5
n = 10  # 试验次数
p = 0.5  # 成功概率

# 计算成功次数为6的概率
prob = binom.pmf(6, n, p)
print(f"成功次数为6的概率: {prob}")

1.2 连续概率分布

连续概率分布适用于随机变量可以取无限多个值,如身高、体重等。

  • 常见的连续概率分布:
    • 正态分布 (Normal Distribution):也叫高斯分布,是最常见的连续概率分布,许多自然现象遵循正态分布。
    • 指数分布 (Exponential Distribution):通常用于描述事件发生的间隔时间,如系统故障时间。

正态分布: 正态分布的概率密度函数(PDF)为:

f(x) = (1 / (sqrt(2 * π * σ^2))) * exp(-(x - μ)^2 / (2 * σ^2))

其中,μ 是均值,σ 是标准差,π 是圆周率,exp 表示指数函数。

例子:

from scipy.stats import norm

# 正态分布:均值为0,标准差为1
mu = 0  # 均值
sigma = 1  # 标准差

# 计算小于0的概率
prob = norm.cdf(0, mu, sigma)
print(f"小于0的概率: {prob}")

2. 假设检验

假设检验是用来判断样本数据是否支持某个假设的统计方法。常用于评估数据中观察到的现象是否与预期或假设一致。

2.1 假设检验的步骤

  1. 提出假设

    • 原假设(H₀):通常表示没有效应、没有差异或不存在关系。
    • 备择假设(H₁):通常表示有差异或存在关系。
  2. 选择检验方法: 根据样本的性质、数据类型和问题的具体要求,选择合适的检验方法。常见的检验方法包括 t 检验、卡方检验等。

  3. 计算检验统计量: 根据选定的检验方法,计算检验统计量,例如 t 统计量、z 统计量等。

  4. 确定显著性水平(α): 显著性水平(通常设定为 0.05)是我们可以接受的犯错误的概率。如果 p 值小于显著性水平,拒绝原假设。

  5. 做出结论

    • 如果 p 值小于显著性水平,则拒绝原假设,认为备择假设有支持。
    • 如果 p 值大于显著性水平,则无法拒绝原假设,认为数据未能提供足够证据支持备择假设。

2.2 常见的假设检验

  • t 检验:用于检验两组数据的均值是否存在显著差异。

    • 单样本 t 检验:检验一个样本均值与已知值的差异。
    • 独立样本 t 检验:检验两个独立样本均值是否相同。
    • 配对样本 t 检验:检验两个配对样本均值是否相同。
  • 卡方检验:用于检验分类数据之间是否存在显著关联。

t 检验示例:

假设我们想检验某公司的员工平均工资是否为5000元,我们收集了100名员工的工资样本数据,并使用单样本 t 检验。

from scipy import stats
import numpy as np

# 假设数据:100名员工工资数据(样本数据)
sample_data = np.random.normal(5100, 500, 100)  # 均值5000,标准差500的正态分布样本

# 单样本 t 检验,假设原假设为工资均值为5000
t_stat, p_value = stats.ttest_1samp(sample_data, 5000)
print(f"t-statistic: {t_stat}, p-value: {p_value}")

# 判断 p 值是否小于显著性水平 0.05
if p_value < 0.05:
    print("拒绝原假设,平均工资与5000元有显著差异")
else:
    print("无法拒绝原假设,平均工资与5000元没有显著差异")

卡方检验示例:

假设我们要检验某个网页的点击数据是否符合预期比例,原假设是数据符合预期比例。

from scipy.stats import chi2_contingency
import numpy as np

# 假设数据:观察到的点击次数
observed = np.array([[40, 60], [30, 70]])  # 行为1和行为2的观察频率

# 卡方检验
chi2_stat, p_value, dof, expected = chi2_contingency(observed)
print(f"卡方统计量: {chi2_stat}, p值: {p_value}")

# 判断 p 值是否小于显著性水平 0.05
if p_value < 0.05:
    print("拒绝原假设,数据与预期比例有显著差异")
else:
    print("无法拒绝原假设,数据与预期比例没有显著差异")

总结

  1. 概率分布:概率分布用于描述随机变量的可能取值及其相应的概率。常见的分布有离散分布(如二项分布、泊松分布)和连续分布(如正态分布、指数分布)。
  2. 假设检验:假设检验用于判断数据是否支持某个假设。步骤包括提出假设、选择检验方法、计算检验统计量、做出结论等。常见的假设检验方法包括 t 检验和卡方检验。

通过概率分布和假设检验,我们可以在数据分析和科研中做出合理的决策,验证假设的正确性,并推断总体特征。

去1:1私密咨询

系列课程: