如何在事件发生时间分析中治疗没有事件的患者?

数据挖掘 时间序列 缺失数据
2022-02-12 13:30:23

我正在处理一系列患者的纵向数据。患者层面的随访持续时间不统一。

患者可能会经历离散事件(例如心脏病发作)或从未经历过该事件。这个特性当然是二进制的。此外,已经经历过事件(例如,第一次心脏病发作)的患者也可以继续经历更多事件(例如,随后的心脏病发作)。每个事件都锚定到一个事件日期,该日期将与患者被诊断为原发性慢性病(例如,多发性骨髓瘤)的时间进行比较。

我想在我的数据集中附加一个派生列 - TimeSinceLastEvent。第一个事件的此值的推导将由 (FirstEventDate - DiagnosisDate)/365 计算,后续事件将由 (SecondEventDate - FirstEventDate)/365、(ThirdEventDate - SecondEventDate)/365 等计算。

我应该如何为从未经历过该事件的患者编写此派生列?我不能为这些患者插入 NA/NaN,因为下游分析需要非 NA 和有限数据;所以无论如何他们都会被错误地估算。一个想法是我将这些值设置为完全不同但标准化的值,例如 -1 或 9999。这是一种有效且合理的方法吗?如果没有,你用的是什么?

1个回答

一般来说,我会选择一个大大超出本列中未估算的值范围的值,因为如果它们被包含在内,这可能会导致更极端(明显)的错误。所以宁可 9999 而不是 -1。但是,正如您可能已经尝试过的那样,“最正确”的解决方案是将其设置为,NaN因为在这些情况下未定义该列。如果在分析过程中的任何步骤,对TimeSinceLastEvent列进行了一些计算,但从NaN技术上讲,这会导致不正确的结果。

您的下游分析策略是什么?您能否将数据分成两个子集(一个有心脏病发作,一个没有心脏病发作)并分别分析它们?