<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Effect-Measures on TouchingFish.top</title><link>https://touchingfish.top/tags/effect-measures/</link><description>Recent content in Effect-Measures on TouchingFish.top</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 10 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://touchingfish.top/tags/effect-measures/index.xml" rel="self" type="application/rss+xml"/><item><title>多中心的那些麻烦事</title><link>https://touchingfish.top/2025/multicenter-headaches/</link><pubDate>Mon, 10 Mar 2025 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2025/multicenter-headaches/</guid><description>&lt;p&gt;多中心试验（multi-center trial）的名字取得真好听。&lt;/p&gt;
&lt;p&gt;多个中心一起招募，样本量涨得快，结论推广起来底气也足。理想状态是：各家中心像精密咬合的齿轮，在同一套 SOP 下匀速运转。&lt;/p&gt;
&lt;p&gt;现实是每家中心都是一个小宇宙。操作流程不一样，研究者经验不一样，患者人群不一样。这些差异搅在一起，就能让你吃不了兜着走。&lt;/p&gt;
&lt;h2 id="中心效应"&gt;中心效应&lt;/h2&gt;
&lt;p&gt;中心效应（Center Effect）——不同中心的研究结果之间存在系统性差异。&lt;/p&gt;
&lt;p&gt;原因可以是很多层的。人口学特征：A 中心的患者平均比 B 中心大十岁。操作差异：不同的设备、不同的手法、不同的熟练程度。依从性差异：有的中心随访跟得很紧，有的中心患者来一次算一次。&lt;/p&gt;
&lt;p&gt;一个经典例子：某抗高血压药物的试验，亚洲中心的降压效果显著，欧洲中心平平。拆开一看——亚洲中心患者 BMI 普遍偏低。不是药在亚洲人身上反应不一样，是基线特征分布不同。&lt;/p&gt;
&lt;p&gt;处理中心效应得分两步走。设计阶段用分层随机化——每个中心当一层，层内随机。再搞一套统一 SOP，把操作差异压到最小。分析阶段上混合效应模型（Mixed-Effects Model），&amp;ldquo;中心&amp;quot;作为随机效应塞进去，中心间差异扒开之后再估治疗效应。顺带查交互效应——有没有&amp;quot;在 A 中心有效、在 B 中心无效&amp;quot;这种诡异场面。最后跑一遍敏感性分析，排除个别中心或调权重，看结论够不够硬。&lt;/p&gt;
&lt;p&gt;面试官问过：&amp;ldquo;捡到显著的中心效应，你怎么办？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;标准套路：先拆原因。是基线差异还是操作差异，还是真的存在治疗×中心的交互。基线差异可以通过调整协变量来补救，操作差异可能要重新培训研究者。&lt;/p&gt;
&lt;p&gt;（我嘴上这么说，心里清楚：统计方法能兜住的底是有限的。预防永远比事后修修补补值钱。）&lt;/p&gt;
&lt;h2 id="人跑了"&gt;人跑了&lt;/h2&gt;
&lt;p&gt;脱落（Drop-out）是我准备面试时反复翻的一个话题——它直接咬在统计效能和结论可信度上。&lt;/p&gt;
&lt;p&gt;定义：受试者没走完试验全程——要么没接受完预定干预，要么没完成全部随访。&lt;/p&gt;
&lt;p&gt;后果三层：效能降低——样本缩了，检测真实效应的力气就小了。偏倚风险——如果脱落不是随机发生的（副反应太让人遭不住的更倾向于退出），整个估计就会歪掉。结果解读——脱落一多，ITT 人群和 PP 人群之间的裂口越来越大。&lt;/p&gt;
&lt;p&gt;设计的防线：样本量计算时把脱落的预估塞进去，纳入排除标准把不靠谱的人挡在外面，交通补助、免费检查之类的激励跟上。&lt;/p&gt;
&lt;p&gt;执行的防线：随访管理加强，定期提醒别断，脱落原因记录清楚，为后续分析铺路。电话随访、线上访谈做起来——灵活，总比丢失好。&lt;/p&gt;
&lt;p&gt;分析的防线：ITT——所有随机化受试者全纳入，不管有没有走完。金标准。缺失数据用 LOCF（末次观察值结转）或多重插补（Multiple Imputation, MI）顶上。&lt;/p&gt;
&lt;p&gt;面试官问过我 LOCF 的假设是什么。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;假设受试者最后一次观察的状态会原封不动保持到后续时间点。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;他追问：这个假设靠谱吗？&lt;/p&gt;
&lt;p&gt;&amp;ldquo;通常不靠谱。如果受试者是因为病情恶化才退出的，最后一次观察值可能比真实状态好看。LOCF 会把治疗效果高估。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;（后来我翻了文献。LOCF 在某些场景下确实是保守的，但总体容易引入偏倚。多重插补或者当敏感性分析做更稳妥。）&lt;/p&gt;
&lt;h2 id="最后一扇门"&gt;最后一扇门&lt;/h2&gt;
&lt;p&gt;数据库锁定（Database Lock, DB Lock）是数据管理的一个关键节点。&lt;/p&gt;
&lt;p&gt;锁之前：数据可以改。锁之后：冻住了。任何修改都要走变更流程——不是技术上改不了，是程序上要经过层层审批。&lt;/p&gt;
&lt;p&gt;DB Lock 通常发生在所有受试者完成随访、数据清理收尾、锁库前评审通过之后。锁库之后，统计师拉闸开始最终分析，生成临床研究报告（CSR）。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;锁库之后还能改数据吗？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;能。但不叫&amp;quot;改&amp;rdquo;，叫&amp;quot;走变更流程&amp;quot;。物理上数据还是可以动的，只是每次动都要一群人在审批链上签字。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;什么情况下锁库后必须改？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;SAE 数据录入有误。关键数据录入有误，影响主要终点。还有——面试官给我补了一个场景——监管机构在现场核查时要求更正数据。&lt;/p&gt;
&lt;p&gt;这件事我只在书本上瞟到过，面试的时候完全没想起来。坐在对面的面试官不紧不慢地补上了这一刀，我连防御姿势都摆不出来。&lt;/p&gt;
&lt;h2 id="写在最后"&gt;写在最后&lt;/h2&gt;
&lt;p&gt;多中心试验的核心矛盾就一条：控制变异。&lt;/p&gt;
&lt;p&gt;中心间差异不会消失——只能通过设计去预防、通过分析去调整、通过监查去发现。脱落是另一个维度的损耗——受试者走了，信息就永远丢了。能做的只是把它写进样本量计算、写进分析计划、写进最后的报告，而不是假装它不存在。承认不确定性，比假装确定诚实得多。&lt;/p&gt;</description></item><item><title>把AE和SAE背下来</title><link>https://touchingfish.top/2025/ae-sae-reporting/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2025/ae-sae-reporting/</guid><description>&lt;p&gt;不良事件（Adverse Event, AE）大概是临床试验面试里出场率最高的话题。&lt;/p&gt;
&lt;p&gt;不是因为它复杂。是因为它直接连着受试者安全——GCP 的心脏。面试官需要确认你对这一块有基本的本能反应，不是临时翻书背的。&lt;/p&gt;
&lt;h2 id="你以为是边界其实不是"&gt;你以为是边界，其实不是&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Adverse Event (AE)：受试者在试验期间出现的任何不利医疗情况，与研究药物或干预措施未必有因果关系。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;四个字咬在最前面：&amp;ldquo;未必相关&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;什么意思？受试者试验期间出现的任何身体不适——头疼、发烧、血压飙了、平地摔了一跤——不管原因是什么，全部要记录。感冒要记。车祸要记。自己吃坏肚子也要记。&lt;/p&gt;
&lt;p&gt;第一次看到方案里 AE 记录范围的时候，我整个人是懵的。&lt;/p&gt;
&lt;p&gt;我以为 AE 只记跟药物搭边的反应。结果发现，连受试者周末爬山崴了脚，都要老老实实填进系统。&lt;/p&gt;
&lt;p&gt;逻辑是这样的：临床试验的核心任务是评估药物安全性。如果你只记录&amp;quot;看起来可能相关&amp;quot;的事件，那你怎么知道自己有没有漏掉&amp;quot;看起来无关但实际上有关&amp;quot;的事件？事后判断因果关系是统计师和分析师的事情，研究者只管如实记录。&lt;/p&gt;
&lt;p&gt;把判断交给数据，把诚实留给现场。&lt;/p&gt;
&lt;h2 id="五条标准一条红线"&gt;五条标准，一条红线&lt;/h2&gt;
&lt;p&gt;严重不良事件（Serious Adverse Event, SAE）的定义是固定的。五条：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;导致死亡&lt;/li&gt;
&lt;li&gt;威胁生命&lt;/li&gt;
&lt;li&gt;导致住院或延长住院时间&lt;/li&gt;
&lt;li&gt;导致永久性或显著的残疾/功能障碍&lt;/li&gt;
&lt;li&gt;导致先天异常/出生缺陷&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;面试的时候，面试官喜欢出场景题。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;受试者随访期间因为心脏病发作进了 ICU，算不算 SAE？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;算。一条&amp;quot;威胁生命&amp;quot;，一条&amp;quot;导致住院&amp;quot;，双命中。&lt;/p&gt;
&lt;p&gt;再来一题更刁的。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;受试者血压控制不好，医生建议住院观察，但受试者拒绝了。算不算 SAE？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;不算 SAE——但需要记成 AE。&amp;ldquo;导致住院&amp;quot;这个标准的前提是实际发生了住院行为，不是医生动了个念头。&lt;/p&gt;
&lt;p&gt;SAE 报告的时限是二十四小时。&lt;/p&gt;
&lt;p&gt;从研究者获知 SAE 那一刻开始计时。二十四小时内必须报给申办方。申办方收到之后，还有额外的时限向监管机构汇报——但这第一步，二十四小时，雷打不动。&lt;/p&gt;
&lt;p&gt;这个数字是要考试的。&lt;/p&gt;
&lt;p&gt;我做了卡片，每天早上对着念一遍：死亡、威胁生命、住院、残疾、先天异常。念到后来做梦都在复读。&lt;/p&gt;
&lt;p&gt;（有点病态。备考嘛，谁还没点神经质。）&lt;/p&gt;
&lt;h2 id="相关性是个主观题"&gt;相关性是个主观题&lt;/h2&gt;
&lt;p&gt;面试官经常追着问：你怎么判断 AE 跟药物的相关性？&lt;/p&gt;
&lt;p&gt;这是个有争议的话题。&lt;/p&gt;
&lt;p&gt;最通行的框架是五分法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;肯定相关（Definite）&lt;/li&gt;
&lt;li&gt;很可能相关（Probable）&lt;/li&gt;
&lt;li&gt;可能相关（Possible）&lt;/li&gt;
&lt;li&gt;可能无关（Unlikely）&lt;/li&gt;
&lt;li&gt;无法判断（Unassessable）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;偶尔有人用七分法——在&amp;quot;肯定&amp;quot;和&amp;quot;很可能&amp;quot;之间再多切两级。本质上都是在灰色地带划线。&lt;/p&gt;
&lt;p&gt;判断依据没有客观标尺，主要靠研究者综合几件事：时间关系——是不是用药之后出现的？已知药理——这是说明书上写过的不良反应吗？去激发和再激发——药停了症状就消失了？药又用上了症状就回来了？&lt;/p&gt;
&lt;p&gt;&amp;ldquo;相关性判断为什么重要？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;因为它直接决定安全性分析的结论。如果一份试验报告里出现了大量&amp;quot;肯定相关&amp;quot;的 SAE，那这个药的风险收益比就要重新上秤。救人还是伤人，有时候只差一个相关性评级。&lt;/p&gt;
&lt;h2 id="记录不是一次性的"&gt;记录不是一次性的&lt;/h2&gt;
&lt;p&gt;AE 不是记完就可以翻页的。&lt;/p&gt;
&lt;p&gt;研究者要持续随访，直到三件事之一发生：事件解决了（恢复或稳定），受试者失访了，或者事件的根因确认了——比如确定是受试者自己停药导致的停药后事件。&lt;/p&gt;
&lt;p&gt;结局（outcome）有几种标准记法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;解决（Resolved）&lt;/li&gt;
&lt;li&gt;解决但有后遗症（Resolved with sequelae）&lt;/li&gt;
&lt;li&gt;未解决/持续中（Not resolved / ongoing）&lt;/li&gt;
&lt;li&gt;解决中（Resolving）&lt;/li&gt;
&lt;li&gt;致命（Fatal）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有个容易搞混的地方。&amp;ldquo;致命&amp;quot;和&amp;quot;导致死亡&amp;quot;是两回事。一个 AE 可以状态是&amp;quot;未解决/持续中&amp;rdquo;，但随访期间受试者因为别的原因去世了——它被标注为&amp;quot;致命&amp;quot;结局。死亡本身不是 AE，是一个终点。&lt;/p&gt;</description></item><item><title>随机化，被问到不会为止</title><link>https://touchingfish.top/2025/randomization-details/</link><pubDate>Sat, 08 Feb 2025 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2025/randomization-details/</guid><description>&lt;p&gt;随机化（Randomization）是临床试验的基石。&lt;/p&gt;
&lt;p&gt;这句话我在面试里说了不下十遍。每次说的时候底气都很足——直到面试官开始往下挖。&lt;/p&gt;
&lt;p&gt;上统计课的时候，老师讲得轻描淡写：随机化就是让混杂变量在组间均匀分布。掷硬币，分两组，完事。我当时觉得，这有什么难的？&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sas" data-lang="sas"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rand = rand(&lt;span class="s"&gt;&amp;#34;uniform&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;group&lt;/span&gt; = &lt;span class="k"&gt;if&lt;/span&gt; rand &amp;lt; &lt;span class="m"&gt;0.5&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Treatment&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Control&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一行代码。大样本下组间基线特征自然均衡。简单随机化（Simple Randomization）操作起来也确实这么痛快——每个受试者扔一次骰子，去哪组全凭运气。&lt;/p&gt;
&lt;p&gt;问题出在小样本上。&lt;/p&gt;
&lt;p&gt;四十个人的试验，随机下来可能是 24 比 16。理论上不偏，但统计效能（power）被削了一块——你本来算好需要二十个对照，实际只拿到十六个，power 就缩水了。&lt;/p&gt;
&lt;p&gt;面试官问我小样本用什么方法。&lt;/p&gt;
&lt;p&gt;我说分层随机化。&lt;/p&gt;
&lt;p&gt;（现在回头想，这个回答不对。应该先想到区组随机化。）&lt;/p&gt;
&lt;h2 id="每个区块都是一个小平衡"&gt;每个区块都是一个小平衡&lt;/h2&gt;
&lt;p&gt;区组随机化（Block Randomization）是我准备面试的时候啃得最细的一个点。&lt;/p&gt;
&lt;p&gt;道理不复杂。把受试者切分成若干&amp;quot;区块&amp;quot;，每个区块内部按固定比例分。比如区块大小是 4，比例 1:1——每四个人里一定有两个试验、两个对照。区块内部严格对称。&lt;/p&gt;
&lt;p&gt;这个设计在多中心试验（multi-center trial）里特别好用。A 中心招了三十个人，B 中心只有十个——简单随机化可能让 A 中心变成 20:10，B 中心变成 8:2，摆在一起虽然整体是 1:1，但每个中心内部歪得离谱。区组随机化让每个中心各自维持内部平衡。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;前提是区块大小不被猜到。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果区块固定为 4，研究者看到前三个人的分组就能反推第四个。盲法（blinding）原地作废。&lt;/p&gt;
&lt;p&gt;解法：把区块大小也随机化。可以是 4，也可以是 6，随机抽。&lt;/p&gt;
&lt;p&gt;面试官追着这个点问。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;区组大小固定的话，会有什么后果？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;我顿了三秒。说，可能造成选择偏倚——研究者会看前面几个人的分组，决定要不要让下一个人入组。&lt;/p&gt;
&lt;p&gt;他没接话。&lt;/p&gt;
&lt;p&gt;（后来我琢磨，我的方向大概对了一半。猜到分组确实会打穿盲法。但&amp;quot;决定是否入组&amp;quot;这个说法不准确——入组标准是写死的，研究者不应该有裁量空间。真正怕的是他通过控制入组节奏来影响分组：预测下一个会进试验组，就稍微拖一拖。这更接近实施偏倚而不是选择偏倚。）&lt;/p&gt;
&lt;h2 id="按特征分堆"&gt;按特征分堆&lt;/h2&gt;
&lt;p&gt;分层随机化（Stratified Randomization）解决另一件事。&lt;/p&gt;
&lt;p&gt;有些变量对结局影响很大——年龄、性别、疾病分期。小样本里，纯随机可能让这些变量在组间歪掉。分层做法的思路是：先按重要特征切层（60 岁以下/60 岁以上、男/女），然后在每一层内部再做随机。保证每个分层因素在两组之间是平衡的。&lt;/p&gt;
&lt;p&gt;面试题经常问：&amp;ldquo;分层和区组有什么区别？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;分层按受试者特征来，区组按入组先后来。分层管协变量的平衡，区组管各时间点样本量的平衡。两者不互斥——可以先分层，再在层内跑区组随机化。面试的时候如果能说出这个组合用法，大概能加点分。&lt;/p&gt;
&lt;h2 id="一时语塞"&gt;一时语塞&lt;/h2&gt;
&lt;p&gt;那场面试没有后续。&lt;/p&gt;
&lt;p&gt;我猜是因为答得太虚。概念头头是道，落地一问就露馅。&lt;/p&gt;
&lt;p&gt;面试官最后抛了一个开放式结尾：&amp;ldquo;如果一个中心招募速度特别慢，怎么处理？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;我说，跟中心研究者沟通，了解原因。如果是患者来源问题，调整招募策略或者增加中心。&lt;/p&gt;
&lt;p&gt;他说了一句让我记到现在的话。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;CRO 行业现在收缩得很厉害。很多中心不是招不到患者，是申办方没钱了，主动暂停试验。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;我当场石化。&lt;/p&gt;
&lt;p&gt;背了那么多术语、方法、最佳实践，到头来被一个行业事实干翻了。统计方法能解决的问题是有边界的——资金、政策、市场周期，这些东西不在任何一本 GCP 教材里。&lt;/p&gt;
&lt;p&gt;后来我查了一下，CRO 确实在过冬。不是哪个公司的原因，是整个赛道都在缩。&lt;/p&gt;</description></item><item><title>Odds Ratio, Risk Ratio, and Risk Difference</title><link>https://touchingfish.top/2024/odds-ratio-risk-ratio-risk-difference/</link><pubDate>Wed, 18 Dec 2024 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2024/odds-ratio-risk-ratio-risk-difference/</guid><description>&lt;p&gt;一切从一张 2×2 表开始。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;Event&lt;/th&gt;
 &lt;th&gt;No Event&lt;/th&gt;
 &lt;th&gt;Total&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Treated&lt;/td&gt;
 &lt;td&gt;a&lt;/td&gt;
 &lt;td&gt;b&lt;/td&gt;
 &lt;td&gt;a+b&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Control&lt;/td&gt;
 &lt;td&gt;c&lt;/td&gt;
 &lt;td&gt;d&lt;/td&gt;
 &lt;td&gt;c+d&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;你做了一个 RCT，收了三百个人。一百五在治疗组，一百五在对照组。治疗组发生事件的人数是 a，对照组是 c。&lt;/p&gt;
