跳转至

Testing hypotheses via orthogonalization

作者: Ameer Dharamshi, Runjia Zou, Daniela Witten
主题: 数理统计 / 假设检验
相关性: 7/10
链接: https://arxiv.org/abs/2606.29732


一、领域脉络与小综述

这个方向是什么

本文所针对的根本问题是:如何在一个统一的、弱假设的框架下,对任意(可能是数据驱动的)零假设进行有效的假设检验? 传统的假设检验理论(Fisher, Neyman-Pearson)为预先指定的简单或复合零假设提供了成熟的方法。然而,当代统计学面临两个核心挑战:1)零假设变得越来越抽象和复杂(如“两个分布是否相同”);2)更关键的是,零假设本身常常是由同一份数据通过某种算法(如聚类、变量选择、变点检测)生成的,即“选择后推断”(post-selection inference)问题。该子方向当前的状态是:存在大量针对特定问题(特定选择机制、特定数据分布)的“补丁式”解决方案,但缺乏一个通用的、不依赖于对选择机制或数据分布做精细建模的框架。

发展脉络(history)

  1. 奠基工作:经典假设检验与选择后推断的起源

    • Fisher (1925, 1935, 1956); Neyman & Pearson (1967); Wald (1950):奠定了经典假设检验的理论基础。这些工作处理的是预先指定的假设,其核心是构造一个在原假设下分布已知(或渐近已知)的检验统计量。
    • Fithian, Sun, & Taylor (2014):正式提出了“选择性I类错误”(selective Type I error)的概念,即“给定该假设被选择后,检验出错的概率”。这为选择后推断提供了理论框架。他们指出,理想的选择后推断应该控制这个条件错误率。
  2. 主要进展:两条主流路线

    • 路线一:条件选择性推断(Data Carving / Conditional Selective Inference)
      • Lee, Sun, Sun, & Taylor (2016):为Lasso变量选择后的推断提供了开创性的精确解。核心思想是刻画检验统计量在“选择事件”(即Lasso选择了哪些变量)发生后的条件分布。这通常需要精确知道选择机制,且推导复杂。
      • Tian & Taylor (2018):引入了“随机化响应”(randomized response)的思想,通过在模型选择过程中注入噪声,使得选择事件的条件分布更易处理,从而放宽了部分假设。
      • Gao, Bien, & Witten (2024); Chen & Witten (2023); Jewell, Fearnhead, & Witten (2022); Hyun et al. (2021):将条件选择性推断推广到层次聚类、k-means聚类和变点检测等具体问题。这些工作都高度定制化,需要为每个新的选择规则和分布假设重新推导条件分布,且大多局限于高斯数据。
    • 路线二:数据分割与独立拆分(Data Splitting / Data Thinning / Data Fission)
      • Cox (1975):提出了最朴素的数据分割(sample splitting),将数据随机分成两部分,一部分用于选择假设,另一部分用于检验。这保证了独立性,但牺牲了统计功效。
      • Rasines & Young (2023):提出了通过向响应变量添加高斯噪声来“拆分”数据的方法,比简单数据分割更高效,但仍依赖于高斯假设。
      • Neufeld, Dharamshi, Gao, & Witten (2024); Dharamshi et al. (2025):提出了“数据瘦身”(data thinning),将数据拆分为两个独立的、分布形式相同的部分。这推广了数据分割,但严格依赖于数据分布属于“卷积封闭族”(如高斯、泊松、负二项等)。
      • Leiner, Duan, Wasserman, & Ramdas (2025):提出了“数据裂变”(data fission),允许拆分后的两部分是依赖的,但要求能解析地刻画X^(2) | X^(1)的条件分布。然而,如Dharamshi et al. (2026)所示,即使对于最简单的多元高斯分布,其推导也相当复杂,且对分布的错误设定会导致推断失效。
  3. 当前Frontier与本文位置

    • 当前的前沿是寻找一种更通用、更灵活的框架,能够处理更广泛的零假设(包括数据驱动的)和更弱的数据分布假设,而无需为每个新问题从头推导。
    • 本文的位置:本文提出了一种全新的框架,它不属于上述任何一条路线。它既不依赖于刻画选择事件的条件分布(路线一),也不依赖于拆分后数据的独立性或可解析的条件分布(路线二)。其核心思想是:通过向数据添加对称移位族噪声,构造一个“正交化”条件,然后将原假设的检验转化为检验这个正交化是否成功。作者声称,这个框架“显著放宽了适用条件”,并且“在之前没有解决方案的场景中也能进行有效的选择后推断”。

