最大似然估计(MLE)

283 阅读4分钟

用一句话解释最大似然估计:它是一种模型参数估计方法,就是利用已知的样本分布,反推最有可能(出现概率最大)导致这种样本分布的模型参数。如果这样说还觉得抽象,我再举个例子。你放假在家,你妈妈会随时观察你10次在干嘛,当10次中发现有8次你都在玩游戏时,那么你妈妈就得出了结论:你一整天都在玩游戏,那你就遭殃了。这就是最大似然估计的通俗解释。

1.似然函数的由来

首先解释一下似然的意思: 假如我们去赌场玩掷硬币的游戏,硬币是庄家提供的,我们首先要做的是检查这个硬币是不是公平的,也就是需要来推断硬币掷出正面和反面的概率。怎么做,我们可以掷100次这个硬币,如果90次出现正面,那么我们可以推断,这个硬币出现正面的概率是90%。已知每次掷硬币是独立同分布的,也就是说随机变量XX的概率分布已知,但是这个分布的参数θ\theta是未知的。在上面的例子中,硬币是正面的概率可以看作参数θ\theta,但是它的具体值是未知的,我们的目的就是去估计这个参数的值,这个过程就是似然。 如果我们做nn次实验,记下每次出现的正反面,这样可以得到一些列样本x1,x2,,,xnx_1,x_2,,,x_n,并且他们之间是相互独立的,那么这些样本取得这种分布的概率为: P(X1=x1,X2=x2,,,Xn=xn)=i=1np(xi;θ)P(X_1=x_1,X_2=x_2,,,X_n=x_n)=\prod_{i=1}^n{p(x_i;\theta)}

这其实就是一个关于θ\theta的公式,因为所有样本xix_i都是已知的值,因此我们说θ\theta的取值,完全决定了这一连串样本取值的联合概率。我们换一种写法: L(θ)=L(x1,x2,,,xn;θ)==i=1np(xi;θ)L(\theta) = L(x_1,x_2,,,x_n;\theta)==\prod_{i=1}^n{p(x_i;\theta)} 这就是似然函数的由来。掷硬币是离散情形,如果XX是一个连续的随机变量,我们只要相应的把离散型的概率质量函数替换成连续型的概率密度函数即可: L(θ)=L(x1,x2,,,xn;θ)==i=1nf(xi;θ)L(\theta) = L(x_1,x_2,,,x_n;\theta)==\prod_{i=1}^n{f(x_i;\theta)}

2.极大似然估计的思想

上面似然函数L(x1,x2,,,xn;θ)L(x_1,x_2,,,x_n;\theta)的意义就是:随机变量XX取实验中的一组样本值时概率的大小,这个是一个关于θ\theta的函数。自然不同的θ\theta结果会不同,我们的目的是希望可以得到一个θ\theta的值,可以使得这组样本取值最大,那这就是一个典型的求函数最大值的问题。回顾高中数学,对于这类问题,两个步骤:1.确定区间。2.求导数,求极值。 对于掷硬币的问题,参数θ\theta的是概率估计,取值区间是[0,1],如果我们通过n次实验,得到的样本分布如下图,那么使得上面似然函数取最大值的θ\theta就是0.6,我们把这个最大值计作θ\theta^*,也就是说,θ\theta^*就是未知参数θ\theta的极大似然估计image.png-79.4kB

3.求解极大似然函数估计

现在我们已知似然函数以及似然函数的意义: L(θ)=L(x1,x2,,,xn;θ)=i=1nf(xi;θ)L(\theta) = L(x_1,x_2,,,x_n;\theta)=\prod_{i=1}^n{f(x_i;\theta)} 根据上面的分析,求解极大似然函数估计实际上就是求似然函数的最大值,那么就比较简单,求导,取使得导数为0的θ\theta取值,就是我们要的结果。但是上式是连乘的,求导比较复杂,对它取对数单调性不变,同时可以把连乘变成连加: ln(L(θ))=ln(i=1nf(xi;θ))=ln(f(x1;θ)).ln(f(x2;θ))..ln(f(xn;θ))=i=1nln(f(xi;θ))ln(L(\theta))=ln(\prod_{i=1}^n{f(x_i;\theta)})=ln(f(x_1;\theta)).ln(f(x_2;\theta))..ln(f(x_n;\theta))=\sum_{i=1}^n{ln(f(x_i;\theta))}

此时再对他进行求导就变得容易了,如果方程有唯一解,且是极大值点,那么我们就求得了极大似然估计值。 如果是多个参数,同样的思路,求偏导数就可以

4.例子

对于上面不规则硬币,我们想估计出现正面的概率,如果连续投掷10次的结果如下:

正,正,正,反,反,正,反,正,正,反

很显然,每次投掷都是独立的,并且XX是一个伯努利随机变量。我们定义:p({xi=})=θp(\{x_i=正\})=\theta,则p({xi=})=1θp(\{x_i=反\})=1 - \theta,那么这组观测数据的似然函数为: L(x1,x2,...,x10;θ)=θ6(1θ)4L(x_1,x_2,...,x_{10};\theta)=\theta^6(1-\theta)^4

取对数,转换为对数似然函数ln(L(x1,x2,...,x10;θ))=ln(θ6(1θ)4)=6ln(θ)+4ln(1θ)ln(L(x_1,x_2,...,x_{10};\theta))=ln(\theta^6(1-\theta)^4)=6ln(\theta) + 4ln(1-\theta)

对上式求导ln(L(x1,x2,...,x10;θ))=(6ln(θ)+4ln(1θ))=6θ+41θ{ln}'(L(x_1,x_2,...,x_{10};\theta)) = {(6ln(\theta) + 4ln(1-\theta))}' = \frac{6}{\theta} + \frac{4}{1-\theta}

令上式等于0,即得到极大似然估计值:θ=0.6\theta^*=0.6