最大似然估计法

转自:http://www.cnblogs.com/kevinGaoblog/archive/2012/03/29/2424369.html

最大似然估计的原理:

给定一个概率分布D,假定其概率密度函数(连续分布)或概率聚集函数(离散分布)为f_D,以及一个分布参数\theta,我们可以从这个分布中抽出一个具有n个值的采样X_1, X_2,\ldots, X_n,通过利用f_D,我们就能计算出其概率:

\mathbb{P}(x_1,x_2,\dots,x_n) = f_D(x_1,\dots,x_n \mid \theta)

但是,我们可能不知道\theta的值,尽管我们知道这些采样数据来自于分布D。那么我们如何才能估计出\theta呢?一个自然的想法是从这个分布中抽出一个具有n个值的采样X_1, X_2, ..., X_n,然后用这些采样数据来估计\theta.

一旦我们获得X_1, X_2,\ldots, X_n,我们就能从中找到一个关于\theta的估计。最大似然估计会寻找关于\theta的最可能的值(即,在所有可能的\theta取值中,寻找一个值使这个采样的“可能性”最大化)。这种方法正好同一些其他的估计方法不同,如\theta非偏估计,非偏估计未必会输出一个最可能的值,而是会输出一个既不高估也不低估的\theta值。

要在数学上实现最大似然估计法,我们首先要定义似然函数:

\mbox{lik}(\theta) = f_D(x_1,\dots,x_n \mid \theta)

并且在\theta的所有取值上,使这个函数最大化。这个使可能性最大的\widehat{\theta}值即被称为\theta最大似然估计

注意

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

 

例子:

离散分布,离散有限参数空间

考虑一个抛硬币的例子。假设这个硬币正面跟反面轻重不同。我们把这个硬币抛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{P}(\mbox{H=49, T=31 }\mid p=1/3) & = & \binom{80}{49}(1/3)^{49}(1-1/3)^{31} \approx 0.000 \\
&&\\
\mathbb{P}(\mbox{H=49, T=31 }\mid p=1/2) & = & \binom{80}{49}(1/2)^{49}(1-1/2)^{31} \approx 0.012 \\
&&\\
\mathbb{P}(\mbox{H=49, T=31 }\mid p=2/3) & = & \binom{80}{49}(2/3)^{49}(1-2/3)^{31} \approx 0.054 \\
\end{matrix}

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

离散分布,连续参数空间

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

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

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

\begin{matrix}
0 & = & \frac{d}{dp} \left( \binom{80}{49} 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=0p=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{lik}(\mu,\sigma) = f(x_1,,\ldots,x_n \mid \mu, \sigma^2)在两个参数上最大化即可。当然这比一个参数麻烦一些,但是一点也不复杂。使用上边例子同样的符号,我们有\theta=(\mu,\sigma^2).

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

\begin{matrix}
0 & = & \frac{\partial}{\partial \mu} \log \left( \left( \frac{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) \\
  & = & \frac{\partial}{\partial \mu} \left( \log\left( \frac{1}{2\pi\sigma^2} \right)^\frac{n}{2} - \frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2} \right) \\
  & = & 0 - \frac{-2n(\bar{x}-\mu)}{2\sigma^2} \\
\end{matrix}

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

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

\begin{matrix}
0 & = & \frac{\partial}{\partial \sigma} \log \left( \left( \frac{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) \\
  & = & \frac{\partial}{\partial \sigma} \left( \frac{n}{2}\log\left( \frac{1}{2\pi\sigma^2} \right) - \frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2} \right) \\
  & = & -\frac{n}{\sigma} + \frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{\sigma^3}
\\
\end{matrix}

这个方程的解是\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)

如果\widehat{\theta}\theta的一个最大似然估计,那么\alpha = g(\theta)的最大似然估计是\widehat{\alpha} = g(\widehat{\theta}).函数g无需是一个一一映射。请参见George Casella与Roger L. Berger所著的Statistical Inference定理Theorem 7.2.10的证明。(中国大陆出版的大部分教材上也可以找到这个证明。)

渐近线行为

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

偏差

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

原文地址:https://www.cnblogs.com/likai198981/p/3132784.html