最大似然估计

在统计学中,最大似然估计(,簡作MLE),也称极大似然估计,是用来估計一个概率模型的参数的一种方法。

预备知识
下方的讨论要求读者熟悉概率论中的基本定义,如概率分布、概率密度函数、随机变量、数学期望等。读者還須先熟悉连续实函数的基本性质,比如使用微分来求一个函数的极值(即极大值或极小值)。

同時,讀者須先擁有似然函數的背景知識,以了解最大似然估計的出發點及應用目的。

最大似然估计的原理
给定一个概率分布D,已知其概率密度函数(连续分布)或概率质量函数(离散分佈)为f_D,以及一个分佈参数\theta,我们可以从这个分布中抽出一个具有n个值的采样X_1, X_2,\ldots, X_n,利用f_D计算出其似然函数:

:\mbox{L}(\theta\mid x_1,\dots,x_n) = f_\theta(x_1,\dots,x_n).

若D是离散分布,f_\theta即是在参数为\theta时观测到这一采样的概率;若其是连续分布,f_\theta则为X_1, X_2,\ldots, X_n联合分布的概率密度函数在观测值处的取值。一旦我们获得X_1, X_2,\ldots, X_n,我们就能求得一个关于\theta的估计。最大似然估计会寻找关于\theta的最可能的值(即,在所有可能的\theta取值中,寻找一个值使这个采样的“可能性”最大化)。从数学上来说,我们可以在\theta的所有可能取值中寻找一个值使得似然函数取到最大值。这个使可能性最大的\widehat{\theta}值即称为\theta的最大似然估计。由定义,最大似然估计是样本的函数。

注意

  • 这裡的似然函数是指x_1,x_2,\ldots,x_n不变时,关于\theta的一个函数。
  • 最大似然估计不一定存在,也不一定唯一。

推导
最大似然估计可以从相对熵推导而来。相对熵衡量了使用一个给定分布Q来近似另一个分布P时的信息损失,对于离散型随机变量,可以用以下公式:

D_{\text{KL}}(P||Q)=\sum_i P(i) \log \frac{P(i)}{Q(i)}

其中,P是真实分布,Q是近似分布。在最大似然估计的情景下,假设分布拥有一系列参数\theta,我们希望通过样本得到参数的估计值\hat{\theta}。我们可以利用相对熵来评判估计的好坏:

D_{\text{KL}}(p_{\theta} (x)||p_{\hat{\theta}} (x))=\sum_{x \in E} p_\theta(x) \log \frac{p_\theta(x)}{p_{\hat{\theta}}(x)}

根据期望的定义,我们可以将上式改写为:

\begin{align}
D_{\text{KL}}(p_{\theta} (x)||p_{\hat{\theta}} (x))&=\mathbb{E}_{\theta} \left[\log\left(\frac{p_{\theta}(x)}{p_{\hat{\theta}}(x)} \right)\right]\\
&=\mathbb{E}_{\theta}[\log p_\theta (x)] - \mathbb{E}_{\theta} [\log p_{\hat{\theta}}(x)]
\end{align}

KL值越大,参数估计越坏,因此,需要通过改变估计参数\hat{\theta}的值来获得最小的值,所对应的参数极为最佳估计参数。即:

\hat{\theta}_\text{best}=\arg\min_{\hat{\theta}} D_{\text{KL}}(p_{\theta} (x)||p_{\hat{\theta}} (x))

假设有n个样本,根据大数定理,可以进行替换:

\mathbb{E}_{\theta} [\log p_\hat{\theta}(x)]\rightsquigarrow\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)

即,可以通过下式评估:

D_{\text{KL}}(p_\theta (x)||p_{\hat{\theta}}(x))=\mathbb{E}_{\theta}[\log p_{\theta}(x)]-\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)

对于一个已知的分布,其参数\theta是确定的。因此,\mathbb{E}_{\theta}[\log p_\theta (x)]为常数。因此,我们可以通过最小化KL值获得最佳估计参数:

\begin{align}
\hat{\theta} &=\arg\min_{\hat{\theta}}\mathbb{E}_{\theta}[\log p_{\theta}(X)]-\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\
&\Rightarrow\arg\min_{\hat{\theta}}-\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\
&\Rightarrow\arg\max_{\hat{\theta}}\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\
&\Rightarrow\arg\max_{\hat{\theta}}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\
&\Rightarrow\arg\max_{\hat{\theta}}\log\left[\prod_{i=1}^n p_{\hat{\theta}}(x_i) \right]\\
&\Rightarrow\arg\max_{\hat{\theta}}\prod_{i=1}^n p_{\hat{\theta}}(x_i) \\
\end{align}

