system: [SYSTEM]

user: 2. 数据处理与属性选择 关于糖尿病并发症数据来源于2019年人口健康共享杯大赛 [ 2 ] 发布的原始数据，它给出了检查者的各类具体数据，数据集包含基本信息表、诊断表、检查表、医嘱表、费用表、生化检查表、糖化检查表、尿常规检查表等，每个表通过用户ID进行关联，剔除无效数据和大量缺失数据样本，如铁和不饱和铁结合力两类属性有效数据为23组，477组空白数据，考虑删除此类属性，通过初步人工检索选择所有可能影响糖尿病并发症出现的数据，包括检查者的patient_id、性别、年龄、血清血蛋白、丙氨酸氨基转移酶等二十四类属性。利用python3.7对所有表格的原始数据做一个大致的显示，最终确定发现样本数据中总共有500名检查者，其中除了年龄数据与性别数据外的属性数据均不全，例如： · 天冬氨酸氨基转移酶属性只有402名检查者有记录 · 葡萄糖属性只有445名检查者有记录 再观察具体数据的数值情况，利用describe函数得到数值型数据的分布情况，其中有2个属性(性别、诊断情况)为非数值型数据，故无法显示，详见表1数值型属性数据分布表。 Table 1 Distribution of original data of numerical attribute Attribute 患病 年龄 丙氨酸氨基转移酶 天冬氨酸氨基转移酶 总蛋白 count 499 499 402 401 326 mean 0.136273 56.785571 109.411443 107.558853 64.704294 std 0.343422 12.897655 455.682158 652.442121 9.677023 min 0 0 4.5 4.2 32.3 25% 0 50 13.9 14.4 58.85 50% 0 58 24.2 22.8 66.25 75% 0 66 49.5 43.6 71.3 max 1 84 5514.2 10，897.1 90.9 表1. 数值型属性原始数据部分分布表 从表1观察部分属性值，在mean字段处，约有13.6%的人患有糖尿病并发症，平均年龄从表1观察部分属性值，在mean字段处，约有13.6%的人患有糖尿病并发症，平均年龄在57岁，但在这里的显示均是忽略了缺失值后的数值。现将所有的原始数据进行处理：在57岁，但在这里的显示均是忽略了缺失值后的数值。现将所有的原始数据进行处理： · 针对所有只有部分检查者有记录的属性，将缺失值由其各自属性的平均值代替。 · 针对每一位检查者均有其特定的ID (Passenger ID)，可剔除申请序号这个数值型属性。 · 正常情况下，检查者的信息和检查情况表之间是有直接关系的，均由检查者ID进行关联，我们针对本次分析样本中的500个检查者信息重新做一个顺序排列(1~500)。 · 将性别属性转换为数值型属性，女性为0，男性为1。 · 将诊断属性转换为数值型属性(患病)，诊断患有糖尿病及并发症为1，其他情况均记为0。 将以上工作完成后，得到500组检查者的二十四类属性情况(性别，年龄，患病，丙氨酸氨基转移酶(0~40 U/L)，天冬氨酸氨基转移酶(0~40 U/L)，总蛋白(55~80 g/L)，血清白蛋白(35~50 g/L)，总胆红素(0~21 umol/L)，直接胆红素(0~8.6 umol/L)，碱性磷酸酶(0~130 U/L)，尿素(1.8~7.5 mmol/L)，γ-谷氨酰基转移酶(0~50 U/L)，肌酐(30~110 umol/L)，葡萄糖(3.4~6.1 mmol/L)，甘油三酯(0.4~1.7 mmol/L)，血清尿酸(104~444 umol/L)，总胆固醇(3.1~5.7 mmol/L)，肌酸激酶(2~200 U/L)，乳酸脱氢酶(40~250 U/L)，钙(2.09~2.54 mmol/L)，钠(130~150 mmol/L)，钾(3.5~5.5 mmol/L)，氯化物(94~110 mmol/L)，无机磷(0.89~1.6 mmol/L)，镁(0.6~1.4 mmol/L))，将这二十四类属性做一个线性相关性的热力图，见图1。 考虑以检查者的患病情况(序号4)为因变量，除去编号序列，观察图1，表2中剩余的二十四个自变量分别与因变量之间的相关性。根据相关系数背景知识 [ 3 ]，其中检查者的性别，总蛋白，血清白蛋白，血清尿酸，钙五个属性与患病之间有一般的正相关(相关系数分别为0.086、0.096、0.13、0.13、0.12)，检查者的年龄，总胆红素，直接胆红素，γ-谷氨酰基转移酶与患病属性之间有一般的负相关(相关系数为−0.28、−0.096、−0.13、−0.100)，暂定性别，总蛋白，血清白蛋白，血清尿酸，钙，年龄，总胆红素，直接胆红素，γ-谷氨酰基转移酶这九个属性为自变量。但注意到检查者的总蛋白，血清白蛋白，钙之间有较强的正相关，总胆红素，直接胆红素，γ-谷氨酰基转移酶之间有较强的正相关，一般不宜将相关性较强的变量同时作为自变量进行建模，本次建模保留钙，γ-谷氨酰基转移酶两个属性，删除与之相关的总蛋白，血清白蛋白，总胆红素，直接胆红素四个属性，最终选择性别，年龄，γ-谷氨酰基转移酶，血清白蛋白，钙五个属性作为自变量。 图1. 属性线性相关性的热力图 Table 2 Correlation between various attributes and disease attribute 属性 相关性 属性 相关性 属性 相关性 性别 0.086 碱性磷酸酶 −0.070 肌酸激酶 −0.05 年龄 −0.28 尿素 −0.062 乳酸脱氢酶 −0.03 丙氨酸氨基转移酶 −0.063 γ-谷氨酰基转移酶 −0.100 钙 0.12 天冬氨酸氨基转移酶 −0.04 肌酐 −0.0037 钠 −0.060 总蛋白 0.096 葡萄糖 −0.051 钾 −0.016 血清白蛋白 0.13 甘油三酯 0 氯化物 0.07 总胆红素 −0.096 血清尿酸 0.13 无机磷 −0.007 直接胆红素 −0.13 总胆固醇 −0.0037 镁 −0.007 表2. 各属性与患病属性的相关性表 在进行模型回归之前，先简单观察检查者性别属性和年龄属性与患病情况之间的关系，分析数据之间的关系： · 性别与患病间的关系 图2. 性别与患病关系图 利用python软件绘出Titanic事件中男女存活的分布情况，由图2可见。图2左的柱状图表示男性患病的数量情况，图2右的柱状图表示女性患病的数量情况，明显男性比女性的患病人数数量更多，从这里可以看出性别对是否患病情况有一定的影响，而且结合现实发现，男性相比校与女性而言更容易患病。 · 年龄(Age)与存活间的关系 根据图1的热力图显示，发现年龄与存活之间的线性相关性为−0.28，这可以视作为具有一定的相关性。而且结合生活实际来看，年龄是会影响存活的情况的，不同年龄段的人存活概率是不一样的，可如果仅根据−0.28的相关性条件来看，那么年纪越小患病概率越大，这比较实际来说是不可观的，考虑将年龄做一个分段观察。 图3. 不同年龄段的检查者情况分布图 将年龄段分为三个等级(0~29， 30~59， 60~100)，绘出不同年龄段的检查者获救情况分布情况，由图3可见，发现年龄分布在第一等级和第二等级上的检查者患病概率更大，而且关于患病人群逐渐年轻化。在人们的印象中，糖尿病是中老年人的“专利”，但通过查阅发现，过去20年间，我国15岁以下儿童发病率增加了近4倍，多在35~40岁之后发病的2型糖尿病也逐渐在青少年中产生。 · 年龄、性别和患病间的关系 图4. 男女不用年龄患病分布图 绘出三类不同年龄等级的男女患病分布情况，由图4可见。图4上的三幅小图分别表示女性在年龄段1、年龄段2、年龄段3下患病与否的数量情况，明显处于年龄段1和年龄段2的女性比年龄段3患病的人数更多；图4下的三幅小图分别表示男性在一年龄段1、年龄段2、年龄段3下患病与否的数量情况，明显处于年龄段1比年龄段2和年龄段3患病的概率更大。从这里可以看出不同性别下的年龄段不同对患病情况有一定的影响，针对女性而言，应加大关注年龄段1和年龄段2的人群，然而针对男性而言，年龄段3患病的概率仍旧较大需要时刻保持警醒，而且患病群体的年轻化针对男性和女性都较明显。