随机化检验:只置换设计允许的分配
随机化检验问的是:在真实分配机制和指定零假设下,观察统计量有多不寻常。它不允许任意洗牌。配对、聚类以及不等分配概率都属于参考分布本身,不能算出p值后才决定是否保留。
交付应包括合法分配清单或可复现生成器、每种分配的统计量,以及包含观察分配的尾部计算。小设计应完整列出,让复核者直接看见哪些状态被计数,不能只给一个软件输出。
从分配记录和零假设开始
假设四份文档随机选两份执行新研究流程,其余执行旧流程,六种两文档子集等概率。文档标识为A、B、C、D,观察结果依次为1、2、3、4。
采用尖锐零假设:新流程对每一份文档的结果都没有影响,并假设处理版本明确、文档之间无干扰、结果完整可观察。这样在所有合法分配下,每份文档都保持同一个结果,才能计算没有真正实施过的分配统计量。
尖锐零假设强于平均效果为零。个体正负效果可以相互抵消,但这不会揭示所有缺失潜在结果。把结果全部固定后,不能宣称已经得到任何平均零效应模型的精确检验,必须说明支持固定结果的具体假设。
世界银行DIME设计附录在随机试验和匹配部分强调组别如何构成、分层如何保留。下面是自行构造的小实验,不会因为某份观察性数据也能洗牌,就使其继承实验分配证据。
枚举六种合法分配
定义统计量为新流程均值减旧流程均值。假设实际新流程分到A、B,则统计量为(1+2)/2减(3+4)/2,等于−2。尖锐零假设下完整枚举如下。
| 新流程 | 旧流程 | 均值差 |
|---|---|---|
| A、B | C、D | −2 |
| A、C | B、D | −1 |
| A、D | B、C | 0 |
| B、C | A、D | 0 |
| B、D | A、C | 1 |
| C、D | A、B | 2 |
每行概率为1/6。两个零是不同分配,必须都保留。如果只对统计量去重,会把六个等概率分配错误变成五个等权数字,改变参考分布。
若事先规定下尾备择,精确p值是统计量小于等于−2的概率,为1/6。实际A、B分配正是其中一行;删掉观察分配,只看另外五行有没有更极端结果,会错误得到零。
若事先采用绝对值双侧规则,计入绝对统计量至少为2的两行,得到2/6,即1/3。双侧约定并不普遍相同;本例对称,所以绝对尾部恰与较小单侧尾部乘二一致。报告应保存采用的定义,不能看到哪个p更小才选规则。
软件设置要对应研究设计
SciPy permutation_test官方文档区分独立重分配、对内样本交换及重新配对,并定义精确枚举与单双侧尾部。默认双侧为较小单侧p乘二,因此函数调用本身不替代合法分配和尾部说明。
本例可直接精确算术。浮点统计量可能让理论相等的值出现微小差异,应检查零分布并采用有依据的相等容差,或在适用时用精确统计量。否则数学上等于观察值的一行,可能被错误排除在尾部之外。
本次读取的是一点十八点零手册,表格独立枚举,不依赖声称某个版本生成了真实实验。真正用软件时,应保存实现版本、参数和随机状态,让后续能够复现默认值及相等处理。
配对设计只有四种空间
另设独立协议:先配成A、B一对,C、D一对,每对恰一份用新流程。合法新流程集合只有A、C;A、D;B、C;B、D,对应统计量−1、0、0、1。A、B不合法,因为把第一对全处理、第二对全不处理。
假设这项配对实验实际观察的是A、C,统计量−1,下尾p为1/4,绝对双侧p为2/4,即1/2。如果对同一观察统计量错误使用无限制两选四空间,绝对尾部会是4/6,即2/3。必须采用真正生成实验的协议,而非挑出更喜欢的p。
这是另一项协议及其合法观察分配,不能把原来A、B事后改称配对随机。如果分配日志与声称的配对矛盾,应先调查。配对不是分析时为了改善结果临时贴的标签,而是限制了实际可能发生的分配。
如果随机单位是团队,应整队交换,保留成员文档;分层随机则保持各层处理数。分配概率不等时,尾部应相加相应概率,而不是每行都给同样权重。设计约束越复杂,越需要把日志与生成器交给复核者。
还应保存分配日志的导出时间和版本,防止分析文件中的后续标签更正覆盖原始记录。重算必须说明改的是录入错误还是原协议,两者对合法空间的含义并不相同。
精确枚举与随机近似分开
合法空间大时,可以按真实机制随机抽分配,保留抽取次数、生成器状态、统计量、尾部及观察分配处理。常用保守近似为(b+1)/(B+1),其中B是随机抽取数,b为至少同样极端的统计量数。
另设大设计示意:B为999,b为零,得到0.001,而不是零。这不是四文档枚举例的模拟结果,只说明抽样参考分布的修正。重新模拟增加的是算法波动检验,不是新增实验文档。
完整精确枚举已经包含观察分配,不应再机械加一。把结果行有放回重抽则属于bootstrap,不能拿来冒充固定两选四实验的随机化空间。两种程序都能生成很多数字,却描述不同随机来源。
可执行的分配核验表
| 检查 | 必须保留 | 冲突处理 |
|---|---|---|
| 恢复设计 | 日志、分层、聚类、概率 | 不编造可交换性 |
| 明确零假设 | 个体结果不变及干扰前提 | 与均值零分开 |
| 定义统计量 | 方向、协变量处理、分析单位 | 所有分配使用同一规则 |
| 生成分配 | 合法集合或协议生成器 | 排除不可能分配 |
| 计数尾部 | 观察分配、相等、单双侧 | 独立复核分子分母 |
| 报告近似 | 精确或随机、次数和种子 | 保留模拟不确定度 |
不依从也要单独处理。按随机分配检验,与洗牌实际领取或实际使用状态,是不同问题。不能把随机标签换成自主选择的执行状态,还称设计精确。缺结果、选择性删除及团队间共享学习,也会破坏简单固定结果论证。
若调整统计量包含重新拟合或残差化,应固定完整计算步骤,并在每次合法重分配按预定方法执行,不能只更新处理标签,却冻结本应重算的部分。反过来,设计固定的基线资料也不应随分配一起任意打乱。
小p值是在设计与零假设下反对该假设的证据,不是零假设为真的概率,也不是效果大小或实际重要性。应同时报告观察差及实验设计,不把尾部数值当成全部研究结果。
发现分配错误、缺失结果、错误配对或统计量定义改变,应重新核验并保存旧表。这样能分清证据改变来自恢复合法分配、修订零假设,还是仅增加模拟次数,而不是每次运行都留下一个无法解释的新p值。
小设计能分辨到什么程度
六个等概率分配还限制了可达到的p值。本例统计量的最小下尾p为六分之一,增加小数位或模拟一百万次,都不能使这个实验产生更小的精确尾部。如果研究事前希望采用零点零五阈值,就应在收集资料前考虑合适的更大设计或另有依据的决策框架,不能事后靠计算次数补出实验没有的信息。
实际复现时,应从文档身份生成两元素子集,以补集作为对照,逐行检查两组各有两份,再从同一结果文件取值算均值。每份文档恰在三种处理集合中出现,处理与对照互换应让统计量反号;这些核对会恢复六行、两个零及对称分布,而不是先在软件中强制对称,再宣称验证成功。
因此需要两份可相连记录:一份分配表说明谁被安排到什么流程,另一份结果表使用同一不可变身份。只按结果排序后洗牌,会掩盖重复身份、缺行或错误连接。文件合并出现一对多关系时,应先查是否有重复测量,而不是直接把增加的行当独立文档。随机单位和分析结果单位不同,也必须明确连接规则。
若分配概率缺失,六行仍可描述可能统计量,但等权已是不经验证的设计断言。应追回分配代码或协议,不能从唯一实际发生的分配倒推出所有分配的概率。记录只说“选了两份”,不足以证明每一对等可能;若有强制纳入或人工调整,参考空间就必须随真实机制改变。
常见问题
为什么必须计入观察分配?
它属于设计允许的一种分配,也至少与自己同样极端。删除会低估精确尾部。
任意置换能使观察比较变随机吗?
不能。需要有依据的分配或可交换模型,洗牌操作本身不提供这些条件。