同一项二分类研究可以得到成功率、风险差、风险比、粗优势比和调整优势比。这些数字分别概括怎样的关系?为什么在随机分配的研究中,调整优势比仍可能不同于粗优势比?本章以一个总体机制已知的模拟研究讨论这些问题。
列联表将研究对象按分组与结果归类,效应量把组别概率联系起来,Logistic 回归则描述给定基线变量后的条件概率。它们的联系由研究设计和目标量确定,解释时还需要 因果识别条件。
本例的 1,600 行资料完全由公开机制生成,没有真实参与者。已知机制使总体参数、样本估计与预测误差可以彼此对照;这些分析所支持的是模拟中的统计推理,并不提供真实产品、疗法或其他干预的有效性证据。数据与计算结果见 计算材料与数值结果。
研究设计与主要目标量
每名对象独立产生一项结果,并以等概率随机分配到干预或对照组。年龄、历史访问次数与来源渠道都在干预前定义。组别成功概率是对各组基线构成平均后的概率;风险差、风险比和未调整优势比都由这两个概率形成。
给定这些基线变量后的条件概率采用以下回归模型:
是干预指示变量,渠道按类别建模。 比较年龄、基线访问次数和渠道相同的对象,其目标是条件成功优势比。风险差则比较两组的成功概率,属于加法尺度上的边际对比。条件相同的比较与对人群平均的比较,由此进入同一研究中的不同推断。
随机分配使基线变量在分配机制中不决定干预,因此本例不存在由这些变量决定分组所造成的基线混杂。条件模型利用它们的预后信息,并与生成机制的参数对应。观察性研究中的调整还可能承担建立组间可比性的任务,但这种解释需要额外识别条件。
“成功”在本例中是明确的 0/1 变量。在真实研究中,这个编码还须对应具体事件和观察窗口。不同成功标准、纳入排除规则或分析人群会产生不同的概率目标;主要终点的定义因此属于研究问题本身,而不能由看见的结果决定。
数据生成机制与总体参数
样本量为 ,数值生成使用 seed=20261012,依次抽样干预、年龄、历史访问、渠道与结果。变量及其角色如下:
| 字段 | 定义与合法范围 | 在分析中的角色 |
|---|---|---|
id | 从 1 到 1,600 的唯一标识 | 检查唯一性,不进入回归 |
treatment | 0 为对照,1 为干预,按等概率随机分配 | 主要解释变量 |
age | 18 到 70 的整数 | 干预前基线变量 |
baseline_visits | 均值 3 的 Poisson 非负整数 | 干预前基线变量 |
channel | search、social、referral | 干预前无序类别 |
outcome | 0 为未成功,1 为成功 | 二分类结果 |
渠道抽样概率分别为 0.45、0.35、0.20。成功概率由以下式子确定:
其中 、、。给定基线和干预后,结果是一次 Bernoulli 观察。不同对象彼此独立,资料没有另加缺失、群组依赖或测量误差,因此本例的抽样波动可以在这一明确结构中解释。
干预使每个基线条件下的 logit 增加同一个系数,故条件干预 OR 为 。这是生成机制中的总体参数。由 1,600 行资料拟合的 OR 是随机样本的函数,会在 1.916 附近波动;抽样估计与参数本来就具有不同角色。
对 40 岁、历史访问 3 次、search 渠道的对象,未干预时 ,成功概率约 0.221;干预后 ,概率约 0.352,概率差约为 0.131。相同对比的优势倍数是 1.916。由于逆 logit 为非线性函数,换一个基线背景,概率差也会改变,条件 OR 却仍保持共同的倍数。
样本构成与抽样波动
这 1,600 行资料各对应一个对象,id 是不重复的标识,outcome 与 treatment 取 0、1,baseline_visits 是非负整数,channel 具有三个合法类别。没有缺失意味着本例不需要借助插补来恢复分析变量;独立性也来自明确的生成设定,而不是由表格外观判断。
重复标识、非法编码或缺失若出现在这一资料中,会与声明的生成过程冲突。直接删掉相关对象还会改变分析样本,可能使估计与原目标人群不再对应。数据的合法性具有统计含义,不只是软件能否接受某个值的问题。
等概率分配表示两组人数在重复抽样中具有相同预期,并不要求一次抽样每组恰好 800 人。同样,历史访问次数的 Poisson 总体均值是 3,一次样本均值却不必恰好为 3。各组年龄、访问次数和渠道构成可以随机不同,这种差异不能单独证明分配机制产生了混杂。
标准化差异可以描述基线构成相差多少,基线变量的 值则还受样本量影响。预先规定的调整模型依据预后关系和目标量确定;若在看到组间差异后反复选择变量,使干预检验显著,分析就包含了未计入通常推断的选择过程。
组别成功率与未调整效应
组别成功率是成功次数除以相应对象数。其分母决定了比例针对谁,也决定抽样精度:相同百分数在不同人数下包含的信息并不相同。所有粗效应量都应由同一个干预×结果列联表得到,才对应同一分析人群。
设干预组成功 、未成功 ,对照组成功 、未成功 ,则
RD 在概率差尺度上度量,以百分点表达;RR 与 OR 是无单位的比值。本例成功率采用 Wilson 区间,风险差采用独立二项比例差的 Wald 近似,RR 与 OR 在对数尺度构造近似区间。区间端点依赖方法及实际频数,不是某个点估计唯一决定的属性。
Pearson 卡方检验用无关联假设下的期望频数衡量表格偏离,近似依赖观察独立和足够的频数。本例采用未作 Yates 连续性校正的形式。Fisher 检验则在固定边际下计算表格概率,双侧采用 SciPy 的概率排序定义,见 精确检验。它们使用同一张表,从不同计算方式评价同一数据中的关联,而非两份独立证据。
检验结果表示数据与无关联假设之间的相容程度,效应量及其区间则描述差异的大小和估计精度。实际重要性还依赖具体研究背景中的后果、成本与收益,需要额外依据;本模拟所提供的是统计估计及其解释。
基线调整模型与条件优势比
公式 outcome ~ treatment + age + baseline_visits + C(channel) 将渠道作为无序类别。以 search 为基准时,其他渠道系数表达相对 search 的条件关系;改用软件可能默认的 referral 基准,只会重新表达渠道系数和截距,不改变干预系数及预测概率。
当模型中的 age 未中心化时,由于 ,截距与生成式中的 具有不同含义。以 search 为基准且使用未中心化年龄时,理论截距为 。这种参数表达上的差异并不表示拟合机制发生改变。
年龄和历史访问次数在生成机制中线性进入 logit,因而这里的线性项与真实均值结构相符。真实资料中的函数形式则需由机制和诊断支持。收敛、有限的系数与标准误以及有无分离,关系到似然估计是否可正常解释;模型形式正确并不免除有限样本中的估计困难。
干预系数 位于 logit 尺度, 及指数变换后的区间位于条件 OR 尺度。相同年龄、访问次数和渠道下,它表示成功优势乘以多少。前面的具体对象算例已表明,相同优势倍数不对应相同概率倍数或概率差。
粗 OR 与调整 OR 分别对应边际和条件优势比。即使干预随机分配,优势比的非可塌缩性以及有限样本波动仍可使二者不同。若目标是总体成功概率的变化,需要将条件预测按目标人群分布标准化;条件 OR 不能直接替代总体风险比或风险差。
模拟样本的估计结果
一次样本的估计如下,完整数值见 results/analysis.json。每个区间对应表中指定的估计方法;生成式参数仍是另一个层次的量。
| 统计量 | 样本估计 | 比较含义 |
|---|---|---|
| 干预组 | 280/761 成功,36.79%;Wilson 95% CI:33.44%–40.28% | 分子与分母明确 |
| 对照组 | 202/839 成功,24.08%;Wilson 95% CI:21.31%–27.08% | 样本量不必恰好相等 |
| 风险差 | 12.72 个百分点;Wald 95% CI:8.23–17.20 个百分点 | 概率的加法差 |
| 风险比 | 1.528;对数尺度 95% CI:1.313–1.779 | 成功概率的倍数 |
| 粗 OR | 1.836;对数尺度 95% CI:1.479–2.279 | 未调整的成功优势倍数 |
| Pearson 卡方 | ,df=1,,未作连续性校正 | 最小期望频数约 229.25 |
| 双侧 Fisher | SciPy 概率排序双侧定义 | |
| 调整干预 OR | 1.930;95% CI:1.545–2.410; | 基线条件相同下的成功优势比 |
模型在本次样本中已收敛,调整干预系数为 0.6573,与总体系数 0.65 接近。其 95% 区间包含生成机制的真实条件 OR,但这只是一次覆盖事件。表中 值评价各自零假设下的样本证据;由于全部对象来自模拟,它们的解释范围仍限于这一机制。
标准化预测保留每个人的基线变量,分别把所有人的 treatment 设为 0 和 1,再对模型预测取平均。以本样本的经验基线分布为标准化目标,得到 23.90% 和 37.03%,预测差约为 13.13 个百分点。输出没有提供这项差值的区间,因此它仍是带有估计不确定性的模型结果;仅凭点估计无法判断是否比未调整差值更可靠。
不同数值输出也可能来自不同计算问题:连续性校正改变卡方统计量,改变基准类重写部分模型系数,筛选样本改变分析人群,随机生成顺序和版本则可能改变实际数据。只有输入对象、公式和检验定义相同,数值比较才具有明确意义。
条件效应估计与独立预测评价
上述条件效应模型使用全体 1,600 人进行估计。个体预测的评价另以 1,120 人作为训练集、480 人作为测试集,模型仅在训练集拟合,再以测试集估计预测表现。这种资料分工使参数估计与未参与拟合对象上的预测评价具有明确区别。
测试集阳性率为 30.21%,ROC-AUC 为 0.615,average precision 为 0.411。这些量描述不同的排序表现,PR 相关指标还依赖阳性率。Brier 分数为 0.2043,低于用训练集阳性率作恒定预测时的 0.2108,表示在这个固定测试集上平均平方概率误差较小;差异未计算区间,尚不能据此判断改善的精度。校准考察预测概率与实际频率是否对应,ROC-AUC 本身不回答这一问题。
在预先指定阈值 0.5 下,测试集得到以下表格,行是真实类别,列是预测类别:
| 真实结果 | 预测 0 | 预测 1 |
|---|---|---|
| 0 | 312 | 23 |
| 1 | 126 | 19 |
敏感度为 ,特异度为 ,说明这个阈值产生较少误报,却漏掉许多成功对象。是否值得采用,取决于用途以及漏判和误判的代价。若阈值本身在测试集上经过反复挑选,测试资料就参与了决策,所得表现不再是独立评价。
解释模型中一个变量很显著,并不保证整个预测器能精确辨别每个对象。生成机制包含个体 Bernoulli 随机性,本身就限制了预测能力。参见 模型诊断与预测评估 中的区分度、校准与决策阈值。
研究结果的综合解释
在这 1,600 名独立对象中,两组成功比例及其区间支持干预组在本次样本中具有更高成功率。未调整比较针对各组边际概率,调整模型针对相同基线下的条件优势。标准化预测再把条件模型中的概率按相同经验人群构成平均,所得到的是另一个明确的概率对比。这些结果共同描述模拟中的关系,其数值不同主要涉及尺度、条件和抽样波动。
本例的 95% 差值区间不含零、比值区间不含一,说明相应无效值与样本证据不相容,但区间宽度仍表达估计精度。反之,若区间包含无效值,只能说明数据还未充分区分某些可能关系,并不证明两组完全相同。区间方法是否具有 95% 长期覆盖,则需在重复生成样本时评价,单次估计无法回答。
统计差异的实际重要性还需要真实领域中事件后果、成本与收益的依据。这里没有真实干预和参与者,因而结论止于已知模拟机制下的效应估计及方法解释。
计算说明
本章采用的计算文件见 实践入口。生成数据为 data/trial.csv,分析与仿真输出分别为 results/analysis.json、results/simulation.json。在实践目录使用所列依赖环境,计算顺序为:
python scripts/generate_data.py
python scripts/analyze.py
python scripts/simulate.py原始资料与派生结果分开保存,使输入数据、模型和结果的对应关系能够复核。固定种子、生成器、抽样顺序和依赖版本共同决定数值复现条件,相关原理见 仿真与敏感性分析。
习题
- 生成式的干预系数是 0.65,拟合得到 0.59。是否应修改 seed,直到输出 0.65?为什么?
baseline_visits若改成干预后 30 天内访问次数,还能用相同理由作为基线调整吗?- 如果粗 OR 与调整 OR 不同,能否直接宣布原始随机试验存在混杂?
- 为什么不能把本章的调整 OR 写成“干预让总体成功率乘以该数”?
参考解答与推理
- 不应该。估计会随样本波动,修改种子挑选结果属于选择性呈现。应该核对程序与区间,再通过重复仿真评估估计的偏差和波动,而不是要求一次估计等于真值。
- 不能。干预后的访问次数可能是中介或选择过程的一部分。它改变分析目标并可能引入偏差,需重新判断时间顺序与因果结构。
- 不能。随机化在分配机制中避免基线混杂,而条件与边际 OR 有非可塌缩性,有限样本也有差异。应根据机制讨论混杂,不能仅看系数变化。
- Logistic 系数控制的是条件优势 的倍数。概率变化依赖原始概率,总体概率又需要对不同基线人群平均。OR、RR 和总体风险差应分别计算。
上一篇:27 缺失数据、混杂与因果识别 · 下一篇:29 仿真与敏感性分析 · 课程总览