最大似然估计(Maximum Likelihood Estimation) 是Fisher 提出的一种点估计方法,它在很多复杂方法中都有应用,如Logistic 回归、Cox 回归、多水平模型等。从字面意思来理解,最大似然估计就是最大可能的一个估计。也就是说,我们获得样本数据,根据已知的样本结果,反推找到一个估计值,使得最大可能出现现有结果。通俗来说就是,我们已经有了样本数据,那么,当参数值等于多少的时候,最有可能出现我们已有的样本数据。(感觉有点像KNN算法)
1、一个简单的例子
如果一位司机撞到了路边的一棵树,那么你猜一下这位司机是不是酒驾。这里的撞树就是已知的数据结果,是否酒驾是我们要估计的。实际上就是问你,酒驾和非酒驾哪个最有可能出现撞树这样的结果。这其实就是最大似然估计的思路,即哪一个参数估计值( 是酒驾还是非酒驾)能够最大可能地导致出现当前的数据结果( 撞树)。
2、抛硬币
抛一枚硬币,假设共抛了10 次,出现的结果是“正正反正正正正正反正",即正面朝上出现了80%, 反面朝上出现了20%。
在这种情况下,我们来估计这枚硬币正面朝上的比例是多少,或者说,这枚硬币是正常硬币还是骗人的”老千"硬币。如果参数已知,那么我们不难根据参数计算出对应结果的概率。
可以用伯努利分布公式:
这样我们可以分别计算:当总体中正面朝上的概率是0.1 时,样本数据出现80%正面朝上这一结果的可能性有多大; ……; 当总体中正面朝上的概率是0.9 时,样本数据出现80%正面朝上这一结果的可能性有多大。
可以看出,当总体中正面朝上的概率为80%时,出现样本这种结果的可能性最大。所以,我们估计总体参数是80%。
如果用一个函数来表示,则其形式为:
在这个函数中,Π是我们要求的总体参数, "I" 表示条件。该函数的意思是:在样本数据结果为“正正反正正正正正反正"的条件下,求最大可能出现这种结果的总体参数值Π。实际中,我们往往要取对数的,称为对数似然函数。然后求出一个参数估计值,使得对数似然函数最大化。
最大化问题也就是数学上的求导问题,通过求导,便可得到这个估计值。对数似然函数对参数求导后所得的函数称为“得分" (Score)。