基于狄利克雷回归(Dirichlet Regression)的多元比例因变量建模
题目描述
狄利克雷回归是一种用于建模多元比例因变量的统计方法。这类因变量是构成一个“总和为1”的向量(例如,一个文档中多个主题的分布、一天24小时各类活动的时间占比、一项投资组合中不同资产的比例等),每个分量都在0到1之间,且所有分量之和严格等于1。此类数据不满足传统线性回归或多项逻辑回归的假设(如高斯分布误差或类别相互独立)。狄利克雷回归直接为这些比例本身建模,它假设因变量向量服从狄利克雷分布,其参数由一个关于自变量的线性或非线性函数(通过一个链接函数)来定义。这个算法将向你展示,如何建立模型、估计参数并进行预测。
解题过程讲解
为了让你透彻理解,我们从问题的本质出发,循序渐进。
步骤一:理解数据与核心模型假设
-
因变量特性:假设我们有一组观测数据。对于第 \(i\) 个样本,其因变量是一个 \(K\) 维向量 \(\mathbf{y}_i = (y_{i1}, y_{i2}, \dots, y_{iK})\),满足:
- \(0 < y_{ik} < 1\) 对于所有 \(k\)
- \(\sum_{k=1}^{K} y_{ik} = 1\)
这被称为成分数据。
-
自变量:每个样本有一组 \(p\) 个自变量(特征),记为向量 \(\mathbf{x}_i\)。
-
核心假设:我们假设每个样本的因变量向量 \(\mathbf{y}_i\) 服从一个 \(K\) 维狄利克雷分布。
- 狄利克雷分布是定义在 \((K-1)\) 维单纯形上的连续概率分布,完全适合描述成分数据。
- 它的概率密度函数为:
\(
f(\mathbf{y}i | \boldsymbol{\alpha}i) = \frac{1}{B(\boldsymbol{\alpha}i)} \prod{k=1}^{K} y{ik}^{\alpha{ik} - 1}
\)
其中,\(\boldsymbol{\alpha}_i = (\alpha_{i1}, \alpha_{i2}, \dots, \alpha_{iK})\) 是一个 \(K\) 维的参数向量,且每个 \(\alpha_{ik} > 0\)。
\(B(\boldsymbol{\alpha}_i)\) 是多元Beta函数,它是归一化常数,确保概率密度积分为1。
步骤二:建立预测模型——链接因变量与自变量
我们不能直接假设参数 \(\alpha_{ik}\) 是常数,而是希望它们随自变量 \(\mathbf{x}_i\) 变化,从而建立预测模型。关键的一步是定义链接函数。
-
设定参数化形式:狄利克雷分布的期望(均值)向量为:
\(
\mathbb{E}[y_{ik}] = \frac{\alpha_{ik}}{\alpha_{i0}}, \quad \text{其中} \quad \alpha_{i0} = \sum_{k=1}^{K} \alpha_{ik}
\)
均值向量 \(\boldsymbol{\mu}_i = (\mu_{i1}, \dots, \mu_{iK})\) 恰好满足成分数据的所有条件(和为1)。因此,我们选择对均值 \(\mu_{ik}\) 进行建模,而不是直接对 \(\alpha_{ik}\)。 -
引入链接函数:由于均值 \(\mu_{ik}\) 在0和1之间,我们通常使用一个logit链接函数(也可以是其他的,如cloglog)将其映射到实数域。
设我们有 \(K\) 个分量,通常选取其中一个作为“基线”(例如第 \(K\) 个)。对于 \(k = 1, 2, \dots, K-1\),我们定义:
\(
g(\mu_{ik}) = \ln\left(\frac{\mu_{ik}}{\mu_{iK}}\right) = \beta_{0k} + \mathbf{x}_i^T \boldsymbol{\beta}_k
\)
其中,\(\beta_{0k}\) 是第 \(k\) 个分量的截距项,\(\boldsymbol{\beta}_k\) 是对应于第 \(k\) 个分量的回归系数向量。这里,\(\mu_{iK} = 1 - \sum_{k=1}^{K-1} \mu_{ik}\)。 -
从链接函数反解均值:根据logit定义,我们有:
\(
\mu_{ik} = \frac{\exp(\beta_{0k} + \mathbf{x}i^T \boldsymbol{\beta}k)}{1 + \sum{j=1}^{K-1} \exp(\beta{0j} + \mathbf{x}i^T \boldsymbol{\beta}j)} \quad \text{对于} \ k = 1, \dots, K-1
\)
\(
\mu{iK} = \frac{1}{1 + \sum{j=1}^{K-1} \exp(\beta_{0j} + \mathbf{x}_i^T \boldsymbol{\beta}_j)}
\)
这样,对于任何给定的自变量 \(\mathbf{x}_i\) 和模型参数 \(\boldsymbol{\beta}\),我们都能计算出预测的均值比例 \(\boldsymbol{\mu}_i\)。 -
关联回狄利克雷参数:一旦有了均值 \(\boldsymbol{\mu}_i\),我们还需要一个精度参数 \(\phi_i = \alpha_{i0}\)(所有 \(\alpha_{ik}\) 的和)来唯一确定狄利克雷分布。
- 精度参数 \(\phi_i\) 控制了分布的离散程度:\(\phi_i\) 越大,方差越小,数据越集中在均值附近。
- \(\phi_i\) 可以是常数,也可以与自变量有关(例如,\(\ln(\phi_i) = \mathbf{x}_i^T \boldsymbol{\gamma}\))。
- 最终,狄利克雷参数 \(\alpha_{ik}\) 可以通过 \(\alpha_{ik} = \mu_{ik} \phi_i\) 计算得到。
步骤三:参数估计——最大化对数似然函数
模型参数 \(\boldsymbol{\Theta} = \{\beta_{0k}, \boldsymbol{\beta}_k, \phi\}\) 需要通过最大化数据的对数似然函数来估计。
-
写出样本的对数似然:假设 \(N\) 个样本独立,将所有样本的狄利克雷密度函数相乘,并取对数:
\(
\ell(\boldsymbol{\Theta}) = \sum_{i=1}^{N} \left[ \ln \Gamma(\phi_i) - \sum_{k=1}^{K} \ln \Gamma(\mu_{ik} \phi_i) + \sum_{k=1}^{K} (\mu_{ik} \phi_i - 1) \ln(y_{ik}) \right]
\)
这里,\(\Gamma(\cdot)\) 是Gamma函数。注意,\(\mu_{ik}\) 是通过链接函数由 \(\boldsymbol{\beta}\) 和 \(\mathbf{x}_i\) 计算得到的,\(\phi_i\) 可能由 \(\boldsymbol{\gamma}\) 和 \(\mathbf{x}_i\) 计算(或为常数)。 -
数值优化求解:
- 对数似然函数 \(\ell(\boldsymbol{\Theta})\) 关于参数 \(\boldsymbol{\beta}\) 和 \(\boldsymbol{\gamma}\) 的导数(梯度)非常复杂,但可以推导出来。
- 我们无法像线性回归那样直接得到参数的解析解。因此,必须使用数值优化算法来找到最大化 \(\ell(\boldsymbol{\Theta})\) 的参数值。
- 最常用的方法是迭代重加权最小二乘法(IRLS) 或更通用的拟牛顿法(如BFGS算法)。这些算法会:
a. 从一组初始参数猜测开始。
b. 计算当前参数下的对数似然值及其梯度(以及可能的海森矩阵)。
c. 沿着梯度上升的方向(或利用海森矩阵信息)更新参数。
d. 重复迭代,直到对数似然值的变化小于某个阈值,或梯度接近零,此时认为算法收敛。
步骤四:模型评估与预测应用
-
模型评估:
- 拟合优度:可以通过比较模型的偏差(Deviance) 来评估。偏差定义为 \(-2 \times \ell(\hat{\boldsymbol{\Theta}})\),其中 \(\hat{\boldsymbol{\Theta}}\) 是估计的参数。偏差越小,拟合越好。
- 显著性检验:类似于逻辑回归,我们可以使用Wald检验或似然比检验(LRT) 来检验单个或一组回归系数 \(\beta_k\) 是否显著不为零。这回答了“自变量 \(\mathbf{x}\) 是否显著影响比例分量 \(k\)”的问题。
-
预测:
- 预测均值:对于一个新的自变量向量 \(\mathbf{x}_{\text{new}}\),我们只需将估计的参数 \(\hat{\boldsymbol{\beta}}\) 代入步骤二的公式,即可计算出预测的比例均值 \(\hat{\boldsymbol{\mu}}_{\text{new}}\)。这是模型的主要预测输出。
- 预测分布:我们还可以得到完整的预测分布,即一个参数为 \(\hat{\alpha}_{\text{new},k} = \hat{\mu}_{\text{new},k} \hat{\phi}\) 的狄利克雷分布。利用这个分布,我们可以计算预测的置信区间或成分数据。例如,我们可以生成遵循该分布的随机比例向量,来量化预测的不确定性。
步骤五:总结与算法流程
- 输入:训练数据 \(\{(\mathbf{x}_i, \mathbf{y}_i)\}_{i=1}^N\),其中 \(\mathbf{y}_i\) 是 \(K\) 维成分数据。
- 模型设定:
- 假设 \(\mathbf{y}_i \sim \text{Dirichlet}(\boldsymbol{\alpha}_i)\)。
- 设定链接函数(如logit):\(g(\mu_{ik}) = \beta_{0k} + \mathbf{x}_i^T \boldsymbol{\beta}_k, \quad k=1,\dots,K-1\)。
- 设定精度参数 \(\phi\)(常数或与 \(\mathbf{x}\) 相关)。
- 参数估计:
- 构建对数似然函数 \(\ell(\boldsymbol{\Theta})\)。
- 使用数值优化算法(如BFGS)求解 \(\hat{\boldsymbol{\Theta}} = \arg\max \ell(\boldsymbol{\Theta})\)。
- 输出与应用:
- 得到参数估计值 \(\hat{\boldsymbol{\beta}}, \hat{\phi}\)。
- 进行统计推断(系数显著性检验)。
- 对于新数据 \(\mathbf{x}_{\text{new}}\),计算预测的均值比例 \(\hat{\boldsymbol{\mu}}_{\text{new}}\)。
- 可选:提供基于预测狄利克雷分布的置信区间。
狄利克雷回归的优雅之处在于,它直接尊重了比例数据的内在结构(和为1),通过一个灵活的链接函数将协变量与分布参数联系起来,并通过最大似然估计进行严谨的统计推断。