子线索聚类

  1. 条件选择性推断(Conditional Selective Inference):核心是刻画给定选择事件后的条件分布。代表工作:Lee et al. (2016), Tian & Taylor (2018), Gao et al. (2024), Chen & Witten (2023), Jewell et al. (2022), Hyun et al. (2021)。瓶颈:高度定制化,推导复杂,通常限于高斯数据。
  2. 数据拆分与随机化(Data Splitting & Randomization):核心是通过拆分数据来创造独立或条件可解析的副本。代表工作:Cox (1975), Rasines & Young (2023), Neufeld et al. (2024), Dharamshi et al. (2025), Leiner et al. (2025)。瓶颈:要么牺牲功效(数据分割),要么对数据分布有严格要求(数据瘦身/裂变)。
  3. 矩条件检验(Moment Condition Testing):将原假设转化为一个矩条件进行检验。代表工作:Shah & Peters (2020)(条件独立性检验的GCM检验),Hansen (1982)(IV的J检验)。本文的方法也属于此类,但独特之处在于:它并非将原假设本身视为一个矩条件,而是主动构造一个矩条件(正交化条件)来作为检验原假设的代理。

这个方向在追问的核心问题

  1. 如何在不牺牲太多功效的前提下,实现通用的选择后推断? 现有方法要么功效低(数据分割),要么通用性差(条件推断)。
  2. 能否将对选择机制的精确建模需求,替换为更弱的假设? 条件推断需要知道选择规则,数据拆分需要知道分布族。本文试图用“对称移位族噪声”和“正交化”来绕过这些需求。
  3. 如何为复杂、非参数化的零假设(如“两个分布相同”)构造有效的检验? 经典方法(如置换检验)计算量大或需要特定统计量。本文提供了一个新的构造思路。

⚠️ 作者的framing

  • 作者把缺口frame成什么? 作者将现有方法描述为“补丁式解决方案”(patchwork of solutions),每种方法都有其特定的适用场景和严格的假设(如高斯分布、卷积封闭族、需要解析条件分布)。作者将自己的工作定位为“一种全新的方法”(an entirely different approach),它通过一个简单的“加噪声-正交化”技巧,统一了预先指定假设和数据驱动假设的检验,并且“显著放宽了适用条件”。
  • 哪些竞争路线被他淡化或回避了? 作者在引言中明确指出了条件推断和数据拆分路线的局限性,但淡化了其方法的功效问题。作者在讨论部分承认“测试函数g的选择驱动了方法的功效”,但并未给出一个通用的最优选择策略。此外,作者回避了与置换检验(permutation test) 等经典非参数方法的直接比较。例如,在5.1节的两样本检验中,作者没有与经典的置换检验或能量距离检验(如Hore & Barber, 2026的模糊TV距离检验)进行功效对比,只是声称自己的方法“立即推导出”了一个检验。
  • 什么明显该被引/该存在、却没出现在intro里? 作者引用了Hore & Barber (2026)的“模糊TV距离”两样本检验,但没有引用更经典的、基于能量距离(Energy Distance)或最大均值差异(MMD)的两样本检验(如Gretton et al., 2012)。这些方法也是非参数的,且理论成熟。作者将其方法定位为“更简单”,但未与这些成熟方法进行任何比较。这是一个值得研究者去查的问题:本文的方法在功效上是否真的能与这些经典方法竞争?

张力

未见明显对立引用。被引工作之间主要是互补关系,各自解决不同设定下的问题,而非在同一问题上得出相反结论。

二、最核心、最简单的例子 / 数学问题

