欢迎光临散文网 会员登陆 & 注册

Last observation carried forward

2021-09-11 23:29 作者:陆震同学  | 我要投稿


我们知道,临床试验是一个过程,它所搜集的数据,不仅带着 baseline,还会包括 screening 以及 post baseline 后的逐次 visit,也就是说,它更多的是时间序列数据,需要在不同的 time point 对每位受试者作重复的 test,那么这个过程中,由于各种可以避免的或者不可避免的原因,总之,会出现某些 subject 在某个 test 的某次 visit 的 value 为缺失值。这种情况下,是删掉该次 record 弃而不用,还是采取一些技术尽可能地利用所搜集上来的信息呢?

由于临床试验通常的规模和总体控制的复杂性,dropout 几乎是一种常态。究其原因,不例外是两种,随机的或者非随机的。什么意思?受试者搬家了导致的和临床试验本身无关的这类,我们通常视为随机,认为这种信息并不会反映临床试验药物或者器械的某种带有倾向性的信息,但是,若受试者是因为临床试验药物治疗加重病情这类的原因导致 dropout,自然这类信息与临床试验的安全性或者疗效有关,在做统计分析时,是一定不能忽视错过的,对于这些带有 missing values 的 records,也不能简单的 discard 掉。

但是,作为统计人员,有些时候,我们并不能主观的完成这种随机或非随机 dropout 的判定,因而,出现了填补缺失值这类的技术。我们今天讲的,就是其中的一个方法:LOCF,即 last observation carried forward。这种方法本身也很好理解,由于是时间序列数据,上一次未缺失的 observation 的 value 会作为它下一个时间点的 value,即我们认为该次 record 保持与上一次观测时一致,这就是 LOCF 的 assumption。这在临床试验的数据处理中,是一种常见的操作。一般来讲,FDA 也视 LOCF 为比较合适的填补此类数据的方法之一,虽然它无法极为精确地还原真实情况,但相对于直接 discard 掉 missing values,它还是利用了部分数据的信息,只是较为保守一些。

举一个数据的例子,供大家理解上述说明:

对于 LOCF imputation 的 SAS 实现,我们其实在这篇文章里 集合,来刷题了 已经讲过。当时我们用到了 dow 循环,在关注我的朋友们中,一定有更好的实现方法,欢迎大家留言讨论。这里由于是 统计板块,就不讲编程了,再提供一个小思路供大家参考---可以在 merge 时 retain 一个或几个 temporary variable,用来存储需要进行传递的 value 值,即可。

### 细节

另外,提醒一点,一般来讲,若 last observation 为 pre-dose 阶段,即作为 baseline 的 visit 0,它的 value 一般不 carried forward 到 dosing 阶段,除非是需要计算 change from baseline 时的操作需要用到;同时,dosing 阶段的 value 也不会 carried foraward 到 follow-up visits。



Last observation carried forward的评论 (共 条)

分享到微博请遵守国家法律