【数据分析】似然和极大似然估计
【数据分析】似然和极大似然估计
一、引入
概率,是在特定情况下,某件事情发生的可能性,在事件没有发生前,就可以根据环境参数来预测该事件发生的概率。例如,抛硬币前并不知道结果那一面朝上,但是根据硬币的性质,可以推测,结果正、反面朝上的概率都为50%。这个50%只在抛硬币前有意义,抛完之后,结果就确定了。
似然和概率相反,它根据已经确定的结果,来推测产生这个结果的可能环境,或者说环境中的某些参数。例如,抛1000次硬币,800次人像朝上,200次数字朝上。从这个结果,可以推测这个硬币可能不是均匀质地的(即硬币的性质),进而推测:这个硬币,人像朝上的概率是80%,数字朝上的概率是20%(即硬币的一种参数)。
概率和似然图示:
极大似然估计(MLE):已知样本的观测数据,反推,最有可能导致这样的结果的模型参数。比如机器学习中的模型训练,就是已知一些样本的观测结果,来反推能产生这些结果的模型参数。最后得到了参数,就可以预测在这些参数下,其它样本的可能结果了。(用极大似然估计计算出来的参数来计算训练样本的值,在于训练样本实际的观测值比较,即得到损失函数,不断迭代模型,使得似然函数满足要求,即训练过程,当然了训练不是只能用极大自然估计)
举例:抛硬币10次,结果是 7次人像朝上,3次数字朝上。再重复一次,极大似然估计是,找到参数,使得在该参数下,出现已知观测结果的可能性最大。这个例子里面已知观测结果就是θ 7 ( 1 − θ ) 3 \theta^7(1-\theta)^3θ7(1−θ)3,就是要找到这个函数最大的θ \thetaθ值,即0.7。
字如其人,这个成语是不是也隐含似然的思想呢?说到这里,应该已经搞清楚似然和极大似然估计的概念了。后面的文章就是数学表达了。
二、数学描述
2.1 似然(Likelihood)
在统计学中,“似然”是描述观察到的数据在某一模型下的可能性的度量。简单来说,似然函数是给定某个模型参数的情况下,观测数据出现的概率。
与概率不同的是,概率通常是在已知参数的情况下预测未来的事件,而似然是已知数据的基础上反推模型参数的可能性。
假设有一个观测样本集x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n)x=(x1 ,x2 ,...,xn ),这些数据来自某个概率分布,且认为数据的生成模型由参数θ \thetaθ控制。似然函数L ( θ ) L(\theta)L(θ)通常定义为在给定参数θ \thetaθ下,观察到样本数据的概率:
L ( θ ) = P ( x 1 , x 2 , . . . , x n ∣ θ ) L(\theta) = P(x_1, x_2, ..., x_n \mid \theta)L(θ)=P(x1 ,x2 ,...,xn ∣θ)
这里,P ( x 1 , x 2 , . . . , x n ∣ θ ) P(x_1, x_2, ..., x_n \mid \theta)P(x1 ,x2 ,...,xn ∣θ)是给定参数θ \thetaθ下,样本数据出现的联合概率。对于独立同分布的样本数据,似然函数可以写成每个数据点的概率密度函数或概率质量函数的乘积:
L ( θ ) = ∏ i = 1 n p ( x i ∣ θ ) L(\theta) = \prod_{i=1}^{n} p(x_i \mid \theta)L(θ)=i=1∏n p(xi ∣θ)
其中,p ( x i ∣ θ ) p(x_i \mid \theta)p(xi ∣θ)是第i ii个数据点x i x_ixi 在参数θ \thetaθ下的概率密度(或概率质量)函数。
2.2 极大似然估计(Maximum Likelihood Estimation, MLE)
极大似然估计(MLE)是一种用来估计参数θ \thetaθ的常用方法。它的基本思想是:通过最大化似然函数,来找到最有可能导致当前观测数据的参数值。
给定观测数据x = ( x 1 , x 2 , . . . , x n ) x = (x_1, x_2, ..., x_n)x=(x1 ,x2 ,...,xn ),极大似然估计的目标是找到参数θ ^ \hat{\theta}θ^使得似然函数L ( θ ) L(\theta)L(θ)达到最大,即:
θ ^ = arg max θ L ( θ ) \hat{\theta} = \arg \max_{\theta} L(\theta)θ^=argθmax L(θ)
由于似然函数是参数θ \thetaθ的乘积形式,计算时通常会使用对数似然(log-likelihood)函数。对数似然函数是似然函数的对数,通常可以简化计算并避免乘积带来的数值不稳定。对数似然函数定义为:
ℓ ( θ ) = log L ( θ ) = log ( ∏ i = 1 n p ( x i ∣ θ ) ) = ∑ i = 1 n log p ( x i ∣ θ ) \ell(\theta) = \log L(\theta) = \log \left( \prod_{i=1}^{n} p(x_i \mid \theta) \right) = \sum_{i=1}^{n} \log p(x_i \mid \theta)ℓ(θ)=logL(θ)=log(i=1∏n p(xi ∣θ))=i=1∑n logp(xi ∣θ)
这样,极大似然估计就变为求解对数似然函数的最大值:
θ ^ = arg max θ ℓ ( θ ) \hat{\theta} = \arg \max_{\theta} \ell(\theta)θ^=argθmax ℓ(θ)
极大似然估计通常通过求对数似然函数的导数来得到参数的估计值。如果对数似然函数是光滑的,且存在唯一的极大值,那么通过求解该导数的零点可以得到极大似然估计。
2.3 极大似然估计的性质
极大似然估计具有一些非常重要的性质,尤其在大样本情况下,这些性质使其成为一种非常有效的参数估计方法:
- 一致性(Consistency):随着样本量n nn的增加,极大似然估计会收敛到真实的参数值,即θ ^ \hat{\theta}θ^会趋近于θ ∗ \theta^*θ∗,如果θ ∗ \theta^*θ∗是生成数据的真实参数。
- 渐进正态性(Asymptotic Normality):在样本量足够大的情况下,极大似然估计是正态分布的,且其分布的均值为真实参数θ ∗ \theta^*θ∗,方差与信息矩阵(Fisher Information Matrix)有关。
- 有效性(Efficiency):在某些条件下,极大似然估计能够达到Cramér-Rao下界(CRLB),即在所有无偏估计量中,极大似然估计具有最小的方差。
2.4 极大似然估计的实现步骤
假设有一组数据样本{ x 1 , x 2 , . . . , x n } {x_1, x_2, ..., x_n}{x1 ,x2 ,...,xn },其概率分布由未知参数θ \thetaθ控制。实现极大似然估计的一般步骤如下:
- 选择模型:选择一个合适的概率分布模型,假设观测数据来自该分布。比如,对于正态分布(高斯分布),模型可能是:
p ( x i ∣ μ , σ ) = 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) p(x_i \mid \mu, \sigma) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2\sigma^2} \right)p(xi ∣μ,σ)=2πσ2 1 exp(−2σ2(xi −μ)2 )
其中μ \muμ和σ \sigmaσ是待估计的参数(正态分布的均值和标准差)。
构造似然函数:根据选择的模型,构造似然函数L ( θ ) L(\theta)L(θ),对于正态分布来说,它就是所有样本点概率密度的乘积。
取对数似然:对似然函数取对数得到对数似然函数ℓ ( θ ) \ell(\theta)ℓ(θ)。
求最大化参数:求解对数似然函数的最大值,通常通过对ℓ ( θ ) \ell(\theta)ℓ(θ)求导数并令其为零来找到最大化的参数值θ ^ \hat{\theta}θ^。
检验结果:可以通过样本量的增加来检验估计的稳定性,或者使用标准误差、置信区间等方法评估估计结果的可靠性。
2.5 示例:正态分布的极大似然估计
假设有一个样本x 1 , x 2 , . . . , x n x_1, x_2, ..., x_nx1 ,x2 ,...,xn ,数据来自正态分布N ( μ , σ 2 ) N(\mu, \sigma^2)N(μ,σ2),希望估计参数μ \muμ和σ 2 \sigma^2σ2。
- 似然函数:正态分布的概率密度函数为:
p ( x i ∣ μ , σ 2 ) = 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) p(x_i \mid \mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2\sigma^2} \right)p(xi ∣μ,σ2)=2πσ2 1 exp(−2σ2(xi −μ)2 )
所以,似然函数为所有样本点的联合概率:
L ( μ , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 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)L(μ,σ2)=i=1∏n 2πσ2 1 exp(−2σ2(xi −μ)2 )
- 对数似然函数:取对数得到对数似然函数:
ℓ ( μ , σ 2 ) = ∑ i = 1 n log ( 1 2 π σ 2 exp ( − ( x i − μ ) 2 2 σ 2 ) ) \ell(\mu, \sigma^2) = \sum_{i=1}^{n} \log \left( \frac{1}{\sqrt{2\pi \sigma^2}} \exp \left( -\frac{(x_i - \mu)^2}{2\sigma^2} \right) \right)ℓ(μ,σ2)=i=1∑n log(2πσ2 1 exp(−2σ2(xi −μ)2 ))
ℓ ( μ , σ 2 ) = − n 2 log ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ell(\mu, \sigma^2) = -\frac{n}{2} \log (2\pi \sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (x_i - \mu)^2ℓ(μ,σ2)=−2n log(2πσ2)−2σ21 i=1∑n (xi −μ)2
- 求极大似然估计:为了最大化对数似然函数,分别对μ \muμ和σ 2 \sigma^2σ2求偏导数并令其为零。
对μ \muμ求偏导并令其为零,得到μ ^ = 1 n ∑ i = 1 n x i \hat{\mu} = \frac{1}{n} \sum_{i=1}^{n} x_iμ^ =n1 ∑i=1n xi ,即样本均值。
对σ 2 \sigma^2σ2求偏导并令其为零,得到σ ^ 2 = 1 n ∑ i = 1 n ( x i − μ ^ ) 2 \hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \hat{\mu})^2σ^2=n1 ∑i=1n (xi −μ^ )2,即样本方差。
通过这些步骤,可以得到参数μ \muμ和σ 2 \sigma^2σ2的极大似然估计。
本文原文来自CSDN