第一步:把符号、模型、可观测数据交代清楚

  • 符号

    • X_i:第i个观测到的原始随机变量(向量),i = 1, ..., n
    • θ*:未知的、固定的总体参数。它可以是有限维的(如泊松分布的λ),也可以是无限维的(如整个分布函数)。
    • F(η_i(θ*))X_i的分布族。η_i是一个已知的映射函数,允许不同观测有不同的分布参数(如两样本问题中,η_i根据样本所属群体返回不同的参数)。
    • H_0: θ* ∈ Θ_0:要检验的原假设,Θ_0是参数空间Θ的一个子集。
    • W_i:用户添加的、独立于数据的随机噪声,服从一个均值为0的对称移位族分布R(0, Σ)Σ是用户指定的协方差矩阵。
    • X_i^(1) = X_i + W_i:加噪声后的数据,用于“选择”假设(在预先指定假设时,这一步只是构造)。
    • X_i^(2) = X_i - W_i:减噪声后的数据,用于“检验”。
    • h(x_i^(1), Θ_0):一个关键函数。当H_0为真时,它等于E[X_i^(2) | X_i^(1) = x_i^(1)];当H_0为假时,它是某个不等于该条件期望的函数。
    • g(·):用户指定的“测试函数”(test function),是一个从X^(1)的样本空间到R^q的映射。
    • H'_0(g):正交化假设,即E[(X_i^(2) - h(X_i^(1), Θ_0)) * g(X_i^(1))^T] = 0
    • C_n(x^(1), x^(2); Θ_0)H'_0(g)的样本矩。
    • T_n:基于C_n的卡方检验统计量。
  • 模型

    • 数据生成机制:X_i ~ F(η_i(θ*)),独立但不一定同分布。F可以是任意具有有限二阶矩的连续或计数分布。θ*是核心未知参数。
    • 噪声生成机制:W_i ~ R(0, Σ),独立于X_iR是一个对称移位族,例如均值为0的高斯分布或离散均匀分布。Σ由用户选择。
    • 构造变量:X_i^(1) = X_i + W_i, X_i^(2) = X_i - W_i
  • 可观测数据

    • 可观测:研究者能观测到的是X_i的样本x_i,以及自己生成的噪声w_i。因此,x_i^(1) = x_i + w_ix_i^(2) = x_i - w_i也是完全已知的。
    • 想要但观测不到:我们真正想要检验的是关于θ*的假设H_0θ*本身是未知的。我们无法直接观测到E[X_i^(2) | X_i^(1)],它依赖于未知的θ*本文的核心就是通过构造h的估计量ĥ_n,并利用H_0为真时h应满足的正交性,来间接检验H_0

第二步:讲最小内核

最简特例:单样本、点零假设、标量数据

假设我们只有一个观测X(即n=1),它来自一个已知分布族,但参数θ*未知。我们要检验一个点零假设H_0: θ* = θ_0。数据是标量(p=1)。

  1. 构造数据:我们选择一个对称移位族噪声W ~ R(0, σ^2)(例如,W ~ N(0, σ^2))。然后构造:

    • X^(1) = X + W
    • X^(2) = X - W
  2. 核心想法:如果H_0为真(即θ* = θ_0),那么条件期望E[X^(2) | X^(1)]是一个完全已知的函数,因为它只依赖于θ_0和已知的噪声分布R。我们可以精确计算出这个函数,记作h_θ_0(x^(1))。根据条件期望的性质,我们有: E[ (X^(2) - h_θ_0(X^(1))) * g(X^(1)) ] = 0 对于任何函数g成立。 这构成了我们的正交化假设H'_0(g)

  3. 检验:我们选择一个简单的测试函数,比如g(x^(1)) = x^(1)。那么H'_0(g)就变成了: E[ (X^(2) - h_θ_0(X^(1))) * X^(1) ] = 0。 由于我们只有一个观测,我们无法直接检验这个期望是否为0。但我们可以想象有多个独立同分布的X(即n>1)。那么,我们可以计算样本矩: C_n = (1/n) * Σ_i (x_i^(2) - h_θ_0(x_i^(1))) * x_i^(1)。 如果H_0为真,C_n应该趋近于0。我们可以构造一个检验统计量(如n * C_n^2 / Var_hat),它在原假设下渐近服从卡方分布。

  4. 为什么这个特例抓住了核心?

    • 点零假设:这是最简单的情况,因为h函数是已知的,无需估计。这直接展示了“将原假设转化为正交化检验”的核心逻辑。
    • 一般化:对于复合零假设,h函数未知,需要用数据估计(如用MLE估计θ*,然后代入)。这引入了估计误差,需要更复杂的渐近理论(如Lemma 1, Theorem 2)来处理。但核心思想——检验正交化是否成功——是完全一样的。
    • 选择后推断:当假设是数据驱动时,我们只是用X^(1)来选择H_0(例如,选择θ_0为某个特定值),然后对选中的H_0执行上述检验。关键在于,由于检验是在X^(2)上进行的,而X^(2)X^(1)依赖的,所以需要更精细的条件渐近理论(Theorem 3)来保证条件I类错误控制。但核心的“正交化”思想不变。

