← 返回《数据科学的统计基础》
📑 查看全课大纲(第 9 / 41 节)

极大似然估计

约 42 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

极大似然估计

小象实战讲义 · 数据科学的统计基础

在上一节矩估计中,我们学习了如何利用样本矩去估计总体矩,这是一种直观且对总体分布形式要求不高的方法。然而,当我们已知或假设总体服从某种特定分布时,是否有更“聪明”的方法来利用这些信息,从而得到更精确的参数估计呢?本节将要介绍的极大似然估计(Maximum Likelihood Estimation, MLE)正是这样一种强大且应用广泛的参数估计方法。学完本节,你将能够理解“似然”的核心思想,掌握求解极大似然估计的一般步骤,并运用它来解决正态分布、均匀分布等经典问题,为后续学习更复杂的统计模型(如回归、分类)打下坚实的理论基础。

💡 核心导读

  • 思想核心:理解“似然”的含义——在给定观测样本的条件下,寻找最有可能(即概率最大)产生这组样本的总体参数。
  • 核心工具:掌握似然函数对数似然函数的定义,并理解为何求解后者更为便捷。
  • 求解方法:学习针对连续可导、存在间断点、离散参数等不同情况,如何求解极大似然估计。
  • 重要性质:了解极大似然估计与充分统计量的关系,以及其不变性原理——函数参数的MLE等于参数MLE的函数。
  • 实践验证:通过Python代码模拟抽样,直观验证极大似然估计量的性质。

从“看起来像”到数学原理

为了理解“似然”思想,我们先看一个经典的例子。

罐中黑白球问题:假设一个罐中放有大量白球和黑球,已知两种球的数量之比为1:3,但不知道哪种颜色是“1”,哪种是“3”。也就是说,有两种可能:

  • 情况一:白球:黑球 = 1:3,即黑球比例 p=3/4p = 3/4
  • 情况二:白球:黑球 = 3:1,即黑球比例 p=1/4p = 1/4

我们的目标是通过抽样来估计真实的 pp。假设我们采用有放回抽样,抽取了 n=3n=3 次,记录抽到黑球的个数 XX。显然,XX 服从二项分布 B(3,p)B(3, p)。我们可以计算在不同 pp 取值下,观测到不同黑球个数 xx 的概率:

xx (黑球个数)P(X=xp=3/4)P(X=x \mid p=3/4)P(X=xp=1/4)P(X=x \mid p=1/4)
0(1/4)3(1/4)^3(3/4)3(3/4)^3
13×(3/4)×(1/4)23 \times (3/4) \times (1/4)^23×(1/4)×(3/4)23 \times (1/4) \times (3/4)^2
23×(3/4)2×(1/4)3 \times (3/4)^2 \times (1/4)3×(1/4)2×(3/4)3 \times (1/4)^2 \times (3/4)
3(3/4)3(3/4)^3(1/4)3(1/4)^3

现在,假设我们实际抽样的结果是 x=0x=0,即三次都没抽到黑球。比较上表第一行:

  • p=1/4p=1/4 时,P(X=0)=(3/4)3=27/64P(X=0) = (3/4)^3 = 27/64
  • p=3/4p=3/4 时,P(X=0)=(1/4)3=1/64P(X=0) = (1/4)^3 = 1/64

显然,27/64>1/6427/64 > 1/64。这意味着,在观测到 x=0x=0 的条件下,参数 p=1/4p=1/4p=3/4p=3/4 使得该观测结果“发生”的可能性更大。因此,我们更倾向于认为真实的 pp1/41/4

这就是极大似然原理的朴素思想:认为概率最大的事件是最有可能发生的。我们选取的参数估计值 p^\hat{p},应该使得在它之下,观测到当前样本的概率达到最大。

似然函数与极大似然估计

现在我们将这一思想推广到一般情况。

似然函数的定义

设总体 XX 的概率密度函数(连续型)或分布律(离散型)为 f(x;θ)f(x; \theta),其中 θ\theta 是未知参数(可以是向量)。X1,X2,,XnX_1, X_2, \dots, X_n 是来自该总体的一个样本,其观测值为 x1,x2,,xnx_1, x_2, \dots, x_n

