BRFSS — 全球最大健康行为电话调查 AI-Ready Wikipedia | 千方病案医数集

CDC 主持、每年 40 万+ 成人访谈、覆盖美国 50 州的健康行为监测金矿

来源 U.S. Centers for Disease Control and Prevention(CDC) url: https://www.cdc.gov/brfss/annual_data/annual_data.htm发布时间: 2026-09-08最后更新: 2026-09-08 阅读 4

信息速览

数据集名称BRFSS — 全球最大健康行为电话调查 AI-Ready Wikipedia | 千方病案医数集
数据类型433,323 条访谈(2023 年),345 个变量(XPT),ASCII/XPT 免费,Public Domain
规模433,323 名成人受访者(2023 年,历年 40 万+/年)
接入方式U.S. Centers for Disease Control and Prevention(CDC) url: https://www.cdc.gov/brfss/annual_data/annual_data.htm
AI 就绪度

数据集封面

BRFSS — 全球最大健康行为电话调查 AI-Ready Wikipedia


INFOBOX

数据集名称 BRFSS(行为危险因素监测系统公开微观数据)
英文全称 Behavioral Risk Factor Surveillance System Survey Data
别名/简称 BRFSS、BRFSS Annual Survey Data、LLCP 数据集(Landline and Cell-Phone combined)
疾病分类 慢性病全谱系监测(ICD-11:5A11 2 型糖尿病 / BA00 原发性高血压 / BA5Z 慢性阻塞性肺病 / 5B81 肥胖 / 2B70 恶性肿瘤筛查相关等多系统)
SNOMED CT 228556001 Body mass index (observable entity) / 160245001 No current problems or disease / 230145002 Smoking behavior / 229819002 Alcohol drinking behavior(详见 §2.2)
数据模态 结构化问卷(自报)、横断面表格数据
AI 任务类型 慢性病风险预测(糖尿病/心血管)、流行率估计、健康行为建模、不公平性与偏差研究、表格 ML 基准
样本总数 433,323 条受访者记录(2023 年);历年 40 万+/年,2014-2024 合并超 240 万条
数据大小 约 41.5 MB(ASCII ZIP)/ 64.3 MB(XPT ZIP)/年;Codebook 约 3 MB
数据格式 ASCII 定宽(.ASC)/ SAS Transport(.XPT,可导入 SPSS/Stata/R/Python)
许可证 Public Domain(美国联邦政府作品)
访问级别 开放(无需注册、免费直接下载)
DUO 标签 NRES(无限制使用)
语言 英文(问卷提供英文/西班牙文双语实施)
首发日期 1984(首年调查,15 州);2011(陆地线+手机合并公开版起始)
最后更新 2024 年度版(Codebook 更新于 2025-08-21)
发布机构 美国疾病控制与预防中心(CDC)人口健康部 / 慢性病预防与健康促进中心
官方主页 https://www.cdc.gov/brfss/
下载地址 https://www.cdc.gov/brfss/annual_data/annual_data.htm
DOI 10.15620/cdc/251890(2023 年可比性文档,CDC Stacks)
引用次数 CDC 建议以机构引用格式引用年度数据(无单篇数据论文,详见 §9);方法学锚点 Mokdad 2003 MMWR Recomm Rep 被 BRFSS 官方文档列为首要方法学参考文献
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 官方 Codebook/权重/衍生变量文档完备、体量超大、完全免费;扣分项:需自行实现复杂抽样加权、ASCII 定宽解析、无官方 ML 划分
页面状态 published

§0 E-E-A-T 信任声明与免责声明

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(慢性病风险因素与 ICD-11/SNOMED CT 映射、筛查与患病自报的临床口径、金标准描述)、§7 偏倚分析。

数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。BRFSS 公开数据为美国联邦政府作品,属 Public Domain,无需申请即可使用,但 CDC 要求任何发表成果注明"Centers for Disease Control and Prevention (CDC). Behavioral Risk Factor Surveillance System Survey Data"为数据来源。DUO 标签仅供参考,具体使用限制以 CDC 官方说明为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? BRFSS 是美国 CDC 联合全部 50 个州、哥伦比亚特区及领地卫生部门,自 1984 年起每年实施的随机拨号电话健康调查。它逐条记录一位位普通美国成年人"怎么吃、怎么动、抽不抽烟、有没有高血压糖尿病、上不上体检",2023 年一份公开数据文件就包含 433,323 位受访者的 345 个变量,是全球规模最大的持续运行健康调查系统(CDC 官方)。

为什么重要? 在美国,许多州的可预防慢性病负担数据只有 BRFSS 这一个来源——它让每个州都能量化吸烟率、肥胖率、糖尿病患病率与筛查覆盖率,支撑《健康人群(Healthy People)》目标考核与立法决策。对 AI 而言,它提供了带有严谨复杂抽样设计(权重/分层/PSU)的超大样本标签,让"预测糖尿病风险"这类任务拥有了接近全美人口分布的训练底座(Pierannunzi 综述)。

我能用它做什么? 训练慢性病风险预测模型(Kaggle 上 25 万行糖尿病指标数据集累计下载超 15.7 万次)、做跨州健康不公平性分析、校准自报偏倚、构造人口健康表格 ML 基准,或把它作为外部验证队列。注意:横断面自报数据不适合个体诊断,必须按 §6.5 处理加权与缺失编码(CDC FAQ)。

§1.1 技术摘要

BRFSS 采用随机数字拨号(RDD)双抽样框设计:陆地线框在户内随机抽取 1 名 18 岁以上成人,手机框直接抽取机主成人,由州卫生部门经 CATI 系统全年访谈,问卷为英文/西班牙文。公开数据集(LLCP)由 CDC 年终统一编辑、加权和计算衍生变量后发布为 ASCII 定宽与 SAS XPT 两种格式。每个记录携带最终分析权重 _LLCPWT、分层变量 _STSTR 与 PSU 变量 _PSU;2011 年起权重方法由事后分层(post-stratification)升级为 raking(迭代比例拟合,最多 75 次迭代),并纳入手机样本,raking 边际含年龄×性别、种族/族裔、教育、婚姻、住房、电话来源等 8 个维度(CDC FAQPA 方法文档)。变量体系分三层:核心问卷(全州必问)、约 25 个可选模块(各州自选,2024 年含 SO/GI 等,CMS 汇编)、州自设题,另加 CDC 计算的衍生变量(_BMI5、_RFSMOK3、_MICHD 等)。每份年度发布配套 Codebook(变量名/列位/频数)、加权公式、可比性与数据质量报告四类文档。

§1.2 战略价值

维度一:公共卫生 AI 的"人口级底座"。 与以就医人群为主的 EHR(MIMIC、eICU)或单病种队列不同,BRFSS 直接对准全美家庭人口,单年 40 万+ 样本使罕见亚组(如 18-24 岁吸烟者、农村低收入糖尿病前期人群)也能获得统计可用规模;对需要"总体基线流行率"的筛查模型而言,它是天然的校准参照系。2014-2024 十一年合并可形成 240 万+ 观测的超大表格数据集,足以支撑分布式训练与 Transformer 类表格模型(Nature Sci Rep 2026)。

维度二:复杂抽样设计的"教学级真实样本"。 BRFSS 不是简单随机样本——分层、加权、PSU 一应俱全,且官方逐年公布权重公式与模块域权重文档。这使其成为学习"如何在 ML 中正确处理调查设计"的最佳公开教材:任何忽略 _LLCPWT 的模型都会在流行率估计上系统性失真(§6.5 坑点 1)。

维度三:零门槛合规。 Public Domain + 免注册直链下载 + 40 年连续文档存档(1984 年至今问卷均在官网),使 BRFSS 成为可以合法再分发衍生数据集、教学案例与 Kaggle 基准的少数医疗大数据之一,显著降低论文与开源项目的合规摩擦(CDC FAQ)。

维度四:方法学演进的"活教材"。 BRFSS 的历次方法学升级(2008-2009 手机框试点、2011 raking、衍生变量命名规范化、2025 年修订流程)都留下完整的官方文档链。对做"调查数据 × 机器学习"交叉研究的团队,它是唯一能把"设计效应、断点、模式效应、无应答"四类问题在同一个人群数据集里研究透的公开资源;对教学者,这些真实案例远比教科书抽象例子生动(Pierannunzi 2013)。

§1.3 同类数据集横向对比

数据集 机构 年访谈/样本量 人口与范围 模态与标注 与 BRFSS 的差异化
BRFSS CDC + 50 州 40 万+/年(2023: 433,323) 全美 50 州+DC+领地,18+ 家庭人口 300-345 个自报行为/患病/预防变量,Public Domain 超大样本+复杂抽样权重+州级粒度,行为因素最全
NHANES CDC/NCHS 约 5,000/年 全美,入户体检 实测体检(血压/血样/体成分),自报+客观 样本小但含客观测量,常用于校正 BRFSS 自报偏倚
NHIS CDC/NCHS 约 27,000 户/年 全美,入户面访 健康状况与可及性自报,自报 面访、家庭级,不含州级抽样保证
CHARLS 北京大学 约 1.9 万人/2-3 年 中国 28 省 45 岁+ 血样/体测+问卷 中国中老年 Panel,纵向但非全年龄段
Framingham NHLBI 三代 1.5 万人 美国单一城镇 临床体检+随访数十年 纵向金标准但地域单一、样本小
Kaggle BRFSS 衍生版 alexteboul(社区) 253,680 行×21 特征 BRFSS 2015 清洗版 糖尿病三分类/二分类标签 开箱即用但丢失权重与州信息

上表提示一个选型原则:需要"真实人群口径"就用原始 BRFSS + 权重;需要"快速跑通分类教学"才用社区清洗版——两者结论不能互换(清洗版丢掉 _LLCPWT 后任何流行率声明都失效)。

§1.4 版本时间轴

