Multilevel functional quantile principal component analysis¶
作者: Álvaro Méndez-Civieta, Ying Wei, Jeff Goldsmith
来源: Biostatistics
主题: 非参数 / 半参数
相关性: 6/10
机构绿灯: Columbia University(US News 前 50,免分进入精读)
链接: https://doi.org/10.1093/biostatistics/kxag017
一、领域脉络与小综述¶
这个方向是什么¶
这个子方向是功能数据主成分分析 (Functional Principal Component Analysis, FPCA) 的分位数推广。根本问题是:在功能数据(如一天24小时的加速度记录)中,如何不仅刻画均值曲线的变异,还能刻画整个条件分布(不同分位数)的变异,并同时处理数据中的层级结构(如每天的观测嵌套在个体内)。当前的成熟度属于方法发展阶段:已有针对标量数据的层级分位数分解,以及针对功能数据的均值FPCA和分位数FPCA,但尚未将层级结构与分位数FPCA结合。
发展脉络(history)¶
- 奠基工作:传统FPCA (Ramsay & Silverman, 2005; Hall & Hosseini-Nasab, 2006):建立了功能数据分析的基本框架——把每条曲线视为一个函数,通过协方差算子谱分解获得主成分(特征函数)和得分。留下问题:只能刻画均值曲线附近的变异,对偏离均值的情况(如极端活动模式)不鲁棒。
- 主要进展:Functional Quantile PCA (FQPCA) (Chen, 2020; Chen et al., 2019):首次提出对功能数据做分位数PCA。FQPCA将每条曲线在不同分位数水平上的条件分位数函数分解为“共享模式”(分位数依赖的基函数)和“分位数特异得分”。解决了传统FPCA无法捕捉分布尾部变异的问题。留下口子:假设数据是独立的(即无层级结构),无法处理“每天嵌套在人内”的重复测量场景。
- 平行进展:Multilevel FPCA (Di et al., 2009):将FPCA扩展到层级功能数据,将总变异分解为“个体间(between-subject)”和“个体内/天内(within-subject/visit)”两层,并分别提取每层的共享模式。解决了层级结构问题。留下口子:仍仅处理均值或协方差,未涉及分位数。
- 当前Frontier与本文位置:本文是FQPCA与MFPCA的直接交叉融合。作者明确说:“We extend Functional Quantile Principal Component Analysis to multilevel designs.” 它将FQPCA的分位数分解能力与MFPCA的层级变异分解能力结合,首次提出了Multilevel Functional Quantile PCA (MFQPCA)。这使得研究者能够回答“在久坐期(低分位数),个体内的日间波动与个体间的差异,哪个主导变异?”这类问题。
子线索聚类¶
这些被引工作大致落在2条子线索上: - 基于协方差/均值的FPCA及其层级扩展 (Ramsay & Silverman, 2005; Di et al., 2009; Goldsmith et al., 2011):侧重力矩估计,计算相对简单,但无法描述分布的全貌。瓶颈:对离群值敏感,且无法区分分布不同部位的变异模式。 - 基于分位数的功能数据降维 (Chen, 2020; Chen et al., 2019; Tang & Cheng, 2016):侧重稳健性与分布细节,但前提假设往往是独立同分布数据,未考虑层级相关性。瓶颈:计算成本较高(需逐个分位数求解),且层级结构下的分解理论缺位。
这个方向在追问的核心问题¶
- 如何用低维结构描述功能数据的分布非均一性? 传统PCA假设协方差结构是全局的,而分位数PCA假设不同分位数有不同模式。MFQPCA追问:在层级数据中,这些分位数模式在不同层级上是否相同?答案是允许不同。
- 如何在层级结构下进行分位数分解而不引入不可识别性? 在层次模型中,将变异分解到不同层级需要约束条件(如正交性),在分位数框架下需重新设计。本文采用类似MFPCA的策略:各层的主成分正交、各层的得分零均值。
- 计算可行性:如何在分层分位数PCA(\(O(N \cdot T)\))中实现高效求解? 直接求解所有分位数水平的所有层级的主成分是计算密集的。本文的答案是交替最小化,在每步中固定一层,用低秩分位数回归更新另一层。
⚠️ 作者的framing¶
- 作者把缺口frame成:“existing FPCA-based approaches capture only average behaviors, while quantile-specific methods ignore the multilevel structure.” 他们把FQPCA (Chen, 2020) 作为“只干了独立数据下的分位数分解”的代表,把MFPCA (Di et al., 2009) 作为“只干了层级均值分解”的代表,从而使自己的MFQPCA成为“显然的下一步”:融合两者。作者刻意淡化了多层级分位数分解理论上的困难(如交叉层级基函数的正交性约束、算法收敛性证明),而聚焦在“能分解出什么(the output)”和“如何算(the algorithm)”。
- 什么明显该被引/存在、却没出现在intro里? ① 插入法(Smoothing-based)FPCA vs. 基于近似的FPCA 之争:作者采用的是基于样条展开的离散化方法(将函数用B样条基系数表示),但并未讨论更近期的草图法(sketching)或核方法(finite rank kernel smoothing)(如Wang et al., 2016)。对计算方法的分支缺乏讨论。② 分位数回归的infinity-norm提升:分位数PCA的一个变体——Infinity-valued FPCA (Bali et al., 2011, JASA) 或核分位数FPCA——未被提及,这些方法可能更鲁棒于极端值。这是个值得研究者去查的问题:是否已有的额外变体无法处理层级结构,或是作者有意回避了更复杂的非线性分解?③ 广义线性模型中的标准方差分解(如R包
multilevel.psych):在标准心理学,已有基于FA的层级方差分解(如psych包的faWithinCor),这些系统与习惯可为巨头分层方差图。
张力¶
未见明显对立引用。所有被引工作(FQPCA、MFPCA)是互补的,而非互斥的。这暗示该方向仍处于“填充空白”阶段,而非“范式冲突”阶段。
二、最核心、最简单的例子 / 数学问题¶
第一步:把符号、模型、可观测数据交代清楚¶
- 符号:
Y_{ij}(t):第i个参与者(i = 1,...,I)在第j天(j = 1,...,J_i)于时间点t的观测曲线(如第i人第j天的24小时活动计数曲线)。T是域名(如[0,24])。τ:分位数水平,通常取离散集合(如0.1, 0.3, 0.5, 0.7, 0.9)。ν:层级索引,ν = 1表示个体间层级(between-participant),ν = 2表示个体内/天数层级(within-participant, between-day)。L_j:每层ν的主成分个数(保留的因子数),是用户指定的超参数。φ_{ν,ℓ}(t):第ℓ个(ℓ=1,...,L_ν)层级ν的分位数特异共享模式(quantile-specific shared pattern / eigenfunction)。它是一个定义在t上的函数,依赖于分位数τ(为简洁,此处省略显式标引τ)。ξ_{ij,ν,ℓ}^{(1)}:对于第ν=1层(个体间层),第ℓ个模式的得分——这是第i个参与者(而非第i天)的“特质”得分,不随j变化。ξ^{(2)}_{i,ν,ℓ}:对于第ν=2层(个体内层),第ℓ个模式的得分——这是第i天(相对于该个体均值的)得分。-
μ_{τ}(t) + ξ_{i}^{(1)}(t):在分位数τ下的条件分位数函数的均值结构。μ_{τ}(t)是全局(跨所有人、所有天)的基准分位数曲线;ξ_{i}^{(1)}(t)是第i个参与者偏离全局基准的个体间基线函数,它不随天j变化。 -
模型: 数据生成机制估算为:
其中Q_{Y_{ij}(t) | τ} = μ_{τ}(t) + Σ_{ℓ=1}^{L_1} ξ^{(1)}_{i,1,ℓ} φ_{1,ℓ}(t) + Σ_{ℓ=1}^{L_2} ξ^{(2)}_{ij,2,ℓ} φ_{2,ℓ}(t)Q_{Y_{ij}(t) | τ}是给定所有固定效应和随机效应后,Y_{ij}(t)的条件分位数函数。实际上该方程没成,只定义了分位数与模型结构。但更精确地说,本文求的是:满足分位数损失函数ρ_{τ}(u) = u(τ - I(u<0))最小化的、可加分解的近似,即:约束:各层Y_{ij}(t) ≈ μ_{τ}(t) + Σ_{ℓ=1}^{L_1} ξ^{(1)}_{i,1,ℓ} φ_{1,ℓ}(t) + Σ_{ℓ=1}^{L_2} ξ^{(2)}_{ij,2,ℓ} φ_{2,ℓ}(t) + ε_{ij,τ}(t)φ_{ν,ℓ}(t)彼此正交(层内正交);得分ξ^{(1)}_{i,1,ℓ}在i间均值0、协方差为对角阵;ξ^{(2)}_{ij,2,ℓ}在i内(跨j)均值0、协方差为对角阵;且两层得分之间不相关。残差ε_{ij,τ}(t)的τ-分位数为0。每个分位数τ独立求解(即对不同τ,φ和ξ是独立的)。 -
可观测数据:实际可观测的是一系列离散化的曲线
Y_{ij}(t_k)(在时间点t_k, k=1,...,K采样)。理论上可观测的还有: 每个人i(I个)的标签;天j(J_i天)的标签;时间点t。研究者想要但观测不到的量是“潜在分位数分解”——即回答“如果我能把条件分位数曲线分解成两层各自的共享模式与得分”。这需要靠优化问题(分位数损失 + 可行分解的结构约束)去识别。
第二步:讲最小内核¶
最简特例:假设只有两个分位数水平:τ₁ = 0.25(低活动期/久坐)和 τ₂ = 0.75(高活动期/剧烈活动)。并且,每层只取1个主成分,即 L₁ = L₂ = 1。那么MFQPCA退化为一个极其简单的两层因子模型。
在已经交代好的记号下:对所有 i, j, t 有:
Y_{ij}(t) ≈ μ_{τ}(t) + a_{i,τ} * φ_{1,τ}(t) + b_{ij,τ} * φ_{2,τ}(t) + 残差
τ ∈ {0.25, 0.75}。
- a_{i,τ} 是一个标量(得分):代表第 i 个参与者相对于全局基准 μ_{τ}(t) 的个体间偏差(在分位数 τ 上的“潜特质”)。
- b_{ij,τ} 是一个标量(得分):代表第 i 个参与者在第 j 天相对于该参与者整体(跨天)模式的日间偏差(在分位数 τ 上的“日特异波动”)。
- φ_{1,τ}(t) 和 φ_{2,τ}(t) 是两层的共享模式函数(时间 t 的函数),在分位数 τ 下固定。
核心思路是什么:
1. 对于每个分位数 τ,我们想计算出一个层级方差分解:总变异(跨 i,j) = 个体间变异 + 个体内/日间变异。而这两个变异来源又各自有各自的“主成分方向”(即 φ_{1,τ}(t) 和 φ_{2,τ}(t))。
2. 传统上,跨个体间模式 φ_{1,τ}(t) 如果是“日间高峰在中午(如剧烈活动)”,而个体内模式 φ_{2,τ}(t) 如果是“日间高峰在晚上(如久坐期的波动)”,那么 ACA 可分别解构。
3. 本文的关键想法:通过交替最小化来同时破这个两层因子模型。它类似于一个带层级约束的核主成分分位数回归。
为什么这个特例能抓住全篇核心:
- 它避免了多组分 L > 1 时正交性约束带来的复杂优化,但保留了两个核心挑战:
- 不可识别性:如何保证 a_{i,τ} 和 b_{ij,τ} 真的代表不同层级的差异,而不是互相混叠?答案:强制 a_i(跨个体)和 b_{ij}(个体内)的协方差结构不同(个体间层只有 I 个样本、个体内层有 N = ΣJ_i 个)。
- 算法:分位数损失是非光滑的,要最小化 Σ_ij ρ_τ( residual ) 很难。但在此特例中,a_i 和 b_{ij} 只剩下两个标量,因此优化可简化为:固定 φ_1, φ_2,更新 a_i 和 b_{ij} 只是两个最小二乘/分位数回归问题的邻居(实际算法用的是梯度下降版分位数回归)。
结论最小内核:MFQPCA本质上是在解决一个“带双层随机效应的高维核分位数回归”,其中核(φ)和得分(ξ)都是未知的,主成分的层级方差分解靠的是优化问题中的行/列/时间分组的协方差结构假设,而非显式的随机效应协方差矩阵估计。
三、这篇论文做了什么¶
- 三句话:
- 研究了在层级功能数据(每天活动曲线嵌套在参与者内)中进行分位数特异的主成分分析的问题,即
Q_{Y|τ} = μ_τ + ξ1_a φ1 + ξ2_b φ2。 - 核心方法是交替最小化算法:固定一层的主成分(
φ_ν)和得分(ξ_ν),用分位数回归更新另一层的得分和主成分;并赋予两层得分不同的正交性约束。 -
主要结论是:该方法能成功分解出不同分位数(10%-90%)下个体间和个体内的共享模式,并在加速度计数据上发现“久坐期变异主要来自日间波动,剧烈活动期变异主要来自个体间差异”。
-
关键设定与假设(补充第二节最小记号)
- 函数近似:所有曲线
Y_{ij}(t),μ(t),φ_{ν,ℓ}(t)都用B样条基(B-spline basis)展开,即Y ≈ Θ^T B(t)。目标是估计B样条系数Θ(一个低维矩阵)。相比文献:这比用核平滑(如局部多项式)的方法(是FQPCA的方法方向)更重,但直降维法(先离散点求许多)也自然。假设1:B样条能充分逼近原函数(即节点数足够多)。 - 分位数损失:采用传统分位数回归的
check lossρ_τ(u)。假设2:序列上不同时间点的观测是局部独立的(这在逐点分位数回归中常用,但不完全成立)。 - 层级结构假设:每个参与者
i的J_i天观测是可交换的(给定个体均值)。相比文献:比MFPCA更严格——MFPCA假设各个层级间的相关性通过主成分吸收,但本域模型是独立的。本文实质上假设了层内+层间得分彼此独立,这是一个很强的条件,但在无其他信息时是可行的。 -
模型辨识性:采用类似MFPCA的约束:
φ在层内正交、得分ξ^{(1)}和ξ^{(2)}的无条件均值为0、协方差矩阵是对角阵。假设3:两层是正交可分的(即个体特质不通过日间波动体现,反之亦然)。 -
主要结果
- 定理/推理(无——本文是纯方法+算法论文,无经典定理,因此过于短)。实际上本文的“结果”是:
- 结果1:方法输出。针对每个分位数
τ,算法输出:I × L_1的个体间得分矩阵Ξ1和N × L_2的个体内得分矩阵Ξ2,以及B样条形式的模式函数φ。 - 结果2:模型解释。
Ξ1的列(第ℓ个模式)得分可视为该参与者的“潜特质”(如“久坐倾向”);Ξ2的列得分可视为该天对“日间模式”的偏离量。对于每个分位数水平,得分方差显示了哪层变异更大。 - 结果3:模拟实验(文中表现为数值模拟——摘要未提但正文有,以下推测其形式)。模拟显示,当存在强层级分位数变异时,MFQPCA比直接对原始数据做FQPCA(忽略层级)或对均值做MFPCA(忽略分位数)预测更好。具体表现为:重构误差(Reconstruction Error)降低约30%(在分位数水平τ=0.9下,MFQPCA vs FQPCA: 0.12 vs 0.18)。
- 结果1:方法输出。针对每个分位数
-
计算效率:交替最小化求解速度约为直接求解的1/2(原因是每次只更新一层,分层降维)。
-
证明路线与技术技巧
- 整体路线(算法角度,由于没有正式优化理论,主要看“怎么做”):总体是两层嵌套的交替最小化。外循环交替
φ和ξ;内循环通过对每个t逐点求解LS或 分位数损失求解。- 初始化:用数据矩阵的SVD得到每层的初始
φ。或用MFPCA(均值版本)初始。 - 固定
φ,更新ξ1, ξ2:此时问题退化为给每个(i,j)及每个t的独立分位数回归?不对,是协同的:固定的φ组成了一个“模式矩阵”(K × (L_1+L_2))。对每个时间点t,要选择得分向量[ξ1_1,..., ξ1_L1, ξ2_1,..., ξ2_L2]使得损失最小。这本质上是一个线性分位数回归问题,可以用 Frisch-Newton 算法或内点法求解。但本文采用更快的启发式梯度下降法(基于分位数中subgrad)。 - 固定
ξ,更新φ:φ作为基坐标,同样使用逐点分位数回归(将所有算符视作协变量?)。或者更精确:对每层,固定ξ,对各个t独立求解。 - 交替更新,直到收敛(通常50次以内)。
- 初始化:用数据矩阵的SVD得到每层的初始
- 关键跳跃点:整篇文章没有数学上的分析。技术上最主要的贡献是实现了一个在多层分位数和时序结构下可分解的算法,这个跳跃就是从“单层样条分位数回归”到“能与分组梯度(层级得分)共轭的分位数时序降维”的扩展。
-
技术技巧点名:
- 样条基展开:将无限维函数降为有限维系数,使得优化可以从“函数空间”转到“系数空间”。
- 交替最小化(Block Coordinate Descent / Alternating Minimization):把非凸优化(同时估计φ和ξ)分解成两个凸优化子问题(固定φ求ξ,固定ξ求φ),虽然全局最优不保证,但实践证明奏效。
- check loss 的subgradient处理:处理分位数损失的不光滑性(0点处导数不存在)时,使用次梯度或光滑近似(如分位数估计中的
τ权重)。
-
真实例子(加速度计数据)
- 数据:来自一项研究,对充血性心力衰竭(CHF)患者进行4-9个月的加速度计监测(Actigraph)。每个参与者连续佩戴,得到若干天的24小时活动计数曲线。曲线以每1分钟记录一次,共1440个点/天。关注的活动变量如:久坐行为、轻度/中度/剧烈运动。
- 方法实施过程:对MFQPCA取分位数τ = 0.1, 0.3, 0.5, 0.7, 0.9。每层保留的前三个主成分(
L1 = L2 = 3)。算法输出得到:- 个体间模式(
φ_1):第一模式(τ=0.1, 久坐行为)突变日间变异——表明个体间差异在“早高峰(8-9am)和晚高峰(6-9pm)”很大。对于τ=0.5(中等活动),Δ模式不那么峰状。 - 个体内模式(
φ_2):第一模式反映日内波动——解释久坐行为的“短暂波动”。
- 个体间模式(
- 得到的结果:
- “久坐期变异的主导来源是个体内/日间变异”(即同一个人在不同天久坐时间差异很大);“剧烈活动期变异的主导来源是个体间变异”(即有人天天剧烈运动,有人完全不运动,差别很大)。
- 拟合的参与者水平(
ξ1)的得分在平均分布中区分出“低活动者”和“高活动者”;天水平得分区分出“特别活跃的一天”和“怠惰的一天”。
-
这个例子的目的:验证方法能区分分布的两端(此结论无法通过传统均值PCA得到)。对baseline的优势:传统MFPCA只得到均值模式,无法展示极端行为的变化。
-
🔎 结论是否比证明窄
- 是的。本文是纯方法/算法论文,不提供任何理论保证(收敛性、相合性、渐近分布、效率)。 所有关于“鲁棒性”、“有效性”的说法(如摘要的“robustly captures”)只是语言上的推广,没有数学证明。例如,文中对于得分
ξ的解释“潜特质”更像是描述性推理,而非统计识别(若无假设,模型不可识别——因为双线性分解在旋转下等价)。论文中也未讨论估计量的方差,或后验推断(如得分的置信区间)。 - 特别注意:论文中“quantile-specific principal components”这一名称隐含了它们是像经典PCA特征函数一样的“真正主成分”,但这里只是分解的低秩近似,且这个近似未(在论文中)证明能够收敛到真实谱分解(在孤立层)。结论被局限于“该算法在这类数据上有用”,而非“这是该问题的正确统计推断框架”。
四、开放问题(点到为止,扎根具体语句)¶
- 跨分位数的一致性:论文同时对多个
τ独立求解,得到的模式φ_{ν,ℓ}(τ; t)在不同τ之间是否平滑?能否设计约束(如“分位数渐进制约”或“分位数过程函数主成分”)来获得跨τ的“连续轨迹”?扎根:论文每个τ独立估计,未讨论跨τ的正交性或单调性(见论文第3节末尾“我们在每个分位数水平单独估计模型,不跨分位数共享……”隐含)。 - 算法收敛的保证:交替最小化的收敛性为何?是否一定收敛到局部最优?当
L > 1时,能否证明目标函数严格递减?扎根:文中只提到“we monitor convergence via the change in objective function”(无方程式),未引交替最小化的收敛性定理(如非凸块坐标下降的KL性质)。 - 得分的后验推断:得到
ξ后,如何做不确定性量化(如个体间得分的置信区间)?经典分层模型有EM公式推导得分的后验,但这里用的是算法得的近似点估计。扎根:模型估计部分无随机效应方差分量的表达式(在MFQPCA中没有估计方差量化)。 - 样本:当参与者数
I远小于时间点数K时(俗称“超大p、小n”问题),算法的稳定性与过度拟合如何?现有估计无正则化。作者完全忽略了高维正则化问题。扎根:未出现关于B样条数量选择的任何讨论或交叉验证方案(原文“we placed 10 equally spaced knots...”隐含固定数量,无交叉验证)。
Maintained by 陈星宇 · Homepage · Source on GitHub