&lt;p&gt;你对着这张表算出了三个数。它们趴在同一个数据的背上，长得像三胞胎，但其实是三种完全不同的语言。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RD: Risk Difference&lt;/strong&gt; = $p_1 - p_0 = \frac{a}{a+b} - \frac{c}{c+d}$&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RR: Risk Ratio&lt;/strong&gt; (或 Relative Risk) = $\frac{p_1}{p_0} = \frac{a/(a+b)}{c/(c+d)}$&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OR: Odds Ratio&lt;/strong&gt; = $\frac{p_1/(1-p_1)}{p_0/(1-p_0)} = \frac{ad}{bc}$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;三个数都从四个格子里长出来。但它们讲的故事不一样。选错了，你的结论就可能从&amp;quot;有效&amp;quot;变成&amp;quot;无效&amp;quot;——或者反过来，把一个小效应吹成一个中药丸子的神话。&lt;/p&gt;
&lt;h2 id="rd最直观也最不老实"&gt;RD：最直观，也最不老实&lt;/h2&gt;
&lt;p&gt;RD 是治疗组和对照组在事件发生率上的绝对差距。加性尺度（additive scale）。很直白：每治疗 100 人，多救（或多伤）几个。&lt;/p&gt;
&lt;p&gt;RD = 0.05 意味着治疗组比对照组多 5 个百分点的人发生了（或避免了）事件。&lt;/p&gt;
&lt;p&gt;它和 NNT（Number Needed to Treat，需治疗人数）有一条简洁的通道：&lt;/p&gt;
$$NNT = \frac{1}{|RD|}$$&lt;p&gt;RD = 0.10 → NNT = 10。每治疗 10 个人，多避免 1 次事件。临床医生爱 NNT，因为它是唯一一个可以像钱一样直接&amp;quot;花&amp;quot;的数字——给多少人用药，换多少获益。&lt;/p&gt;</description></item><item><title>人会犯错，分组不会</title><link>https://touchingfish.top/2024/intention-to-treat-vs-per-protocol/</link><pubDate>Tue, 17 Dec 2024 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2024/intention-to-treat-vs-per-protocol/</guid><description>&lt;p&gt;设想一个场景。&lt;/p&gt;
&lt;p&gt;你是一个统计师，面前摆着一份 RCT 的 CRF（Case Report Form，病例报告表）。受试者编号 017，按随机表被分到了治疗组。方案说每天一片药，吃六个月。你在随访记录里看到：第二个月开始，017 的依从性（compliance）断崖式下降。药片计数显示他大概只吃了一半。第六个月的时候，他人还在，药已经不怎么碰了。&lt;/p&gt;
&lt;p&gt;然后你翻到他的主要终点数据。他的血压降了 15 mmHg。对照组的平均降幅是 8 mmHg。&lt;/p&gt;
&lt;p&gt;你怎么办？把他扔进分析里，还是不扔？&lt;/p&gt;
&lt;p&gt;这个问题看起来像一道统计题，但它不是。它是一个关于&amp;quot;你到底想说什么&amp;quot;的问题——而你在这一刻的选择，决定了你的结论是一个政策建议，还是一个生物学论断。&lt;/p&gt;
&lt;h2 id="itt一旦随机永远分析"&gt;ITT：一旦随机，永远分析&lt;/h2&gt;
&lt;p&gt;ITT 的全称是 Intention-to-Treat。它的定义硬到没有商量余地：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Once randomized, always analyzed.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;所有被随机化的受试者，都按他们被分配到的组别进行分析——不管他们有没有接受分配的治疗、有没有违反方案（protocol deviation）、有没有中途退出（withdrawal）。哪怕 017 一颗药都没吃，他在分析中仍然是&amp;quot;治疗组&amp;quot;的一员。&lt;/p&gt;
&lt;p&gt;这个原则的完整英文表述值得全文引用：All randomized subjects are analyzed according to the group to which they were randomly assigned, regardless of whether they received the allocated treatment, deviated from the protocol, or withdrew from the study.&lt;/p&gt;
&lt;p&gt;翻译成人话：你当初把他随机分到哪一组，数据分析的时候就把他放在哪一组。后面发生的一切——吃不吃药、跑不跑路——都不能改变这个归属。&lt;/p&gt;
&lt;p&gt;听起来有点不讲道理。&lt;/p&gt;
&lt;p&gt;但它背后有一条统计学的脊梁：随机化（randomization）是推断的根基。ITT 保护的正是随机化所创造的组间可比性（comparability）。把那些不依从的人扔掉，你就打破了随机化——因为不依从（non-adherence）不是随机发生的。扔掉的人不是随机样本，而是有共同特征的一群人。&lt;/p&gt;
&lt;p&gt;这个逻辑并不复杂，但它的后果很深。&lt;/p&gt;
&lt;h2 id="为什么-itt-对-superiority-trial-是金标准"&gt;为什么 ITT 对 superiority trial 是金标准&lt;/h2&gt;
&lt;p&gt;ITT 对于优效性试验（superiority trial）有一个被广泛接受的定性判断：它是保守的（conservative）。&lt;/p&gt;</description></item><item><title>你用 N 赌一个 p 值 / Sample Size Estimation</title><link>https://touchingfish.top/2024/sample-size-estimation/</link><pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2024/sample-size-estimation/</guid><description>&lt;p&gt;一个临床医生和一个统计师在走廊里相遇。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;这个试验需要多少人？&amp;rdquo; 医生问。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;那要看你想证明什么。&amp;rdquo; 统计师说。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;证明药有效啊。&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;多少算有效？&amp;rdquo;&lt;/p&gt;
&lt;p&gt;医生想了三秒，给了一个数字。统计师在脑子里跑了一遍公式，又给了一个数字。&lt;/p&gt;
&lt;p&gt;这场对话每天都在发生。但它底下藏着的逻辑，远比一句&amp;quot;样本量不够&amp;quot;要复杂。样本量估计（sample size estimation）不是在报表里填一个数字，而是把整个试验设计写成一个等式——然后把你的预算、你的野心、你愿意承担的犯错概率，全部扔进这个等式的一边，看另一边跳出多少 N。&lt;/p&gt;
&lt;p&gt;你手里的钱（N），去赌一个可以承受的错误概率（α 和 β）。问题是，这场交易里有太多人想偷你的 N：脱落率（dropout rate）、多重比较（multiplicity）——你每防住一个，就得加点钱。&lt;/p&gt;
&lt;h2 id="四种关系四种方程"&gt;四种关系，四种方程&lt;/h2&gt;
&lt;p&gt;在开始之前，先搞清楚我们到底想证明什么。&lt;/p&gt;
&lt;p&gt;临床上常见的比较设计有四种，英文标准名称写在这里，因为中文翻译常常混用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Superiority trial&lt;/strong&gt;（优效性试验）：证明 A 比 B 好。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-inferiority trial&lt;/strong&gt;（非劣效性试验）：证明 A 不比 B 差太多，差在可接受范围内。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Equivalence trial&lt;/strong&gt;（等效性试验）：证明 A 和 B 在某个范围内等效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bioequivalence study&lt;/strong&gt;（生物等效性研究）：证明仿制药和原研药在药代动力学参数上等价。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;四种关系的数学表达各不相同，公式也因此不一样。&lt;/p&gt;
&lt;p&gt;先讲最常见的 superiority trial。另外三种的逻辑差异主要在界值（margin）的设定上，原理相通，本文不展开。&lt;/p&gt;
&lt;h2 id="两类错误你可以犯错但不能白犯错"&gt;两类错误：你可以犯错，但不能白犯错&lt;/h2&gt;
&lt;p&gt;这是整个样本量估计的理论地基。如果这块没理解，后面的公式就是一堆符号。&lt;/p&gt;
&lt;h3 id="type-i-error-α"&gt;Type I error (α)&lt;/h3&gt;
&lt;p&gt;也叫 significance level（显著性水平）。&lt;/p&gt;
&lt;p&gt;定义：$H_0$ 为真时，你错误地拒绝了 $H_0$。&lt;/p&gt;
&lt;p&gt;翻译成人话：药其实没用，但你的数据&amp;quot;看起来&amp;quot;像是有用。你被数据骗了。&lt;/p&gt;
&lt;p&gt;典型值是 0.05（双侧，two-sided）。也就是说，你愿意接受在 20 次试验里被数据骗 1 次的概率。&lt;/p&gt;
&lt;p&gt;（我自己学到这里的时候，总觉得 0.05 是个任意的数字——为什么不是 0.04 或 0.06？后来才明白，它确实是任意的。Fisher 当年说&amp;quot;it is convenient to take this point as a limit&amp;quot;，翻译过来就是&amp;quot;我觉得这个数字挺方便&amp;quot;。方便而已。）&lt;/p&gt;</description></item></channel></rss>