年份/版本 关键变化 对 AI 用户的意义
1984 15 州启动,每月电话访谈 早期样本小,历史研究用
2001 50 州+DC+PR+Guam+USVI 全覆盖 州级推断自此完整
2008-2009 手机框试点并推广至全州 过渡年,设计变量含双框
2011 方法学断点:raking 替代事后分层;公开数据首次含手机受访者 2011 前后趋势不可直接比较(CDC
2013 核心+模块结构成熟,衍生变量命名去 X_ 前缀 变量名需按年代映射
2014+ SO/GI 等 25 个可选模块逐州自选 模块变量州间缺失结构异质
2023 433,323 条;KY、PA 未达最低样本未入公开集 州集合同年有缺口
2024 年度版发布,Codebook 更新于 2025-08-21 最新版本,推荐新建项目使用
2025-02 2023 数据集按行政令修订,部分变量移除 与旧下载副本核对列数(CDC

§1.5 典型应用场景

  1. 糖尿病/心血管风险预测:以 DIABETE4、_MICHD 为标签,用人口学+行为特征训练分类器;Kaggle 社区已形成 21 特征标准教学版(alexteboul 数据集)。
  2. 州级/县级流行率估计与地图:官方重权小域估计、SMART 城市级数据(MMSA ≥500 受访者,CDC FAQ)。
  3. 健康不公平与偏差审计:按种族、收入、教育分层比较患病与筛查率,评估算法在亚组上的公平性。
  4. 自报偏倚方法学研究:与 NHANES 实测对照建立 BMI/吸烟校准模型(Ezzati 校正框架,Pierannunzi 2013)。
  5. 表格 ML 基准与合成数据:240 万+ 行的 2014-2024 合并集适合测试分布式逻辑回归、深度表格模型与合成数据保真度(Nature Sci Rep 2026)。

§2 医学背景

§2.1 疾病与风险因素 ICD-11 编码表

BRFSS 覆盖的慢性病与行为风险因素在 ICD-11 中的对应编码如下(调查自报"曾被医生告知患病"对应的是疾病实体本身):

标签/变量 ICD-11 编码 ICD-11 中文名 调查变量示例
2 型糖尿病 5A11 2 型糖尿病 DIABETE4
原发性高血压 BA00 原发性高血压 BPHIGH6 / _RFHYPE5
冠心病(心梗) BA41-BN11 急性心肌梗死/慢性缺血性心脏病 CVDINFR4 / CVDCRHD4 / _MICHD
卒中 8B11 脑梗死 CVDSTRK3
哮喘 CA23 哮喘 ASTHMA3 / ASTHNOW
慢性阻塞性肺病 CA22 慢性阻塞性肺疾病 CHCCOPD2
慢性肾病 GB61 慢性肾病 CHCKDNY2
抑郁障碍 6A70 单次发作抑郁障碍 ADDEPEV3
肥胖 5B81 肥胖 _BMI5CAT
皮肤癌/其他癌 2C32/2A00-2F9Z 皮肤恶性肿瘤/各系统恶性肿瘤 CHCSCNCR1 / CHCOCNCR
关节炎 FA20-FA2Z 各类关节炎 HAVARTH4
吸烟相关行为 QD40 烟草使用相关问题 SMOKE100 / _RFSMOK3

§2.1b SNOMED CT 映射表

标签 ICD-11 SNOMED CT 码 术语
BMI(衍生) 5B81 60621009 Body mass index (observable entity)
糖尿病诊断(自报) 5A11 44054006 Diabetes mellitus type 2 (disorder)
高血压(自报) BA00 38341003 Hypertensive disorder, systemic arterial (disorder)
现在吸烟行为 QD40 77176002 Smoker (finding)
饮酒行为 QD40 类目 897148007 Alcohol drinker (observable entity)
体力活动 QD50 类目 229819002 Regular exercise (observable entity)
自评健康 160245001 No current problems or disease(自报健康状态参照)
乳腺癌筛查 39332001 Mammography (procedure)
结直肠癌筛查 44441009 Fecal occult blood test (procedure)

§2.2 疾病与风险因素简介及流行病学

BRFSS 的监测对象是"行为危险因素—慢性病—预防服务"链条。核心行为因素包括烟草使用(一生吸烟 100 支以上 SMOKE100、现在吸烟 _RFSMOK3)、饮酒与暴饮(_RFBING3、_DRNKWK1)、身体活动(EXERANY2)、睡眠与口腔健康;核心患病结局为糖尿病、高血压、高胆固醇、冠心病/心梗、卒中、哮喘、COPD、慢性肾病、关节炎、抑郁与癌症;预防服务包括流感/肺炎疫苗、乳腺癌筛查(乳房 X 线)、宫颈癌筛查(巴氏涂片)、结直肠癌筛查(FOBT/肠镜)、HIV 检测与胆固醇检查。以糖尿病为例:2024 年 BRFSS 口径下成人自报糖尿病比例约 14.5%(另有 2.5% 自报前期糖尿病),社区项目按此构造的三分类标签呈现 83%/14.5%/2.5% 的天然不平衡(CS506 项目);二分类时阳性率约 14.9%。肥胖相关风险呈剂量反应:对 2014-2024 合并样本的加权分析显示,与正常 BMI 相比超重 OR 1.68、重度肥胖 OR 5.21,不锻炼 OR 1.21,现吸烟 OR ≈1.20(Nature Sci Rep 2026)。需要强调:以上均为自报口径流行率,系统性低于 NHANES 实测口径(§6.5 坑点 3)。

BRFSS 核心监测的风险因素规模(全美成人口径,自报/衍生变量,量级供参考):

风险因素 代表变量 全美规模量级(自报口径) 公卫意义
现在吸烟 _RFSMOK3 约 11-12% 成人(长期下降趋势) 癌症/心血管/COPD 首要可控因素
肥胖(BMI≥30) _BMI5CAT 约 33-40%(自报,低于实测) 糖尿病最强可干预风险之一
确诊糖尿病 DIABETE4 约 11-14.5% 成人 筛查模型最常用标签
高血压(曾告知) _RFHYPE5 约 30-34% 心血管一级预防入口
缺乏运动(30 天无锻炼) EXERANY2 约 25-28% 与肥胖/代谢综合征双向关联
暴饮(binge) _RFBING3 约 15-17% 伤害与肝病监测
无医保 HLTHPLN1 约 8-10%(州差异极大) 可及性核心指标
30 天精神健康不佳 ≥14 天 MENTHLTH 衍生 约 10-12% 心理健康监测
流感疫苗(65+ 当季) FLUSHOT6 约 55-65% 老年预防服务考核

(以上为 CDC 历年流行率发布的稳定量级区间;逐年精确值请以 CDC BRFSS 数据文档 与当年 Summary Data Quality Report 为准。)

§2.3 临床任务定义

BRFSS 支撑的临床建模任务与医学"金标准"流程的对应关系:

  • 风险筛查(等效于一级预防初筛):在无确诊记录的人群中用行为+人口学特征估计糖尿病/心血管风险,功能上替代"门诊初诊前风险评估问卷";注意其输出是风险分层而非诊断。
  • 患病率分层估计(等效于监测流行病学):加权估计州/县/亚组患病率,是 CDC 官方发布口径,也是 ML 流行率校准的参照。
  • 筛查依从性预测(等效于二级预防):预测某人群完成乳房 X 线/肠镜/流感疫苗的概率,用于公共卫生资源投放。
  • 健康不公平审计(等效于横向公平性评价):跨种族、收入、教育、州别的结局差距量化。
  • BRFSS 承担:个体诊断、疾病分级、预后预测——这些需要纵向临床数据(如 NHANES 实测或 EHR)。

§2.4 患者人群(受访者人群)表

维度 描述
来源 美国 50 州+DC+Guam+PR+USVI 居住于家庭(非机构化)的成年人;2023 公开集为 48 州+DC+3 领地(KY、PA 未达样本要求,CDC
时间 全年连续实施(每年 1-12 月,少量访谈跨入次年 1 月)
年龄 18 岁及以上(5 岁组段 _AGEG5YR 编码)
性别 男/女(SEXVAR;生物性别口径,非性别认同)
种族/族裔 白人、非裔、亚裔、美洲原住民/阿拉斯加原住民、夏威夷/太平洋岛民、西班牙裔、多族裔(衍生变量 _RACEPRV 等)
就医类型 无(一般人群,不区分就医状态;含医保类型、有无固定医生变量)
抽样 RDD 陆地线(户内 1 名成人)+ 手机(机主成人);2011 起双框合并

§2.5 临床价值

对公共卫生与临床 AI 而言,BRFSS 的价值在于三点:其一,它是美国多数州唯一可持续的健康行为数据源,许多州的立法与预算决策直接引用其州级估计(Pierannunzi 2013);其二,其自报患病标签与 NHANES 实测呈方向一致的梯度关系,可用于大规模人群筛查模型的校准与外部验证;其三,40 年连续测量使慢病行为趋势(吸烟下降、肥胖上升)可被量化,为模型漂移检测提供真实世界的分布演化参照(§7.6)。

在 AI 临床产品落地路径中,BRFSS 典型扮演三种角色:产品前置——在没有任何临床数据前,用它验证"行为特征→风险"信号是否存在、效应量级是否符合流行病学先验;产品校准——已部署筛查模型的预测分布与 BRFSS 加权流行率对照,可快速发现人群错配;产品外推边界——模型若要服务 BRFSS 覆盖不到的人群(机构化、无电话、非美国),须明确声明其外推未被任何证据支撑。

§2.6 金标准参照表

维度 BRFSS 的金标准定位
划分 无官方 train/test 划分;CDC 发布的是全量公开微观数据
标注方式 结构化电话访谈自报(core + optional modules + state-added);CDC 年终计算衍生变量
标注者 受训访谈员(州卫生部门或其承包商,CATI 系统)实施访谈;"标注"即受访者自报
性质 横断面监测金标准:健康行为自报的世界规模最大数据源;患病标签未经临床复核,效力研究见 Nelson 2001(PMID 11851091

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
最新口径的全量教学/研究 2024 年度版(Codebook 2025-08-21) ASCII ~40-50 MB ZIP 变量最全、双框+手机、raking 加权
与 Kaggle 教学基准对齐 2015 年度版(或社区清洗版 253,680 行) CSV 22.74 MB 大量论文/教程基于 2015/21 特征版
长趋势/大样本表格 ML 2014-2024 多年合并(11 年 240 万+ 行) 合计 <1 GB 需按 §6.5 坑点 7 处理权重与变量映射
州/城市级小域估计 当年 LLCP + SMART MMSA 版 同年度 MMSA ≥500 受访者才发布
与 NHANES 校准研究 历年 LLCP + NHANES 同期版 需注意 2011 断点与口径差异
快速原型/无 SAS 环境 社区 parquet 镜像(brfssdata R 包) ~每年代 ~100 MB 免定宽解析,但需核对与官方一致(CRAN

§3.1 模态详情

  • 结构化问卷(唯一模态):每条记录为一名受访者的完整访谈编码。内容分四层:
    1. 核心问卷(Core):所有州必须逐字执行——人口学、健康状态与自评健康(PHYSHLTH/MENTHLTH 健康天数)、医疗保障、烟草、电子烟、饮酒、身体活动、慢性病患病、口腔健康、疫苗、跌倒、安全带与酒驾、乳腺癌/宫颈癌/结直肠癌/HIV 筛查(Overview 2012)。
    2. 可选模块(Optional Modules):CDC 维护约 25 个模块(如 SO/GI、认知负担、雷诺氏、前置胎盘史、儿童哮喘等),各州自选;模块变量在未选用州为空白(BLANK)。
    3. 州自设题(State-Added):各州经 BRFSS 协调人审批后添加,仅本州可见。
    4. CDC 衍生变量(Calculated Variables):年终由 SAS 程序统一计算——BMI(_BMI5)、BMI 分类(_BMI5CAT)、吸烟指示(_RFSMOK3)、高血压指示(_RFHYPE5)、心脏病/心梗(_MICHD)、种族(_RACEPRV)、年龄组(_AGEG5YR)等,并附《Calculated Variables》文档(CDC 2023)。

核心问卷区段构成(2023 年口径,Codebook

区段 内容主题 代表变量 覆盖
人口学 年龄/性别/种族/教育/收入/婚姻/住房/电话来源/子女数 _AGEG5YR、SEXVAR、EDUCA、INCOME3 全样本
健康状态 自评健康、健康天数、慢性病清单、残疾 GENHLTH、PHYSHLTH、DIABETE4、_MICHD 全样本
健康行为 烟草、电子烟、饮酒、身体活动、睡眠、口腔、果蔬 SMOKE100、_RFSMOK3、EXERANY2、_TOTINDA 全样本
预防服务 疫苗、癌症筛查、HIV 检测、胆固醇检查 FLUSHOT6、HADMAM、HIVTSTD3 全样本(性别/年龄条件)
医疗可及性 医保、固定医生、费用障碍 HLTHPLN1、PERSDOC3、MEDCOST1 全样本
伤害与安全 跌倒、安全带、酒驾 FALL12YR、SEATBELT 全样本
可选模块 认知衰退、癌症生存者、照护者、糖尿病前期、心血管警示症状、果蔬摄入、烟草戒断等约 25 个 各模块专有变量 州级自选

可选模块举例与州级采用差异(模块矩阵见官方《Modules Used by State》):SO/GI 模块(2014 年 20 州+Guam 采用)、认知衰退(Cognitive Decline)模块、癌症生存者(Cancer Survivorship)模块、烟草戒断(Smoking Cessation)模块、糖尿病前期(Pre-Diabetes)模块、心血管警示症状(Heart Attack & Stroke Signs and Symptoms)模块等——模块清单逐年公布,同一模块的问句措辞也可能按年微调,跨州合并前必须核对当年矩阵(CMS 汇编)。

§3.2 按子集样本数

子集 规模(2023 年口径) 说明
合并公开数据集(LLCP) 433,323 条记录 / 345 变量(XPT) 48 州+DC+Guam+PR+USVI;主分析对象
陆地线样本 与手机样本合并后不单独发布全量 户内随机 1 名成人
手机样本 2011 起并入 LLCP 2012 上半年全美 35.8% 家庭仅手机(Overview 2012
儿童访谈(NSA) 存量较小,独立域权重 _CLLCPWT 儿童哮喘/流感模块
多问卷版本州 独立文件 LLCPyyV1-V3 仅采纳多个问卷版本的州
SMART 城市级(MMSA) 每都市区 ≥500 受访者 单独发布 MMSA 文件
2015(历史参照) 441,455 条 / 330 变量 Kaggle 教学基准来源年
2014-2024 合并 240 万+ 观测 大样本表格 ML(Nature 2026

§3.3 数据格式表

格式 说明 读取方式
ASCII 定宽(.ASC) 2023 版定长 2,111 列(2024-09 首版 2,052 列),每行 1 名受访者 pandas read_fwf + Codebook 列位表
SAS Transport(.XPT) SAS V9.4 导出,2023 版 345 变量;导入 SPSS/Stata/R pandas.read_sas(format='xport')haven::read_xpt
Codebook ZIP 内 HTML,变量名/列位/问句/取值频数 配合任意格式解析
SAS 程序与格式库 formats23(32/64 位)、SASOUT 转换程序 SAS 环境
社区 parquet brfssdata 包托管,逐年稳定 URL pd.read_parquetCRAN

注意:XPT 导出时部分变量标签被截断,与官方 SAS 程序略有差异;ASCII 与 XPT 内容一致,任选其一(CDC 2023)。

§3.4 存储大小

  • 单年 ZIP:ASCII 41.5 MB / XPT 64.3 MB(2023 年);解压后 ASCII 约 0.9 GB(433,323 行 × 2,111 字符)。
  • Codebook ZIP 约 3 MB;全部方法学 PDF <10 MB。
  • 1984-2024 全年份原始包合计 <5 GB;转 parquet/feather 后单年约 100-200 MB。
  • 内存:单年 pandas 读入约 1.5-3 GB;11 年合并建议 DuckDB/分块或 64 GB 内存。

§3.5 标注方式

"标注"在本数据集中为受访者自报编码 + CDC 计算衍生变量,无人工复核标签:所有慢性病标签(DIABETE4、_MICHD 等)均为"曾被医生告知"的自报二分类;行为变量为结构化应答编码;CDC 衍生变量由确定性规则计算(如 _BMI5 = 体重(kg)/身高(m)² × 703 由自报身高体重换算)。这属于弱监督自报标注,其效度证据见 §2.6 与 §7.2。

§3.6 标注者资质与一致性

访谈由州卫生部门雇员或承包商访谈员按 CDC《BRFSS Data Collection Protocol》执行(CATI 系统强制问卷跳转,访谈员自由度极低);CDC 对上交数据执行逐州编辑与逻辑校验。重测一致性方面,Nelson 2001 综述确认现吸烟、血压筛查、身高、体重、BMI 与多数人口学项目具高信度;自评健康、健康天数等项目中等信度(PubMed)。因是自报+系统流程,不存在标注者间 kappa 一致性指标。

§3.7 采集周期

每年 1-12 月连续实施(月度滚动抽样),个别访谈跨入次年 1 月(IDATE 记录访谈月日,跨年记录是多年合并的坑点之一,§6.5 坑点 7)。数据经州级月度上交、CDC 年终集中编辑/加权后于次年发布(2023 年度版于 2024-09 首发、2025-02 有修订)。单份年度版的典型时间线:

时点 事件
调查年 1-12 月 各州按月完成访谈并上交
次年 1-3 月 CDC 编辑、逻辑校验、raking 加权、衍生变量计算
次年 8-9 月 年度数据 + Codebook + 方法学 PDF 首发于年度页
次年 9-10 月 版本勘误/补丁(如 2023 年 9 月更新 Mississippi 种族衍生变量)
更晚 行政/合规性修订(如 2025-02 对 2023 数据的修订)

§3.8 地域覆盖

2023 年所有 50 州+DC+Guam+PR+USVI 均实施访谈;公开合并集含 48 州+DC+Guam+PR+USVI(Kentucky、Pennsylvania 未达最低样本要求被排除,CDC Stacks)。地理标识粒度:公开微观数据仅到州(_STATE),部分年份含县/ MMSA 的 SMART 版;无街道或邮编级信息(隐私保护)。州级样本量的设计目标使多数州单年即可支撑稳定的全州估计与部分亚组估计;更细的小域(县、MMSA)需要多年合并或 SMART 发布条件(MMSA ≥500 受访者)。分析洲际差异时还应读取当年《Comparability of Data》:各州对模块的选择、区域 raking 维度的使用差异,都会影响跨州可比性。

§3.9 设备规格

数据模态为访谈记录,无传感器。技术载体:CATI(计算机辅助电话访谈)系统,2014 年 53 个州/领地使用 CATI(CMS);陆地线与手机双抽样框由 CDC 提供抽样设计。访谈时长通常 20-35 分钟量级(随所选模块数量变化),问卷按跳转逻辑分支,受访者仅回答适用题——这决定了"BLANK=未问"的缺失结构。手机框受访者与陆地线框在问卷核心部分完全一致,仅在部分行为题的引导语上按 CDC 规范微调。

§3.10 深度溯源链

层级 主体 职责
顶层机构 CDC(NCCDPHP,Division of Population Health) 抽样设计、问卷标准、年终编辑、加权、公开发布
执行机构 各州卫生部门(BRFSS 协调人) 抽样实施、访谈员管理、月度数据上交
访谈员 州雇员/承包商(CATI) 按 Protocol 逐字提问、录入
受访者 18+ 家庭人口成人 自报应答
数据处理 CDC BRFSS Branch 编辑、raking 加权(_LLCPWT)、衍生变量计算、Codebook 生成
发布渠道 cdc.gov/brfss/annual_data(ASCII/XPT ZIP)+ CDC Stacks(DOI 10.15620/cdc/*) 免费公开

溯源参照:Mokdad AH, Stroup DF, Giles WH. MMWR Recomm Rep. 2003;52(RR-9):1-12(方法学推荐,Comparability 文档引用)。


§4 数据结构

§4.0 目录树

CDC 年度包下载解压后的典型目录结构(以 2023 年版为例,2025-02 修订版列数以当页说明为准):

brfss/
├── LLCP23.ASC                       # ASCII 定宽主数据(2,111 列/行,433,323 行)
├── XPT/LLCP23.XPT                   # SAS Transport 主数据(345 变量)
├── USCODE23_LLCP_021925.HTML        # Codebook(变量名/列位/问句/取值频数)
├── llcp23v3/                        # 多问卷版本州子文件(如有,LLCPyyV1-V3)
├── doc/
│   ├── Overview_2023.pdf            # 背景与统计分析事项
│   ├── Calculated_Variables_2023.pdf# 衍生变量计算规则(801 KB)
│   ├── Weighting_2023.pdf           # 2023 加权公式
│   ├── Complex_Sampling_Weights_Module_Analysis.pdf  # 模块域权重指南(736 KB)
│   ├── Comparability_of_Data_2023.pdf                # 跨州/跨年可比性
│   ├── Summary_Data_Quality_Report_2023.pdf          # 响应率与呼叫质量
│   └── Modules_Used_by_State_2023.pdf                # 各州模块矩阵
├── sas/
│   ├── formats23_32bit.zip          # SAS 格式库
│   ├── SASOUT23.SAS                 # XPT→SAS 转换程序
│   └── SPSS/STATA 说明
└── cv_matrix/Summary_Matrix_CV_2023.xlsx  # 衍生变量按州可得性矩阵

§4.1 DAIMS 8 列字段字典

核心变量字段字典(以 2023/2024 年度版为准;历史年份变量名见 §6.5 坑点 2):

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
_STATE Integer 受访者所在州 FIPS 码 6(加州) 分组/州级特征/公平性 无(行政赋值) 1-78(含领地)
DIABETE4 Integer 曾被告知患糖尿病(自报) 3(否) 主要标签 自报漏诊/误报 7=不知道,9=拒绝;BLANK=未问 1/2/3/4/7/9
_MICHD Integer 曾患心梗或冠心病(CDC 衍生) 2(否) 心血管标签 自报+衍生规则 BLANK=未问 1/2
_LLCPWT Float 最终分析权重(raking) 184.32 加权流行率/加权损失 权重不稳定端点 无(全量非缺失) >0,跨多个量级
_STSTR Integer 抽样分层码(州内分层) 1001 复杂抽样方差估计 无(设计变量) 州内枚举
_PSU Integer 初级抽样单元(陆地线=户,手机=个人) 1 与 _STSTR 配合估方差 无(设计变量) 1-2
SMOKE100 Integer 一生吸烟 ≥100 支 2(否) 吸烟特征/标签源 低报(社会期许) 7/9 1/2/7/9
_RFSMOK3 Integer CDC 现在吸烟指示(衍生) 2(否) 干净二分类特征 继承 SMOKE100 低报 9 1/2/9
_BMI5 Float 衍生 BMI(×100 整数存储) 2651(=26.51) 肥胖特征 自报身高体重低估 BLANK(极少数) 1100-9922
_BMI5CAT Integer BMI 四分类(过轻/正常/超重/肥胖) 3(超重) 分类特征/粗标签 继承 _BMI5 BLANK 1-4
_AGEG5YR Integer 5 岁组年龄段 9(55-59 岁) 人口学特征 自报年龄分段 14=不知道/拒绝 1-14
_RACEPRV Integer 种族/族裔(衍生最细口径) 1(白人) 公平性分组 自报 9 1-9
EXERANY2 Integer 近 30 天是否有(非工作)体力活动 1(是) 行为特征 回忆/社会期许偏差 7/9 1/2/7/9
INCOME3 Integer 家庭收入段 8($75,000+) 社会经济特征 拒答率高(>15%) 77/99;BLANK 1-11
GENHLTH Integer 自评健康(1 优秀-5 差) 2(很好) 强预测特征/公平性分层 主观口径,与临床状态相关但非等价 7/9 1-5/7/9
MENTHLTH Integer 近 30 天精神健康不佳天数 0 心理健康特征 回忆/污名化低报 77/99;88=0 天 1-30/88
_RFBING3 Integer CDC 暴饮指示(衍生) 2(否) 饮酒行为特征 继承自报低估 9 1/2/9
FLUSHOT6 Integer 近 12 个月流感疫苗 1(是) 预防服务利用标签 回忆偏差 7/9 1/2/7/9
HLTHPLN1 Integer 是否有任何医保 1(是) 可及性特征 自报 7/9 1/2/7/9
PHYSHLTH Integer 近 30 天身体健康不佳天数 0 健康相关 QoL 特征 回忆偏差 77/99 1-30/88=无
MSCODE / _SMHLT/MMSA 变量 Integer/Text 都市区标识(SMART 版) 31180 城市级小域 BLANK=非 MMSA 发布区 枚举

§4.2 标签分布

以糖尿病标签为例(2024 年口径,社区复现统计):DIABETE4=3(否)约 83%,=1(是)约 14.5%,=4(前期/边缘)约 2.5%,=2(仅妊娠期)<1%,7/9 合计极少数(约 0.1% 量级);二分类化后阳性率约 14.9%,不平衡比约 5.7:1(Kaggle 教学复现CS506 项目)。心血管标签 _MICHD 在 2024 建模集(452,464 条)中阳性 42,338(9.36%),不平衡比 9.69:1(MDPI Sensors 2026)。关键提醒:这些比例是未加权的样本比例;加权后的全美成人患病率估计与之不同,发布流行率时必须用 _LLCPWT。

常用标签的构造口径对照:

任务 标签变量 推荐二分类口径 天然阳性率(未加权) 阳性类构成注意
糖尿病(宽) DIABETE4 in {1,2} = 阳性 ≈15% 妊娠期糖尿病是否并入需声明
糖尿病(严) DIABETE4 ==1 = 阳性 ≈14.5% 口径不同影响基率约 0.5 pp
三分类教学版 DIABETE4/DIABETE3 1/2/3/4 直接映射 83/14.5/2.5 前期糖尿病类仅 2.5%,极难分类
心血管 _MICHD ==1 = 阳性 ≈9.4% 由 CVDINFR4+CVDCRHD4 合成,源列必须剔除
现在吸烟 _RFSMOK3 ==1 = 阳性 ≈11-12% 已把 7/9 折叠为缺失,比 SMOKE100 干净
高血压 _RFHYPE5 ==1 = 阳性 ≈30-34% 成人全样本问;口径为"曾告知"
暴饮 _RFBING3 ==1 = 阳性 ≈15-17% 男性/女性阈值不同,衍生变量已统一

§4.3 关键统计

  • 单年记录数:2023 年 433,323;2015 年 441,455;2024 年约 45-47 万(不同清洗口径 452,464-475,000)。
  • 变量数:2023 年 XPT 345 个(ASCII 2,111 定宽列);2015 年 330 个。
  • 高缺失变量:可选模块变量在未选用州 100% 空白;INCOME3 拒答常见;部分年份身高体重对 70+ 或使用义肢者允许特殊码。
  • 权重分布:_LLCPWT 因按州/人口校准,取值可从 <1 到 >1,000,直接入模会扭曲损失(需 log 或类别校准,见 §6.5 坑点 1)。
统计项 数值(2023/2024 口径) 备注
记录数 433,323(2023) 官方发布
变量数 345(XPT) 2025-02 修订版口径
糖尿病阳性(未加权) ≈14.5%(2024 三分类复现) 加权后与 CDC 发布口径有差
心血管阳性(未加权) 42,338 / 9.36%(2024 建模集) MDPI 论文口径
州数(公开集) 48 州+DC+3 领地(2023) KY、PA 缺席
单行宽度 2,111 字符(ASCII) 2025-02 版;2024-09 版 2,052

§4.4 数据层级

美国成人总体(加权推断目标)
└── 受访者记录(1 行 = 1 名成人 × 1 年;无个人跨年 ID,不能纵向跟踪)
    ├── 核心问卷区段(Core,全州必问)
    │   ├── 人口学(年龄/性别/种族/教育/收入/住房/婚姻/电话来源)
    │   ├── 健康状态与行为(患病/吸烟/饮酒/活动/睡眠/口腔)
    │   └── 预防与可及性(疫苗/筛查/医保/医生)
    ├── 可选模块区段(Module,州级自选;未选用州 BLANK)
    ├── 州自设题区段(State-Added)
    └── CDC 衍生区段(Calculated:_BMI5/_RFSMOK3/_MICHD/_AGEG5YR/_LLCPWT/_STSTR/_PSU)

注意:BRFSS 是重复横断面——同一人两年内若被抽中会得到两条独立记录且无法识别(无受访者 ID),任何"个人纵向"用法都是错误前提。

§4.5 缺失值与信息性缺失编码

编码 含义 出现位置 处理原则
7 / 9 Don’t know / Not sure、Refused(一位数变量) 核心与模块 必须先映射 NaN,不得当有效值(坑点 5)
77 / 99 同上(两位数变量,如 PHYSHLTH 的 77/99) 两位数数值题 同上
777 / 999 同上(三位数变量,如身高 HTM4 相关、饮酒量) 三位数数值题 同上
7777 / 9999 同上(四位数变量,如体重 WTKG3 相关) 四位数数值题 同上
BLANK(空串/真缺失) 该受访者未被问此题(模块未选用/跳转逻辑) 模块变量 与 7/9 语义不同:非拒答而是不适用
88 “None”(如 PHYSHLTH=88 表示 0 天健康不佳) 天数类题目 88 是有效值 0,不是缺失
特殊身体码 身高体重题的 7777(义肢)等 HEIGHT/WEIGHT 按文档处理,勿直接当数值

§5 划分与使用建议

官方划分:无。CDC 发布全量公开微观数据,不含 train/val/test 划分。

社区惯例:教学与论文通常随机 80/20 或 60/20/20 分层切分(Kaggle 教程以 train_test_split(random_state=…) 为标准动作);2014-2024 合并研究常按年留出(如 2014-2022 训练、2023-2024 外部时序验证)。

§5.3 泄漏风险(重点)

  1. 结果近端变量泄漏:_MICHD 标签建模时若保留 CVDINFR4/CVDCRHD4(其构成来源),AUROC 虚高;MDPI 2026 论文明确将二者列为 leakage-prone 变量剔除(MDPI)。糖尿病建模同理:任何"曾被告知糖尿病相关治疗"变量都在标签定义链上。
  2. 衍生变量泄漏:_BMI5 由自报身高体重计算,若标签是"糖尿病"尚可,但若研究"肥胖-结局"关系需谨慎双向因果。
  3. 重复横断面:无个人 ID,随机切分不会产生同受试者泄漏;但按州切分时州级效应(采样团队、模块选择)会造成分布漂移,建议州分层抽样或留州验证。
  4. 加权指标 vs 未加权指标:若报告流行率类指标(如召回率按真实人群口径),评估集必须加权;混用会误判模型。
  5. 切分时的时点泄漏:用多年合并数据做"风险预测"叙事时,若把预测目标年之后的行为变量混入特征(如用 2015 数据预测 2014 状态的实验设计),构成时间穿越;特征时点必须早于标签时点或同为横断面瞬时口径。

交叉验证建议:按 _STATE 分层 K 折(保州比例);若用 SMOTE 等过采样,必须在 CV 折内拟合(社区复现中在训练集上 ADASYN 是标准做法,CS506)。

外部验证建议:NHANES(实测口径)、NHIS(面访)、UK Biobank(跨人群)均为合理外部队列;注意先统一变量口径再比较(§7.8)。

§5.1 三种推荐划分方案速查

方案 做法 适用 风险控制
随机分层(教学) train_test_split(stratify=label, random_state 固定) 80/20 教学复现、论文基线 必须固定 seed;与 Kaggle 教程对齐时用其清洗版
州分层 K 折(稳健) GroupKFold 按州+标签双层分层 跨州泛化评估 留州折(Leave-One-State-Out)可诊断州效应
年份时序留出(趋势) 2014-2022 训练 / 2023 验证 / 2024 测试 部署型模型、漂移研究 需统一跨年变量映射(坑点 2、7)

§5.2 类不平衡与加权策略选择

策略 何时用 注意
什么都不做 只关心 AUROC 排序 报告 AUPRC 以防"高 Acc 低召回"错觉
类权重(pos_weight) 损失层面平衡 与调查权重正交,可叠加
SMOTE/ADASYN(折内) 需要高召回的筛查场景 只在训练折拟合;测试集保持原始分布
50-50 平衡子集 教学演示 严重破坏真实基率,禁止用于流行率推断(社区平衡版 70,692 行仅作演示,Kaggle
调查权重进损失 人群级校准/流行率指标 与类权重同时用时要先做权重归一化对比实验

§6 AI 就绪指南 ⭐

§6.0 云端快速启动

BRFSS 无需任何账号/审批,Colab/Kaggle Notebook 内三行即可拉取社区 parquet 镜像(与官方 XPT 逐值一致、含设计列):

# Colab/Kaggle:直接读取 brfssdata 托管的 2023 年 parquet(无需 SAS 环境)
import pandas as pd
url = "https://github.com/muntasirmasum/brfssdata/releases/download/data-2023/brfss_2023.parquet"
df = pd.read_parquet(url)   # 含 _LLCPWT/_PSU/_STSTR 设计列与全部原始变量

若需官方原始件,见 §6.2。数据量单年 <1 GB,CPU 即可全程处理。

§6.1 快速上手

以下代码假定目录结构为 §4.0 所示 brfss/data_root 指向该目录,XPT 与 Codebook 同级;最小可用子集为"核心问卷变量 + _LLCPWT/_STSTR/_PSU + DIABETE4 标签",10 分钟内可跑通第一个加权基线。

环境准备:pip install pandas pyreadstat scikit-learn(pyreadstat 提供 XPT 读取;仅用 pandas 内置 read_sas 也可)。XPT 是单表文件,无需解包即可读取;若走 ASCII 路线,务必同时下载当年 Codebook 以获得列位表。

# 环境:pandas >= 2.0;读取官方 XPT(每行 1 名受访者;无表头文件,列名内嵌于 XPT)
import pandas as pd
from pathlib import Path

DATA_ROOT = Path("brfss/")          # 与 §4.0 目录树一致
df = pd.read_sas(DATA_ROOT / "XPT" / "LLCP23.XPT", format="xport")   # ~433,323 行 × 345 列

# 最小可用子集:标签 + 14 个核心特征 + 3 个设计变量
cols = ["DIABETE4", "SMOKE100", "EXERANY2", "HLTHPLN1", "PHYSHLTH", "INCOME3",
        "_AGEG5YR", "_RACEPRV", "_BMI5", "_RFSMOK3", "_RFHYPE5", "_MICHD",
        "_LLCPWT", "_STSTR", "_PSU"]
sub = df[cols].copy()

# 第一步永远是:把信息性缺失编码换成 NaN(详见 §6.5 坑点 5)
sentinel = {7: None, 9: None, 77: None, 99: None, 777: None, 999: None,
            7777: None, 9999: None}
for c in ["DIABETE4", "SMOKE100", "EXERANY2", "HLTHPLN1"]:
    sub[c] = sub[c].replace(sentinel)
sub["PHYSHLTH"] = sub["PHYSHLTH"].replace({88: 0, 77: None, 99: None})  # 88=0 天
sub = sub.dropna(subset=["DIABETE4"])
sub["label"] = (sub["DIABETE4"] == 1).astype(int)   # 简单二分类:确诊糖尿病
print(sub["label"].value_counts(normalize=True))     # 未加权阳性率 ~14-15%

§6.2 数据获取

项目 内容
官方年度数据页 https://www.cdc.gov/brfss/annual_data/annual_data.htm(1984 年至今逐年归档)
2024 年版 https://www.cdc.gov/brfss/annual_data/annual_2024.html(Codebook 2025-08-21 更新)
2023 年版 https://www.cdc.gov/brfss/annual_data/annual_2023.html(ASCII 41.5 MB / XPT 64.3 MB ZIP)
Codebook 同年度页 ZIP(变量名/列位/问句/频数)
方法学文档 Overview / Weighting Formula / Calculated Variables / Comparability / Complex Sampling Weights(同页 PDF)
申请流程 :直链下载、无需注册、Public Domain
社区镜像 brfssdata R 包(parquet,逐年稳定 URL,CRAN);Kaggle 教学衍生集(alexteboul,253,680 行×21 特征)
# 命令行获取(无需任何密钥)
import urllib.request, zipfile, io
page_zip = "https://www.cdc.gov/brfss/annual_data/2024/zip/LLCP24XPT.zip"  # 以当年页面列出的实际链接为准
urllib.request.urlretrieve(page_zip, "LLCP24XPT.zip")
zipfile.ZipFile("LLCP24XPT.zip").extractall("brfss/XPT/")

# 下载完整性核验:把 ZIP 的 sha256 登记进数据版本记录(2023 版存在 2024-09/2025-02 两种形态)
import hashlib
print(hashlib.sha256(open("LLCP24XPT.zip", "rb").read()).hexdigest())

§6.3 预处理全流程

从官方 ASCII 定宽文件到建模表的可运行流水线(格式转换 → 哨兵码清洗 → 加权统计 → 特征标准化):

# 全流程:ASCII 定宽解析 → 缺失码映射 → 衍生口径统一 → 加权检查 → 标准化
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler

# 1) ASCII 定宽解析(不读 XPT 时用):colspecs 来自 Codebook 的列位表
#    LLCP23.ASC 每行固定 2,111 字符;此处示范 3 个变量的列位(以当年 Codebook 为准)
colspecs = [(13, 15), (153, 155), (168, 171)]          # 示意:以官方 Codebook 核对
names = ["_STATE", "SMOKE100", "EXERANY2"]
asc = pd.read_fwf("brfss/LLCP23.ASC", colspecs=colspecs, names=names,
                  na_values=[7, 9, 77, 99, 777, 999, 7777, 9999])   # 解析时直接吞掉哨兵码

# 2) XPT 路线(推荐):读全量 → 构造标签与特征
df = pd.read_sas("brfss/XPT/LLCP23.XPT", format="xport")
keep = ["_LLCPWT", "_STSTR", "_PSU", "_STATE", "_AGEG5YR", "_RACEPRV",
        "_BMI5", "_RFHYPE5", "_RFSMOK3", "EXERANY2", "INCOME3", "PHYSHLTH", "DIABETE4"]
data = df[keep].replace([7, 9, 77, 99, 777, 999], np.nan)
data["PHYSHLTH"] = df["PHYSHLTH"].replace({88: 0, 77: np.nan, 99: np.nan})
data = data[data["DIABETE4"].isin([1, 2, 3, 4])]
data["label"] = data["DIABETE4"].isin([1, 2]).astype(int)      # 确诊+妊娠期=1(口径自定,需在论文中声明)

# 3) BMI 口径统一:_BMI5 以 ×100 整数存储,先除回 100(坑点 8)
data["bmi"] = data["_BMI5"] / 100.0

# 4) 加权健康检查:加权与未加权流行率对比(差异即抽样偏差的直观量)
w = data["_LLCPWT"]
print("未加权阳性率:", data["label"].mean())
print("加权阳性率  :", np.average(data["label"], weights=w))

# 5) 特征矩阵与标准化(标准化器只应 fit 训练折——见坑点 1 的加权损失讨论)
features = ["bmi", "PHYSHLTH", "_AGEG5YR"]
X, y, wt = data[features].fillna(data[features].median()), data["label"], w
Xs = StandardScaler().fit_transform(X)

§6.4 PyTorch DataLoader 完整代码

# PyTorch 表格 Dataset:把权重、标签、特征打包;损失用加权 BCEWithLogitsLoss
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader

class BRFSSDataset(Dataset):
    """df 需已过 §6.3 流水线:哨兵码清理、_BMI5/100、标签构造。
    wt 缺失(如模块子集)时用 np.ones,但推断流行率必须恢复真权重。"""
    def __init__(self, df: pd.DataFrame, feature_cols, label_col="label",
                 weight_col="_LLCPWT"):
        self.X = torch.tensor(df[feature_cols].to_numpy(np.float32))
        self.y = torch.tensor(df[label_col].to_numpy(np.float32)).unsqueeze(1)
        self.w = torch.tensor(df[weight_col].to_numpy(np.float32)).unsqueeze(1)

    def __len__(self):
        return len(self.X)

    def __getitem__(self, i):
        return self.X[i], self.y[i], self.w[i]

def weighted_bce(logits, target, weight):
    # 加权二分类损失:让损失函数与调查设计一致(样本量小/权重大的亚组不丢失)
    return torch.nn.functional.binary_cross_entropy_with_logits(
        logits, target, weight=weight)

feature_cols = ["bmi", "PHYSHLTH", "_AGEG5YR", "_RACEPRV", "INCOME3",
                "_RFHYPE5", "_RFSMOK3", "EXERANY2"]
torch_df = data[feature_cols + ["label", "_LLCPWT"]].dropna()
train_ds = BRFSSDataset(torch_df, feature_cols)
loader = DataLoader(train_ds, batch_size=4096, shuffle=True,
                    num_workers=2, pin_memory=True)      # 45 万行级数据,4 千批内即可收敛

model = torch.nn.Linear(len(feature_cols), 1)            # 加权逻辑回归基线
opt = torch.optim.Adam(model.parameters(), lr=1e-3)
for epoch in range(3):
    for xb, yb, wb in loader:
        opt.zero_grad()
        loss = weighted_bce(model(xb), yb, wb)
        loss.backward(); opt.step()
    print(f"epoch {epoch}: weighted loss={loss.item():.4f}")

生产化补充要点:

# 1) 权重幅度检查:_LLCPWT 跨多个量级,训练前先做"均值归一"(不改变推断口径)
w_mean = torch_df["_LLCPWT"].mean()
torch_df["_LLCPWT_NORM"] = torch_df["_LLCPWT"] / w_mean    # 损失权重用归一版,流行率统计用原版

# 2) 训练/验证切分必须分层且固定 seed;验证集指标建议同时给未加权 AUPRC 与加权 Brier
from sklearn.model_selection import train_test_split
tr, va = train_test_split(torch_df, test_size=0.2, stratify=torch_df["label"],
                          random_state=42)
# 3) 类别权重可与调查权重相乘(先各自归一)以同时兼顾设计一致性与类平衡
pos_w = (tr["label"] == 0).sum() / max((tr["label"] == 1).sum(), 1)

§6.5 坑点(8 个,BRFSS 真实特有失败模式)

⚠️ 坑点 1:忽略复杂抽样设计(_LLCPWT/_STSTR/_PSU)导致推断错误(分类:偏倚陷阱)

问题:BRFSS 是分层加权 RDD 样本而非简单随机样本:弱势/老年/女性群体被过采样,_LLCPWT 才能恢复总体分布。直接用未加权 sklearn/lightgbm 拟合并报告"患病率",或对权重视而不见的置信区间,都会产生系统性偏差且标准误严重低估。
症状:未加权"全美糖尿病阳性率 15.2%"与 CDC 官方发布加权估计对不上;把 _LLCPWT(可 >1,000)当特征喂进树模型后重要性榜被权重相关变量霸占;论文评审要求 survey design 校正时无从下手。
解决

  1. 简单方法:流行率类数字一律 np.average(x, weights=_LLCPWT);预测模型在损失里带权重(binary_cross_entropy_with_logits(..., weight=wt))或用 sample_weight 传入 sklearn。
  2. 进阶方法:统计推断用调查设计对象——R survey 包:svydesign(id=~_PSU, strata=~_STSTR, weights=~_LLCPWT, nest=TRUE)svymean/svyglm;Python 侧 statsmodels 无完整设计支持时可转 R 或用 samplics
  3. SOTA 方法:ML 点预测用加权损失、人群级校准指标用设计方差;2026 年 Nature Sci Rep 展示对 240 万行合并数据用 Divide-and-Recombine 分区 MLE,可在不损失设计一致性的前提下分布式拟合(论文)。
    参考:CDC《Complex Sampling Weights and Preparing Module Data for Analysis》(年度页);brfssdata 文档

⚠️ 坑点 2:问卷年度变更与变量名漂移(DIABETE3→DIABETE4、X_ 前缀)(分类:工程陷阱)

问题:CDC 逐年修订问卷:糖尿病变量 2015-2022 为 DIABETE3、2023 起为 DIABETE4;旧年份因 SAS 命名规则衍生变量带 X_ 前缀(X_LLCPWT、X_BMI5),新年份直接下划线开头;部分题目问法/取值区间也随年变化。多年合并时按一个变量名写死代码会静默丢列。
症状df["DIABETE4"] 在 2015 年数据上 KeyError;跨年合并后同一语义特征一半是 NaN;复现别人代码时列数对不上(还可能是 2025-02 行政令修订版删列所致)。
解决

  1. 简单方法:建立"语义名→各年实际名"映射表,读取时统一改名(rename(mapper, errors="ignore"))。
  2. 进阶方法:合并前对每年跑断言:目标语义列存在、取值域一致(如 DIABETE4 的 4=前期糖尿病仅新版有,老版 DIABETE3 的 4=否 的编码差异必须核对当年 Codebook,不能想当然)。
  3. SOTA 方法:用 brfssdata 这类带跨年字典的包(自动处理年份×分层交互与权重年代选择),或在 DuckDB 中建 per-year schema 视图(CRAN 文档)。
    参考:当年 Codebook 与《Comparability of Data》PDF;Kaggle 2023/2024 列说明

⚠️ 坑点 3:自报偏倚——BMI 与吸烟系统性低估(分类:偏倚陷阱)

问题:受访者低报体重、高报身高:与 NHANES 实测相比 BRFSS 自报 BMI 在 1999-2002 平均低估 5.9%,肥胖流行率低估约 9.5 个百分点、超重低估 5.7 pp(20-39 岁女性偏差最大);吸烟率亦低于 NHANES 实测校准口径(BRFSS 中位 20.9 vs NHANES 实测校准 30.6-38.1 区间内的口径差异,Klein 2007)。模型学到的"肥胖→糖尿病"阈值因此整体左移。
症状:用 _BMI5 训练的模型部署到体检实测数据时性能掉档;BMI>30 的人群占比比 NHANES 报告低约 1/5;跨数据集迁移时校准曲线整体偏移。
解决

  1. 简单方法:论文与模型卡明确声明自报口径;与实测数据联用时不用绝对 BMI 阈值而用分层分位。
  2. 进阶方法:套用 Ezzati 校正框架——用 NHANES 实测按性别×年龄×族裔建立自报→实测的回归校正系数,再对 BRFSS BMI 重加权。
  3. SOTA 方法:将"是否实测/自报"作为域指示变量做域自适应(correlated outcome 校准或 g-formula),并在公平性审计中分域报告(Pierannunzi 2013 综述)。
    参考:Nelson 2001(PMID 11851091);CDC《Comparability of Data》(2017 版)。

⚠️ 坑点 4:电话抽样框演变——2011 年方法学断点(手机框 + raking)(分类:评估误用)

问题:2011 年前数据仅含陆地线家庭(漏掉无地线的年轻/少数族裔/低收入群体),权重为事后分层(_FINALWT=STRWT×1/IMPNPH×NUMADULT×POSTSTR);2011 年起并入手机受访者并把权重换成 8 边际 raking(_LLCPWT)。CDC 官方声明 2011 前后估计不可直接比较——跨断点画"40 年趋势线"或混合训练在统计上是无效的。
症状:2009→2012 吸烟率曲线出现无流行病学解释的台阶;跨断点合并训练的模型在近年数据上校准异常;评审质疑趋势图的连续性。
解决

  1. 简单方法:趋势分析一律分段(1984-2010 与 2011-今),或至少在图上标注 2011 断点。
  2. 进阶方法:跨断点建模时把"年代"作为固定效应,且只比较断点后年代间的差分;brfssdata 包直接对跨断点合并抛错、需显式 allow_break=TRUE
  3. SOTA 方法:2011 年有 NHANES 并行实测,可用双重差分/锚定设计量化断点幅度后再拼接长期趋势(PA 方法学文档)。
    参考CDC FAQ;《Comparability of Data 2023》(CDC)。

⚠️ 坑点 5:缺失编码 7/9/77/99/777/999 是"不知道/拒绝"而非真缺失(分类:预处理陷阱)

问题:BRFSS 用与有效值同域的整数编码非实质应答:一位数变量 7=Don’t know/Not sure、9=Refused,两位数 77/99、三位数 777/999、四位数 7777/9999;另有 BLANK=未问、88=无(0 天)。若不做映射,PHYSHLTH=99 会成为"每月 99 天身体不适"的离群值,DIABETE4=9 的受访者被当成"糖尿病=拒绝"的第四类。
症状:描述统计出现超物理范围的"极大值";树模型重要性里 INCOME3=99 排第一;独热后多出一堆"Refused"类别且不同年份占比漂移。
解决

  1. 简单方法:按位数一次性 replace 为 NaN(§6.1/§6.3 代码);88 天数类先转 0 再清洗。
  2. 进阶方法:不要直接丢行——"拒答收入"本身与疾病相关(信息性缺失),保留"是否拒答"指示变量或用多重插补(MICE),插补循环内保持加权。
  3. SOTA 方法:按官方 Codebook 做全变量哨兵码 schema(2026 年 MDPI 论文用 schema-driven 映射替代数据驱动检测,再在 CV 折内做中位数插补,结果稳健),并把 BLANK(未问)与 7/9(拒答)分成两个缺失指示位(MDPI)。
    参考:当年 Codebook 各变量的 7/9 说明;Kaggle 数据字典

⚠️ 坑点 6:州间模块差异与"缺席州"——模块变量不是全国变量(分类:工程陷阱)

问题:约 25 个可选模块各州自选(如 SO/GI 模块 2014 年仅 20 州+Guam 采用),多问卷版本州还会把模块数据拆成独立文件(LLCPyyV1-V3,配 _LCPWTV1-V3 域权重);2023 年 Kentucky、Pennsylvania 因未达最低样本量根本不在公开集。把模块变量当全国性特征跨州建模,会把"州选择"混淆为"人群差异"。
症状:模块变量 60% 以上为 BLANK 且空白高度集中于某些州;加权估计只在"选了该模块的州"上有定义;合并多问卷版本文件时行数重复或权重错配。
解决

  1. 简单方法:只用核心变量做跨州模型;模块变量入模前画州×缺失热图确认结构。
  2. 进阶方法:模块子集分析按 CDC《Complex Sampling Weights》指南用域权重(如儿童模块 _CLLCPWT 仅在完成儿童访谈的记录非缺失)并子集化设计对象;多版本州用对应 _LCPWTVx。
  3. SOTA 方法:把"州是否采用模块"作为选择过程的内生变量建模(Heckman 型两步),或干脆做限于采用州的多层模型并明示外推范围(brfssdata 权重讨论Modules Used by State)。
    参考:《Summary – Matrix of Calculated Variables in the Data File》(按州模块矩阵);CMS SO/GI 汇编

⚠️ 坑点 7:多年度合并时的 interview date(IDATE)与权重除法(分类:工程陷阱)

问题:BRFSS 全年滚动抽样,少量 1 月访谈属于上一年问卷(IDATE 记录月/日);官方建议多年合并做趋势时把每条记录的权重除以参与年数(否则加权"总体"是若干个总体的和,流行率虽不变但方差与合计口径错);跨 2011 断点、跨年度变量改名、跨 2025-02 行政令修订版列集三重差异会同时出现。
症状:按下载文件命名年份对齐"调查年"后发现少量记录月份是次年 1 月;合并 11 年后 sum(_LLCPWT) ≈ 11×美国成人人口;把 IDATE 的 1 月记录归入错误调查年后亚组样本量对不上官方发布。
解决

  1. 简单方法:以官方"调查年"口径为准(数据文件即按调查年组织),不要用 IDATE 重分年;合并 N 年后 weight = _LLCPWT / N
  2. 进阶方法:趋势模型加年份固定效应与年份×特征交互;方差估计用"年份×_STSTR"交互分层(brfssdata 的做法),避免不同年同分层码被当作同层。
  3. SOTA 方法:小域估计(州×年×亚组)用时序平滑模型(state-space/Fay-Herriot),并利用官方逐年《Comparability》文档把方法学变化作为协变量(brfssdata 合并文档Nature Sci Rep 2026)。
    参考:CDC《Complex Sampling Weights》与历年《Comparability of Data》;Annual Survey Data

⚠️ 坑点 8:衍生变量与原变量口径差(_BMI5 ×100 存储、_BMI5CAT 分类、_MICHD 是"结果近端"标签)(分类:标签理解)

问题:CDC 衍生变量为分析便利而生,但口径易踩三处:(a) _BMI5 以整数×100 存储(2651=26.51),直接当 BMI 用会差百倍;(b) _BMI5CAT 是四分类截断,用它与用连续 _BMI5 建模结论可以不同;© 标签类衍生变量(_MICHD)由 CVDINFR4/CVDCRHD4 组合而来——做 _MICHD 分类时保留后者即标签泄漏。此外 _RFSMOK3 这类 RF 前缀衍生变量把"拒绝/不知道"折叠为缺失,与原题(SMOKE100 含 7/9)口径不同。
症状:BMI 描述统计中位数 2,651;"模型 AUROC 0.97"的糖尿病/心脏病论文被审稿人指泄漏;同一"吸烟"变量在两篇论文中分布对不上(一个用了 SMOKE100、一个用了 _RFSMOK3)。
解决

  1. 简单方法:读《Calculated Variables in Data Files》PDF 逐变量核对生成规则;_BMI5 统一除以 100 入特征库。
  2. 进阶方法:建"衍生→源变量"血缘表;做标签工程时显式剔除构成标签的源列(CVDINFR4、CVDCRHD4、DIABETE 治疗相关题)。
  3. SOTA 方法:可运行血缘测试(每次数据更新跑断言:label 列与源列互斥、_BMI5 范围 [10, 100]);发表时同时报告衍生口径与原题口径两套结果(MDPI 2026 泄漏清单CDC Calculated Variables)。
    参考:《Calculated Variables in Data Files》PDF;Comparability of Data

§6.6 数据增强(安全 ✅ / 危险 ❌)

操作 判定 说明
CV 折内中位数插补 + 缺失指示位 2026 年 MDPI 消融显示策略差异极小,安全(MDPI
训练折内 SMOTE/ADASYN 过采样 类不平衡 5.7:1-9.7:1 的标准对策,勿在折外拟合
类别再平衡(对 label 加权) 与加权 BCE 兼容
对 _LLCPWT 取 log/截尾后入模 ⚠️ 仅作特征;作为损失权重须用原值并先做标准化探讨
保留 7/9/99 等"未清洗"原始值进入模型 哨兵码即伪特征(坑点 5)
用问卷跳转逻辑反推"未问=否" BLANK(未问)≠ 否定应答,会制造虚假负样本
对自报 BMI/吸烟做"个人级"合成增强并宣称实测 掩盖系统偏倚(坑点 3)
合并年份后把"州×年"平均流行率当个体特征回填 ⚠️ 目标编码式泄漏风险,须折内计算并留出外推检验

§6.7 模型推荐

模型 适用场景 关键要点 已发表参考
加权逻辑回归 流行率与风险因素解释(基线必做) 设计一致推断,D&R 可扩展到 240 万行 Nature Sci Rep 2026
随机森林 表格基线、非线性交互 教学基准 top 模型(3 分类 macro-F1 0.467) CDC Diabetes 项目
XGBoost/LightGBM 特征工程后的高性能分类 2024 全特征口径 accuracy ≈0.83-0.84、macro AUC ≈0.76 CS506 项目
FT-Transformer 类深度表格模型 大样本+高维数值空间 泄漏安全协议下与 GBDT 相当,重点在 AUPRC MDPI Sensors 2026
调查加权 GLM(R survey) 官方口径流行率推断 svydesign + svyglm,统计审稿安全 CDC 方法学文档
混合效应/多层模型 州-县小域与不公平性 州随机效应 + 个体固定效应 SMART 应用

§6.8 硬件需求

规模 配置 说明
单年(45 万行×345 列) 8 GB 内存 / CPU pandas 全量可跑;XPT 读取需 ~2 GB 峰值
11 年合并(240 万行) 32-64 GB 内存 / CPU 推荐 DuckDB 或分区 parquet
GBDT 全特征训练 4-8 核 CPU,<1 小时 无 GPU 必要
FT-Transformer 1× 24 GB GPU,数小时 数值特征空间 283 列口径

§6.9 评估指标代码

# 指标三件套:加权流行率、AUC(未加权)、AUPRC(不平衡任务主指标)
import numpy as np
from sklearn.metrics import roc_auc_score, average_precision_score

def weighted_prevalence(y, w):
    return float(np.average(y, weights=w))          # 与 CDC 口径一致的流行率

def evaluate(y_true, y_prob, weight):
    auc = roc_auc_score(y_true, y_prob)             # 判别:未加权(个体排序不变权重)
    auprc = average_precision_score(y_true, y_prob) # 阳性 9-15% 时主看 AUPRC
    # 加权 Brier:衡量人群级校准(流行率正确的模型该项最低)
    brier_w = float(np.average((y_prob - y_true) ** 2, weights=weight))
    return {"AUROC": auc, "AUPRC": auprc, "weighted_Brier": brier_w,
            "weighted_prevalence": weighted_prevalence(y_true, weight)}

指标选择的三条准则:(1) 判别类指标(AUROC)对单调权重变换不敏感,可未加权报告;(2) 校准与流行率类指标(Brier、阳性预测值、召回率的人群口径)必须加权,否则与 CDC 发布值无可比性;(3) 类不平衡下 Acc 无信息量(全预测阴性即得 85-90%),论文与模型卡中应以 AUPRC/AUROC + 加权 Brier 为主指标。

§6.10 MLOps 笔记

  • 数据版本:以"调查年 + 下载日期"双键登记(2023 年版有 2024-09 与 2025-02 两个修订形态,列集不同);用 DVC/git-lfs 锁定原始 ZIP 的 sha256。
  • 口径契约:把哨兵码映射、_BMI5/100、标签构成规则放进 schema 文件(如 JSON),CI 中跑血缘断言(坑点 8 的 SOTA 方案)。
  • 再训练节奏:每年 9-10 月 CDC 发布新版后触发一次增量评估;新旧年份数据不得静默混合(2011 断点、变量改名均需显式迁移)。
  • 监控漂移:跟踪未加权阳性率与加权流行率的差值序列——差值突变常意味着抽样框/权重结构变化而非真实流行病变化。
  • 外部分发:若发布基于 BRFSS 的衍生数据集(清洗版/特征版),须保留 CDC 来源声明并附上"哪些列被丢弃/派生"的映射表;Public Domain 允许再分发,但混淆口径的分发会伤害整个生态。
  • 复现实验管理:每个实验记录(年度版、下载哈希、schema 版本、随机种子、泄漏剔除清单)四元组,缺一不可——BRFSS 的跨年列差异是复现失败的第一大根因。
  • 模型卡必填:自报口径声明、适用人群(美国家庭成人 18+)、失效场景(非美国人群、机构化人群、实测口径数据)。

§7 质量评估与局限性

§7.1 已知偏倚表

偏倚类型 描述 严重程度 缓解措施
自报偏倚 BMI/体重/吸烟/饮酒系统性低报:BMI 低估 5.9%,肥胖流行率低估 9.5 pp;吸烟率低于 NHANES 实测口径 NHANES 校准重加权;分位映射;口径声明
覆盖偏差 陆地线时代漏掉无电话/仅手机家庭(2012 上半年 35.8% 家庭仅手机);无电话亚组(低收入/农村/低教育/差健康)覆盖低 中(2011 后缓解) raking 八边际加权;用 2011 后数据
无应答偏倚 电话调查响应率逐年下降,应答者偏健康、偏年长女性 CDC 逐年发布州级加权响应率;敏感性分析
抽样设计偏倚 分层加权样本直接当简单随机样本分析 → 标准误低估 高(统计推断) _LLCPWT/_STSTR/_PSU 设计对象分析(坑点 1)
回忆偏差 30 天健康天数、饮食频率、筛查时间依赖回忆 低-中 结构化跳转与分段提问设计缓解
社会期许偏倚 饮酒量、吸烟、体重等敏感行为低报 与 NSDUH/NHANES 交叉验证;行为指标用衍生二分类
幸存者偏倚 横断面只含存活者,重病患者不入样 患病-死亡关联解释需谨慎
州模块选择偏倚 模块可得性由州决定,非随机 州×缺失结构检查;限采用州分析(坑点 6)

§7.2 标注质量

标签为结构化自报,无临床复核。Nelson 2001 系统综述结论:现吸烟、血压筛查、身高、体重、BMI 与人口学项高信度高效度;乳腺 X 线时间、临床乳腺检查、久坐生活方式、休闲体力活动、果蔬摄入为中等;低效度项极少(PubMed)。2004-2011 追踪综述确认 BRFSS 流行率与其他自报类全国调查一致、与实测类(NHANES)存在已知方向性差距(PMC)。对 AI 的含义:标签适合"风险分层/人群筛查"任务,不适合替代临床诊断标准。

§7.3 泛化性

部署场景 失效风险 证据
迁移到实测口径数据(体检/可穿戴) 高:BMI、吸烟系统低估导致阈值漂移 Ezzati 校正研究(综述
迁移到机构化人群(养老院、住院者) 高:目标总体为家庭人口 CDC Stacks 251890
迁移到非美国人群 高:行为习惯/医疗体系/问卷文化特异 数据范围限定美国
迁移到无电话/数字边缘人群 中-高:与抽样框重合度低 Comparability 2017
跨年代部署(2011 前模型用于现在) 高:设计断点+流行病学趋势 CDC 2023
州内小域(县/邮编) 高:州级抽样未保证县级样本量 仅 SMART MMSA(≥500)发布

§7.4 伦理

数据经 CDC 脱敏:无直接标识、地理仅到州(SMART 到 MMSA)、年龄折叠为 5 岁组、敏感自报项为自愿应答;Public Domain 使用无需 IRB(涉及个人数据的二次研究仍建议按所在机构政策确认)。弱势考虑:18 岁以下不在样本;少数族裔经加权后可达人群代表,但小样本亚组的估计方差大,发布亚组结论需附置信区间。

三条研究伦理准则值得写进任何基于 BRFSS 的论文限制节:其一,受访者以"同意接受访谈"形式参与,其自报敏感行为的隐私期待高于公开记录的默认级别,重识别尝试(即使技术上可行)违背数据使用精神;其二,把自报标签包装成"医学诊断数据集"会误导下游应用,模型卡必须写明"自报、横断面、非诊断";其三,衍生聚合发布(州/亚组流行率)在亚组样本过小时(<50 未加权)应抑制发布,CDC 自身统计标准即如此执行。

§7.5 公平性

BRFSS 是健康公平研究的标准底座:raking 边际含种族/族裔×性别×年龄交叉格,公开 _RACEPRV 等多口径种族变量(部分年份按州修订,2023 年 9 月曾更新 Mississippi 的种族衍生变量)。AI 审计场景:跨种族糖尿病检出率差异、收入-筛查依从梯度、农村/都市差异。注意:自报+低应答本身携带公平性含义(低收入组拒答率高,INCOME3 缺失>15% 量级),公平性指标应在"加权+缺失机制敏感"双重设定下报告。

§7.6 数据漂移

三类漂移必须区分:(1) 真实流行病学漂移(肥胖率长期上升、吸烟率下降)——可建模;(2) 方法学漂移(2011 断点、2013 命名规则、2025-02 列修订、州模块年变)——需显式版本管理;(3) 抽样漂移(响应率持续下降、手机占比上升)——影响权重外推有效性。建议每年用新版数据重算模型校准曲线与亚组流行率,异常波动先查 (2)(3) 再下结论(§6.10)。

漂移源 典型时间点 对模型的影响 检测与应对
真实流行病学 连续、渐进 特征-标签联合分布缓慢移动 年度校准曲线监控;分位重校准
加权方法(post-strat→raking) 2011 权重含义重构,跨断点基线不可续用 断点两侧分开建模(坑点 4)
抽样框(手机并入) 2011 年轻/少数族裔样本量骤增 对比 2010/2012 亚组构成差异
变量命名与问句 逐年 特征管道静默失效 年度 schema 断言(坑点 2)
发布修订(行政令删列) 2025-02 列数变化、敏感题缺失结构变化 下载包哈希入库;差异报告
响应率下降 逐年 无应答偏倚增强,权重尾部变重 跟踪 SDQR 响应率与权重分布分位

§7.7 DAIMS 24 项检查表

# 检查项 状态 说明
1 宽格式支持 单表一行一受访者,天然宽表
2 唯一标识 ⚠️ 无受访者 ID(重复横断面);行级去重依赖 _STATE+_STSTR+_PSU+_LLCPWT 组合近似
3 特殊字符处理 ASCII 定宽全数字;XPT 导入后列名兼容(旧年 X_ 前缀需映射)
4 重复行检测 官方编辑流程保证;合并多年份后需按设计列复查
5 缺失编码文档 Codebook 逐变量给出 7/9/77/99/777/999/BLANK/88 语义
6 标签标识 DIABETE4/_MICHD 等标签定义明确(自报口径)
7 罕见类分组 ⚠️ 三分类中"前期糖尿病"仅 2.5%,妊娠期<1%;需分组聚合策略
8 偏倚评估 自报/覆盖/无应答偏倚均有同行评审量化(§7.1)
9 数据字典 年度 Codebook + Calculated Variables + Weighting Formula 三件套
10 信息性缺失解释 拒答与健康状态相关(如 INCOME3),文档与文献均有讨论
11 设备记录 无设备维度(访谈数据,无传感器元数据)
12 共线性 ⚠️ 衍生变量与源变量强共线(_RFSMOK3↔SMOKE100),建模须二选一
13 编码映射 取值域逐年稳定,跨年变量名映射社区有成熟方案
14 时间戳处理 ⚠️ IDATE 月/日存在跨年访谈;无个人纵向时间轴
15 划分建议 官方无划分但社区/本文给出州分层与时序留出方案(§5)
16 泄漏讨论 结果近端变量(CVDINFR4 等)已有明确泄漏清单(§5.3、坑点 8)
17 标签分布 糖尿病 83/14.5/2.5 三类分布公开可复算(§4.2)
18 测量偏倚 自报 vs NHANES 实测的量化差距文献完备(坑点 3)
19 外部验证建议 NHANES/NHIS/NSDUH 对照链成熟(§7.8)
20 版本记录 官方逐年归档 + 年内修订说明(2024-09、2025-02)
21 预处理脚本 ⚠️ 官方提供 SAS 读取程序;Python/R 流水线需自建(本文 §6.3 可用)
22 合规要求 Public Domain,仅需引用 CDC 来源
23 多模态对齐 单模态(问卷),无对齐问题
24 去标识化 官方公开级脱敏:无标识符、地理折叠、年龄分组

DAIMS 评分:17.5 / 24

评分解读:22 个可判项中 15 项 ✅、4 项 ⚠️、3 项 ❌(设备记录、多模态对齐不适用性实质为 0.5 加权折算)。数据字典、缺失编码、偏倚量化、合规四项达到教科书级——这源于 CDC 40 年统计系统的方法学投资;扣分集中在无受访者 ID(不能纵向跟踪)衍生变量与源变量共线无官方 ML 划分与官方 Python 脚本三点,属于横断面调查的结构性边界而非质量缺陷。

对你意味着什么:(1) 可以放心把 BRFSS 当作"标签语义清晰、缺失机制有文档"的高质量表格源,直接进入 §6.3 流水线;(2) 放弃任何个人级纵向或设备多模态设想——需求落点应是横断面风险建模与人群推断;(3) 交付模型时必须附带加权方案与泄漏清单(本文已给出),否则统计审查大概率不过;(4) 罕见类与模块变量的州级缺口要求你在项目初期就冻结"变量×年份×州"三维可得性矩阵。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
NHANES(实测) CDC/NCHS 吸烟/BMI 口径对照 流行率差 吸烟率低于实测校准口径;肥胖低估 9.5 pp 自报系统性低估,需校准(Pierannunzi 2013
NHIS(面访) CDC/NCHS 吸烟/暴饮流行率 置信区间重叠 BRFSS 与 NHIS 统计不可分(Fahimi 2008) 电话自报与面访自报一致性良好
NSDUH(入户) SAMHSA 州级暴饮率 差值 <3-8 pp 分组内 BRFSS 偏低 敏感行为入户调查更偏高(Miller 2004)
NSFG CDC/NCHS 性行为相关题 流行率差 部分项 BRFSS 偏高 题干差异需重编码(Santelli 2008)
糖尿病三分类社区基准 Kaggle/学界 RF/GBDT 分类 macro-F1 0.13-0.47(前类难) 前期糖尿病类可分性差是共性结论(项目复现

§8 基准性能与生态

§8.1 排行榜(社区公开结果汇总)

BRFSS 无官方竞赛排行榜;下表汇总同行评审与公开可复现项目在糖尿病/心血管任务上的代表性结果。数值不可直接比较:各项目年份(2014/2015/2024)、变量集(21 特征 vs 300+)、标签二/三分类、切分与不平衡处理均不同,且多为未加权 AUROC/Accuracy。

排名 模型/任务 性能 年份 关键技术 完整引用 代码
1 FT-Transformer 双分支,BRFSS 2024 _MICHD 心血管风险 高 AUPRC/AUROC(不平衡 9.69:1 口径) 2026 泄漏安全协议+双分支门控 Wang et al., 2026, Sensors. DOI 10.3390/s26113417 论文附带协议
2 XGBoost/RF,BRFSS 2024 糖尿病三分类 Acc ≈0.83-0.84;macro ROC-AUC ≈0.76 2025 300→79 特征筛选+ADASYN CS506 项目报告, 2025, GitHub. github.com/Pr3mR4jendran GitHub
3 随机森林,BRFSS 2015 三分类 21 特征 Acc 0.774;macro-F1 0.467 2022 组合采样+top10 特征 Course team report, 2022, GitHub. github.com/nauxqouh GitHub
4 D&R 加权逻辑回归,2014-2024 合并 240 万行 MLE 等价+52-55% 提速 2026 Divide-and-Recombine 分区拟合 Nature Sci Rep, 2026, Sci Rep. DOI 10.1038/s41598-026-46927-7 论文方法节
5 糖尿病风险 XGBoost/逻辑回归(2014 BRFSS 衍生) C-statistic ≈0.80+(按特征集) 2017 特征选择+风险评分 Xie Z, et al., 2017, Prev Chronic Dis. DOI 10.5888/pcd14.160265

(各论文 DOI/出处以官方页面为准;引用数字不可横向比较的原因见上注。)

§8.2 SOTA 总结与选型建议

  • 要做人群流行率/风险因素解释:加权逻辑回归(survey 设计)是唯一"审稿安全"的主分析;ML 只作补充。
  • 要刷表格性能:GBDT(XGBoost/LightGBM)与 21 特征教学集即可达 Acc 0.85+(二分类);全特征 2024 数据可上 0.84(三分类 macro 更难)。
  • 要发表方法学创新:当前公开前沿在泄漏安全协议(坑点 8)、不平衡-精确率导向(AUPRC)、超大样本分布式拟合(D&R)三条线。
  • 前期糖尿病类(2.5%)在三分类中普遍不可分,若业务上无必要建议二分类化并声明口径。
  • 特征可解释性:社区复现一致发现顶级预测特征为自评健康(GENHLTH)、高血压(_RFHYPE5)、BMI、行走困难(DIFFWALK)、高胆固醇、年龄组——均为行为/状态自报,与临床先验一致,可作管道健全性检查(sanity check)。
  • 不要再做:无权重、无泄漏清单的"又一篇糖尿病 XGBoost"——该象限已饱和,边际价值集中在方法学诚实度上。

§8.3 评测协议

公开可复现的评测协议建议:① 固定年度与列集(如 2024 版 + Codebook 2025-08-21);② 哨兵码 schema 驱动清洗;③ 标签口径写明(DIABETE4==1 vs in [1,2]);④ 分层切分固定 random_state;⑤ 折内过采样;⑥ 报告 AUROC+AUPRC+加权 Brier;⑦ 报告加权流行率与未加权阳性率之差作为设计健康检查;⑧ 泄漏变量剔除清单随论文附录公开。

补充协议要点:

  1. 基线先行:先报加权逻辑回归基线再报复杂模型,差值才是复杂模型的真实增量。
  2. 种子矩阵:至少 5 seeds × 声明方差;BRFSS 样本量大但标签噪声大,单 seed 排名不稳。
  3. 亚组报告:性别×年龄组×种族(_RACEPRV)三向召回率最低组必须报告(公平性审稿标配)。
  4. 数据卡:注明下载日期与 ZIP 哈希;2023 年版有 2024-09/2025-02 两种形态,复现差异常见根因。
数据集 机构 关系 适用
NHANES CDC/NCHS 实测对照/校准源 偏倚校正(坑点 3)
NHIS CDC/NCHS 面访自报对照 模式效应研究
SMART BRFSS CDC BRFSS 城市分子集 小域估计
YRBSS CDC 青少年行为同类调查 青少年扩展
Kaggle alexteboul 糖尿病指标集 社区 BRFSS 2015 清洗教学版 快速教学(Kaggle
CHARLS 北京大学 中国同类(中老年) 跨国比较

§8.5 关键论文 Top 5

  1. Mokdad AH, Stroup DF, Giles WH. “Public health surveillance for behavioral risk factors in a changing environment: recommendations from the Behavioral Risk Factor Surveillance team.” MMWR Recomm Rep. 2003;52(RR-9):1-12. — BRFSS 官方方法学推荐,系统阐述设计、加权与适用边界。
  2. Nelson DE, Holtzman D, Bolen J, Stanwyck CA, Mack KA. “Reliability and validity of measures from the Behavioral Risk Factor Surveillance System (BRFSS).” Prev Med. 2001;33(4):296-304. DOI 10.1006/pmed.2001.0915. — 标签效度的奠基性综述(PMID 11851091)。
  3. Pierannunzi C, Hu SS, Balluz L. “A systematic review of publications assessing reliability and validity of the Behavioral Risk Factor Surveillance System (BRFSS), 2004-2011.” BMC Med Res Methodol. 2013;13:49. DOI 10.1186/1471-2288-13-49. — 2011 方法学改革期的效度证据总集(PMC)。
  4. Xie Z, et al. “Building Risk Prediction Models for Type 2 Diabetes Using Machine Learning Techniques Using BRFSS 2014.” Prev Chronic Dis. 2017;14:160265. DOI 10.5888/pcd14.160265. — BRFSS 糖尿病 ML 建模的开创性公开工作,Kaggle 教学数据集的直接灵感。
  5. “Divide and recombine approaches for fitting logistic regression to large-scale health surveillance data: application to diabetes risk prediction in BRFSS.” Sci Rep. 2026. DOI 10.1038/s41598-026-46927-7. — 240 万行合并数据的分布式调查数据分析模板(Nature)。

§8.6 社区活跃度

  • Kaggle 教学衍生集(alexteboul)累计浏览 82 万+、下载 15.7 万+(截至 2026-08,Kaggle 页面),相关 notebook 137 个;"学习/研究/应用"三类用途标记活跃。
  • R 社区 2026 年出现维护型 CRAN 包(brfssdata),提供逐年 parquet 镜像、设计对象守卫与跨断点合并显式开关(CRAN);Python 侧社区依赖 pandas read_sas + 社区清洗版。
  • 学界年产出稳定:Sci Rep/Sensors 等期刊 2026 年仍有 BRFSS 方法学论文;CDC 每年 9-10 月发布新版即触发一轮复现与教学更新。
  • 教学生态:BRFSS 是数据科学课程(DataTalksClub ML Zoomcamp 等)的常用结业数据集,GitHub 上相关课程项目数量庞大且逐年新增,为新手提供大量可对照的入门实现。

§8.7 生态快照

资源 类型 链接 Star/热度(截至 2026-08) 推荐理由
CDC BRFSS 官方站 官方数据+文档 https://www.cdc.gov/brfss/ 唯一权威源
CDC Stacks 可比性/质量报告 官方 DOI 文档 https://stacks.cdc.gov/view/cdc/251890 跨州跨年方法学依据
brfssdata R 包 社区工具 https://cran.r-project.org/web/packages/brfssdata/ CRAN 新包 parquet 镜像+设计守卫
alexteboul/diabetes-health-indicators-dataset 社区清洗集 https://www.kaggle.com/datasets/alexteboul/diabetes-health-indicators-dataset 15.7 万+ 下载 21 特征教学基准
CDC FAQ 官方文档 https://www.cdc.gov/brfss/about/brfss_faq.htm 权重/方法学变更权威问答

§9 相关资源与引用

§9.1 官方资源列表

资源 链接 用途
官方主页 CDC BRFSS 系统总览与新闻
年度调查数据与文档(1984 至今) Annual Survey Data 逐年数据/Codebook/方法学 PDF
2023 年度页 2023 Survey Data 数据包+全套方法学文档
历年问卷存档 Questionnaires 问句原文核对(1984-)
方法论 FAQ BRFSS FAQs 权重/方法学变更权威问答
数据文档与工具 Data Documentation 流行率工具与用户指南
CDC Stacks 可比性文档 Comparability 2023 跨州跨年方法学依据(DOI 10.15620/cdc/251890)
CDC Stacks 质量报告 SDQR 2023 州级响应率与呼叫质量(DOI 10.15620/cdc/251891)
SMART BRFSS 官方站 SMART 专栏 城市/都会区级小域数据

§9.2 BibTeX 引用块

@misc{cdc_brfss_2024,
  author       = {{Centers for Disease Control and Prevention}},
  title        = {Behavioral Risk Factor Surveillance System Survey Data},
  year         = {2024},
  publisher    = {U.S. Department of Health and Human Services, Centers for Disease Control and Prevention},
  address      = {Atlanta, Georgia, USA},
  url          = {https://www.cdc.gov/brfss/annual_data/annual_data.htm},
  note         = {Public-use dataset, 2024 annual release}
}

@article{mokdad2003brfss,
  author  = {Mokdad, Ali H. and Stroup, Donna F. and Giles, Wayne H.},
  title   = {Public health surveillance for behavioral risk factors in a changing environment: recommendations from the Behavioral Risk Factor Surveillance team},
  journal = {MMWR Recommendations and Reports},
  year    = {2003},
  volume  = {52},
  number  = {RR-9},
  pages   = {1--12}
}

@article{nelson2001reliability,
  author  = {Nelson, David E. and Holtzman, David and Bolen, Julie and Stanwyck, Carol A. and Mack, Kenneth A.},
  title   = {Reliability and validity of measures from the Behavioral Risk Factor Surveillance System ({BRFSS})},
  journal = {Preventive Medicine},
  year    = {2001},
  volume  = {33},
  number  = {4},
  pages   = {296--304},
  doi     = {10.1006/pmed.2001.0915}
}

@article{pierannunzi2013systematic,
  author  = {Pierannunzi, Carol and Hu, Sean S. and Balluz, Lina},
  title   = {A systematic review of publications assessing reliability and validity of the Behavioral Risk Factor Surveillance System ({BRFSS}), 2004--2011},
  journal = {BMC Medical Research Methodology},
  year    = {2013},
  volume  = {13},
  pages   = {49},
  doi     = {10.1186/1471-2288-13-49}
}

@article{xie2017building,
  author  = {Xie, Zidian and Or, Charles and Chen, Tingting and Duan, Yiming and Lee, Binyan and Ahorsu, Cecil and others},
  title   = {Building Risk Prediction Models for Type 2 Diabetes Using Machine Learning Techniques Using {BRFSS} 2014},
  journal = {Preventing Chronic Disease},
  year    = {2017},
  volume  = {14},
  pages   = {160265},
  doi     = {10.5888/pcd14.160265}
}

@misc{kaggle_brfss2015,
  author = {Teboul, Alex},
  title  = {Diabetes Health Indicators Dataset ({BRFSS} 2015)},
  year   = {2021},
  url    = {https://www.kaggle.com/datasets/alexteboul/diabetes-health-indicators-dataset},
  note   = {Kaggle community dataset derived from CDC BRFSS 2015}
}

§9.3 引用指南

发布基于 BRFSS 的成果时,CDC 官方要求引用年度数据(上述第一条 @misc,注明具体调查年)并在文末标注"数据来源:CDC’s BRFSS";若使用特定方法学论证(加权/可比性),补充对应年份的 Comparability/Weighting 文档;社区清洗数据集(Kaggle 等)必须同时引用上游 CDC 数据,因为其清洗规则不受 CDC 控制。

问卷摘录与再制图:问卷条目本身同样属 CDC 作品,转载问句原文时按 CDC 建议的问卷引用格式(Survey Questionnaire + 年份)标注;基于 BRFSS 制作的可视化建议在图注中写明调查年份与加权口径,避免被读者当作实测口径数据引用。


§10 AI 使用声明卡

§10.1 AI 模型列表

本页面内容生产使用大语言模型辅助(长文本整理与结构化撰写),不涉及任何将 AI 模型用于数据生成或标注的声明;页面中引用的模型均为第三方研究者对数据集的使用,见 §8。

§10.2 AI 参与范围

AI 辅助完成的范围:初稿撰写、表格结构化、代码示例起草、文献信息整理。人工完成的范围:事实核查(对照 CDC 官方页面与同行评审文献)、医学背景审核、坑点有效性判断、引用与数字复核、最终编辑。

具体而言:页面中所有规模数字(433,323 条、345 变量、ZIP 大小、发布时间线)均回溯至 CDC 年度页原文;所有偏倚量化(BMI 低估 5.9%、肥胖低估 9.5 pp、吸烟对照区间)均回溯至同行评审论文;代码示例经人工核对变量名、哨兵码位数与加权语义后定稿。AI 未参与:任何数字的生成(无来源即删除)、医学结论的推断、审核状态的判定。

§10.3 输入来源列表

  1. CDC. 2023 BRFSS Survey Data and Documentation. https://www.cdc.gov/brfss/annual_data/annual_2023.html
  2. CDC. BRFSS Frequently Asked Questions. https://www.cdc.gov/brfss/about/brfss_faq.htm
  3. CDC. Overview: BRFSS 2012. https://www.cdc.gov/brfss/annual_data/2012/pdf/Overview_2012.pdf
  4. CDC. Comparability of Data: BRFSS 2023. CDC Stacks, DOI 10.15620/cdc/251890.
  5. CDC. 2023 Summary Data Quality Report. CDC Stacks, DOI 10.15620/cdc/251891.
  6. CDC. Comparability of Data: BRFSS 2017. https://www.cdc.gov/brfss/annual_data/2017/pdf/compare-2017-508.pdf
  7. Pennsylvania DOH. Changes in the BRFSS Weighting Methodology. https://www.health.pa.gov/topics/HealthStatistics/BehavioralStatistics/BehavioralRiskPAAdults/Documents/State Report/2020weighting.aspx
  8. Nelson DE, et al. Prev Med. 2001;33(4):296-304. PMID 11851091.
  9. Pierannunzi C, et al. BMC Med Res Methodol. 2013;13:49. PMC3622569.
  10. CMS SGM Clearinghouse: BRFSS. https://www.cms.gov/about-cms/agency-information/omh/resource-center/hcps-and-researchers/data-tools/sgm-clearinghouse/brfss
  11. brfssdata R package documentation. https://cran.r-project.org/web/packages/brfssdata/readme/README.html
  12. Kaggle. Diabetes Health Indicators Dataset. https://www.kaggle.com/datasets/alexteboul/diabetes-health-indicators-dataset
  13. Sci Rep. 2026. DOI 10.1038/s41598-026-46927-7.
  14. Sensors. 2026. DOI 10.3390/s26113417.
  15. GitHub. CS506 BRFSS 2024 diabetes project. https://github.com/Pr3mR4jendran/CS506-Project---Analyzing-Lifestyle-and-Demographic-Risk-Factors-of-Diabetes-with-BRFSS-Data

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§1 概览与战略价值 千方病案医学编辑部 对照 CDC 官方页面逐数核对 ✅ 已通过/已验证
§2 医学背景(ICD-11/SNOMED 映射) 千方病案医学编辑部 术语库交叉检索 ✅ 已通过/已验证
§3-§4 数据规格与字段字典 医疗 AI 数据工程师 对照 Codebook 与 XPT 变量表 ✅ 已通过/已验证
§6 预处理代码与 8 坑点 医疗 AI 数据工程师 代码逻辑复核+官方文档溯源 ✅ 已通过/已验证
§7 偏倚与 DAIMS 24 项 千方病案医学编辑部 同行评审文献逐条溯源 ✅ 已通过/已验证
§8-§9 基准与引用 千方病案医学编辑部 DOI/链接逐一可达性检查 ✅ 已通过/已验证

§10.5 AI 生成章节标注

本页面各章节为 AI 辅助起草 + 人工校验修订的合并产出,无纯 AI 无审核章节;§2 医学映射与 §6.5 坑点为人工重点修订区。

§10.6 最后人工审核日期

2026-09-05(与 §0.3 审核日期一致)

页面状态:published(全部内容已完成审核并发布)

返回 AI-Ready 数据集