1. 程式人生 > >最大似然估計(MLE:樣本觀測總體引數)是如何工作的?

最大似然估計(MLE:樣本觀測總體引數)是如何工作的?

1. MLE的意義:樣本估計總體分佈引數

假定一個事件的觀測樣本服從如下分佈,我們如何確定總體資料的分佈模型?

首先應該想到是建立線性迴歸模型,然而由於該變數不是正態分佈的,而且是不對稱的,因此不符合線性迴歸的假設

常用的方法是對變數進行對數、平方根、倒數等轉換,使轉換後的變數服從正態分佈,並進行線性迴歸建模。變換後的效果如下

不幸的是,所有這些都不接近正態分佈,那麼應該如何對這些資料進行建模,才能不違背線性模型(高斯分佈或者近似高斯分佈)的基本假設?

如何利用正態分佈以外的其他分佈來建模這些資料呢?如果使用了不同的分佈,又將如何來估計係數/引數?這便是最大似然估計(MLE)的主要優勢。

2. MLE意義:例項分析

Comment:資料呈現高斯分佈或者近似高斯分佈,可以使用線性迴歸進行建模;

Comment:資料偏離高斯分佈非常嚴重,建議使用最大似然建模並估計模型引數;

示例如下:

在研究統計和概率時,諸如x>100的概率,因為x服從正態分佈,平均值為50,標準差為10。在這些問題中,我們已經知道分佈(在這種情況下是正態分佈)及其引數(均值和標準差),但在實際生活問題中,這些引數是未知的,並且必須從資料中估計出來。MLE可以幫助我們確定給定資料的分佈引數可以用下面例子加深理解:假設用資料來表示班級中學生的體重。資料如下圖所示:

看起來這組資料似乎遵循正態分佈(其實偏差還是蠻嚴重的)。即使我們假設該組資料已經滿足了正態分佈,那麼我們該如何得到這個正態分佈的均值和標準差呢?

一種方法是直接計算給定資料的平均值和標準差,分別為49.8公斤和11.37公斤。這些值能很好地表示給定的資料,但還不能最好地描述總體情況(也就是我們通常說的模型泛化能力差,在樣本資料集上表現良好,在測試集/樣本總體上表現差)。

這種情況下,我們就可以使用最大似然MLE來獲得更穩健的引數估計。因此,MLE可以定義為從樣本資料中估計總體引數(如均值和方差、泊松率(Lambda)等)的方法從而使獲得觀測資料的概率(可能性)最大化

3. 技術細節

3.1 分佈引數

所謂的分佈引數可以理解為一個概率分佈的量化指數,它是樣本總數的數值特徵或一個統計模型。

例如,高斯分佈就是通過均值方差兩個分佈引數唯一確定的:

同樣,泊松分佈是由分佈引數λ唯一控制,即事件在時間或空間間隔內發生的次數:

大多數資料分佈都有1個或2個引數控制,但有些分佈可以有多達4個引數,比如4引數β分佈。

3.2 似然,對數似然,最大化似然函式

通過概率論的基本分佈:對於任意分佈(非均勻分佈),總是在某些數值位置上出現的概率大,而在其他的位置上出現的概率小。

現實中我們需要做的是:在已知的少量觀測樣本上,如何建立模型,估計模型引數,進而最大概率地估計樣本總體。

在MLE中,假定似然函式L(θ;x),其中θ是分佈引數向量,x是觀測集。需要做的是尋找具有給定觀測值(x值)的最大可能性的θ值。

如果假設觀測集(Xi)是獨立的同分布IID隨機變數,概率分佈為f0(其中f0=正態分佈,例如圖1),似然函式可以簡化為:

為了求似然函式的極大值/極小值,取此似然函式的導數,並將其設為0。所以:

為找到對數似然函式LL的極大值,可以:

  • 取對數似然函式的一階導數,並將其等價於0;

  • 取對數似然函式的二階導數,並確認其為負值。

在許多情況下,微積分對最大化似然估計沒有直接幫助,但最大值仍然可以很容易地識別出來。在尋找最大對數似然值的引數值時,沒有任何東西比一階導數等於零具有更為 “優先”或特殊的位置。當需要估計一些引數時,它僅僅是一個方便的工具而已。

4. 反思

我們自然而言會想到:引數空間中是否存在比標準線性模型估計更好的係數。正態分佈是預設分佈,也是最廣泛使用的分佈形式,但如果採用其它更為正確的分佈,則可以得到更好的結果最大似然估計是一種可以用於估計分佈引數而不考慮所使用的分佈的技術因此,如果遇見資料建模問題時,應該首先看看資料的分佈情況,看看有沒有比正態分佈更有意義的分佈!