理解最大似然估計需要多少微積分?
我正在嘗試制定學習 MLE 的學習計劃。為了做到這一點,我試圖弄清楚理解 MLE 所需的最低微積分水平是多少。
了解微積分的基礎知識(即找到函數的最小值和最大值)是否足以理解 MLE?
擴展我的評論 - 這取決於。如果您只是想理解基礎知識,那麼能夠找到函數的極值會為您提供一個公平的方法(儘管在 MLE 的許多實際案例中,可能性在數值上最大化,在這種情況下,您需要一些其他技能以及一些其他技能)基礎微積分)。
我將把獲得顯式代數解決方案的簡單案例放在一邊。即便如此,微積分通常還是非常有用的。
我將自始至終保持獨立。讓我們以最簡單的 1 參數優化為例。首先,我們將看一個例子,我們可以取導數並分離出參數和統計量的函數。
考慮 $ \rm{Gamma}(\alpha,1) $ 密度
$$ f_X(x;\alpha) = \frac{1}{\Gamma(\alpha)} x^{\alpha-1} \exp(-x); ,,, x>0;,,\alpha>0 $$
然後對於大小的樣本 $ n $ , 可能性是
$$ \mathcal{L}(\alpha; \mathbf{x}) = \prod_{i=1}^n f_X(x_i;\alpha) $$
所以對數似然是 $$ \mathcal{l}(\alpha; \mathbf{x}) = \sum_{i=1}^n \ln{f_X(x_i;\alpha)} \ = \sum_{i=1}^n \ln{\left(\frac{1}{\Gamma(\alpha)} x_i^{\alpha-1} \exp(-x_i)\right)}\ $$ $$ = \sum_{i=1}^n -\ln{\Gamma(\alpha)}+(\alpha-1)\ln{x_i} -x_i\ $$ $$ = -n\ln{\Gamma(\alpha)}+(\alpha-1)S_x -n\bar{x} $$ 在哪裡 $ S_x=\sum_{i=1}^n\ln{x_i} $ . 採取衍生品,
$$ \frac{d}{d\alpha}\mathcal{l}(\alpha; \mathbf{x}) = \frac{d}{d\alpha} \left(-n\ln{\Gamma(\alpha)}+(\alpha-1)S_x -n\bar{x}\right)\ $$ $$ = -n\frac{\Gamma'(\alpha)}{{\Gamma(\alpha)}}+S_x\ $$ $$ = -n\psi(\alpha)+S_x $$
因此,如果我們將其設置為零並嘗試解決 $ \hat{\alpha} $ ,我們可以得到: $$ \psi(\hat{\alpha})=\ln{G(\mathbf{x})}\ $$
在哪裡 $ \psi(\cdot) $ 是digamma函數和 $ G(\cdot) $ 是幾何平均數。我們不能忘記,一般來說,您不能只將導數設置為零並確信您會找到argmax;您仍然必須以某種方式表明解決方案是最大值(在這種情況下是最大值)。更一般地說,您可能會得到最小值或水平拐點,即使您有局部最大值,也可能沒有全局最大值(我在接近尾聲時談到)。
所以我們現在的任務是找到 $ \hat{\alpha} $ 為此
$$ \psi(\hat{\alpha})=g $$
在哪裡 $ g=\ln{G(\mathbf{x})} $ .
這在初等函數方面沒有解決方案,必須用數值計算;至少我們能夠在一側獲得參數的函數,在另一側獲得數據的函數。如果您沒有明確的求解方程的方法(例如,即使您沒有導數,也有二進制部分),則可能會使用各種尋零算法。
通常,它並不那麼好。考慮單位尺度的邏輯密度: $$ f(x; \mu) =\frac{1}{4} \operatorname{sech}^2!\left(\frac{x-\mu}{2}\right). $$ 似然的 argmax 和對數似然函數的 argmax 都不能通過代數方式輕鬆獲得 - 您必須使用數值優化方法。在這種情況下,該函數表現得相當好,並且Newton-Raphson 方法通常應該足以定位 ML 估計 $ \mu $ . 如果導數不可用或 Newton-Raphson 不收斂,則可能需要其他數值優化方法,例如黃金分割法(這並不是對最佳可用方法的概述,只是提一些您更喜歡的方法可能會在基本級別遇到)。
更一般地說,你甚至可能做不到那麼多。考慮具有中位數的柯西 $ \theta $ 和單位規模:
$$ f_X(x;\theta) = \frac{1}{\pi (1 + (x-\theta)^2)},. $$
一般來說,這裡的可能性沒有唯一的局部最大值,而是幾個局部最大值。如果你找到一個局部最大值,那麼其他地方可能還有另一個更大的最大值。(有時人們專注於確定最接近中位數的局部最大值,或者類似的東西。)
初學者很容易假設,如果他們找到一個凹的轉折點,他們就擁有該函數的 argmax,但除了多種模式(已經討論過)之外,可能還有與轉折點無關的最大值。取導數並將其設置為零是不夠的;考慮估計一個統一的參數 $ (0,\theta) $ 例如。
在其他情況下,參數空間可能是離散的。
有時找到最大值可能非常複雜。
這只是單個參數問題的一個示例。當您有多個參數時,事情會再次涉及更多。