一句话总结:这篇论文在数学上干了一件什么事?它证明了,通过向数据添加对称噪声,任何原假设H_0都可以转化为一个关于“条件期望正交化”的矩条件H'_0(g),并且检验H'_0(g)是否成立,就等价于检验H_0是否成立。 论文的主要技术贡献在于,为这个转化后的矩条件提供了一个通用的、基于交叉拟合和半参数理论的渐近有效的检验方法,并将其推广到了选择后推断的场景。

三、这篇论文做了什么

三句话

  1. 研究了什么问题:提出了一个全新的假设检验框架,能够对预先指定的数据驱动的(选择后推断)零假设进行有效的检验,且仅需极弱的分布假设。
  2. 核心工具/方法:通过向原始数据添加并减去对称移位族噪声,将数据分裂为X^(1)X^(2)两部分。然后,利用该噪声结构导出的条件期望的通用形式,构造一个在H_0下能将X^(2)关于X^(1)正交化的函数h。最后,检验这个正交化是否成功(即检验一个矩条件是否为0),从而实现对H_0的检验。
  3. 主要结论:对于预先指定的假设,该检验在温和条件下渐近控制I类错误(Proposition 3)。对于选择后推断,通过一个精心设计的“迭代去偏”步骤,该检验能渐近控制条件I类错误(Theorem 4),且其适用性远超现有方法(如不限于高斯数据、不要求知道选择机制)。

关键设定与假设

  • 设定X_i ~ F(η_i(θ*))i=1,...,nF是任意具有有限二阶矩的连续或计数分布。θ*是固定维度的未知参数(可以是无穷维的分布函数)。
  • 假设
    1. 对称移位族噪声W_i ~ R(0, Σ),独立于X_iR是一个对称移位族(如高斯、Skellam、离散均匀)。这是最核心的假设,它保证了E[X^(2) | X^(1)]具有Proposition 2中的通用形式(一个比率),从而使得h函数的估计成为可能。
    2. h函数的估计:对于点零假设,h已知(Section 3.3.1)。对于复合零假设,需要存在一个θ*渐近线性估计量(如MLE),且f_X(x; η_i(θ))关于θ可微(Proposition 4)。对于X_iH_0下i.i.d.的情况,可以用样本均值直接估计h(Section 3.3.3),这是最弱的假设。
    3. 交叉拟合(Cross-fitting):在估计h时,使用交叉拟合来保证估计误差与主样本矩的渐近独立性,这是处理半参数问题中 nuisance function 估计的标准技巧(Chernozhukov et al., 2022)。
    4. 正则性条件:为了应用中心极限定理,需要影响函数φ_C具有有限方差,并满足Lindeberg条件(Theorem 2)。对于选择后推断,还需要条件Lindeberg条件(Theorem 3)。
  • 相比已有文献的放宽/强化
    • 放宽:相比条件选择性推断(Lee et al., 2016),不需要知道选择机制。相比数据瘦身(Neufeld et al., 2024),不要求数据分布属于卷积封闭族。相比数据裂变(Leiner et al., 2025),不需要解析地刻画条件分布
    • 强化:引入了用户指定的噪声测试函数g,这两个超参数的选择对功效有显著影响,需要用户根据具体问题进行调整。这既是灵活性,也是额外的负担。

