跳到主要內容

Maximum Likelihood Estimation As Optimization Problem


在統計學裡, Maximum Likelihood Estimation (MLE) 是常見對於母體參數的估計,本文詳細介紹它數學的詳細大致長相,以及它是一個無約束最佳化問題(unconstrained optimization problem) ,所以可以用最佳化演算法去逼近 MLE
[Notation]
母體未知參數為 $\theta = (\theta_1,\theta_2,...\theta_m) \in \Theta \subset \mathbb{R}^{m} $
隨機向量為 $X = (X_1,X_2,....X_p)$
給定向量為 $x = (x_1,x_2,...,x_p)$
母體分布 (joint probability density function) $f = f(x,\theta) $
$$(1)\forall \theta \in \Theta, \int_{x\in \mathbb{R}^{p}} f(x,\theta) = 1 \qquad (2) \forall (x , \theta) \in \mathbb{R}^{p}\times \Theta \quad f(x,\theta) \in [0,1]$$

[樣本的聯合分配]
考慮獨立同分配 identical independent distributed (iid) 抽樣,$n$ 個樣本為 $\mathcal{D}=\{(X^k)\}^{n}_{k=1}$,$d = \{(x^k)\}^{n}_{k=1}$,其中 $X^{k} = (X^{k}_1,X^{k}_2,...X^{k}_p)$ $$\{(X^k)\}^{n}_{k=1} \sim  \prod^{n}_{k=1} f(x^{k},\theta)  =  \underbrace{f(x^{1},\theta) \cdot f(x^{2},\theta) ... \cdot  f(x^{k},\theta)}_{\text{number of variables } np + m} =(*)  $$

[Likelihood Function]
當樣本已知 $\mathcal{D} = d $ 給定,視 $\theta$ 為變數,則統計學術語稱$(*)$為 Likelihood function $L(\theta|d) $ ,則我們可以找極大化這個函數,找到最大的$\theta$,即  $$\theta^{*}(d):=\underset{\theta \in \Theta}{argmax}L(\theta|d)$$ 。
而當視為 $\mathcal{D}$ (樣本尚未給定)時,我們稱之為Maximum Likelihood Estimation(MLE)  $$\theta_{MLE}(\mathcal{D}):=\underset{\theta \in \Theta}{argmax}L(\theta|\mathcal{D}) = \underset{\theta \in \Theta}{argmax}\prod^{n}_{k=1} f(X^{k},\theta) $$
其中 $\theta_{MLE}(\mathcal{D}) = \theta_{MLE}(X^1,X^2,.....X^{n})$ 是隨機變數

