最大似然估计

在统计学中，最大似然估计（英語：maximum likelihood estimation，簡作MLE），也称极大似然估计，是用来估計一个概率模型的参数的一种方法。 下方的讨论要求读者熟悉概率论中的基本定义，如概率分布、概率密度函数、随机变量、数学期望等。读者還須先熟悉连续实函数的基本性质，比如使用微分来求一个函数的极值（即极大值或极小值）。 同時，讀者須先擁有似然函數的背景知識，以了解最大似然估計的出發點及應用目的。 给定一个概率分布 D {\displaystyle D} ，已知其概率密度函数（连续分布）或概率质量函数（离散分佈）为 f D {\displaystyle f_{D}} ，以及一个分佈参数 θ {\displaystyle \theta } ，我们可以从这个分布中抽出一个具有 n {\displaystyle n} 个值的采样 X 1 , X 2 , … , X n {\displaystyle X_{1},X_{2},\ldots ,X_{n}} ，利用 f D {\displaystyle f_{D}} 计算出其似然函数： L ( θ ∣ x 1 , … , x n ) = f θ ( x 1 , … , x n ) . {\displaystyle {\mbox{L}}(\theta \mid x_{1},\dots ,x_{n})=f_{\theta }(x_{1},\dots ,x_{n}).} 若 D {\displaystyle D} 是离散分布， f θ {\displaystyle f_{\theta }} 即是在参数为 θ {\displaystyle \theta } 时观测到这一采样的概率；若其是连续分布， f θ {\displaystyle f_{\theta }} 则为 X 1 , X 2 , … , X n {\displaystyle X_{1},X_{2},\ldots ,X_{n}} 联合分布的概率密度函数在观测值处的取值。一旦我们获得 X 1 , X 2 , … , X n {\displaystyle X_{1},X_{2},\ldots ,X_{n}} ，我们就能求得一个关于 θ {\displaystyle \theta } 的估计。最大似然估计会寻找关于 θ {\displaystyle \theta } 的最可能的值（即，在所有可能的 θ {\displaystyle \theta } 取值中，寻找一个值使这个采样的“可能性”最大化）。从数学上来说，我们可以在 θ {\displaystyle \theta } 的所有可能取值中寻找一个值使得似然函数取到最大值。这个使可能性最大的 θ ^ {\displaystyle {\widehat {\theta }}} 值即称为 θ {\displaystyle \theta } 的最大似然估计。由定义，最大似然估计是样本的函数。 这裡的似然函数是指 x 1 , x 2 , … , x n {\displaystyle x_{1},x_{2},\ldots ,x_{n}} 不变时，关于 θ {\displaystyle \theta } 的一个函数。 最大似然估计不一定存在，也不一定唯一。 最大似然估计可以从相对熵推导而来。相对熵衡量了使用一个给定分布 Q {\displaystyle Q} 来近似另一个分布 P {\displaystyle P} 时的信息损失，对于离散型随机变量，可以用以下公式： D KL ( P | | Q ) = ∑ i P ( i ) log ⁡ P ( i ) Q ( i ) {\displaystyle D_{\text{KL}}(P||Q)=\sum _{i}P(i)\log {\frac {P(i)}{Q(i)}}} 其中， P {\displaystyle P} 是真实分布， Q {\displaystyle Q} 是近似分布。在最大似然估计的情景下，假设分布拥有一系列参数 θ {\displaystyle \theta } ，我们希望通过样本得到参数的估计值 θ ^ {\displaystyle {\hat {\theta }}} 。我们可以利用相对熵来评判估计的好坏： D KL ( p θ ( x ) | | p θ ^ ( x ) ) = ∑ x ∈ E p θ ( x ) log ⁡ p θ ( x ) p θ ^ ( x ) {\displaystyle 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)}}} 根据期望的定义，我们可以将上式改写为： D KL ( p θ ( x ) | | p θ ^ ( x ) ) = E θ [ log ⁡ ( p θ ( x ) p θ ^ ( x ) ) ] = E θ [ log ⁡ p θ ( x ) ] − E θ [ log ⁡ p θ ^ ( x ) ] {\displaystyle {\begin{aligned}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{aligned}}} KL值越大，参数估计越坏，因此，需要通过改变估计参数 θ ^ {\displaystyle {\hat {\theta }}} 的值来获得最小的值，所对应的参数极为最佳估计参数。即： θ ^ best = arg ⁡ min θ ^ D KL ( p θ ( x ) | | p θ ^ ( x ) ) {\displaystyle {\hat {\theta }}_{\text{best}}=\arg \min _{\hat {\theta }}D_{\text{KL}}(p_{\theta }(x)||p_{\hat {\theta }}(x))} 假设有 n {\displaystyle n} 个样本，根据大数定理，可以进行替换： E θ [ log ⁡ p θ ^ ( x ) ] ⇝ 1 n ∑ i = 1 n log ⁡ p θ ^ ( x ) {\displaystyle \mathbb {E} _{\theta }[\log p_{\hat {\theta }}(x)]\rightsquigarrow {\frac {1}{n}}\sum _{i=1}^{n}\log p_{\hat {\theta }}(x)} 即，可以通过下式评估： D KL ( p θ ( x ) | | p θ ^ ( x ) ) = E θ [ log ⁡ p θ ( x ) ] − 1 n ∑ i = 1 n log ⁡ p θ ^ ( x i ) {\displaystyle 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})} 对于一个已知的分布，其参数 θ {\displaystyle \theta } 是确定的。因此， E θ [ log ⁡ p θ ( x ) ] {\displaystyle \mathbb {E} _{\theta }[\log p_{\theta }(x)]} 为常数。因此，我们可以通过最小化KL值获得最佳估计参数： θ ^ = arg ⁡ min θ ^ E θ [ log ⁡ p θ ( X ) ] − 1 n ∑ i = 1 n log ⁡ p θ ^ ( x i ) ⇒ arg ⁡ min θ ^ − 1 n ∑ i = 1 n log ⁡ p θ ^ ( x i ) ⇒ arg ⁡ max θ ^ 1 n ∑ i = 1 n log ⁡ p θ ^ ( x i ) ⇒ arg ⁡ max θ ^ ∑ i = 1 n log ⁡ p θ ^ ( x i ) ⇒ arg ⁡ max θ ^ log ⁡ [ ∏ i = 1 n p θ ^ ( x i ) ] ⇒ arg ⁡ max θ ^ ∏ i = 1 n p θ ^ ( x i ) {\displaystyle {\begin{aligned}{\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{aligned}}} 因此，要得到最佳参数估计值，只需要最大化 ∏ i = 1 n p θ ^ ( x i ) {\displaystyle \prod _{i=1}^{n}p_{\hat {\theta }}(x_{i})} ，这就是最大似然函数。对于连续型随机变量，有相同的结论。 考虑一个抛硬币的例子。假设这个硬币正面跟反面轻重不同。我们把这个硬币抛80次（即，我们获取一个采样 x 1 = H , x 2 = T , … , x 80 = T {\displaystyle x_{1}={\mbox{H}},x_{2}={\mbox{T}},\ldots ,x_{80}={\mbox{T}}} 并把正面的次数记下来，正面记为H，反面记为T）。并把抛出一个正面的概率记为 p {\displaystyle p} ，抛出一个反面的概率记为 1 − p {\displaystyle 1-p} （因此，这裡的 p {\displaystyle p} 即相当于上方的 θ {\displaystyle \theta } ）。假设我们抛出了49个正面，31个反面，即49次H，31次T。假设这个硬币是我们从一个装了三个硬币的盒子里头取出的。这三个硬币抛出正面的概率分别为 p = 1 / 3 {\displaystyle p=1/3} , p = 1 / 2 {\displaystyle p=1/2} , p = 2 / 3 {\displaystyle p=2/3} ，这些硬币没有标记，所以我们无法知道哪个是哪个。使用最大似然估计，基于二项分布中的概率质量函数公式，通过这些试验数据（即采样数据），我们可以计算出哪个硬币的可能性最大。这个似然函数取以下三个值中的一个： L ( p = 1 / 3 ∣ H=49, T=31  ) = P ( H=49, T=31  ∣ p = 1 / 3 ) = ( 80 49 ) ( 1 / 3 ) 49 ( 1 − 1 / 3 ) 31 ≈ 0.000 L ( p = 1 / 2 ∣ H=49, T=31  ) = P ( H=49, T=31  ∣ p = 1 / 2 ) = ( 80 49 ) ( 1 / 2 ) 49 ( 1 − 1 / 2 ) 31 ≈ 0.012 L ( p = 2 / 3 ∣ H=49, T=31  ) = P ( H=49, T=31  ∣ p = 2 / 3 ) = ( 80 49 ) ( 2 / 3 ) 49 ( 1 − 2 / 3 ) 31 ≈ 0.054 {\displaystyle {\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}}} 我们可以看到当 p ^ = 2 / 3 {\displaystyle {\widehat {p}}=2/3} 时，似然函数取得最大值。 顯然地，這硬幣的公平性和那種拋出後正面的機率是2/3的硬幣是最接近的。这就是 p {\displaystyle p} 的最大似然估计。 现在假设例子1中的盒子中有无数个硬币，对于 0 ≤ p ≤ 1 {\displaystyle 0\leq p\leq 1} 中的任何一个 p {\displaystyle p} ， 都有一个抛出正面概率为 p {\displaystyle p} 的硬币对应，我们来求其似然函数的最大值： L ( θ ) = f D ( H=49,T=80-49 ∣ p ) = ( 80 49 ) p 49 ( 1 − p ) 31 {\displaystyle {\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 ≤ p ≤ 1 {\displaystyle 0\leq p\leq 1} . 我们可以使用微分法来求極值。方程两边同时对 p {\displaystyle p} 取微分，并使其为零。 0 = ( 80 49 ) d d p ( p 49 ( 1 − p ) 31 ) ∝ 49 p 48 ( 1 − p ) 31 − 31 p 49 ( 1 − p ) 30 = p 48 ( 1 − p ) 30 [ 49 ( 1 − p ) − 31 p ] {\displaystyle {\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 {\displaystyle p=0} , p = 1 {\displaystyle p=1} ，以及 p = 49 / 80 {\displaystyle p=49/80} .使可能性最大的解显然是 p = 49 / 80 {\displaystyle p=49/80} （因为 p = 0 {\displaystyle p=0} 和 p = 1 {\displaystyle p=1} 这两个解会使可能性为零）。因此我们说最大似然估计值为 p ^ = 49 / 80 {\displaystyle {\widehat {p}}=49/80} . 这个结果很容易一般化。只需要用一个字母 t {\displaystyle t} 代替49用以表达伯努利试验中的被观察数据（即样本）的“成功”次数，用另一个字母 n {\displaystyle n} 代表伯努利试验的次数即可。使用完全同样的方法即可以得到最大似然估计值: p ^ = t n {\displaystyle {\widehat {p}}={\frac {t}{n}}} 对于任何成功次数为 t {\displaystyle t} ，试验总数为 n {\displaystyle n} 的伯努利试验。 最常见的连续概率分布是正态分布，其概率密度函数如下： f ( x ∣ μ , σ 2 ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 {\displaystyle f(x\mid \mu ,\sigma ^{2})={\frac {1}{\sqrt {2\pi \sigma ^{2}}}}e^{-{\frac {(x-\mu )^{2}}{2\sigma ^{2}}}}} 现在有 n {\displaystyle n} 个正态随机变量的采样点，要求的是一个这样的正态分布，这些采样点分布到这个正态分布可能性最大（也就是概率密度积最大，每个点更靠近中心点），其 n {\displaystyle n} 个正态随机变量的采样的对应密度函数（假设其独立并服从同一分布）为： f ( x 1 , … , x n ∣ μ , σ 2 ) = ( 1 2 π σ 2 ) n 2 e − ∑ i = 1 n ( x i − μ ) 2 2 σ 2 {\displaystyle 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 , … , x n ∣ μ , σ 2 ) = ( 1 2 π σ 2 ) n / 2 exp ⁡ ( − ∑ i = 1 n ( x i − x ¯ ) 2 + n ( x ¯ − μ ) 2 2 σ 2 ) {\displaystyle 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)} , 这个分布有两个参数： μ , σ 2 {\displaystyle \mu ,\sigma ^{2}} .有人可能会担心两个参数与上方的讨论的例子不同，上方的例子都只是在一个参数上对可能性进行最大化。实际上，在两个参数上的求最大值的方法也差不多：只需要分别把可能性 L ( μ , σ ) = f ( x 1 , , … , x n ∣ μ , σ 2 ) {\displaystyle {\mbox{L}}(\mu ,\sigma )=f(x_{1},,\ldots ,x_{n}\mid \mu ,\sigma ^{2})} 在两个参数上最大化即可。当然这比一个参数麻烦一些，但是一点也不复杂。使用上方例子同样的符号，我们有 θ = ( μ , σ 2 ) {\displaystyle \theta =(\mu ,\sigma ^{2})} . 最大化一个似然函数同最大化它的自然对数是等价的。因为自然对数log是一个连续且在似然函数的值域内严格递增的上凹函数。[注意：可能性函数（似然函数）的自然对数跟信息熵以及費雪訊息联系紧密。]求对数通常能够一定程度上简化运算，比如在这个例子中可以看到： 0 = ∂ ∂ μ log ⁡ ( ( 1 2 π σ 2 ) n 2 e − ∑ i = 1 n ( x i − x ¯ ) 2 + n ( x ¯ − μ ) 2 2 σ 2 ) = ∂ ∂ μ ( log ⁡ ( 1 2 π σ 2 ) n 2 − ∑ i = 1 n ( x i − x ¯ ) 2 + n ( x ¯ − μ ) 2 2 σ 2 ) = 0 − − 2 n ( x ¯ − μ ) 2 σ 2 {\displaystyle {\begin{aligned}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{aligned}}} 这个方程的解是 μ ^ = x ¯ = ∑ i = 1 n x i / n {\displaystyle {\widehat {\mu }}={\bar {x}}=\sum _{i=1}^{n}x_{i}/n} .这的确是这个函数的最大值，因为它是 μ {\displaystyle \mu } 里头惟一的一阶导数等于零的点并且二阶导数严格小于零。 同理，我们对 σ {\displaystyle \sigma } 求导，并使其为零。 0 = ∂ ∂ σ log ⁡ ( ( 1 2 π σ 2 ) n 2 e − ∑ i = 1 n ( x i − x ¯ ) 2 + n ( x ¯ − μ ) 2 2 σ 2 ) = ∂ ∂ σ ( n 2 log ⁡ ( 1 2 π σ 2 ) − ∑ i = 1 n ( x i − x ¯ ) 2 + n ( x ¯ − μ ) 2 2 σ 2 ) = − n σ + ∑ i = 1 n ( x i − x ¯ ) 2 + n ( x ¯ − μ ) 2 σ 3 {\displaystyle {\begin{aligned}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{aligned}}} 这个方程的解是 σ ^ 2 = ∑ i = 1 n ( x i − μ ^ ) 2 / n {\displaystyle {\widehat {\sigma }}^{2}=\sum _{i=1}^{n}(x_{i}-{\widehat {\mu }})^{2}/n} . 因此，其关于 θ = ( μ , σ 2 ) {\displaystyle \theta =(\mu ,\sigma ^{2})} 的最大似然估计为： θ ^ = ( μ ^ , σ ^ 2 ) = ( x ¯ , ∑ i = 1 n ( x i − x ¯ ) 2 / n ) {\displaystyle {\widehat {\theta }}=({\widehat {\mu }},{\widehat {\sigma }}^{2})=({\bar {x}},\sum _{i=1}^{n}(x_{i}-{\bar {x}})^{2}/n)} . 如果 θ ^ {\displaystyle {\hat {\theta }}} 是 θ {\displaystyle \theta } 的一个最大似然估计，那么 α = g ( θ ) {\displaystyle \alpha =g(\theta )} 的最大似然估计是 α ^ = g ( θ ^ ) {\displaystyle {\hat {\alpha }}=g({\hat {\theta }})} 。函数g无需是一个双射。 最大似然估计函数在采样样本总数趋于无穷的时候达到最小方差，其证明可见于克拉馬－羅下限（英语：Cramér–Rao bound）。当最大似然估计非偏时，等价的，在极限的情况下我们可以称其有最小的均方差。 对于独立的观察来说，最大似然估计函数经常趋于正态分布。 最大似然估计的偏差是非常重要的。考虑这样一个例子，标有 1 {\displaystyle 1} 到 n {\displaystyle n} 的 n {\displaystyle n} 张票放在一个盒子中。从盒子中随机抽取票。如果 n {\displaystyle n} 是未知的话，那么 n {\displaystyle n} 的最大似然估计值就是抽出的票上标有的 n {\displaystyle n} ，尽管其期望值的只有 ( n + 1 ) / 2 {\displaystyle (n+1)/2} .为了估计出最高的 n {\displaystyle n} 值，我们能确定的只能是 n {\displaystyle n} 值不小于抽出来的票上的值。 最大似然估计最早是由羅納德·費雪在1912年至1922年间推荐、分析并大范围推广的。（虽然以前高斯、拉普拉斯、托瓦爾·尼古拉·蒂勒和F. Y. 埃奇沃思也使用过）。 许多作者都提供了最大似然估计发展的回顾。 大部分的最大似然估计理论都在贝叶斯统计中第一次得到发展，并被后来的作者简化。 均方差是衡量一个估计函数的好坏的一个量。 关于拉奧-布萊克韋爾定理（Rao-Blackwell theorem）的文章中讨论到如何利用Rao-Blackwellisation过程寻找最佳不偏估计（即使均方差最小）的方法。而最大似然估计通常是一个好的起点。 读者可能会对最大似然估计（如果存在）总是一个关于参数的充分统计量（sufficient statistic）的函数感兴趣。 最大似然估计跟廣義動差估計（generalized method of moments）有关。 请参见George Casella与Roger L. Berger所著的Statistical Inference定理Theorem 7.2.10的证明。（中国大陆出版的大部分教材上也可以找到这个证明。） Pfanzagl (1994) harvtxt error: no target: CITEREFPfanzagl1994 (help) Edgeworth & September 1908 harvtxt error: no target: CITEREFEdgeworthSeptember_1908 (help) and Edgeworth & December 1908 harvtxt error: no target: CITEREFEdgeworthDecember_1908 (help) Savage (1976) harvtxt error: no target: CITEREFSavage1976 (help), Pratt (1976) harvtxt error: no target: CITEREFPratt1976 (help), Stigler （1978, 1986, 1999）, Hald （1998, 1999）, and Aldrich (1997) harvtxt error: no target: CITEREFAldrich1997 (help) 关于最大似然估计的历史的一篇论文，作者John Aldrich