样本的联合密度函数(或联合分布律)为: L(θ)=L(θ;x1,,xn)=i=1nf(xi;θ)L(\theta) = L(\theta; x_1, \dots, x_n) = \prod_{i=1}^{n} f(x_i; \theta) 当我们把 x1,,xnx_1, \dots, x_n 看作固定的观测值,而将 θ\theta 视为变量时,这个函数 L(θ)L(\theta) 就称为参数 θ\theta似然函数

理解关键

  1. 样本产生机制:在频率学派的框架下,我们认为参数 θ\theta 是固定但未知的常数。上帝先选定一个 θ\theta,然后根据分布 f(x;θ)f(x;\theta) 随机生成了我们观测到的样本 x1,,xnx_1, \dots, x_n
  2. 似然的含义:对于不同的候选参数值 θ1\theta_1θ2\theta_2,如果 L(θ1)>L(θ2)L(\theta_1) > L(\theta_2),则说明在 θ1\theta_1 对应的总体下,“恰好”生成我们手中这组样本的可能性,要比在 θ2\theta_2 对应的总体下更大。因此,θ1\theta_1 “看起来更像”是真实的参数。这就是“似然”(Likelihood)一词的含义——看起来像
  3. 与概率的区别:似然函数 L(θ)L(\theta)θ\theta 的函数,描述的是参数取不同值的相对可能性,其取值本身并不是概率(对 θ\theta 的积分不一定为1)。而概率密度 f(x;θ)f(x;\theta)xx 的函数,描述在给定 θ\theta 时随机变量取值的分布。

极大似然估计的定义

根据极大似然原理,我们选择使得似然函数 L(θ)L(\theta) 达到最大的那个 θ\theta 值作为参数的估计。

形式上,若存在统计量 θ^=θ^(X1,,Xn)\hat{\theta} = \hat{\theta}(X_1, \dots, X_n),使得 L(θ^)=maxθΘL(θ)L(\hat{\theta}) = \max_{\theta \in \Theta} L(\theta) 其中 Θ\Theta 是参数空间,则称 θ^\hat{\theta}θ\theta极大似然估计量(MLE),而相应的观测值 θ^(x1,,xn)\hat{\theta}(x_1, \dots, x_n) 称为极大似然估计值。求极大似然估计的方法称为极大似然估计法

极大似然估计的求解方法

求解 MLE 本质上是一个优化问题:maxθL(θ)\max_{\theta} L(\theta)。根据似然函数的形式,我们有不同的求解策略。

情况一:连续可导情形(最常用)

如果似然函数 L(θ)L(\theta) 关于 θ\theta 连续且可导,通常通过求导来寻找极值点。由于 L(θ)L(\theta) 是连乘形式,直接求导复杂。考虑到自然对数函数 ln(x)\ln(x) 是单调递增函数,最大化 L(θ)L(\theta) 等价于最大化其对数 lnL(θ)\ln L(\theta)

我们定义对数似然函数(θ)=lnL(θ)=i=1nlnf(xi;θ)\ell(\theta) = \ln L(\theta) = \sum_{i=1}^{n} \ln f(x_i; \theta)(θ)\ell(\theta) 求导并令其为零,得到似然方程(通常指对数似然方程): (θ)θ=0\frac{\partial \ell(\theta)}{\partial \theta} = 0 解此方程得到的根 θ^\hat{\theta},即为 θ\theta 的极大似然估计。通常还需验证二阶条件(Hessian矩阵负定)以确保是极大值点,但在许多常见分布中,该解是唯一的极大值点。

