从索赔数据中的过去状况预测下一个医疗状况

数据挖掘 机器学习 r
2021-09-23 04:08:01

我目前正在处理大量健康保险索赔数据,其中包括一些实验室和药房索赔。然而,数据集中最一致的信息由诊断 (ICD-9CM) 和程序代码 (CPT、HCSPCS、ICD-9CM) 组成。

我的目标是:

  1. 确定慢性肾病等疾病最有影响的前兆疾病(合并症);
  2. 根据患者过去的状况,确定患者出现疾病的可能性(或概率);
  3. 执行与 1 和 2 相同的操作,但要进行程序和/或诊断。
  4. 最好是医生可以解释结果

我看过遗产健康奖里程碑论文之类的东西,并从中学到了很多东西,但它们专注于预测住院情况。

所以这是我的问题:您认为哪些方法对此类问题有效?而且,哪些资源对于学习与医疗保健和临床医学相关的数据科学应用和方法最有用?

编辑#2 添加明文表:

CKD 是目标疾病,“慢性肾病”,“.any”表示他们在任何时候都已获得该疾病,“.isbefore.ckd”表示他们在首次诊断 CKD 之前就已患有该疾病。其他缩写对应于 ICD-9CM 代码组标识的其他条件。此分组发生在导入过程中的 SQL 中。除患者年龄外,每个变量都是二进制的。

3个回答

我从未使用过医疗数据,但从一般推理来看,我会说医疗保健变量之间的关系非常复杂。不同的模型,例如随机森林、回归等,只能捕获部分关系而忽略其他关系。在这种情况下,使用一般的统计探索建模是有意义的

例如,我要做的第一件事就是找出可能的先兆条件和诊断之间的相关性。例如,慢性肾病在长期流感之前的比例是多少?如果它很高,它并不总是意味着因果关系,但提供了很好的思考,有助于更好地理解不同条件之间的关系。

另一个重要步骤是数据可视化。CKD 在男性中发生的频率是否比女性多?他们的居住地呢?CKD 病例的年龄分布如何?很难将大型数据集理解为一组数字,将它们绘制出来会更容易。

当您对正在发生的事情有所了解时,请执行假设检验以检查您的假设。如果您拒绝零假设(基本假设)而支持替代假设,那么恭喜您,您已经做出了“真实的事情”。

最后,当您对数据有很好的了解后,尝试创建完整的模型它可能是一般的东西,比如PGM(例如手工制作的贝叶斯网络),或者更具体的东西,比如线性回归或SVM或任何东西。但无论如何,您已经知道该模型如何与您的数据相对应,以及如何衡量其效率。


作为学习统计方法的良好入门资源,我会推荐Sebastian Thrun 的Intro to Statistics课程。虽然它非常基础并且不包括高级主题,但它描述了最重要的概念并系统地理解了概率论和统计学。

虽然我不是数据科学家,但我是一名在临床环境中工作的流行病学家。您的研究问题没有指定时间段(即在 1 年、10 年、终生发生 CKD 的几率?)。

通常,在考虑建模(单变量分析、双变量分析、共线性检查等)之前,我会经历许多步骤。但是,尝试预测二元事件(使用连续 OR 二元变量)的最常用方法是逻辑回归。如果您想将 CKD 视为实验室值(尿白蛋白,eGFR),您将使用线性回归(连续结果)。

虽然使用的方法应该由您的数据和问题提供信息,但临床医生习惯于查看优势比和风险比,因为这些是医学期刊(如 NEJM 和 JAMA)中最常报告的关联度量。

如果您从人类健康的角度(而不是商业智能)来解决这个问题,那么这个 Steyerberg 的临床预测模型是一个很好的资源。

“确定对慢性肾病等疾病最有影响的前兆疾病(合并症)”

我不确定是否有可能识别最有影响力的条件;我认为这取决于您使用的型号。就在昨天,我将随机森林和提升回归树拟合到相同的数据,每个模型对变量的顺序和相对重要性完全不同。