19.2.2. Zero-inflate 模型¶
零膨胀(Zero-inflate)计数模型是由 Lambert(1992) 首次提出的,
它提供了另一种解决过多零计数的方法。
与 Hurdle 模型一样,它也是两部分模型,由二分类和计数模型组成。
与 Hurdle 模型不同的地方在于,
零膨胀模型提供了同时使用二分类和计数过程对零计数进行建模的功能。
Hurdle 模型将零的建模与计数的建模分开,这意味着只有一个过程会生成零,
从对数似然函数中也能看到这一点。
与之不同的时,零膨胀模型将零计数合并到二分类和计数过程中。
和 Hurdle 模型是类似的是,零膨胀模型也是一个两段式的模型,二分类模型和计数模型组合在一起,
不同的地方在于,划分的方法不太一样。
零膨胀模型把数据中的 \(0\)
看做两部分,一部分是二分类模型产生,另一部分由计数模型产生。
这里的计数模型既负责一部分 \(0\) 的数据,又负责非 \(0\) 的数据,
所以这里的计数模型是一个完整的计数模型,而不是零截断计数模型,这一点和 Hurdle
模型不同。
(19.2.6)¶\[\begin{split}f(y)
=
\begin{cases}
\textsf{Binary}(0 ; \pi) + [1-\textsf{Binary}(0 ; \pi) ] \text{Count}(0;\lambda) &\quad \text{if } y = 0\\
[1-\textsf{Binary}(0 ; \pi)] \text{Count}(y;\lambda)
&\quad\text{if } y > 0
\end{cases}\end{split}\]
二分类模型部分,通常使用的是伯努利模型,连接函数常用的是 logit
, probit 和 complementary log-log
。计数模型部分常用的是泊松模型和负二项式模型,
采用泊松模型的零膨胀模型通常简称为 ZIP 模型
,采用负二项式模型的零膨胀模型通常简称为 ZINB 模型。
二分类部分和计数部分一般拥有不同的线性预测器,
假设二分类模型的线性预测器为 \(\eta^{\gamma}=z^T \gamma\)
,响应函数为 \(F(\eta^{\gamma})\)
。计数模型的线性预测器为 \(\eta^{\beta}=x^T \beta\)
,响应函数为 \(R(\eta^{\beta})\)
。下面我们分别看下 ZIP 模型和
ZINB 模型的定义。
ZIP 模型
计数模型是泊松模型的零膨胀模型称为 ZIP 模型,
把泊松模型的概率分布函数 公式(19.1.2)
代入到 公式(19.2.6)
可得到 ZIP 模型的概率分布函数。
(19.2.7)¶\[ \begin{align}\begin{aligned}P(y_i=0) &= F(\eta^{\gamma}_i) + \left [ 1-F(\eta^{\gamma}_i) \right ] \exp \left [ -R(\eta^{\beta}_i) \right ]\\P(y_i>0) &= \left [ 1-F(\eta^{\gamma}_i) \right ]
\exp \left \{ y_i \eta^{\beta}_i - R(\eta^{\beta}_i) -\ln \Gamma(y_i+1) \right \}\end{aligned}\end{align} \]
用 \(\mathcal{D}_0\) 表示观测样本集中 \(0\) 的子集,
ZIP 模型的对数似然函数可以写成两部分的和。
(19.2.8)¶\[\ell = \sum_{ i \in \mathcal{D}_0 }
\ln \left \{
F(\eta^{\gamma}_i) + [1-F(\eta^{\gamma}_i)] \exp \left [ -R(\eta^{\beta}_i) \right ]
\right \}
+
\sum_{ i \notin \mathcal{D}_0 }
\left \{
\ln [1-F(\eta^{\gamma}_i)]
+ y_i \eta^{\beta}_i - R(\eta^{\beta}_i) -\ln (y_i!)
\right \}\]
对数似然函数的一阶偏导数为
(19.2.9)¶\[ \begin{align}\begin{aligned}\frac{\partial \ell}{ \partial \beta_j} &=
-\sum_{ i \in \mathcal{D}_0 } x_{ji}
\frac{ \left [ 1-F(\eta^{\gamma}_i) \right ] R(\eta^{\beta}_i) \exp \left [ -R(\eta^{\beta}_i) \right ] }
{F(\eta^{\gamma}_i) + \left [1-F(\eta^{\gamma}_i) \right] \exp \left [ -R(\eta^{\beta}_i) \right ] }
+
\sum_{ i \notin \mathcal{D}_0 } x_{ji}(y_i - R(\eta^{\beta}_i))\\\frac{\partial \ell}{ \partial \gamma_j} &=
\sum_{ i \in \mathcal{D}_0 } z_{ji}
\frac{F'(\eta^{\gamma}_i) \left \{ 1- \exp \left [ -R(\eta^{\beta}_i) \right ] \right \} }
{F(\eta^{\gamma}_i) + \left [1-F(\eta^{\gamma}_i) \right] \exp \left [ -R(\eta^{\beta}_i) \right ] }
- \sum_{ i \notin \mathcal{D}_0 } z_{ji}
\frac{F'(\eta^{\gamma}_i)}{ 1-F(\eta^{\gamma}_i) }\end{aligned}\end{align} \]
其中 \(F'(\eta^{\gamma}_i)\) 表示 \(F(\eta^{\gamma}_i)\)
对 \(\gamma\) 的导数。
ZINB 模型
计数模型是负二项式模型的零膨胀模型称为 ZINB 模型,
把负二项式模型的概率分布函数 公式(19.1.6)
代入到 公式(19.2.6)
可得到 ZINB 模型的概率分布函数。
(19.2.10)¶\[ \begin{align}\begin{aligned}m &= 1/\alpha\\p_i &= 1/(1+\alpha \mu_i)\\\mu_i &= R(\eta^{\beta}) = \exp(x_i \beta)\\P(y_i=0) &= F(\eta^{\gamma}_i) + [ 1- F(\eta^{\gamma}_i) ] p_i^m\\P(y_i>0) &= [ 1- F(\eta^{\gamma}_i) ] \frac{\Gamma(m+y_i)}{\Gamma(y_i+1)\Gamma(m)}p_i^m(1-p_i)^y_i\end{aligned}\end{align} \]
ZINB 模型的对数似然函数为
(19.2.11)¶\[ \begin{align}\begin{aligned}\ell = &\sum_{ i \in \mathcal{D}_0 } \ln \left \{ F(\eta^{\gamma}_i) + [ 1- F(\eta^{\gamma}_i) ] p_i^m \right \}\\&+ \sum_{ i \notin \mathcal{D}_0 }
\left \{ \ln [ 1- F(\eta^{\gamma}_i) ]
+ \ln \Gamma(m+y_i)
- \ln \Gamma(y_i+1)
- \ln \Gamma(m)
+m \ln p_i
+ y_i \ln(1-p_i)
\right \}\end{aligned}\end{align} \]
其一阶偏导导数为
(19.2.12)¶\[\frac{\partial \ell}{\beta_j} =
\sum_{ i \in \mathcal{D}_0 } x_{ji}
\frac{-[ 1- F(\eta^{\gamma}_i)] \mu_i p_i^{m+1}}
{F(\eta^{\gamma}_i) + [ 1- F(\eta^{\gamma}_i)] p_i^m}
+ \sum_{ i \notin \mathcal{D}_0 }
x_{ji}p_i(y_i-\mu_i)\]
(19.2.13)¶\[\frac{\partial \ell}{\gamma_j} =
\sum_{ i \in \mathcal{D}_0 } z_{ji}
\frac{F'(\eta^{\gamma}_i)(1-p_i^m)}
{F(\eta^{\gamma}_i)+[ 1- F(\eta^{\gamma}_i)]p_i^m}
+ \sum_{ i \notin \mathcal{D}_0 } z_{ji}
\frac{-F'(\eta^{\gamma}_i)}{1-F(\eta^{\gamma}_i)}\]
(19.2.14)¶\[ \begin{align}\begin{aligned}\frac{\partial \ell}{\partial \alpha} = &-
\sum_{ i \in \mathcal{D}_0 }
\frac{m^2p_i^m \ln p_i -m\mu_i p_i^{m-1}}
{F(\eta^{\gamma}_i) + [1-F(\eta^{\gamma}_i)] p_i^m}\\&- \sum_{ i \notin \mathcal{D}_0 } \alpha^{-2}
\left \{
\frac{\alpha(\mu_i-y_i)}{1+\alpha \mu_i}
-ln(1+\alpha \mu_i)
+ \psi(y_i + 1/\alpha) - \psi(1/\alpha)
\right \}\end{aligned}\end{align} \]
其中 \(\psi\) 表示双伽马函数(digamma function)