因此,要得到最佳参数估计值,只需要最大化\prod_{i=1}^n p_{\hat{\theta}}(x_i),这就是最大似然函数。对于连续型随机变量,有相同的结论。

例子
离散分布,离散有限参数空间
考虑一个抛硬币的例子。假设这个硬币正面跟反面轻重不同。我们把这个硬币抛80次(即,我们获取一个采样x_1=\mbox{H}, x_2=\mbox{T}, \ldots, x_{80}=\mbox{T}并把正面的次数记下来,正面记为H,反面记为T)。并把抛出一个正面的概率记为p,抛出一个反面的概率记为1-p(因此,这裡的p即相当于上方的\theta)。假设我们抛出了49个正面,31个反面,即49次H,31次T。假设这个硬币是我们从一个装了三个硬币的盒子里头取出的。这三个硬币抛出正面的概率分别为p=1/3, p=1/2, p=2/3,这些硬币没有标记,所以我们无法知道哪个是哪个。使用最大似然估计,基于二项分布中的概率质量函数公式,通过这些试验数据(即采样数据),我们可以计算出哪个硬币的可能性最大。这个似然函数取以下三个值中的一个:

::\begin{matrix}
\mathbb{L}(p=1/3 \mid \mbox{H=49, T=31 }) & = & \mathbb{P}(\mbox{H=49, T=31 }\mid p=1/3) & = & {80\choose 49}(1/3)^{49}(1-1/3)^{31} \approx 0.000 \\
&&\\
\mathbb{L}(p=1/2 \mid \mbox{H=49, T=31 }) & = & \mathbb{P}(\mbox{H=49, T=31 }\mid p=1/2) & = & {80\choose 49}(1/2)^{49}(1-1/2)^{31} \approx 0.012 \\
&&\\
\mathbb{L}(p=2/3 \mid \mbox{H=49, T=31 }) & = & \mathbb{P}(\mbox{H=49, T=31 }\mid p=2/3) & = & {80\choose 49}(2/3)^{49}(1-2/3)^{31} \approx 0.054 \\
\end{matrix}

我们可以看到当\widehat{p}=2/3时,似然函数取得最大值。

顯然地,這硬幣的公平性和那種拋出後正面的機率是2/3的硬幣是最接近的。这就是p的最大似然估计。

离散分布,连续参数空间
现在假设例子1中的盒子中有无数个硬币,对于0\leq p \leq 1中的任何一个p, 都有一个抛出正面概率为p的硬币对应,我们来求其似然函数的最大值:

:\begin{matrix}
\mbox{L}(\theta) & = & f_D(\mbox{H=49,T=80-49}\mid p) = {80\choose 49} p^{49}(1-p)^{31} \\
\end{matrix}

其中0\leq p \leq 1.
我们可以使用微分法来求極值。方程两边同时对p取微分,并使其为零。

:\begin{matrix}
0 & = & {80\choose 49}\frac{d}{dp} \left( p^{49}(1-p)^{31} \right) \\
& & \\
& \propto & 49p^{48}(1-p)^{31} - 31p^{49}(1-p)^{30} \\
& & \\
& = & p^{48}(1-p)^{30}\left[ 49(1-p) - 31p \right] \\
\end{matrix}

并在曲线的最大值处。]]
其解为p=0, p=1,以及p=49/80.使可能性最大的解显然是p=49/80(因为p=0和p=1这两个解会使可能性为零)。因此我们说最大似然估计值为\widehat{p}=49/80.

这个结果很容易一般化。只需要用一个字母t代替49用以表达伯努利试验中的被观察数据(即样本)的“成功”次数,用另一个字母n代表伯努利试验的次数即可。使用完全同样的方法即可以得到最大似然估计值:

:\widehat{p}=\frac{t}{n}

对于任何成功次数为t,试验总数为n的伯努利试验。

连续分布,连续参数空间
最常见的连续概率分布是正态分布,其概率密度函数如下:
:f(x\mid \mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}

现在有n个正态随机变量的采样点,要求的是一个这样的正态分布,这些采样点分布到这个正态分布可能性最大(也就是概率密度积最大,每个点更靠近中心点),其n个正态随机变量的采样的对应密度函数(假设其独立并服从同一分布)为:

:f(x_1,\ldots,x_n \mid \mu,\sigma^2) = \left( \frac{1}{2\pi\sigma^2} \right)^\frac{n}{2} e^{-\frac{ \sum_{i=1}^{n}(x_i-\mu)^2}{2\sigma^2}}

也可以写为:

:f(x_1,\ldots,x_n \mid \mu,\sigma^2) = \left( \frac{1}{2\pi\sigma^2} \right)^{n/2} \exp\left(-\frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2}\right),

这个分布有两个参数:\mu,\sigma^2.有人可能会担心两个参数与上方的讨论的例子不同,上方的例子都只是在一个参数上对可能性进行最大化。实际上,在两个参数上的求最大值的方法也差不多:只需要分别把可能性\mbox{L}(\mu,\sigma) = f(x_1,,\ldots,x_n \mid \mu, \sigma^2)在两个参数上最大化即可。当然这比一个参数麻烦一些,但是一点也不复杂。使用上方例子同样的符号,我们有\theta=(\mu,\sigma^2).

最大化一个似然函数同最大化它的自然对数是等价的。因为自然对数log是一个连续且在似然函数的值域内严格递增的上凹函数。[注意:可能性函数(似然函数)的自然对数跟信息熵以及費雪訊息联系紧密。]求对数通常能够一定程度上简化运算,比如在这个例子中可以看到:

:\begin{align}
0 & = \cfrac{\partial}{\partial \mu} \log \left( \left( \cfrac{1}{2\pi\sigma^2} \right)^\frac{n}{2} e^{-\frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2}} \right) \\
& = \cfrac{\partial}{\partial \mu} \left( \log\left( \cfrac{1}{2\pi\sigma^2} \right)^\frac{n}{2} - \cfrac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2} \right) \\
& = 0 - \cfrac{-2n(\bar{x}-\mu)}{2\sigma^2}
\end{align}

这个方程的解是\widehat{\mu} = \bar{x} = \sum^{n}_{i=1}x_i/n .这的确是这个函数的最大值,因为它是\mu里头惟一的一阶导数等于零的点并且二阶导数严格小于零。

同理,我们对\sigma求导,并使其为零。

:\begin{align}
0 & = \cfrac{\partial}{\partial \sigma} \log \left( \left( \cfrac{1}{2\pi\sigma^2} \right)^\frac{n}{2} e^{-\frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2}} \right) \\
& = \cfrac{\partial}{\partial \sigma} \left( \cfrac{n}{2}\log\left( \cfrac{1}{2\pi\sigma^2} \right) - \cfrac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2} \right) \\
& = -\cfrac{n}{\sigma} + \cfrac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{\sigma^3}
\end{align}

这个方程的解是\widehat{\sigma}^2 = \sum_{i=1}^n(x_i-\widehat{\mu})^2/n.

因此,其关于\theta=(\mu,\sigma^2)的最大似然估计为:

:\widehat{\theta}=(\widehat{\mu},\widehat{\sigma}^2) = (\bar{x},\sum_{i=1}^n(x_i-\bar{x})^2/n).

性质
泛函不变性(Functional invariance)
如果\hat{\theta}是\theta的一个最大似然估计,那么\alpha = g(\theta)的最大似然估计是\hat{\alpha} = g(\hat{\theta})。函数g无需是一个双射。

渐近线行为
最大似然估计函数在采样样本总数趋于无穷的时候达到最小方差,其证明可见于。当最大似然估计非偏时,等价的,在极限的情况下我们可以称其有最小的均方差。
对于独立的观察来说,最大似然估计函数经常趋于正态分布。

偏差
最大似然估计的偏差是非常重要的。考虑这样一个例子,标有1到 n 的 n 张票放在一个盒子中。从盒子中随机抽取票。如果 n 是未知的话,那么 n 的最大似然估计值就是抽出的票上标有的 n ,尽管其期望值的只有(n+1)/2.为了估计出最高的n值,我们能确定的只能是 n 值不小于抽出来的票上的值。

历史
最大似然估计最早是由羅納德·費雪在1912年至1922年间推荐、分析并大范围推广的。(虽然以前高斯、拉普拉斯、托瓦爾·尼古拉·蒂勒和F. Y. 埃奇沃思也使用过)。许多作者都提供了最大似然估计发展的回顾。

大部分的最大似然估计理论都在贝叶斯统计中第一次得到发展,并被后来的作者简化。

参见

  • 均方差是衡量一个估计函数的好坏的一个量。
  • 关于拉奧-布萊克韋爾定理(Rao-Blackwell theorem)的文章中讨论到如何利用Rao-Blackwellisation过程寻找最佳不偏估计(即使均方差最小)的方法。而最大似然估计通常是一个好的起点。
  • 读者可能会对最大似然估计(如果存在)总是一个关于参数的充分统计量(sufficient statistic)的函数感兴趣。
  • 最大似然估计跟廣義動差估計(generalized method of moments)有关。

参考文献
外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。