高效COVID-19检测中的分组测试技术
在没有疫苗的情况下,控制COVID-19传播的一项宝贵措施是大规模检测。然而,检测套件的有限可用性意味着必须尽可能高效地进行检测。
最有效的检测协议是分组测试,即将多个受试者的测试样本一起检测。如果测试完全可靠,那么一组的阴性测试可以立即清除所有成员。巧妙的分组选择使协议能够以比单独测试每个患者所需的更少的测试来锁定感染患者。
分组测试是一个经过充分研究的问题,但COVID检测的特殊方面——包括测试人群中相对较低的感染率、测试的假阳性率以及可以合并到单个组中的样本数量的实际限制——意味着现有理论规定的通用测试策略并非最优。
同事和本人合著的一篇论文提出了几种不同情况下COVID测试的最优策略。该论文目前正在提交出版,但已发布到arXiv,希望这些想法能够帮助刺激COVID测试设计的进一步进展。
分组测试的关键是给定的测试样本在几个不同的组中进行测试,每个组将其与不同的样本组合相结合。通过交叉引用所有组测试的结果,可以高概率预测任何给定样本的正确结果。
在这方面,该问题完全再现了信息理论中纠错码的经典问题。纠错码中的每个奇偶校验位编码关于几个消息位的信息,通过迭代交叉引用消息位和奇偶校验位,可以确定是否出现了错误。
因此,将如何合并测试样本的问题视为编码问题,将解释测试结果的问题视为解码问题,并使用信息理论中的信息增益概念来评估测试协议。
自适应测试
分组测试有两种类型:自适应和非自适应。在自适应设置中,测试(或测试组)按顺序进行,一轮测试的结果为下一轮的分组选择提供信息。在非自适应测试中,分组选择没有任何关于组结果的先验信息。
在论文中,考虑了涉及相对较少患者(少于30人)的自适应测试。还考虑了针对更大数量(例如数千人)的非自适应测试。在这两种设置中,使用信息理论的工具,考虑了关于感染概率的先验知识(某些患者的风险高于其他患者)以及测试的假阳性和假阴性率。
即使患者数量较少,考虑到测试结果的不确定性和先验感染概率的混合,计算测试组的最佳组成是一个棘手复杂的问题。研究表明,在COVID-19设置中,进化策略提供了最佳组成的最佳近似。
使用进化策略,测试组随机组装,并计算可能的信息增益(给定每个患者阳性测试的先验概率)。然后随机改变一些分组组成并再次测试。进一步探索导致更多信息的变化;放弃那些没有的。
这个过程将产生最佳分组组成的最佳近似,但可能需要一段时间:没有理论保证进化策略多快会收敛到解决方案。作为自适应测试中小数量患者的替代方案,还考虑了一种贪婪的分组组成策略。
使用贪婪策略,首先组装本身最大化一轮测试信息增益的组。然后选择在下一轮中最大化信息增益的组,依此类推。在论文中,表明这种方法很可能会接近理想分组组成的近似,比进化策略提供更严格的收敛速率保证。
非自适应测试
对于大规模非自适应测试,常规方法是使用Bloom过滤器合并。Bloom过滤器是一种旨在在流式在线上下文中跟踪通过网络传递的数据的机制。
Bloom过滤器使用几个不同的哈希函数将其看到的每个数据项哈希到固定大小数组中的几个不同位置。之后,如果给定数据项对应的任何位置为空,过滤器可以保证该项目未被看到。然而,假阳性是可能的。
分组测试借用了这种设计,使用多个哈希函数将单个患者的样本分配到多个位置,并将哈希到相同位置的样本分组。但无论哈希函数多好,跨组的分布可能不完全均匀。如果组平均每个有20名成员,有些可能有18名,其他22名,等等。这影响了随后感染预测的准确性。
Bloom过滤器设计假设在流式网络设置中看到的数据项数量是不可预测且开放的。但在分组测试上下文中,确切知道有多少患者样本分布在组中。因此可以精确控制分配给每个组的样本数量。
如果没有感染率的先验概率,均匀分布是最优的。如果有先验概率,则可以相应分布样本:最大化信息增益可能需要减少包含高概率样本的组大小,增加包含低概率样本的组大小。
类似地,因为Bloom过滤器是为流式网络设置设计的,确定项目是否被看到的算法必须高效;权衡是它不最小化假阳性风险。在分组测试上下文中,可以负担更复杂但准确的解码算法。在论文中,表明一种常用于解码纠错码的消息传递算法比标准Bloom过滤器解码算法有效得多。