[計算 MLE 的值]
當 $X^{k} = x^k$ (樣本觀察到的時候),我們要計算統計量相當於解一個最佳化問題即
$$\theta_{MLE}(\mathcal{D}=d) =  \underset{\theta \in \Theta}{argmax}\prod^{n}_{k=1} f(x^{k},\theta) $$
我們可以取對數 log 讓連乘變連加(p.s 因為 log 是嚴格遞增函數)
$$\underset{\theta \in \Theta}{argmax}\prod^{n}_{k=1} f(x^{k},\theta) = \underset{\theta \in \Theta}{argmax}\sum^{n}_{k=1} log f(x^{k},\theta) $$
我們分別對 $\theta_i$ 微分 =0 (first derivative test),寫成聯立方程組即
$$\forall i =1,2,....m  \quad \frac{\partial}{\partial \theta_i}\sum^{n}_{k=1} log f(x^{k},\theta) = \underbrace{\sum^{n}_{k=1}\frac{\frac{\partial}{\partial \theta_i}f(x^{k},\theta)}{f(x^{k},\theta)}}_{g_i(\theta)} = 0   $$
相當於 $m$ 個 unknowns , $m$ 個 constraints 的非線性方程組(nonlinear system)
$$\left\{\begin{array}{c}
g_1(\theta_1,....\theta_m) = 0 \\
g_2(\theta_1,....\theta_m) = 0 \\
g_3(\theta_1,....\theta_m) = 0\\
g_4(\theta_1,....\theta_m) = 0\\
..... \\
g_m(\theta_1,....\theta_m) = 0\\
\end{array}\right.$$
可以使用牛頓法(Newton Method)計算近似的 MLE 值 !!

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[Classical Example :  p = 1 , m =2 ]
我們用以上的例子證明 一維的常態分布(Normal Distribution) $(\mu,\sigma^2)$ 的 MLE  是 $(\bar{X},\frac{n-1}{n}S^2)$  ,其中 $\theta = (\mu , \sigma^2)$ ,$\theta^{max}(\mathcal{D})= (\bar{X},\frac{n-1}{n}S^2)$ ,
其中 $\bar{X} =\frac{\sum^{n}_{k=1}X^k}{n}$ (sample mean) ,
其中 $S^2 = \frac{1}{n-1}\sum (X^k- \bar{X})^2$ (unbiased sample variance)

考慮 Normal Distribution $$f(x^k,\mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left[{-\frac{(x^k-\mu)^2}{2\sigma^2}}\right]$$
計算 $\frac{\partial}{\partial \theta_i}f(x^{k},\theta)$ 即
$\left\{\begin{array}{l}
\frac{\partial}{\partial \mu}f(x^k,\mu,\sigma^2)  = \frac{\partial}{\partial \mu}\left( \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left[{-\frac{(x^k-\mu)^2}{2\sigma^2}}\right] \right) \\ = \frac{1}{\sqrt{2\pi \sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \cdot \left(\frac{x^k-\mu}{\sigma^2}\right) = \left(\frac{x^k-\mu}{\sigma^2}\right) f(x^k,\mu,\sigma^2) \\
 \frac{\partial}{\partial \sigma^2}f(x^k,\mu,\sigma^2)  = \frac{\partial}{\partial \sigma^2} \left( \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left[{-\frac{(x^k-\mu)^2}{2\sigma^2}}\right]\right) \\ = \frac{1}{\sqrt{2\pi \sigma^2}} e^{-\frac{(x^k-\mu)^2}{2\sigma^2}}\left[ \frac{(x^k-\mu)^2}{\sigma^3}-\frac{1}{\sigma} \right] =\left[ \frac{(x^k-\mu)^2}{\sigma^3}-\frac{1}{\sigma} \right]   f(x^k,\mu,\sigma^2)  \\  \end{array}\right. $

再來計算 First Derivative Test  $\forall i \qquad \sum^{n}_{k=1}\frac{\frac{\partial}{\partial \theta_i}f(x^{k},\theta)}{f(x^{k},\theta)} = 0$
會得到兩個式子 :
$\begin{array}{l} (1)  \sum^{n}_{k=1}\left(\frac{x^k-\mu}{\sigma^2}\right)  = 0  \overset{\sigma > 0}{\Longrightarrow} \mu^{max}(d) = \frac{1}{n}{\sum_{k=1} x^k} \\ \Longrightarrow   \bar{X}(\mathcal{D}) := \frac{1}{n}\sum_{k=1} X^k\text{ 為 } \mu \text{ 的 MLE} \\  \\
(2) \sum^{n}_{k=1}\left[ \frac{(x^k-\mu)^2}{\sigma^3}-\frac{1}{\sigma} \right]  = 0   \Longrightarrow  {(\sigma^{max})}^2 = \sum^{n}_{k=1}(x^k-\mu)^2     \\   \underset{by (1)}{\Longrightarrow}  \frac{n-1}{n}S^2(\mathcal{D}):=   \frac{1}{n}\sum^{n}_{k=1}(X^k-\bar{X})^2 \text{ 為 } \sigma^2 \text{ 的 MLE}    \\  \end{array}$

注意 : MLE of $\sigma^2$ 就是 $\frac{1}{n}(X^k-\bar{X})^2$ 但它是 biased estimator !!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++





[以上純為學術經驗交流知識分享,如有錯誤或建議可留言~~] 
by Plus & Minus 2017.08


留言

這個網誌中的熱門文章

Linear Regression By Using Linear Programming

當拿到一筆資料準備玩統計,往往會想要做線性迴歸( Linear Regression ),找出一個模型( mathematical model )來解釋變數間的關係,一般都是使用平方距離,但是如果我們採用絕對值距離呢?? 而剛好在工業工程( Industrial Engineering ),作業研究( Operation Research ) 領域,發展成熟的線性規劃( Linear Programming ) 恰好可以來解決,是一個跨領域的應用 !! 已經存在有許多商業或open source 軟體,如: Gurobi , Cplex , Xpress , Mosek , SCIP  可以輕易求解大型的線性規劃問題。而不僅如此也可以利用整數規劃( Integer Programming )來做特徵選擇 ( Feature Selection ),甚至可以偵測離群值( Detect Outlier ) !! 本文只介紹最小絕對值和,關於 Feature Selection , Detect Outlier 可以參考 Mixed-Integer Linear Programming Robust Regression with Feature Selection , Oleksii Omelchenko , 2010 的論文。 [Data Fitting Problem] 給定$n$筆實數型訓練資料 (training data) $\{(x^{k},y^{k})\}^{n}_{k=1} = \mathcal{D} , x^{k} =(x^{k}_1,x^{k}_2, ... , x^{k}_{p})\in \mathbb{R}^{p}$ , $y^{k} \in \mathbb{R}$ , 我們目標是想要找到一個函數 $f_{\mathcal{D}} : \mathbb{R}^p \rightarrow \mathbb{R}$ 使得  $\forall x \in \mathbb{R}^{p} , f_{\mathcal{D}}(x) \approx y$ , 精確來說: $$ \text{Find } f_{\mathcal{D}} \text{ such that } f_{\mathcal{D}}(x)\approx \left\{

Chain Rule & Identity Function Trick

本文為筆者學習微積分,函數概念與Chain Rule 的時候,遇到的一些概念大坑。本文一一澄清一些個人看法,並分享 Chain Rule 廣義的樣子,以及對於遞迴系統該如何計算...等等看法。 [坑1 : 變數/值符號的認識] 一切從 $y = f(x)$ 開始,我們習慣把 Input 變數用"括號"刮起來,Output y 代表值,f 代表函數。或是可以想成這樣:   $$ x \overset{f}{\longrightarrow} y $$ 這種表示法概念上很嚴謹,但缺點是你必須要用三個符號 $x$,$y$,$f$ 而在微分方程領域出現這種寫法 $y = y(x)$  (把 $f$ 換成 $y$) ,這種寫法就頗簡潔,Chain Rule 通常都是這類表示法。缺點是心裡要能確實明白在哪個場合 $y$ 到底是給定的"值"還是"函數"(註: 通常大多代表函數 $y$,值的話通常會這樣寫 $y(x_{0})$,$y_{0}$) ============================================================== [Bonus] $y=y(x)$這種表示法還有一個好處,如果允許 $f$ 是一對多,那麼 $y(x)$ 就是 $y \text{ is depend on } x$ 的意思,如果你喜歡用集合論來表示可以先定義$f$ 的定義域/對應域 $$ f : X \rightarrow Y$$ 然後 $y(x)$ 可以寫成這樣 $y \in Y_{x}$,其中值域為 $$ f(X):=\bigcup_{x \in X}Y_{x} \subseteq Y$$ ============================================================== [坑2 : Input 的變數到底是哪些] 這邊舉兩個例子提醒: (Ex1) 代換法會重新改變函數的 Input 例如 : $y = f(x) = x+1$ , $ z = g(y) = 2y$  可以代換一下,寫成 $z = g[f(x)] = 2(x+1)$ 如果你用簡記你會發現 $y(x) , z(y) , z(y(x)) \equiv z

Probability Model Of Bingo Game

本文介紹經典的"賓果 Bingo" 遊戲,機率與期望值的解析計算公式的計算概念,相關的數學建模....等等 [遊戲情境] 總共有 $n$ 個相異的號碼彩球,號碼集為 $S:=\{1,2,3,....n\}$,今玩家可以花$1$元,買$1$張賓果卡 ($5 \times 5$) 位置座標集 $Z$, $|Z|=25$,然後從$S$ 隨機均勻選擇 $25$個相異的號碼並排列到一個佇列(queue),而開球只會開前 $m$ 顆球,$25 \leq m\leq n$,而給定獎項圖形集 $\color{red}{p \in P := \{Bingo,王,十,一_1,一_2,...,一_5  \}}$ (可自行設計) ,以及已知賠率表向量 $odds_{P}$。開完球後,把Bingo 卡上的中獎的號碼圈起來形成"中獎圖形" ===================================================== 其中獎項圖形 : "$Bingo$" 代表$25$個號碼全中 "十"代表第 $3$ 列(row)  第 $3$ 行 (column) 有中 (共$9$個號碼) "王"代表第 $1$ , $3$ , $5$ 列(row)  第 $3$ 行 (column) 有中 (共$17$個號碼) "$一_k$" 代表第 $k$ 列有中 (共$5$個號碼) ===================================================== 若中獎圖形有涵蓋獎項圖形大致會獲得,賠率 $odds_{p} \times 1 $ 元,但有些合理規則: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $[ 規則 1 ]$ 若獎項圖形 $p_1,p_2$ 有完全重疊$(p_1 \subseteq p_2)$,則以大圖形 $odds_{p_2}$ 賠率算 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $$\color{green}{ 重要假設: 合理的