---
# System prepended metadata

title: 補充：Maximum Likelihood Estimation
tags: [Probability, ML]

---

# 補充：Maximum Likelihood Estimation

## 背景

在這本課本的前面幾章裡有提到，我們試著藉由我們的 samples 去 estimate 這些 samples 背後 distribution 的 characteristics。
> 舉例來說：
> 
> 如果我們希望知道擲骰子的 probability distribution 有哪些特性（會長什麼樣子），我們可能就可以擲個一百次一千次，然後去計算這些 samples 的平均值，來猜測真正的 distribution 的 expected value 會是多少。
> 
> $\rightarrow$ 在這個例子裡，sample mean $\bar{x}$ 就可以被視為 distribution mean $\mu$ 的 estimate。
> $\Rightarrow$ 如果我們也去計算 sample 的 variance （令為 $s^2$），那我們也可將 $s^2$ 視為 distribution 「真正的」 variance $\sigma^2$ 的 estimate。

:::warning
甚至，我們也可以把一個 sample 頻率的直方圖，視為對 underlying distribution 的 pdf 的 estimate。
:::

就像下方這個圖：

![image](https://hackmd.io/_uploads/BkryfuHr0.png)
> 在我們做了一個 experiment 幾千次後，我們可以把得到的 outcomes 畫成像這樣的一個直方圖，進而試圖用一個 function 來描述我們得到的結果（畫出那條黑色的線）。
> 
> 那這件事其實也可以視為我們透過 sample（直方圖）來 estimate pdf of underlying distribution （黑色的線）應該要怎麼畫。

可是，在我們猜測出這些 estimates 以後，我們要怎麼知道我們猜這個 distribution 的樣子猜得好不好？我們猜的 function 由很多 parameters 組成，這些 parameters 的值和背後真正的 distribution 的 parameters 值有多接近？

在這節裡面，我們++假設我們一個 random variable 的 pmf / pdf 「結構」已知，但是這個 pmf / pdf 裡的 parameters 值是什麼我們不知道++。

舉例來說：

![image](https://hackmd.io/_uploads/BkMJrdrHC.png)

> 我們假設已知我們的 pdf 是上圖 $f(x;\theta)$ 的樣子，其中 $\theta$ 是某個 parameter，但我們不知道 $\theta$ 的值是多少，只知道 $\theta \in \Omega$，這個 ==$\Omega$== 我們稱為 <font color = "snake">parameter space</font>，是一個++包含所有可能的 parameter 值的集合++。
> - 我們用 $f(x;\theta)$ 或 $f(x,\theta)$，而不是 $f(x|\theta)$ 來表示 $\theta$ 是一個固定但未知的值。

那麼，我們需要做的就是從 parameter space 裡找到某個 $\theta$ ，使得我們可以從：

\begin{equation}
\{f(x,\theta),\theta \in \Omega\}
\end{equation}

這個集合裡挑出最有可能是我們的 random variable 的 pdf 的那一組 $f(x,\theta)$。
> 也就是說，透過去觀察我們的 sample outcomes，我們想知道 $\theta_1 = 1$ 當作 $f(x)$ 的參數值比較好，還是 $\theta_2 = 2$ 當作 $f(x)$ 的參數值比較好⋯⋯，藉由從 $\Omega$ 裡選出那個最好的 $\theta_i$，讓我們畫出來的 $f(x)$ 和我們的 samples 畫出來的圖最接近。


### estimation 的作法與名詞定義

上述的這個過程，就是我們想去對一個未知的 $\theta$ 做 estimation。那實際上怎麼去做 estimation 呢？做法是：

我們去重複做同一個 experiment $n$ 次（並且這 $n$ 次 experiment independent），觀察 sample $X_1,X_2,...,X_n$ 和他們對應的 outcomes $x_1,x_2,...,x_n$。
> 這裡的 sample $X_1,X_2,...,X_n$ 中的每個 $X_i$ 都是一個 random variable，指的是第 $i$ 個 experiment 的 outcome $x_i$ 所有可能的值。
> 
> 而 $x_i$ 就是實際我們去做 experiment 得到的結果。 

最後我們得出一個 function ==$u(X_1,X_2,...,X_n)$==，稱作 $\theta$ 的 <font color = "snake">estimator</font>。
> 我們可以想像像我們平常在定義一個 function 例如 $f(x,y)$ 時， $x,y$ 作為這個 function 的 input，我們對它們可能各自有不同的限制，例如 $0<x<10$，$100<y<1000$
> 
> 在 $u(X_1,X_2,...,X_n)$ 裡，我們就是去定義我們的 $n$ 個 inputs 有哪些，並且各自包含了哪些 outcomes。
> - 總而言之，要記得： ++estimator 是一個 function！++ 
> - 因為我們的 $u(X_1,X_2,...,X_n)$ 是為了從 $\Omega$ 裡挑出某個 $\theta$，所以這樣的 estimator 也叫做 <font color = "snake">point estimator</font>。

$\rightarrow$ 我在讀這個地方時第一個產生的疑問是：

Q：假設我們想要估計擲公平骰子的的 pdf 參數要用什麼樣的值，那我們的 sample $X_1,...,X_n$ 的 sample space 不是都是 $\{1,2,3,4,5,6\}$，並且每個值的機率都是 $\frac{1}{6}$ 嗎？那麼既然都相同，為什麼不全部都寫 $X$ 就好呢？有沒有什麼情況是，我們要估計的 $\theta$ 會用到的 sample 有著不同的 sample space？

A：一個理由是當 experiments 之間彼此獨立時，我們習慣將每個 experiment 視為不同的 sample。除此之外，儘管在擲骰子的例子裡我們的 data 是 homogeneous 的，但在別的例子裡也有 heterogeneous 的可能。

舉例來說，如果我們在觀察各個國家的氣溫變化，country $1$ 的氣溫可能介於零到二十度之間、 country $2$ 的氣溫可能介於四十到五十度之間⋯⋯，這樣一來，他們的 sample space 就不同，因此就也需要不同的 random variable 來表示。 

回到原本的討論，在我們尋找 estimator $u(X_1,X_2,...,X_n)$ 時，我們希望當我們把 $n$ 次 experiment 的結果 $x_1,x_2,...,x_n$ 代進去這個 function 時，$u(x_1,x_2,...,x_n)$ 是很接近 $\theta$ 的。
> 我們將 outcomes 代進 estimator 的值 ==$u(x_1,x_2,...,x_n)$== 稱作 <font color = "snake">estimate</font>。

整個過程簡而言之就是：

:::warning
透過重複做一個 experiment $n$ 次所得來的資訊，我們希望能夠找到一個被稱作 estimator 的 funtion $u(X_1,X_2,...,X_n)$，使得當我們將 outcomes 代進去這個 function 以後，得到的值，也就是 estimate $u(x_1,x_2,...,x_n)$ 會最接近 $\theta$。
:::

### 例子

舉例來說，假設我們的 random variable 的 distribution 為 Bernoulli distribution，也就是 $X$ 是個 0/1 indicator variable，我們用 $b(1,p)$ 表示。
> 也就是說， outcome 為 $1$ 的 probability 是 $p$
>> $P(X=1) = p$ 
> - 稍微詳細一點的 Bernoulli distribution 解釋可參考筆記「A.3.1 Bernoulli Distribution」

因為 outcome 只有零和一，所以 random variable $X$ 是 discrete，它的 pmf （因為 discrete 所以是 pmf 而不是 pdf）為：

![image](https://hackmd.io/_uploads/Hyh4dtSSA.png)

在這裡，我們未知的 parameter 就是 outcome 為 1 的 probability $p$，根據定義：

\begin{equation}
p \in \Omega = \{p \ |\ 0 \le p \le 1\}
\end{equation}
> 也就是說 outcome 為 1 的機率介於零和一之間。

現在，我們要來找我們的 estimator 了，假設我們做 $n$ 次同樣的 experiment，那麼 $X_1 = x_1$ 且 $X_2 = x_2$ ⋯⋯ $X_n = x_n$ 的機率為：

\begin{equation}
\begin{split}
P(X_1 = x_1,...,X_n = x_n) &= \prod_{i=1}^np^{x_i}(1-p)^{1-x_i} \\
&=p^{\sum_{i=1}^nx_i}(1-p)^{n-\sum_{i=1}^nx_i}
\end{split}
\end{equation}
> 舉例來說：
> 
> 如果第一次做這個 experiment 的 outcome $x_1=1$ 且第二次做這個 experiment 的 outcome $x_2=0$，那麼代表說機率是 $p(1-p)$ ，代進去我們的式子看看：
> 
> \begin{equation}
> \begin{split}
> [p^{x_1}(1-p)^{1-x_1}][p^{x_2}(1-p)^{1-x_2}] &= [p^1(1-p)^{1-1}][p^0(1-p)^{1-0}] \\
> &= [p(1-p)^0][1\times(1-p)^1] \\
> &=p(1-p)
> \end{split}
> \end{equation}

從這個例子我們也可以看到，其實我們的式子也代表了 $X_1,...,X_n$ 的 ++joint pmf++。
> 因為是 $X_1 = x_1$ 且 $X_2 = x_2$ ⋯⋯ 且 $X_n = x_n$ ，同時發生的機率。

因此，我們的目標就是去找一個最好的對 $p$ 的 estimate，在把上面的 probability $P(X_1 = x_1,...,X_n = x_n)$（或 joint pmf）視為一個 $p$ 的 function 的情況下，++使得這個 function 的值為最大++。

並且，在我們把 joint pmf 視為一個 $p$ 的 function 時，我們也把這樣的一個 function 稱作 <font color = "snake">likelihood function</font>。在這個例子裡， likelihood function 為：

\begin{equation}
\begin{split}
L(p) &= L(p;x_1,x_2,...,x_n) \\
&= f(x_1;p)f(x_2;p)...f(x_n;p) \\
&=p^{\sum_{i=1}^nx_i}(1-p)^{n-\sum_{i=1}^nx_i} \qquad 0 \le p \le 1
\end{split}
\end{equation}

在這個例子裡，我們的 $n$ 個 outcomes 的值有三種可能性，分別是

1. 每個 outcome 都是 $0$
2. 每個 outcome 都是 $1$
3. outcomes 有 $0$ 有 $1$

三種情況下，如果我們要求 $\max$ likelihood function 發生在 $p$ 取什麼值：

![image](https://hackmd.io/_uploads/SyWSStIS0.png)
> 前兩種比較簡單，第三種情況下（outcome 為零一混雜），我們會發現 $p$ 在取零和取一的時候都會得到 likelihood function 的值為零，但是任取 $(0,1)$ 間的數，都會得到大於零的結果，那麼要如何求 $max$ likelihood 發生的情況下要什麼樣的 $p$，方法就是利用微分求極值。過程如下：

![image](https://hackmd.io/_uploads/rJ_iIYIBA.png)
> 最後我們得到在 outcomes 為零一混雜時，取 $p$ 為 outcomes 的
mean 為最好的 estimate。

- 我們在求極值的時候只有微分一次，但若要完整證明極值為最大值（而非最小值），我們應該還要再微分一次，使得 $L''(\bar{x}) < 0$ 才能說 $L(\bar{x})$ 是最大值。
> 此處因為課本也用 "It can be shown..." 代過，我也就不證了～

在這個例子裡，我們的 maximum likelihood ++estimator++，也就是我們要得到「當 likelihood 為 maximum 時，要取的 $p$ 是什麼值」所用的 function，就是去對 outcomes 取平均。

若 maximum likelihood estimator 用 $\hat{p}$ 表示，那 $\hat{p}$ 為：

\begin{equation}
\hat{p} = \frac{1}{n}\sum_{i=1}^nX_i = \bar{X}
\end{equation}

在我們找 maximum likelihood estimato 時，與其去直接找 parameter 到底要什麼樣的值才會讓 likelihood 最大，我們更常會去找什麼樣的 parameter 會讓取 $ln$（$log_e$）的 likelihood 最大。

理由是因為 natural $log$ 是 strictly increasing function，所以們多取一個 $ln$ 也不會改變結果，再加上取 $log$ 以後我們常常可以把乘法變換成加法，或是擁有一些好的性值，所以我們常常這麼做。

在上面的例子裡，如果我們先對 likelihood function 取 $ln$ 再去微分求極值也會得到一樣的結果：

![image](https://hackmd.io/_uploads/BJAjcFLBC.png)

我們在 $p$ 取 outcomes 的平均時會得到 maximum likelihood，所以我們的 maximum likelihood estimator for $p$ 為 $\hat{p} = \bar{X}$。 

## 定義
### likelihood function

看完上面的例子以後，我們要來介紹 formal definition。

- 這個 definition 對 discrete / continuous random variable 都成立。

:::info
令 $X_1,...,X_n$ 為從同個 distribution 得到的 random sample

這個 distribution 由一個或是多個 parameters $\theta_1,\theta_2,...,\theta_m$ 定義，並且 distribution 的 pmf / pdf 為 $f(x;\theta_1,\theta_2,...,\theta_m)$

假設 $(\theta_1,\theta_2,...,\theta_m)$ 被限制在一個 parameter space $\Omega$

那麼 $X_1,...,X_n$ 的 joint pmf / pdf 在被視為一個 $\theta_1,\theta_2,...,\theta_m$ 的 function 時，就被稱為 <font color = "blue">likelihood function</font>：

\begin{equation}
\begin{split}
L(\theta_1,\theta_2,...,\theta_m) = f(x_1;\theta_1,...,\theta_m)f(x_2;\theta_1,...,\theta_m)&...f(x_n;\theta_1,...,\theta_m) \\
&(\theta_1,\theta_2,...,\theta_m) \in \Omega
\end{split}
\end{equation}
:::

### maximum likelihood estimators / estimates


:::info
如果我們有一組 $m$-tuple $\in \Omega$ 是使 $L(\theta_1,\theta_2,...,\theta_m)$ 為 maximum 的那組 parameters，寫作：

\begin{equation}
[u_1(x_1,...,x_n), u_2(x_1,...,x_n),...,u_m(x_1,...,x_n)]
\end{equation}

那麼 $\theta_1,\theta_2,...,\theta_m$ 的 <font color = "blue">maximum likelihood estimators</font> 為：

\begin{equation}
\begin{split}
\hat{\theta}_1 &= u_1(X_1,...,X_n) \\
\hat{\theta}_2 &= u_2(X_1,...,X_n) \\
&. \\
&. \\
&. \\
\hat{\theta}_m &= u_m(X_1,...,X_n) \\
\end{split}
\end{equation}
:::

> 意思也就是對每個 parameter $\theta_i$，我們都去找到一個 function $u_i()$，來取的 optimal 的 $\theta_i$ （$\hat{\theta}_i$）
> 
> $u_i()$ 的 input 為我們的 $n$ 個 outcomes，其中每個 outcome $x_j$ 來自對應的 $X_j$ 的 sample space，所以我們把 $u_i()$ 定義成 $u_i(X_1,...,X_n)$，這樣的 function 就稱作 $\theta_i$ 的 maximum likelihood estimator。

- 因為我們的每個 $u_i()$ 代入 outcomes $x_1,...,x_n$ 也是從 given sample 計算出來的值，所以根據定義，每個 $u_i(x_1,...,x_n)$ 也都是 ++statistics++，這些 $u_i(x_1,...,x_n)$ 也被稱為 <font color = "snake">maximum likelihood estimates</font>。
	
總結：

:::warning
estimators：用來算出 optimal parameter 的 function
> $\rightarrow$ estimator 是一個 function

estimates：把 experiment outcomes 代進去 estimators 得到的結果
> $\rightarrow$ estimate 是一個值
:::

### (un)biased estimator

:::info
如果 
\begin{equation}
E[u(x_1,...,x_n)] = \theta
\end{equation}
則 $u(X_1,...,X_n)$ 稱為 <font color = "blue">unbiased estimator</font>；否則，若不相等稱 <font color = "blue">biased estimator</font>。
:::

#### 例子

![image](https://hackmd.io/_uploads/H1VM2pIrR.png)


以下分別為三種方法的算法：

【法一】

![法一](https://hackmd.io/_uploads/rJ3L3T8BR.png)


【法二】

![法二](https://hackmd.io/_uploads/S1lchTUrR.png)
> 法二為課本做法


【法三】

![法三](https://hackmd.io/_uploads/rJxfn2pLB0.png)


得到 pdf 後算 $Y_4$ 的 expected value：

![image](https://hackmd.io/_uploads/rkOGTa8BR.png)


# 參考資料

- Hogg,Tanis,Zimmerman, Probability and Statistical Inference, 9th ed(2015), p.256-262
> 即對應到這本課本的 6.4 節 Maximum Likelihood Estimation。
- wiki: [Likelihood function](https://en.wikipedia.org/wiki/Likelihood_function)