主要结果

  • 定理1(预先指定假设的有效性):如果ϑ_αH'_0(g)的一个水平为α的有效检验,那么它也是H_0的一个有效检验。直觉H_0为真 ⇒ h是条件期望 ⇒ 正交化成立 ⇒ H'_0(g)为真。所以拒绝H'_0(g)必然意味着拒绝H_0。这是整个框架的逻辑基石。
  • 定理2 & 推论1(H'_0(g)的渐近检验):在H'_0(g)为真和h的估计量是渐近线性的条件下,检验统计量T_n渐近服从χ^2_{pq}分布。直觉C_n是样本矩,它在H'_0(g)下均值为0。由于交叉拟合,h的估计误差不影响C_n的渐近分布。T_nC_n的二次型,所以是卡方。技术难点:证明C_n的渐近线性性(Lemma 1),这需要处理h的估计误差,并证明交叉拟合使得“经验过程”项可忽略。
  • 定理3 & 推论3(选择后推断的条件渐近检验):在H'_0(x^(1), g)为真的条件下,经过迭代去偏后的统计量D_n的条件分布(给定X^(1))渐近于均值为0的高斯分布,其二次型T_n的条件分布渐近于χ^2_p直觉:直接使用C_n进行条件推断会失败,因为h的估计引入了条件偏差。作者通过一个巧妙的迭代去偏过程(Lemma 2, Proposition 6),构造了一个新的统计量D_n,其影响函数φ_D的条件期望为0。技术难点:推导出迭代去偏的解析形式(I+B)^{-1}(Lemma 2),并证明该矩阵可逆(Proposition S1表明,当θ*的估计量有效时,B的特征值在(-1,0)内,从而I+B可逆)。这需要深刻的半参数洞察。
  • 命题5(功效分析):在点零假设对点备择假设的简单情形下,检验的功效由||Ψ_n^{-1/2} μ_n||决定,其中μ_nC_n在备择假设下的均值偏移。直觉:功效来源于H_0H_1下条件期望E[X^(2)|X^(1)]的差异。测试函数g和噪声方差Σ的选择会影响这个差异的大小。

证明路线与技术技巧(理论型)

  • 整体路线(以选择后推断为例)

    1. 构造:通过加噪声构造X^(1)X^(2)
    2. 转化:将原假设H_0(x^(1))转化为正交化假设H'_0(x^(1), g)
    3. 估计:在H_0(x^(1))下,用交叉拟合估计条件期望h,得到ĥ_n
    4. 构造朴素统计量:构造C_n,它是H'_0(x^(1), g)的样本矩,但用ĥ_n代替了h
    5. 识别偏差:证明C_n的条件期望不为0,其偏差来源于ĥ_n的估计误差(Proposition 6)。
    6. 迭代去偏:通过一个迭代过程(Supplement B.1),发现偏差项形成一个几何级数,其和等于(I+B)^{-1}乘以一个项。据此构造去偏后的统计量D_n(公式20)。
    7. 证明渐近正态性:证明D_n是渐近线性的,其影响函数φ_D的条件期望为0(Lemma 2)。然后应用条件Lindeberg-Feller CLT证明其条件渐近正态性(Theorem 3)。
    8. 构造检验:基于D_n构造卡方检验统计量T_n,并证明其渐近控制条件I类错误(Corollary 4, Theorem 4)。
  • 关键跳跃点

    • C_nD_n的去偏:这是最吃功夫的部分。作者发现,直接用C_n进行条件推断会失败,因为C_n的条件均值非零。关键在于,他们识别出这个偏差可以通过一个解析的、不依赖于未知量θ*的线性算子(I+B)^{-1} 来校正。这个算子的推导(Lemma 2)是整个选择后推断理论的核心。
    • B矩阵的可逆性(I+B)^{-1}的存在性依赖于I+B可逆。作者在Supplement B.2中证明,当θ*的估计量是有效的(即其影响函数等于得分函数的逆乘以得分函数)时,B的特征值位于(-1, 0)之间,从而保证了可逆性。这个条件虽然强,但为理论提供了坚实的支撑。
  • 技术技巧点名

    • 对称移位族噪声:这是整个方法的基石,它保证了E[X^(2)|X^(1)]具有一个简洁的比率形式(Proposition 2),使得h的估计成为可能。
    • 交叉拟合(Cross-fitting):用于处理h的估计,使得C_n的渐近分析中“经验过程”项可忽略。
    • 半参数影响函数(Semiparametric Influence Function):用于分析C_nD_n的渐近行为,并推导出迭代去偏的解析形式(Lemma 1, 2)。
    • 迭代去偏(Iterative Debiasing):一种新颖的技巧,用于消除C_n中的条件偏差,其收敛性由几何级数保证(Supplement B.1)。
    • 条件Slutsky定理(Conditional Slutsky's Theorem):用于在条件框架下建立D_n的渐近分布(Niu et al., 2024)。
    • 条件Lindeberg-Feller CLT:用于证明D_n的条件渐近正态性(Theorem 3)。

真实例子与应用

  • 数据:单细胞RNA测序(scRNA-seq)数据,具体是Zheng et al. (2017)的68,000个PBMC数据的一个子集(Duò et al., 2020),包含3,994个细胞和50个高变异基因。细胞有四种已知类型(B细胞、CD14单核细胞、初始细胞毒性T细胞、调节性T细胞)。
  • 方法应用
    1. 对原始计数矩阵X,添加离散均匀噪声W ~ DiscreteUniform(-5, 5),得到X^(1)X^(2)
    2. X^(1)进行k-means聚类(k=4),得到4个估计的细胞亚群。
    3. 对每一对估计的亚群,检验它们是否来自同一分布(零假设)。检验使用选择后推断框架(Algorithm S1),测试函数g选为指示函数I(i ∈ Ĉ_l)
  • 结果
    • 估计的聚类与真实细胞类型高度吻合(Table 1的混淆矩阵)。
    • 所有6对亚群之间的检验均被拒绝(即使在多重比较校正后)。
  • 这个例子想说明什么
    • 验证理论:展示了该方法在复杂的、非高斯(零膨胀泊松)数据上的可行性。
    • 展示优势:这是一个现有方法(如条件选择性推断或数据瘦身)难以处理的场景(零膨胀泊松分布,且选择机制是k-means)。本文的方法成功应用,证明了其“显著放宽适用条件”的宣称。
    • 提供直觉:Figure 6直观地展示了正交化的效果:在H_0为假时,正交化后的X^(2)(右图)仍然能将不同的亚群分开,从而导致了检验的拒绝。

🔎 结论是否比证明窄

  • Theorem 3的条件:Theorem 3的证明依赖于I+B可逆。作者在Supplement B.2中证明,当θ*的估计量是有效的时,该条件成立。但在论文的主要设定中,并未要求θ*的估计量必须是有效的。作者在Remark 10中承认,I+B可逆是一个比几何级数收敛更弱的条件,但并未给出在非有效估计下I+B可逆的通用条件。因此,Theorem 3的严格适用范围可能比论文正文中声称的“温和条件”要窄,它隐含地假设了估计量的某种最优性。
  • 功效分析:Proposition 5的功效分析是在点零假设对点备择假设的简单情形下进行的。对于更一般的复合零假设,功效的分析会更加复杂。论文在讨论部分承认“测试函数g的选择驱动了方法的功效”,但并未给出一个通用的最优选择策略,也未对一般情况下的功效进行理论刻画。因此,关于功效的结论(如“更丰富的测试函数更好”)主要基于模拟,而非严格证明。事实上,在变点检测的模拟(Supplement C.2)中,简单的指示函数g反而比数据本身x^(1)功效更高,这与“更丰富更好”的直觉相悖。

四、开放问题

  1. 测试函数g的最优选择:论文的模拟表明,g的选择对功效至关重要,且最优选择是“上下文相关的”(context-specific)。如何为给定的原假设H_0系统地选择或构造一个最优的(或至少是高效的)测试函数g?这是一个开放问题,扎根于论文的Section 3.4Discussion部分。
  2. 噪声方差Σ的自适应选择:噪声方差Σ的选择也影响功效(太小则无功效,太大则可能淹没信号)。如何根据数据自适应地选择Σ,例如通过某种交叉验证或数据驱动的方法?这扎根于论文的Remark 1Section 3.4
  3. I+B可逆性的更弱条件:Theorem 3的证明依赖于I+B可逆。作者在Supplement B.2中给出了一个充分条件(θ*的估计量有效)。能否在更弱的条件下(如估计量只是√n-一致但非有效)证明I+B的可逆性,或者找到I+B不可逆时的替代方案?这扎根于论文的Lemma 2Supplement B.2
  4. 与经典非参数检验的系统性比较:论文在5.1节的两样本检验中,仅与Hore & Barber (2026)的“模糊TV距离”进行了简要比较,但未与更经典的、理论更成熟的能量距离或MMD检验进行功效对比。一个值得做的实证研究是:在多种备择假设下,系统地比较本文提出的正交化框架(配合不同的gΣ)与这些经典非参数检验的功效和计算成本。这扎根于论文的Section 5.1Discussion中提到的与Shah & Peters (2020)的比较。

Maintained by 陈星宇 · Homepage · Source on GitHub

评论