无论是似然还是概率,它们都是用来描述某种不确定性的。但是,它们描述的角度不同,就像镜头对焦的角度不同,拍出来的照片感觉就不一样。
要理解这两者的区别,我们可以从「概率」开始,然后转向「似然」。
概率是你在事件发生前,对结果的预测。
它是基于已知条件,对未来不确定性的量化。
比如说,天气预报说明天下雨的概率是80%,这就是一个典型的概率问题。
而似然,它更像是侦探在破案时的推理过程。
是在事件已经发生后,对过去情况的推断。
如果你出门后发现街上湿漉漉的,你会用似然来推断,昨晚很可能下了一场雨。
似然是基于已知结果,去推断不同原因发生的可能性。
再举个例子。今天跟老张玩游戏,抛硬币。
谁赢得多,请对方吃冰淇淋🍨
那么最大似然估计其实就是指,我想要通过模糊的“似然”去得到这件事情发生的概率,一个具体数字。那我怎么样能得到呢?简单来说就是,先猜,再验证自己猜的是否和真实结果比较接近。
那么,为啥要发明这个算法呢?其实,人们在处理统计问题的时候,经常会遇到一个情况:我们有一些样本数据,但是我们不知道这些数据背后的规律是啥。我们需要找出一个规律,就是一个模型,这个模型能够解释我们观察到的数据,并且可以用来预测未来的数据。最大似然估计就是一种找规律的方法,它可以帮助我们从数据中挖掘出一个最合适的模型。说白了就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值。
换句话说,极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。
让我们再详细讲一下彩票的这个例子,你去买彩票,你发现前面100个人里只有2个人中奖。你脑子里可能会想:“嗯,中奖的可能性(likelihood)好像不大。”但这只是一种感觉,没有具体的数字。但是其实你中奖的概率(probability)是确定的,可以通过奖池中彩票的总量和有奖彩票的数量判断。可是你无法知道奖池的具体信息——这可是商业机密。于是你想通过现在观察到的中奖情况自己计算出来。你先随便猜一个数字,比如10%。
接下来,就要验证你这个猜测。你会想,如果中奖的概率真的是10%,那意味着在100个人中应该有大约10个人中奖,但实际上只有2个人中奖。显然,这个猜测和实际情况有出入。于是,你可能会调低你的猜测,比如改成2%。然后再次比较,直到你的猜测和实际发生的情况比较吻合。
最大似然估计的核心,就是在这个猜测-验证的过程中,找到一个最合适的数字,让这个数字能最好地解释已经发生的事情。这个数值就是我们通过最大似然估计得到的概率。
总的来说,最大似然估计就像是我们用来打听八卦的方法:通过已知的几件小事,去揣摩背后的大规律。通过这种方法,我们可以在很多不确定的场景下,得到相对靠谱的概率估计,帮助我们做出更合理的决策。
过去的三天都是阴云密布,并且都下了不小的雨。今天早上起床时,你发现外面还是跟前几天一样黑压压的全是乌云。这时候你会想:“前几天阴天都下雨了,今天也是阴天,下雨的可能性(likelihood)挺大的。”这只是你的感觉,你不可能把你的感觉具象化为具体的数字。但是事实上,气象局每天会根据天气、寒流、台风等天气情况给出一个当天的降水概率(probability),也就是当天有多少可能性下雨。
可是你错过了今天早晨的天气预报,但是你非常想知道今天的降水概率,因此你只能通过前几天的天气情况进行判断。你先随便猜一个数字,比如阴天的降水概率是30%。
接下来,你想要知道自己的猜测对不对。你会想,如果阴天的降水概率是30%,那么前三天都是阴天,这其中可能只有一天下了雨,但实际上这三天每天都下了雨。显然,你把这个概率猜得有些小,你可以适当调高一些这个数值,再次比较,直到你的猜测和实际发生的情况比较吻合。
最大似然估计(Maximum Likelihood Estimation,简称MLE)是一种常用的参数估计方法。它的主要目的是在我们已经观察到一些数据的情况下,去估算出一个未知参数,使得我们观测到的数据在这个参数下出现的可能性(即似然性)达到最大。
首先,我们有一组观测数据,记为 ,我们假设这些数据是独立同分布的,也就是说,每个数据点 的出现都不会影响其他数据点,并且它们都是依据相同的概率模型生成的。
这个概率模型由一个概率密度函数 描述,这里的 就是我们想要估计的参数。比如在抽球的例子里, 可能就是袋子里白球的比例。
最大似然估计要做的,就是找到这样一个参数值 ,使得在这个参数值下,我们观测到的数据出现的概率 是最大的。换句话说,就是在所有可能的 值中, 让我们观测到的特定数据序列最为“合理”或者“可能”。
在数学上,我们通常通过似然函数来表达这个概念。似然函数 是给定数据 下参数 的函数,它是所有数据点概率密度函数的乘积:
总结一下,最大似然估计就是在你有一些数据,并且有一个包含未知参数的概率模型时,帮助你找到那个最有可能导致这些数据出现的参数值的方法。通过这个方法,我们可以根据已有的数据来对未知的情况作出合理的推断。
为了实现最大似然估计,我们需要做以下步骤:
建立似然函数:似然函数是样本数据的概率密度函数关于参数 的函数。对于独立同分布的样本数据,似然函数可表示为
取对数:我们通常会取似然函数的对数,称作对数似然函数。
求导数:为找到最大似然估计值,我们需要求得对数似然函数关于参数 的导数。对数似然函数的导数可以用来确定哪个参数值使得似然函数达到最大。
求解:对数似然函数的导数等于0的点即为最大似然估计值。通过数值优化方法,我们可以求解出最大似然估计值 。
需要注意的是,最大似然估计可能存在参数估计的不唯一性、计算复杂度较高等问题。在实际应用中,我们需要注意参数估计的假设条件,对数据进行验证和评估估计结果的稳定性和可靠性。同时,还可以通过参数正则化等方法来处理过拟合等问题。
泛函不变性(Functional invariance)
我们知道,在统计学中,有时我们不仅仅对参数本身感兴趣,也可能对参数的某个函数感兴趣。泛函不变性告诉我们,如果我们已经通过最大似然估计得到了某个参数 的估计值 ,那么我们对于这个参数的任何函数 ,它的估计值也可以很容易得到。具体来说,如果我们定义一个新的参数 ,那么 的最大似然估计 就是将 代入函数 中:
简单来说,我们不需要重新进行复杂的计算,只要对已有的估计值使用同样的函数变换即可得到新的估计值。
渐近线行为(Asymptotic behavior)
这个性质跟样本量的大小有关。在实际情况中,我们往往是基于有限的样本来估计参数。但是,最大似然估计的一个优点是,当我们的样本量增加,趋向于无穷大时,它的性能会变得更好。具体来说,就是估计得到的参数的方差会越来越小,从而估计的精确度会越来越高。如果估计是无偏的,那么在样本量无限大时,最大似然估计能够达到最小的均方差,这是一个理想状态,即我们的估计会非常接近真实的参数值。
偏差(Bias)
偏差是指我们估计出来的参数值与真实参数值之间的差异。在一个理想的估计中,我们希望这个差异尽可能的小,也就是说估计值能够非常准确地反映出真实的参数值。然而,在最大似然估计中,这种偏差是可能存在的。例如,如果我们估计的参数应该是一个整数,最大似然估计有时会偏向于不小于观测数据值的整数,而不是真实的期望值。这就意味着最大似然估计可能在某些情况下并不是完美无偏的。