例1:正态总体的极大似然估计 设总体 XN(μ,σ2)X \sim N(\mu, \sigma^2)X1,,XnX_1, \dots, X_n 为样本。求参数 μ\muσ2\sigma^2 的 MLE。

  1. 写出似然函数L(μ,σ2)=i=1n12πσ2exp((xiμ)22σ2)=(2πσ2)n/2exp(12σ2i=1n(xiμ)2)L(\mu, \sigma^2) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x_i - \mu)^2}{2\sigma^2}\right) = (2\pi\sigma^2)^{-n/2} \exp\left(-\frac{1}{2\sigma^2}\sum_{i=1}^{n}(x_i - \mu)^2\right)

  2. 取对数,得对数似然函数(μ,σ2)=n2ln(2π)n2ln(σ2)12σ2i=1n(xiμ)2\ell(\mu, \sigma^2) = -\frac{n}{2}\ln(2\pi) - \frac{n}{2}\ln(\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n}(x_i - \mu)^2

  3. 建立似然方程组并求解

    • μ\mu 求偏导: μ=1σ2i=1n(xiμ)=0i=1nxinμ=0\frac{\partial \ell}{\partial \mu} = \frac{1}{\sigma^2}\sum_{i=1}^{n}(x_i - \mu) = 0 \quad \Rightarrow \quad \sum_{i=1}^{n} x_i - n\mu = 0 解得: μ^=1ni=1nXi=Xˉ\hat{\mu} = \frac{1}{n}\sum_{i=1}^{n} X_i = \bar{X}
    • σ2\sigma^2 求偏导(将 μ^\hat{\mu} 代入): 令 τ=σ2\tau = \sigma^2,则 τ=n2τ+12τ2i=1n(xiμ^)2=0\frac{\partial \ell}{\partial \tau} = -\frac{n}{2\tau} + \frac{1}{2\tau^2}\sum_{i=1}^{n}(x_i - \hat{\mu})^2 = 0 解得: σ^2=1ni=1n(XiXˉ)2\hat{\sigma}^2 = \frac{1}{n}\sum_{i=1}^{n}(X_i - \bar{X})^2
  4. 结论:正态总体 N(μ,σ2)N(\mu, \sigma^2) 的极大似然估计为 μ^=Xˉ\hat{\mu} = \bar{X}σ^2=1ni=1n(XiXˉ)2\hat{\sigma}^2 = \frac{1}{n}\sum_{i=1}^{n}(X_i - \bar{X})^2。这与矩估计的结果一致。注意,这里的 σ^2\hat{\sigma}^2有偏估计

我们可以用 Python 来模拟验证这一结果。

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

# 设置随机种子,确保结果可复现
np.random.seed(321)

# 1. 生成模拟数据:假设真实参数 mu=5, sigma^2=4 (sigma=2)
true_mu, true_sigma2 = 5, 4
n = 1000  # 样本量
sample = np.random.normal(loc=true_mu, scale=np.sqrt(true_sigma2), size=n)

# 2. 计算样本的极大似然估计
mu_mle = np.mean(sample)
sigma2_mle = np.var(sample, ddof=0)  # ddof=0 表示除n,即MLE;ddof=1表示除n-1,即无偏估计

print(f"真实参数: μ = {true_mu}, σ² = {true_sigma2}")
print(f"极大似然估计: μ_MLE = {mu_mle:.4f}, σ²_MLE = {sigma2_mle:.4f}")
print(f"无偏样本方差: σ²_unbiased = {np.var(sample, ddof=1):.4f}")

# 3. 可视化:绘制真实分布密度曲线与样本直方图
x_grid = np.linspace(true_mu - 3*np.sqrt(true_sigma2), true_mu + 3*np.sqrt(true_sigma2), 200)
pdf_true = stats.norm.pdf(x_grid, loc=true_mu, scale=np.sqrt(true_sigma2))
pdf_mle = stats.norm.pdf(x_grid, loc=mu_mle, scale=np.sqrt(sigma2_mle))

plt.figure(figsize=(10, 6))
plt.hist(sample, bins=30, density=True, alpha=0.6, color='skyblue', edgecolor='black', label='样本直方图')
plt.plot(x_grid, pdf_true, 'r-', lw=2, label=f'真实分布 N({true_mu}, {true_sigma2})')
plt.plot(x_grid, pdf_mle, 'g--', lw=2, label=f'MLE拟合分布 N({mu_mle:.2f}, {sigma2_mle:.2f})')
plt.xlabel('x')
plt.ylabel('概率密度')
plt.title('正态分布极大似然估计模拟验证')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()

情况二:似然函数有间断点

当似然函数关于参数不连续时,无法直接求导,需要从定义出发分析。

