SPSS医疗健康数据分析
案例1: 医疗健康数据分析
医疗健康的分析数据是现代医学研究的重要组成部分,在临床决策支持系统中具有广泛的应用价值。该分析能够帮助医疗机构、研究人员以及政策制定者更深入地了解疾病模式、患者行为以及治疗效果等关键指标,并据此制定相应的公共卫生策略。以下将展示一个完整的医疗健康数据分析案例流程:包括数据清洗阶段以确保数据质量、描述性统计以总结基本特征、因子分析用于识别潜在变量之间的关系、聚类分析以发现患者群体的特征分布以及回归分析用于评估各因素对结果的影响程度。本案例将基于假设性数据集进行演示。
1. 数据导入
假设已经有一个名为 health_data.sav 的SPSS数据文件,包含以下变量:
patient_id:患者的唯一标识符age:年龄值gender:性别标注(1代表男性、2代表女性)bmi:身体质量指数(BMI)smoker:吸烟状态(1表示吸烟、2表示不吸烟)alcohol:饮酒频率等级(1表示从不饮酒、2表示偶尔饮酒、3表示经常饮酒)exercise:每周锻炼的次数记录cholesterol:血液中的胆固醇浓度值blood_pressure:血压数值diabetes:糖尿病诊断结果(1表示确诊为糖尿病、2表示未确诊)heart_disease:心脏病诊断情况(1表示患有心脏病、2表示无心脏疾病)hospital_visits:在过去一年内就医次数记录medication:正在服用的具体药物种类记录(1代表未服用药物、2代表服用一种药物、3代表服用两种及以上药物)
2. 数据清理
检查数据中的缺失值并处理。
* 打开数据文件。
GET FILE='C:\path\to\your\file\health_data.sav'.
* 检查数据中的缺失值。
FREQUENCIES VARIABLES=age gender bmi smoker alcohol exercise cholesterol blood_pressure diabetes heart_disease hospital_visits medication
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE STDDEV MIN MAX
/MISSING=REPORT.
* 删除含有缺失值的观测。
SELECT IF (SYSMIS(age) OR SYSMIS(gender) OR SYSMIS(bmi) OR SYSMIS(smoker) OR SYSMIS(alcohol) OR SYSMIS(exercise) OR SYSMIS(cholesterol) OR SYSMIS(blood_pressure) OR SYSMIS(diabetes) OR SYSMIS(heart_disease) OR SYSMIS(hospital_visits) OR SYSMIS(medication)) = 0.
EXECUTE.
3. 描述性统计
计算各个变量的描述性统计。
* 计算描述性统计。
DESCRIPTIVES VARIABLES=age bmi exercise cholesterol blood_pressure hospital_visits
/STATISTICS=MEAN STDDEV MIN MAX.
* 计算频率分布。
FREQUENCIES VARIABLES=gender smoker alcohol diabetes heart_disease medication
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE.
4. 因子分析
进行因子分析以减少变量数量,并提取潜在的因子。
* 因子分析。
FACTOR
/VARIABLES bmi cholesterol blood_pressure exercise
/MISSING LISTWISE
/ANALYSIS bmi cholesterol blood_pressure exercise
/PRINT INITIAL EXTRACTION ROTATION
/FORMAT SORT BLANK(.10)
/PLOT EIGEN
/CRITERIA MINEIGEN(1) ITERATE(25)
/EXTRACTION PC
/ROTATION VARIMAX
/SAVE REG(ALL)
/METHOD=CORRELATION.
5. 聚类分析
进行聚类分析以识别不同的患者群体。
5.1 层次聚类分析
* 层次聚类分析。
CLUSTER bmi cholesterol blood_pressure exercise
/METHOD WARD
/MEASURE=SEUCLID
/ID=patient_id
/PRINT SCHEDULE CLUSTER(5)
/PLOT DENDROGRAM.
5.2 K-均值聚类分析
假设根据层次聚类的结果决定分为3个集群。
* K-均值聚类分析。
K-MEANS CLUSTER
/VARIABLES bmi cholesterol blood_pressure exercise
/METHOD=ITERATE(20)
/PRINT=INITIAL DISTANCE CLUSTER
/CRITERIA=CLUSTER(3)
/SAVE CLUSTER(DISTANCE).
6. 交叉表分析
进行交叉表分析以了解不同变量之间的关系。
* 交叉表:性别与吸烟之间的分布。
CROSSTABS
/TABLES=gender BY smoker
/FORMAT=AVALUE TABLES
/CELLS=COUNT ROW COLUMN TOTAL
/COUNT ROUND CELL.
7. 相关分析
计算变量之间的相关系数。
* 计算变量间的相关系数。
CORRELATIONS
/VARIABLES=bmi cholesterol blood_pressure exercise
/PRINT=TWOTAIL NOSIG
/MISSING=PAIRWISE.
8. 回归分析
通过回归分析研究特定变量之间的关系,在血液中观察到这些因素可能会影响胆固醇浓度。
* 多元回归分析:探索生活方式因素对胆固醇水平的影响。
REGRESSION
/DEPENDENT cholesterol
/METHOD=ENTER bmi exercise smoker alcohol
/STATISTICS COEFF OUTS R ANOVA.
9. 结果解释
9.1 描述性统计
- 各个连续变量的均值、标准差、最小值和最大值。
- 分类变量的频率分布。
9.2 因子分析
- 列出每个因素所具有的初始特征值。
- 展示提取其对应的各个因素及其对应关系。
- 展示旋转后的各因素之间的关联性与分布情况。
- 计算得出的因素得分可用于后续的数据分析。
9.3 聚类分析
-
层次聚类 :
- 树状图 :显示聚类的层次结构。
- 聚类表 :显示每个观测的聚类归属。
-
该方法
-
所有最终确定的聚类中心位置将被明确标定出来
-
各个样本点所属的具体类别将被详细标注
-
距离信息将被记录下来:即各样本点与其所属类别中心之间的距离信息
9.4 交叉表分析
性别与吸烟之间的分布:显示不同性别在吸烟行为上的分布情况。
9.5 相关分析
变量之间的相关系数:显示不同变量之间的相关性。
9.6 回归分析
- 系数:展示了各个自变量对因变量的影响程度。
- R平方值:数值反映了模型解释的变异量。
- 方差分析表:表格提供了回归模型显著性的检验结果。
- R平方值:数值反映了模型解释的变异量。
* 打开数据文件。
GET FILE='C:\path\to\your\file\health_data.sav'.
* 检查数据中的缺失值。
FREQUENCIES VARIABLES=age gender bmi smoker alcohol exercise cholesterol blood_pressure diabetes heart_disease hospital_visits medication
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE STDDEV MIN MAX
/MISSING=REPORT.
* 删除含有缺失值的观测。
SELECT IF (SYSMIS(age) OR SYSMIS(gender) OR SYSMIS(bmi) OR SYSMIS(smoker) OR SYSMIS(alcohol) OR SYSMIS(exercise) OR SYSMIS(cholesterol) OR SYSMIS(blood_pressure) OR SYSMIS(diabetes) OR SYSMIS(heart_disease) OR SYSMIS(hospital_visits) OR SYSMIS(medication)) = 0.
EXECUTE.
* 计算描述性统计。
DESCRIPTIVES VARIABLES=age bmi exercise cholesterol blood_pressure hospital_visits
/STATISTICS=MEAN STDDEV MIN MAX.
* 计算频率分布。
FREQUENCIES VARIABLES=gender smoker alcohol diabetes heart_disease medication
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE.
* 因子分析。
FACTOR
/VARIABLES bmi cholesterol blood_pressure exercise
/MISSING LISTWISE
/ANALYSIS bmi cholesterol blood_pressure exercise
/PRINT INITIAL EXTRACTION ROTATION
/FORMAT SORT BLANK(.10)
/PLOT EIGEN
/CRITERIA MINEIGEN(1) ITERATE(25)
/EXTRACTION PC
/ROTATION VARIMAX
/SAVE REG(ALL)
/METHOD=CORRELATION.
* 层次聚类分析。
CLUSTER bmi cholesterol blood_pressure exercise
/METHOD WARD
/MEASURE=SEUCLID
/ID=patient_id
/PRINT SCHEDULE CLUSTER(5)
/PLOT DENDROGRAM.
* K-均值聚类分析。
K-MEANS CLUSTER
/VARIABLES bmi cholesterol blood_pressure exercise
/METHOD=ITERATE(20)
/PRINT=INITIAL DISTANCE CLUSTER
/CRITERIA=CLUSTER(3)
/SAVE CLUSTER(DISTANCE).
* 交叉表:性别与吸烟之间的分布。
CROSSTABS
/TABLES=gender BY smoker
/FORMAT=AVALUE TABLES
/CELLS=COUNT ROW COLUMN TOTAL
/COUNT ROUND CELL.
* 计算变量间的相关系数。
CORRELATIONS
/VARIABLES=bmi cholesterol blood_pressure exercise
/PRINT=TWOTAIL NOSIG
/MISSING=PAIRWISE.
* 多元回归分析:探索生活方式因素对胆固醇水平的影响。
REGRESSION
/DEPENDENT cholesterol
/METHOD=ENTER bmi exercise smoker alcohol
/STATISTICS COEFF OUTS R ANOVA.
按照以下步骤进行, 具备系统性地进行数据分析的能力, 并采用上述方法来实现提取潜在因素, 区分不同病群以及探索变量间的关联.
案例2:癌症患者的回归分析和生存分析
以一个具有代表性的病例为例,在SPSS软件中展示如何进行医疗健康数据分析,并重点说明回归分析与生存分析的应用方法。假设有一份来自癌症患者的临床数据样本表单,
patient_id:患者标识符age:年龄值gender:性别标识(1代表男性、2代表女性)treatment:治疗方案类型(化疗对应1、放疗对应2、手术对应3)stage:分期阶段(早期对应1、中期对应2、晚期对应3)survival_time:天数status:存活或死亡状态comorbidities:合并症数量performance_status:体能状态评分系统(0至5级)
旨在开展回归分析以便探讨影响生存时间的各种因素,并实施生存分析以便评估不同治疗方法的治疗效果。
1. 数据导入
假设已经有一个名为 cancer_patients.sav 的SPSS数据文件。
* 打开数据文件。
GET FILE='C:\path\to\your\file\cancer_patients.sav'.
2. 数据清理
检查数据中的缺失值并处理。
* 检查数据中的缺失值。
FREQUENCIES VARIABLES=age gender treatment stage survival_time status comorbidities performance_status
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE STDDEV MIN MAX
/MISSING=REPORT.
* 删除含有缺失值的观测。
SELECT IF (SYSMIS(age) OR SYSMIS(gender) OR SYSMIS(treatment) OR SYSMIS(stage) OR SYSMIS(survival_time) OR SYSMIS(status) OR SYSMIS(comorbidities) OR SYSMIS(performance_status)) = 0.
EXECUTE.
3. 描述性统计
计算各个变量的描述性统计。
* 计算描述性统计。
DESCRIPTIVES VARIABLES=age survival_time comorbidities performance_status
/STATISTICS=MEAN STDDEV MIN MAX.
* 计算频率分布。
FREQUENCIES VARIABLES=gender treatment stage status
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE.
4. 回归分析
进行多元回归分析以探索影响生存时间的因素。
* 多元回归分析:探索影响生存时间的因素。
REGRESSION
/DEPENDENT survival_time
/METHOD=ENTER age gender treatment stage comorbidities performance_status
/STATISTICS COEFF OUTS R ANOVA.
5. 生存分析
5.1 Kaplan-Meier 生存曲线
* Kaplan-Meier 生存曲线:不同治疗方法的生存曲线。
KM survival_time
/STATUS=status(1)
/STRATA=treatment
/PRINT TABLE MEAN
/PLOT SURVIVAL.
5.2 Cox 比例风险模型
* Cox 比例风险模型:探索影响生存时间的风险因素。
COXREG survival_time
/STATUS=status(1)
/CONTRAST(treatment)=Indicator(1)
/METHOD=ENTER age gender treatment stage comorbidities performance_status
/PRINT=CI(95)
/CRITERIA=PIN(.05) POUT(.10) ITERATE(20).
6. 结果解释
6.1 描述性统计
- 各个连续变量(如年龄、生存时间等)的均值即平均数为X岁左右。
- 其中分类变量(如性别、治疗方法等)的分类情况主要分为四个类别:男性占X%,女性占Y%;中年患者占Z%;老年患者则仅占W%。
6.2 回归分析
- 回归系数 度量各自变量对生存期的作用大小。
- R平方 衡量模型对数据中变化情况的解释能力。
- ANOVA表 展示回归模型中各因素对其结果影响的有效性。
6.3 生存分析
-
使用
Kaplan-Meier方法绘制的生存分析曲线: -
通过绘制不同治疗方法的 survival analysis curves.
-
计算并比较了 different treatment groups 的 median survival time 和 survival rates.
-
Cox比例风险模型: -
潜在风险比:具体反映了各独立变量对死亡结果的影响程度。
-
置信区间:详细呈现了各风险比值及其95%置信区间的范围。
-
显著性检验:明确展示了各变量对其结果事件发生具有统计学意义的程度。
* 打开数据文件。
GET FILE='C:\path\to\your\file\cancer_patients.sav'.
* 检查数据中的缺失值。
FREQUENCIES VARIABLES=age gender treatment stage survival_time status comorbidities performance_status
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE STDDEV MIN MAX
/MISSING=REPORT.
* 删除含有缺失值的观测。
SELECT IF (SYSMIS(age) OR SYSMIS(gender) OR SYSMIS(treatment) OR SYSMIS(stage) OR SYSMIS(survival_time) OR SYSMIS(status) OR SYSMIS(comorbidities) OR SYSMIS(performance_status)) = 0.
EXECUTE.
* 计算描述性统计。
DESCRIPTIVES VARIABLES=age survival_time comorbidities performance_status
/STATISTICS=MEAN STDDEV MIN MAX.
* 计算频率分布。
FREQUENCIES VARIABLES=gender treatment stage status
/FORMAT=NOTABLE
/STATISTICS=MEAN MEDIAN MODE.
* 多元回归分析:探索影响生存时间的因素。
REGRESSION
/DEPENDENT survival_time
/METHOD=ENTER age gender treatment stage comorbidities performance_status
/STATISTICS COEFF OUTS R ANOVA.
* Kaplan-Meier 生存曲线:不同治疗方法的生存曲线。
KM survival_time
/STATUS=status(1)
/STRATA=treatment
/PRINT TABLE MEAN
/PLOT SURVIVAL.
* Cox 比例风险模型:探索影响生存时间的风险因素。
COXREG survival_time
/STATUS=status(1)
/CONTRAST(treatment)=Indicator(1)
/METHOD=ENTER age gender treatment stage comorbidities performance_status
/PRINT=CI(95)
/CRITERIA=PIN(.05) POUT(.10) ITERATE(20).
按照这些步骤执行时,则能深入地研究医疗健康数据的各种特征。不仅能够利用回归分析与生存分析方法找出影响生命 expectancy的关键因素,并且还能评估不同治疗方案的具体效果。
