医疗数据异常检测与心脏病预测研究
立即解锁
发布时间: 2025-08-17 01:43:32 阅读量: 1 订阅数: 6 

### 医疗数据异常检测与心脏病预测研究
在医疗领域,数据挖掘和机器学习技术正发挥着越来越重要的作用。一方面,通过对医疗理赔数据的分析,可以检测出其中的异常信息,这对于保障医疗数据的准确性和可靠性至关重要;另一方面,对于糖尿病患者心脏病的预测,能够帮助医生提前采取干预措施,改善患者的健康状况。
#### 医疗理赔数据异常检测实验
- **实验数据获取**:实验首先从医疗保险服务中心(CMS)的存储库(http://www.cms.gov/ )获取医疗理赔数据,并将其存入大数据文件系统(HDFS)。这些数据包含患者的模糊记录,可分为受益人、住院、门诊、承运人及处方记录。不过,本研究未考虑处方和受益人记录,患者的健康状况由住院、门诊和承运人文件中的ICD代码表示。
- **数据建模与预处理**
- **属性选择**:由于获取的数据包含大量属性,而研究仅关注包含ICD代码的属性,因为ICD代码指示患者所患疾病。
- **Hive表创建**:使用Hive编程查询数据,为门诊、住院和承运人理赔文件创建Hive表,并将各文件的记录存入表中。同时创建一个名为超级数据的特殊表,将核心表的记录加载进去,受益人ID作为所有表中记录的主键。
- **疾病表创建**:针对选定的慢性疾病(如糖尿病、心脏病、肝病、肾病和癌症)创建另一组Hive表,查询超级表以捕获慢性疾病发生后的记录,并将其存入相应疾病表。
- **ICD与HCC代码映射**:将疾病表中的ICD代码映射为HCC代码,结果存储在各慢性疾病的单独表中,再将这些HCC表的数据提取到疾病CSV文件中。
- **数据转换**:由于CSV文件中的数据无法直接被机器学习算法处理,需将其转换为词文档矩阵(TDM)。TDM是一个稀疏矩阵,行代表患者,列代表特征(HCC代码),“1”表示相应HCC的出现,“0”表示其缺失。
以下是数据处理流程的mermaid流程图:
```mermaid
graph LR
A[获取医疗理赔数据] --> B[存入HDFS]
B --> C[创建Hive表]
C --> D[创建超级数据]
D --> E[创建疾病表]
E --> F[ICD与HCC代码映射]
F --> G[提取到CSV文件]
G --> H[转换为TDM]
```
#### 异常检测结果与讨论
- **异常检测方法**:实验采用图方法和主成分分析(PCA)方法检测异常。图方法将TDM表示为图,顶点代表患者记录,边代表列(HCC代码),通过计算列计数来确定HCC代码的出现频率,频率低的HCC代码被视为异常。PCA方法将患者记录作为矩阵输入,计算特征值并按升序排列,特征值小的HCC代码被列为异常。
- **结果对比**:图方法和PCA方法的结果显示,约60% - 80%的结果相似,且约11 - 14个HCC代码在两种方法中都被视为异常。同时,使用博弈论方法找出支持疾病的HCC代码,有趣的是,异常检测结果和博弈论结果中的HCC代码交集为空,这表明图方法和PCA方法的结合是检测医疗记录异常的有效方式。
以下是不同慢性疾病异常检测结果的部分表格展示:
| 疾病 | PCA - CODE | FREQ |
| --- | --- | --- |
| 糖尿病 | hcc60 | 1 |
| 心脏病
0
0
复制全文
相关推荐