例2:均匀分布的极大似然估计 设总体 XU(a,b)X \sim U(a, b),即概率密度函数为: f(x;a,b)={1ba,axb0,其他f(x; a, b) = \begin{cases} \frac{1}{b-a}, & a \le x \le b \ 0, & \text{其他} \end{cases} 样本为 X1,,XnX_1, \dots, X_n,求 a,ba, b 的 MLE。

  1. 写出似然函数L(a,b)=i=1nf(xi;a,b)={(1ba)n,若 ax(1)x(n)b0,其他L(a, b) = \prod_{i=1}^{n} f(x_i; a, b) = \begin{cases} \left(\frac{1}{b-a}\right)^n, & \text{若 } a \le x_{(1)} \le x_{(n)} \le b \ 0, & \text{其他} \end{cases} 其中 x(1)=min{x1,,xn}x_{(1)} = \min{x_1, \dots, x_n}x(n)=max{x1,,xn}x_{(n)} = \max{x_1, \dots, x_n} 为次序统计量。

  2. 分析最大化:为了使 L(a,b)>0L(a, b) > 0,必须满足 ax(1)a \le x_{(1)}bx(n)b \ge x_{(n)}。在此条件下,L(a,b)=(ba)nL(a, b) = (b-a)^{-n}。由于 n>0n>0,最大化 L(a,b)L(a, b) 等价于最小化区间长度 (ba)(b-a)

  3. 结合约束求解:要最小化 (ba)(b-a),同时满足 ax(1)a \le x_{(1)}bx(n)b \ge x_{(n)},最优解显然是取 aa 尽可能大,bb 尽可能小。因此,取: a^=X(1),b^=X(n)\hat{a} = X_{(1)}, \quad \hat{b} = X_{(n)} 即均匀分布端点参数的 MLE 分别为最小和最大次序统计量。

情况三:离散参数空间

当参数空间是离散的(如整数),通常通过比较不同参数值对应的似然函数值来求解。

例3:池塘捕鱼问题(标记重捕法) 池塘中有 NN 条鱼(未知)。先捕获 rr 条做标记后放回。充分混合后,再捕获 ss 条,发现其中有 xx 条带标记。用 MLE 估计 NN

  1. 建立模型:第二次捕获的带标记鱼数 XX 服从超几何分布: P(X=x)=(rx)(Nrsx)(Ns),max(0,s(Nr))xmin(r,s)P(X = x) = \frac{\binom{r}{x} \binom{N-r}{s-x}}{\binom{N}{s}}, \quad \max(0, s - (N-r)) \le x \le \min(r, s)

  2. 似然函数L(N)=P(X=x)L(N) = P(X=x),视为 NN 的函数。

  3. 求解:考虑比值 L(N)/L(N1)L(N) / L(N-1)L(N)L(N1)=NrNNsNrs+x\frac{L(N)}{L(N-1)} = \frac{N-r}{N} \cdot \frac{N-s}{N-r-s+x} 令其 1\ge 1,可解得当 NrsxN \le \frac{rs}{x} 时,L(N)L(N) 单调增;当 NrsxN \ge \frac{rs}{x} 时,L(N)L(N) 单调减。因此,似然函数在 N=rs/xN = \lfloor rs/x \rfloorrs/x\lceil rs/x \rceil 处取得最大值(取使 L(N)L(N) 更大的整数)。通常取 N^=rs/x\hat{N} = \lfloor rs/x \rfloor 作为 MLE。

    代入具体数字:r=500,s=1000,x=72r=500, s=1000, x=72,则 N^=(500×1000)/72=6944.4=6944\hat{N} = \lfloor (500 \times 1000) / 72 \rfloor = \lfloor 6944.\overline{4} \rfloor = 6944

极大似然估计的性质

极大似然估计拥有许多优良的渐近性质(如相合性、渐近正态性),这些将在后续章节详细讨论。这里介绍两个重要的小样本性质。

性质一:与充分统计量的关系

定理:设总体分布族存在关于参数 θ\theta 的充分统计量 T=T(X1,,Xn)T = T(X_1, \dots, X_n),则似然方程的解(即 MLE)θ^\hat{\theta} 一定是充分统计量 TT 的函数。

这个性质非常重要,它意味着如果我们找到了充分统计量,那么寻找 MLE 的范围可以缩小到充分统计量的函数集合中,这常常能简化问题。进一步,由于充分统计量的可测函数仍是充分的(在函数可逆的条件下),MLE 本身也是一个充分统计量

性质二:不变性原理

不变性原理:若 θ^\hat{\theta} 是参数 θ\theta 的极大似然估计,g(θ)g(\theta)θ\theta 的函数,则 g(θ^)g(\hat{\theta})g(θ)g(\theta) 的极大似然估计。

这是一个非常强大且实用的性质。例如,在正态分布中,我们求得 σ^2\hat{\sigma}^2σ2\sigma^2 的 MLE,那么根据不变性原理,标准差 σ\sigma 的 MLE 就是 σ^=σ^2\hat{\sigma} = \sqrt{\hat{\sigma}^2}。这避免了对 σ\sigma 重新求解似然方程的麻烦。

📝 动手练一练

  1. 指数分布的 MLE:设总体 XX 服从指数分布,其概率密度函数为 f(x;λ)=λeλx,x>0,λ>0f(x; \lambda) = \lambda e^{-\lambda x}, \quad x > 0, \lambda > 0X1,,XnX_1, \dots, X_n 为来自该总体的样本。试求参数 λ\lambda 的极大似然估计量 λ^\hat{\lambda}

  2. 不变性原理应用:接上题,请求出总体均值 E(X)=1/λE(X) = 1/\lambda 的极大似然估计。

参考答案

  1. 似然函数 L(λ)=i=1nλeλxi=λneλi=1nxiL(\lambda) = \prod_{i=1}^{n} \lambda e^{-\lambda x_i} = \lambda^n e^{-\lambda \sum_{i=1}^{n} x_i}。对数似然函数 (λ)=nlnλλi=1nxi\ell(\lambda) = n \ln \lambda - \lambda \sum_{i=1}^{n} x_i。求导得 ddλ=nλi=1nxi=0\frac{d\ell}{d\lambda} = \frac{n}{\lambda} - \sum_{i=1}^{n} x_i = 0,解得 λ^=ni=1nXi=1Xˉ\hat{\lambda} = \frac{n}{\sum_{i=1}^{n} X_i} = \frac{1}{\bar{X}}
  2. 根据不变性原理,E(X)=1/λE(X) = 1/\lambda 的 MLE 为 1/λ^=Xˉ1/\hat{\lambda} = \bar{X}

本章小结

本节深入探讨了点估计的核心方法之一——极大似然估计。我们从“罐中摸球”的直观例子出发,理解了“似然”即“看起来像”的核心思想:在已观测到样本的条件下,选择最有可能产生该样本的总体参数作为估计。

要点回顾

  • 似然函数 L(θ)L(\theta) 是样本联合分布关于参数 θ\theta 的函数,它衡量了不同 θ\theta 值“解释”当前观测数据的相对可能性。
  • 求解 MLE 的关键是最大化似然函数。对于连续可导情形,通常通过求解对数似然方程 lnL(θ)θ=0\frac{\partial \ln L(\theta)}{\partial \theta} = 0 得到估计量。对于均匀分布等特殊情形,需从定义出发直接分析。
  • 重要性质:MLE 是充分统计量的函数,并且具有不变性——函数参数的 MLE 等于参数 MLE 的函数。
  • 与矩估计对比:MLE 充分利用了总体分布的信息,通常具有更好的统计性质(如渐近有效性),但依赖于分布形式的正确设定。

行动清单

  1. 掌握核心推导:亲手推导一遍正态分布、指数分布参数的 MLE,确保理解每一步。
  2. 代码验证:运行讲义中的 Python 代码,并尝试修改参数(如 true_mu, true_sigma2, n),观察 MLE 的估计效果如何随样本量增大而变化。
  3. 应用练习:尝试求解伯努利分布 B(1,p)B(1, p) 参数 pp 的 MLE,并思考其与频率估计的关系。

— 小象教研组

配套学习资源与课件
  • 第2章课件:点估计(PDF · 4.4MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问