Nakagami 分布#

卡方分布的推廣。形狀參數為 \(\nu>0.\) 支援為 \(x\geq0.\)

\begin{eqnarray*} f\left(x;\nu\right) & = & \frac{2\nu^{\nu}}{\Gamma\left(\nu\right)}x^{2\nu-1}\exp\left(-\nu x^{2}\right)\\ F\left(x;\nu\right) & = & \frac{\gamma\left(\nu,\nu x^{2}\right)}{\Gamma\left(\nu\right)}\\ G\left(q;\nu\right) & = & \sqrt{\frac{1}{\nu}\gamma^{-1}\left(\nu,q{\Gamma\left(\nu\right)}\right)} \end{eqnarray*}

其中 \(\gamma\) 為下不完全伽瑪函數,\(\gamma\left(\nu, x\right) = \int_0^x t^{\nu-1} e^{-t} dt\)

\begin{eqnarray*} \mu & = & \frac{\Gamma\left(\nu+\frac{1}{2}\right)}{\sqrt{\nu}\Gamma\left(\nu\right)}\\ \mu_{2} & = & \left[1-\mu^{2}\right]\\ \gamma_{1} & = & \frac{\mu\left(1-4v\mu_{2}\right)}{2\nu\mu_{2}^{3/2}}\\ \gamma_{2} & = & \frac{-6\mu^{4}\nu+\left(8\nu-2\right)\mu^{2}-2\nu+1}{\nu\mu_{2}^{2}} \end{eqnarray*}

實作:scipy.stats.nakagami

SciPy 中 Nakagami 分布的 MLE (nakagami.fit)#

SciPy 中 nakagami 分布的機率密度函數為

\begin{equation} f(x; \nu, \mu, \sigma) = 2 \frac{\nu^\nu}{ \sigma \Gamma(\nu)}\left(\frac{x-\mu}{\sigma}\right)^{2\nu - 1} \exp\left(-\nu \left(\frac{x-\mu}{\sigma}\right)^2 \right),\tag{1} \end{equation}

對於 \(x\) 使得 \(\frac{x-\mu}{\sigma} \geq 0\),其中 \(\nu \geq \frac{1}{2}\) 是形狀參數,\(\mu\) 是位置,而 \(\sigma\) 是尺度。

因此,對數概似函數為

\begin{equation} l(\nu, \mu, \sigma) = \sum_{i = 1}^{N} \log \left( 2 \frac{\nu^\nu}{ \sigma\Gamma(\nu)}\left(\frac{x_i-\mu}{\sigma}\right)^{2\nu - 1} \exp\left(-\nu \left(\frac{x_i-\mu}{\sigma}\right)^2 \right) \right),\tag{2} \end{equation}

可以展開為

\begin{equation} l(\nu, \mu, \sigma) = N \log(2) + N\nu \log(\nu) - N\log\left(\Gamma(\nu)\right) - 2N \nu \log(\sigma) + \left(2 \nu - 1 \right) \sum_{i=1}^N \log(x_i - \mu) - \nu \sigma^{-2} \sum_{i=1}^N \left(x_i-\mu\right)^2, \tag{3} \end{equation}

忽略支援限制,概似導數的最佳化一階條件給出了參數的估計

\begin{align} \frac{\partial l}{\partial \nu}(\nu, \mu, \sigma) &= N\left(1 + \log(\nu) - \psi^{(0)}(\nu)\right) + 2 \sum_{i=1}^N \log \left( \frac{x_i - \mu}{\sigma} \right) - \sum_{i=1}^N \left( \frac{x_i - \mu}{\sigma} \right)^2 = 0 \text{,} \tag{4}\\ \frac{\partial l}{\partial \mu}(\nu, \mu, \sigma) &= (1 - 2 \nu) \sum_{i=1}^N \frac{1}{x_i-\mu} + \frac{2\nu}{\sigma^2} \sum_{i=1}^N x_i-\mu = 0 \text{, and} \tag{5}\\ \frac{\partial l}{\partial \sigma}(\nu, \mu, \sigma) &= -2 N \nu \frac{1}{\sigma} + 2 \nu \sigma^{-3} \sum_{i=1}^N \left(x_i-\mu\right)^2 = 0 \text{,}\tag{6} \end{align}

其中 \(\psi^{(0)}\)\(0\) 階多伽瑪函數;即 \(\psi^{(0)}(\nu) = \frac{d}{d\nu} \log \Gamma(\nu)\)

然而,分布的支援是 \(x\) 的值,對於這些值 \(\frac{x-\mu}{\sigma} \geq 0\),這提供了一個額外的約束,即

\begin{equation} \mu \leq \min_i{x_i}.\tag{7} \end{equation}

對於 \(\nu = \frac{1}{2}\),對數概似函數關於 \(\mu\) 的偏導數簡化為

\begin{equation} \frac{\partial l}{\partial \mu}(\nu, \mu, \sigma) = {\sigma^2} \sum_{i=1}^N (x_i-\mu), \end{equation}

當滿足支援約束時,它是正數。由於關於 \(\mu\) 的偏導數為正數,增加 \(\mu\) 會增加對數概似函數,因此約束在 \(\mu\) 的最大概似估計處為有效

\begin{equation} \mu = \min_i{x_i}, \quad \nu = \frac{1}{2}. \tag{8} \end{equation}

對於 \(\nu\) 充分大於 \(\frac{1}{2}\),概似方程式 \(\frac{\partial l}{\partial \mu}(\nu, \mu, \sigma)=0\) 有一個解,並且此解提供了 \(\mu\) 的最大概似估計。然而,在任一種情況下,條件 \(\mu = \min_i{x_i}\) 都為數值最佳化提供了合理的初始猜測。

此外,\(\sigma\) 的概似方程式可以明確求解,並且它提供了最大概似估計

\begin{equation} \sigma = \sqrt{ \frac{\sum_{i=1}^N \left(x_i-\mu\right)^2}{N}}. \tag{9} \end{equation}

因此,nakagami_fitstart 方法使用

\begin{align} \mu_0 &= \min_i{x_i} \, \text{與} \\ \sigma_0 &= \sqrt{ \frac{\sum_{i=1}^N \left(x_i-\mu_0\right)^2}{N}} \end{align}

作為數值最佳化的初始猜測。