中国人口老龄化加速,慢性病共病(多重慢性病并存)在中老年群体中日益普遍。不同个体的共病演进模式存在显著异质性——有人长期保持低水平,有人快速进展为多重共病。这种差异如何转化为医疗经济负担的差异,是公共卫生政策制定的关键依据。
本研究利用 CHARLS 2011-2018 四轮追踪数据,通过"轨迹识别 → 截面比较 → 轨迹内分析 → 面板纵向 → 机器学习政策模拟"的递进框架,探究共病发展模式对医疗支出和灾难性卫生支出(CHE)的影响。
| 指标 |
描述 |
| 数据来源 |
中国健康与养老追踪调查(CHARLS)Harmonized D 版 |
| 调查年份 |
2011 / 2013 / 2015 / 2018(四轮) |
| 样本量 |
25,578 名中老年人(≥3 轮有效观测) |
| 慢性病种类 |
高血压、糖尿病、脑卒中、关节炎、肺病、癌症、哮喘、肝病、肾病(9 种) |
| 核心因变量 |
医疗总支出(连续) + 灾难性卫生支出 CHE(二分类) |
Q0 数据准备
提取四轮数据,构建长格式面板
│
▼
Q1 轨迹识别
变量筛选 → LCGA 轨迹建模 → 自动命名
多分类 Logit: 什么人进入哪条轨迹?
│
┌──────────────┴──────────────┐
▼ ▼
Q2 轨迹间比较 Q3 轨迹内分析
(截面, wave=1) (滞后一期设计)
│
OLS / 两阶段模型 / Class×t 交互 (全面板)
Logit(CHE) / 分层 OLS+Logit (滞后)
CHE OR 森林图 随机森林 (滞后)
费用负担趋势 + 系数热力图
│ │
└──────────────┬──────────────┘
▼
Q4 面板纵向分析
RE / FE / GEE / PAF(反事实+Bootstrap)
收入弹性 / 增长曲线 / 经济负担
│
▼
Q5 机器学习与政策模拟
XGBoost + LightGBM / 模拟退火调参 / SHAP
反事实报销比例模拟 (6种情景)
城乡异质性 / 轨迹分层反事实
│
▼
政策建议: 报销比例提升策略
轨迹分层精准干预 + 城乡优先级
# 一键运行全流程(R分析引擎)
Rscript run_all.R
# 启动可视化平台
cd app && streamlit run app.py --server.port 8501
# 或按需运行单模块
Rscript "code/Q0Q1_数据准备与轨迹识别/code_Q0+Q1_数据准备与轨迹识别.R"
Rscript "code/Q2_轨迹间比较/code_Q2_轨迹间比较.R"
Rscript "code/Q3_轨迹内分析/code_Q3_轨迹内分析.R"
Rscript "code/Q4_面板纵向分析/code_Q4_面板纵向分析.R"
Rscript "code/Q5_机器学习预测与政策模拟/code_Q5_机器学习预测与政策模拟.R"
依赖关系:Q2-Q5 依赖 Q0+Q1 产出的 最终分析数据.rdata(位于 output/Q0Q1_数据准备与轨迹识别/),请先运行 Q0+Q1。所有脚本通过 rprojroot 自动定位项目根目录,无需手动设置工作路径。run_all.R 采用 Step 1 串行 Q0+Q1 → Step 2 并行 Q2-Q5 策略,最大化利用多核 CPU。
可视化平台:R 分析完成后,启动 app/ 目录下的 Streamlit 平台进行交互式数据探索。平台采用清新明亮配色,支持 9 个功能模块:数据总览、轨迹识别、轨迹间比较、轨迹内分析、面板纵向分析、机器学习预测、系统管理、问卷管理、地图可视化。
| 步骤 |
方法 |
说明 |
| 宽转长面板 |
pivot_longer |
每人一行 → 每人每轮一行 |
| 缺失值处理 |
中位数 / 保守归零 |
二分类缺失→0,连续变量→中位数 |
| 支出变换 |
log(x+1) |
处理右偏分布,系数可解释为百分比变化 |
| 变量筛选 |
Spearman 相关 + Kruskal-Wallis + eta² |
大样本下同时关注统计显著与实际效应量 |
| 轨迹建模 |
LCGA(lcmm::hlme) |
潜类别增长分析,BIC + Entropy R² 准则选择类别数(ng=2~4) |
| 影响因素 |
多分类 Logistic 回归 |
基线特征预测轨迹归属,报告 OR 值 |
| 模型 |
因变量 |
核心目的 |
| OLS |
ln_total_med_total |
轨迹类别对对数总支出的净效应(控制全部协变量) |
| 两阶段模型 |
支出>0 + 条件支出 |
Logit(是否支出) + GLM-Gamma(条件支出金额),分解两个决策 |
| Logit |
CHE (0/1) |
轨迹类别对 CHE 风险的效应(OR 值) |
| OLS 残差诊断 |
— |
Q-Q / 残差vs拟合值 / Scale-Location + BP 异方差检验 |
滞后一期:上一波自变量 → 这一波结局,确保时间先后顺序
| 分析 |
设计 |
核心目的 |
| Class × t 交互 |
全面板 |
支出/CHE 交互模型,Δ斜率系数比较 |
| 分层 OLS + Logit |
滞后一期 |
各轨迹内什么因素驱动支出/CHE?系数热力图汇总 |
| 随机森林 |
滞后一期 |
支出 (%IncMSE) + CHE (MeanDecreaseAccuracy) 变量重要性 |
| 费用负担趋势 |
全面板 |
自付负担比趋势 + CHE 累积发生率 + 支出分布箱线图 |
| 方法 |
说明 |
| Pooled OLS |
基准模型 |
| 固定效应(FE) |
控制所有不随时间变化的个体特征 |
| 随机效应(RE) |
主模型,可估计轨迹类别系数 |
| Hausman / BP LM |
RE vs FE 选择 + 面板模型 vs 混合 OLS 检验 |
| 分层面板 |
每条轨迹单独 RE + FE,报告 R²、ICC |
| GEE |
可交换相关结构,支出 + CHE 双结局,总体平均效应 |
| PAF |
人群归因分值 — 反事实预测法(全员设为参照组)+ Bootstrap 95% CI |
| PAF 阈值敏感性 |
10%/25%/40% 三阈值 PAF 对比 |
| 收入弹性 |
log-log 模型判断医疗支出是必需品还是奢侈品 |
| 增长曲线 |
含二次时间项的线性混合效应模型(nlme::lme) |
| 经济负担 |
各轨迹平均支出、超额支出、CHE 超额率 |
| 模块 |
方法 |
说明 |
| 预测模型 |
XGBoost + LightGBM |
双模型对比,70/30 按个体划分防泄露 |
| 超参数优化 |
模拟退火(Simulated Annealing) |
6 维搜索空间,5-fold CV,20 次迭代 |
| 概率校准 |
Platt Scaling |
Logistic 回归校准模型输出概率 |
| 模型解释 |
SHAP |
全局蜂群图 / 局部瀑布图 / 依赖图(报销比例) |
| 政策视角 |
PDP + 描述性关联 |
报销比例对 CHE 的边际效应 + 城乡交互 |
| 异质性 |
城乡分层 + 轨迹分层 |
描述性对比各亚组 CHE 率与报销比例(注:reimb_rate 为内生变量) |
报销比例视角的政策分析
注意:reimb_rate(报销比例)为内生变量——仅就医者有非零值,高报销比例者往往是高支出群体。以下分析为描述性关联与模型边际效应,而非严格因果效应。
| 分析 |
方法 |
说明 |
| PDP 主效应 |
部分依赖图 |
报销比例对 CHE 概率的边际效应 |
| PDP 交互效应 |
部分依赖图 |
报销比例 × 城乡对 CHE 的交互影响 |
| 报销比例分组 × CHE |
描述性统计 |
观察性关联(非因果) |
| 城乡异质性 |
分组柱状图 |
各轨迹城乡 CHE 率差异 |
| 轨迹分层描述 |
水平柱状图 |
各轨迹 CHE 率与报销比例画像 |
所有图表按分析阶段存放在 output/ 对应子文件夹,均为 300 dpi JPG 格式。
Q0-Q1 数据准备与轨迹识别(7 张图)
| 图表 |
文件名 |
类型 |
用途 |
| 共病总体纵向趋势 |
共病总体纵向趋势.jpg |
折线图 |
全样本共病增长趋势 |
| 共病轨迹图 |
共病轨迹图.jpg |
分组折线图 |
LCGA 识别的亚群增长模式 |
| BIC 模型选择对比 |
BIC模型选择对比.jpg |
柱状图 |
ng=2-4 类模型 BIC + Entropy R² 对比 |
| 相关性矩阵热力图 |
相关性矩阵热力图.jpg |
热力图 |
变量间线性关联结构 |
| VIF 诊断图 |
VIF多重共线性诊断.jpg |
柱状图 |
多重共线性诊断(VIF < 5/10 阈值) |
| 轨迹影响因素森林图 |
轨迹影响因素_森林图.jpg |
森林图 |
多分类 Logit OR 值 |
| CHE 阈值敏感性 |
CHE阈值敏感性.jpg |
分组柱状图 |
10%/25%/40% 三阈值 CHE 率对比 |
Q2 轨迹间比较(3 张图)
| 图表 |
文件名 |
类型 |
用途 |
| OLS 残差诊断 |
Q2_OLS残差诊断.jpg |
三联图 |
Q-Q / 残差vs拟合值 / Scale-Location |
| Gamma 模型诊断 |
Q2_Gamma模型诊断.jpg |
诊断图 |
Pregibon link test / 残差诊断 |
| 森林图 |
Q2_森林图_轨迹间比较.jpg |
森林图 |
OLS 回归系数按变量类别分组 |
Q3 轨迹内分析(5 张图)
| 图表 |
文件名 |
类型 |
用途 |
| 滞后系数热力图 |
Q3_滞后系数热力图.jpg |
热力图 |
各轨迹分层 OLS 系数对比 |
| 自付负担比趋势 |
Q3_自付负担比趋势.jpg |
折线图 |
OOP/家庭消费趋势 |
| CHE 累积发生率 |
Q3_CHE累积发生率.jpg |
柱状图 |
各轨迹累积 CHE 风险 |
| 变量重要性(支出) |
Q3_变量重要性_支出.jpg |
柱状图 |
随机森林 %IncMSE |
| 变量重要性(CHE) |
Q3_变量重要性_CHE.jpg |
柱状图 |
随机森林 MeanDecreaseAccuracy |
Q4 面板纵向分析(3 张图)
| 图表 |
文件名 |
类型 |
用途 |
| PAF 人群归因分值 |
Q4_PAF_人群归因分值.jpg |
柱状图 |
各轨迹对 CHE 的归因贡献 |
| PAF 阈值敏感性 |
Q4_PAF阈值敏感性.jpg |
柱状图 |
多阈值 PAF 对比 |
| 经济负担 |
Q4_经济负担.jpg |
分组柱状图 |
各轨迹平均支出与超额支出 |
Q5 机器学习与政策模拟(10 张图)
| 图表 |
文件名 |
类型 |
用途 |
| 调优收敛轨迹 |
Q5_调优收敛轨迹.jpg |
折线图 |
模拟退火超参数搜索历史 |
| ROC 曲线对比 |
Q5_ROC曲线对比.jpg |
ROC 曲线 |
XGBoost vs LightGBM AUC |
| ROC 曲线(含置信带) |
Q5_ROC曲线_置信带.jpg |
ROC+CI 带 |
带 Bootstrap 95% CI 的 ROC |
| ML 校准曲线 |
Q5_ML校准曲线.jpg |
折线图 |
Platt Scaling 校准后预测概率 vs 实际 CHE 率 |
| SHAP 重要性(支出) |
Q5_SHAP_支出重要性.jpg |
蜂群图 |
支出预测特征重要性(全中文标签) |
| SHAP 重要性(CHE) |
Q5_SHAP_CHE重要性.jpg |
蜂群图 |
CHE 预测特征重要性(全中文标签) |
| SHAP 依赖图(报销比例) |
Q5_SHAP_支出_lag_reimb_rate.jpg / Q5_SHAP_CHE_lag_reimb_rate.jpg |
散点图 |
报销比例的 SHAP 边际效应 |
| SHAP 瀑布图 |
Q5_SHAP_瀑布图_高风险个体.jpg / Q5_SHAP_瀑布图_低风险个体.jpg |
瀑布图 |
个体级预测解释(高/低风险) |
| 报销比例与 CHE 关联 |
Q5_报销比例与CHE关联.jpg |
柱状图 |
报销比例分组 × 实际 CHE 率(描述性) |
| 城乡异质性 |
Q5_城乡异质性.jpg |
分组柱状图 |
各轨迹城乡 CHE 率差异(描述性) |
CHARLS-CTA/
├── data/ # 原始数据
│ ├── Harmonized_CHARLS_D/ # D版整合数据(r1-r4, 2011-2018)
│ ├── Harmonized_CHARLS_C/ # C版数据(D版已整合C版内容)
│ ├── Charls区划信息.dta
│ ├── H_CHARLS_D_Data变量名.xlsx
│ └── H_CHARLS_C_Data变量名.xlsx
│
├── code/ # R 代码
│ ├── _plot_theme.R # SCI 出版风格统一主题 + 色板
│ ├── share/plot_theme.R # 主题备份
│ ├── Q0Q1_数据准备与轨迹识别/
│ ├── Q2_轨迹间比较/
│ ├── Q3_轨迹内分析/
│ ├── Q4_面板纵向分析/
│ └── Q5_机器学习预测与政策模拟/
│
├── output/ # 分析结果(按阶段分文件夹)
│ ├── Q0Q1_数据准备与轨迹识别/
│ ├── Q2_轨迹间比较/
│ ├── Q3_轨迹内分析/
│ ├── Q4_面板纵向分析/
│ └── Q5_机器学习预测与政策模拟/
│
├── docs/ # 研究文档与报告
│ ├── 全网调研分析报告.md
│ ├── 文献综述_研究背景报告.md
│ ├── 统计方法研究报告.md
│ ├── 健康经济学方法论文献综述.md
│ ├── 统计学常用模型分类.md
│ ├── SPSSPRO统计方法完整清单.md
│ └── R语言使用方法.md
│
├── app/ # Streamlit 可视化平台
│ ├── app.py # 主仪表盘
│ ├── .streamlit/config.toml # 主题配置
│ ├── requirements.txt # Python 依赖
│ ├── 核心原理.md # 平台技术文档
│ ├── 功能说明.md # 功能模块详解
│ ├── 使用说明.md # 使用指南
│ ├── utils/ # 工具模块
│ │ ├── config.py # 全局配置:路径、配色(TRAJ_COLORS/COLORS)、变量映射、R脚本路径
│ │ ├── data_loader.py # CSV 数据加载器
│ │ ├── plot_style.py # Plotly 统一图表样式
│ │ ├── r_runner.py # R 脚本执行引擎
│ │ └── style.py # 全局 CSS 样式
│ └── pages/ # 9 个功能页面(Streamlit 多页应用)
│
├── 方法学说明.md # 完整方法学文档(含公式推导)
├── 分析指南_Q0-Q5.md # Q0-Q5 分析流程指南
├── run_all.R # 全流程并行运行主控脚本
└── README.md
| 文档 |
内容 |
难度 |
| 全网调研分析报告 |
通俗易懂版研究全景:项目是什么、为什么做、方法原理、创新点 |
★☆☆ |
| 文献综述 |
八大主题文献综述:CHARLS、LCGA/GMM、CHE、面板数据、ML |
★★☆ |
| 统计方法研究 |
七大统计方法详解:LCGA vs GMM、FE/RE/GEE、分位数回归 |
★★★ |
| 健康经济学方法论 |
ML 应用、反事实政策模拟、PAF、2023-2026 前沿趋势 |
★★☆ |
| 方法学说明 |
完整方法学文档:公式推导、统计原理、计量+卫生统计双视角解读 |
★★★ |
| 统计模型分类 |
按研究目的整理的统计模型索引,含 R 函数和本项目应用 |
★★☆ |
| R 语言指南 |
R 语言基础操作、包管理、数据读写、可视化 |
★☆☆ |
| 语言 |
核心包 |
| R |
haven dplyr tidyr lcmm plm nlme lme4 geepack quantreg nnet randomForest xgboost lightgbm shapviz pROC caret showtext |
| # |
文献 |
对应问题/模型 |
本项目应用 |
| 1 |
Zhao Y, Hu Y, Smith JP, et al. Cohort profile: the China Health and Retirement Longitudinal Study (CHARLS). IJE, 2014, 43(1): 61-68. |
数据来源 — CHARLS 队列概况 |
Q0 数据提取的原始来源,25,578 名中老年人四轮追踪数据 |
| 2 |
Nagin DS. Analyzing developmental trajectories: a semiparametric, group-based approach. Psychol Methods, 1999, 4(2): 139-157. |
LCGA/GBTM 奠基文献 — 分组轨迹建模方法 |
Q1 纯 LCGA 无随机效应方法的理论依据,N=25,578 大样本无需随机效应 |
| 3 |
Nagin DS. Group-Based Modeling of Development. Harvard University Press, 2005. |
LCGA/GBTM 方法专著 — 系统阐述 GBTM |
Q1 分组轨迹建模的核心参考,N=25,578 大样本无需随机效应 |
| 4 |
Proust-Lima C, Philipps V, Liquet B. Estimation of extended mixed models using latent classes and latent processes: the R package lcmm. J Stat Softw, 2017, 78(2): 1-56. |
LCGA/GMM 软件 — R 包 lcmm |
Q1 使用 lcmm::hlme 进行共病轨迹建模,BIC 选类别数 |
| 5 |
Nylund KL, Asparouhov T, Muthén BO. Deciding on the number of classes in latent class analysis and growth mixture modeling. Struct Equ Modeling, 2007, 14(4): 535-569. |
类别数选择 — BIC vs AIC 准则 |
Q1 用 BIC 比较 ng=2~4 模型,ΔBIC>10 为强证据 |
| 6 |
Cohen J. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Lawrence Erlbaum, 1988. |
效应量分级 — 小/中/大效应判断标准 |
Q1 变量筛选时用 |
| # |
文献 |
对应问题/模型 |
本项目应用 |
| 5 |
Xu K, Evans DB, Kawabata K, et al. Household catastrophic health expenditure: a multicountry analysis. The Lancet, 2003, 362(9378): 111-117. |
CHE 定义 — 灾难性卫生支出标准(OOP/家庭消费 ≥40%) |
Q0 计算 CHE 的核心标准,Q2 Logit 回归因变量 |
| 6 |
Mihaylova B, Briggs A, O'Hagan A, Thompson SG. Review of statistical methods for analysing healthcare resources and costs. Health Economics, 2011, 20(8): 897-916. |
两阶段模型 / GLM-Gamma — 医疗支出分析方法综述 |
Q2 使用 Two-part Model 分解"是否就医"与"花多少",GLM-Gamma 直接对原始支出建模 |
| 7 |
Manning WG, Basu A, Mullahy J. Generalized modeling approaches to risk adjustment of skewed outcomes data. J Health Economics, 2005, 24(3): 465-488. |
对数支出回归 — log 变换的重新转换偏误 |
Q2 OLS 用 log(x+1) 变换,系数通过 exp(β)-1 解释 |
| # |
文献 |
对应问题/模型 |
本项目应用 |
| 8 |
Wooldridge JM. Econometric Analysis of Cross Section and Panel Data. 2nd ed. MIT Press, 2010. |
面板回归 — FE / RE / Hausman 检验 |
Q4 RE 主模型、FE 稳健性检验、Hausman 选择 |
| 9 |
Liang KY, Zeger SL. Longitudinal data analysis using generalized linear models. Biometrika, 1986, 73(1): 13-22. |
GEE — 广义估计方程 |
Q4 使用 GEE(可交换相关结构)估计总体平均效应 |
| 10 |
Singer JD, Willett JB. Applied Longitudinal Data Analysis. Oxford University Press, 2003. |
增长曲线模型 — 含随机斜率的线性混合效应 |
Q4 使用 nlme::lme 拟合含二次时间项的增长曲线 |
| 11 |
Rockhill B, Newman B, Weinberg C. Use and misuse of population attributable fractions. Am J Public Health, 1998, 88(1): 15-19. |
PAF — 人群归因分值计算与解读 |
Q4 反事实预测法计算各轨迹的 PAF + Bootstrap 95% CI |
| 12 |
Hernán MA, Robins JM. Causal Inference: What If. Chapman & Hall/CRC, 2020. |
因果推断框架 — 反事实 / 混杂 / 时变暴露 |
Q3 滞后一期设计和 Q4/Q5 反事实模拟的理论基础 |
| 13 |
Koenker R, Bassett G. Regression quantiles. Econometrica, 1978, 46(1): 33-50. |
分位数回归 — 条件分布不同位置的效应 |
Q3 滞后分位数回归分析支出分布的不均匀性 |
| 14 |
Breiman L. Random forests. Machine Learning, 2001, 45(1): 5-32. |
随机森林 — 非线性变量重要性 |
Q3 使用 %IncMSE 排名各轨迹内支出/CHE 的驱动因素 |
| # |
文献 |
对应问题/模型 |
本项目应用 |
| 15 |
Chen T, Guestrin C. XGBoost: A scalable tree boosting system. KDD, 2016. |
XGBoost — 梯度提升树 |
Q5 CHE 分类模型之一,模拟退火调参 |
| 16 |
Ke G, Meng Q, Finley T, et al. LightGBM: A highly efficient gradient boosting decision tree. NeurIPS, 2017. |
LightGBM — leaf-wise 生长策略 |
Q5 CHE 分类模型之二,GOSS+EFB 加速 |
| 17 |
Lundberg SM, Lee SI. A unified approach to interpreting model predictions. NeurIPS, 2017. |
SHAP — 模型解释的统一框架 |
Q5 蜂群图、瀑布图、依赖图,解释 CHE 预测特征 |
| 18 |
Li Y, Wu Q, Xu L, et al. Factors affecting catastrophic health expenditure and impoverishment from medical expenses in China. BMJ Global Health, 2012. (被引 531 次) |
报销比例基线数据 — 三大医保制度实际报销比例 |
Q5 报销比例变量的背景参考:NCMS ~45%、MIUR ~60%、MIUE ~70% |
| 19 |
Wu Q, Yu F, Nie W. Improvement of the reduction in catastrophic health expenditure in China's public health insurance. PLOS One, 2018, 13(7): e0202449. (被引 29 次) |
报销比例模拟方法 — 报销比例对 CHE 的影响 |
Q5 PDP 政策分析视角的方法参考 |
| 20 |
Zhao Y, Oldenburg B, Mahal A, et al. Effect of the catastrophic medical insurance on household catastrophic health expenditure: evidence from China. BMC Health Services Research, 2021, 21: 28. (被引 56 次) |
大病保险效应 — 基本医保之上再报销 50% 对 CHE 的影响 |
Q5 报销比例分析的政策背景 |
| 21 |
Li Y, Wu Q, Yuan Z, et al. Do health insurances reduce catastrophic health expenditure in China? A systematic evidence synthesis. PLOS One, 2020, 15(8): e0237936. (被引 25 次) |
医保-CHE 系统综述 — 不同医保类型对 CHE 减少的证据合成 |
Q5 城乡异质性描述分析的证据基础 |
| 22 |
Liu S, Zhang Y, Li Y, et al. Assessing the long-term effects of Basic Medical Insurance on catastrophic health spending in China. Health Policy and Planning, 2022, 37(7): 856-866. |
医保长期效应 — 2012-2018 年间医保覆盖对 CHE 的动态影响 |
Q5 滞后一期设计的合理性支持 |
| 23 |
Meng Q, Xu L, Zhang Y, et al. Optimized reimbursement scheme of China's NCMS using Monte Carlo simulation. BMC Health Services Research, 2013, 13: 139. |
报销方案优化 — 蒙特卡洛模拟寻找最优报销比例 |
Q5 报销比例分析方法论的补充参考 |
本研究使用 CHARLS 公开数据,仅供学术研究使用。请遵守 CHARLS 数据使用协议。