场景案例 ·
公共卫生营养调查数据怎么用 AI 做统计分析?膳食摄入与 BMI 分组比较 + 多元回归全流程
营养流行病学调查数据处理难题全解:从膳食摄入量的分组描述统计、Kruskal-Wallis 非参数检验、事后多重比较到多元线性回归,ChatSRS 三引擎一句话完成,全程 APA 7th 格式输出,可直接用于公共卫生、营养学、预防医学论文。
营养流行病学调查是公共卫生研究的重要数据来源,但从膳食频率问卷(FFQ)或 24 小时膳食回顾转成可分析的格式,再做 BMI 分组比较、混杂变量控制、多元回归建模……每一步都是坑。这篇文章把公共卫生营养调查最典型的统计链条一次串通,用 chatsrs.com 三引擎(SPSS + R + Stata)演示全流程,给出可直接抄进论文的 APA 7th 结果句式。
营养调查数据分析为什么比普通问卷更复杂
公共卫生营养研究的数据有几个让人头疼的特点:
- 偏态分布严重:能量摄入、膳食纤维摄入量常呈右偏,不能直接用均值比较,需要先做正态性检验或对数变换
- BMI 分组涉及切割点:WHO 标准(18.5 / 24.9 / 30)还是中国标准(18.5 / 24 / 28),分组后各组样本量可能严重不均衡
- 混杂变量多:年龄、性别、城乡、受教育程度、体力活动水平……进多元回归之前要做共线性诊断
- 多重检验膨胀:同时比较多种营养素摄入在不同 BMI 组间的差异,不做 Bonferroni 或 Tukey 校正直接被审稿人打回
- 结果报告格式:中文期刊常要求"以 M(P25, P75)表示",英文期刊要求"M ± SD or median (IQR)",两套格式要兼顾
chatsrs.com 的三引擎对这些场景都有直接支持:SPSS 引擎处理描述统计和基础检验,R 引擎跑混合效应和多元回归,Stata 引擎处理复杂调查加权(svyset/svy)。一次上传数据,三引擎结果自动对照校验。
典型数据结构
以一个标准的横断面营养调查为例:
ID 年龄 性别 城乡 学历 体力活动 能量(kcal) 蛋白质(g) 脂肪(g) 碳水(g) 膳食纤维(g) 身高(cm) 体重(kg) BMI
001 35 女 城市 本科 低 1820 68.4 62.1 245.3 18.2 162 58.4 22.2
002 42 男 农村 高中 高 2340 82.7 78.6 312.1 22.6 174 89.2 29.5
003 28 女 城市 研究生 中 1650 62.1 55.8 218.7 21.4 165 54.1 19.9
... ... ... ... ... ... ... ... ... ... ... ... ... ...
分析目标:
- 按 BMI 分三组(偏低/正常/超重肥胖),比较各组主要营养素摄入量
- 多元线性回归:以 BMI 为因变量,营养素摄入量 + 人口学变量为预测变量
全流程分析演示
第一步:变量处理与 BMI 分组
打开 chatsrs.com,上传数据后输入:
"请按中国标准将 BMI 分为三组:偏低(<18.5)、正常(18.5-23.9)、超重肥胖(>=24),生成分组变量 bmi_group;同时对能量、蛋白质、脂肪、碳水化合物、膳食纤维做 Shapiro-Wilk 正态性检验,对非正态变量标注建议用中位数(P25, P75)报告。"
ChatSRS 输出:
BMI 分组结果
偏低(BMI < 18.5):n = 48,占 11.0%
正常(18.5 <= BMI < 24):n = 276,占 63.3%
超重肥胖(BMI >= 24):n = 112,占 25.7%
Shapiro-Wilk 正态性检验(n = 436)
能量摄入:W = 0.963,p = .003 → 非正态,建议报告 Median (P25, P75)
蛋白质: W = 0.971,p = .016 → 非正态,建议报告 Median (P25, P75)
脂肪: W = 0.958,p < .001 → 非正态,建议报告 Median (P25, P75)
碳水化合物:W = 0.974,p = .028 → 非正态,建议报告 Median (P25, P75)
膳食纤维:W = 0.986,p = .182 → 正态,可用 M ± SD
第二步:分组描述统计 — BMI 三组营养素摄入量
"请按 bmi_group 分三组,对能量、蛋白质、脂肪、碳水化合物以中位数(P25, P75)报告,膳食纤维以均值 ± 标准差报告,生成 APA 格式三线表,并在表格底部注明各营养素的推荐参考值(中国膳食参考摄入量 DRI 2023)。"
ChatSRS 输出:
表 1 三组被试主要营养素摄入量比较
偏低组 正常组 超重肥胖组
(n = 48) (n = 276) (n = 112)
能量 (kcal/d) 1624(1410,1812) 1978(1742,2214) 2356(2082,2651)
蛋白质 (g/d) 58.2(51.3,67.4) 72.6(63.8,82.1) 84.3(74.2,96.7)
脂肪 (g/d) 52.4(44.6,61.8) 68.4(59.2,78.6) 87.6(76.3,101.2)
碳水化合物 (g/d) 214.8(187,248) 258.6(226,294) 298.4(261,338)
膳食纤维 (g/d, M±SD) 19.42 ± 5.18 20.84 ± 5.62 18.76 ± 6.34
注: 括号内为 P25~P75。DRI 参考值:能量 1800-2250 kcal/d(成年女性/男性),
膳食纤维 >= 25 g/d(中国 DRI 2023)。
第三步:Kruskal-Wallis 检验 + 事后多重比较
由于主要营养素摄入量非正态,用非参数检验替代单因素方差分析:
"对能量、蛋白质、脂肪、碳水化合物在三个 BMI 组间做 Kruskal-Wallis H 检验,H 值显著时做 Dunn 事后检验(Bonferroni 校正),在三线表中用字母标注显著性(a/b/ab),同时输出每个营养素对应的 epsilon 平方(epsilon^2)效应量。"
ChatSRS 输出(节选):
能量摄入:H(2) = 87.43,p < .001,epsilon^2 = .201(大效应)
Dunn 事后检验(Bonferroni):偏低 vs 正常 p < .001;正常 vs 超重肥胖 p < .001;偏低 vs 超重肥胖 p < .001
蛋白质:H(2) = 64.28,p < .001,epsilon^2 = .147(大效应)
Dunn:偏低 vs 正常 p < .001;正常 vs 超重肥胖 p = .003;偏低 vs 超重肥胖 p < .001
膳食纤维(正态):单因素 ANOVA F(2, 433) = 2.14,p = .119 — 三组无显著差异
如果你的数据满足正态性,可以改用单因素方差分析 + Tukey HSD,详见:方差分析 ANOVA 完整教程
第四步:相关分析 — 营养素与 BMI 的线性关系
在进多元回归之前,先看各预测变量与 BMI 的双变量关系:
"对能量、蛋白质、脂肪、碳水化合物、膳食纤维与 BMI 做 Spearman 相关分析(因营养素非正态),同时对年龄、体力活动评分(数值型)与 BMI 做 Pearson 相关,输出相关矩阵,标注显著性(* p<.05, ** p<.01)。"
ChatSRS 自动区分 Pearson / Spearman,输出完整相关矩阵,标注显著性星号。
第五步:多元线性回归 — BMI 的营养素预测模型
这是公共卫生营养论文的核心分析。分三个模型层层递进,控制混杂变量:
"以 BMI 为因变量做三个嵌套线性回归模型: 模型 1 仅纳入人口学变量(年龄、性别、城乡、受教育程度); 模型 2 在模型 1 基础上加入体力活动水平; 模型 3 在模型 2 基础上加入能量摄入、蛋白质供能比、脂肪供能比、膳食纤维。 报告每个模型的 R 方、调整 R 方、F 变化量(delta-F)及其 p 值;模型 3 报告各自变量的标准化回归系数 beta、t 值、p 值、95% CI 和 VIF;做 Durbin-Watson 自相关检验。"
ChatSRS 输出(模型 3 节选):
表 2 BMI 多元线性回归结果(模型 3,n = 436)
变量 B SE_B beta t p 95% CI VIF
(截距) 18.42 1.34 — 13.75 < .001 [15.79, 21.05] —
年龄(岁) 0.06 0.02 .14 3.21 .001 [0.02, 0.10] 1.18
性别(男=1) 0.84 0.24 .16 3.48 .001 [0.37, 1.31] 1.22
城乡(城市=1) -0.41 0.23 -.08 -1.78 .075 [-0.86, 0.04] 1.19
体力活动(高=1) -0.92 0.26 -.17 -3.54 < .001 [-1.43, -0.41] 1.31
能量摄入(kcal) 0.003 0.001 .22 4.87 < .001 [0.002, 0.004] 2.14
蛋白质供能比(%) -0.08 0.06 -.06 -1.33 .184 [-0.20, 0.04] 2.38
脂肪供能比(%) 0.12 0.04 .18 3.12 .002 [0.04, 0.20] 2.67
膳食纤维(g) -0.04 0.02 -.08 -2.11 .035 [-0.08, -0.003] 1.44
模型拟合:R^2 = .312,Adjusted R^2 = .297,F(8, 427) = 24.18,p < .001
Delta-F(模型 3 vs 模型 2):F(4, 427) = 18.64,p < .001
Durbin-Watson = 1.93(无自相关问题,参考值 1.5-2.5)
VIF 最大值 = 2.67(无严重共线性,阈值 < 10)
论文方法/结果写法(APA 7th,公共卫生营养报告句式)
这是最直接帮到你的部分,可抄进论文的 APA 7th 格式句式。
方法章节:数据分析策略
正态性检验采用 Shapiro-Wilk 检验。连续变量以均值 ± 标准差(M ± SD)或中位数(四分位距,P25, P75)描述;分类变量以频率(百分比)描述。三个 BMI 组间营养素摄入量的比较采用 Kruskal-Wallis H 检验,显著时进行 Dunn 事后多重比较(Bonferroni 法校正),效应量以 epsilon 平方(epsilon^2)报告。BMI 影响因素分析采用嵌套多元线性回归(Enter 法),共构建三个层次模型;各预测变量的贡献以标准化回归系数(beta)反映;共线性以方差膨胀因子(VIF)诊断(阈值 < 10);自相关以 Durbin-Watson 统计量检验。统计分析使用 ChatSRS 完成(SPSS + R 双引擎交叉验证,显著性水平 alpha = .05)。
结果章节:分组比较(Kruskal-Wallis)
Kruskal-Wallis 检验显示,三个 BMI 组的能量摄入差异具有统计学意义,H(2) = 87.43,p < .001,epsilon^2 = .201,属于大效应。Dunn 事后检验(Bonferroni 校正)显示,各组两两间差异均显著(均 p < .001):偏低组中位能量摄入为 1624(IQR: 1410–1812)kcal/d,正常组为 1978(1742–2214)kcal/d,超重肥胖组为 2356(2082–2651)kcal/d,三组间呈递增趋势。
结果章节:多元线性回归
嵌套多元线性回归分析显示,纳入所有预测变量的模型 3 具有显著的统计学意义,F(8, 427) = 24.18,p < .001,可解释 BMI 变异的 29.7%(Adjusted R^2 = .297)。在控制人口学变量和体力活动后,能量摄入(beta = .22,p < .001)和脂肪供能比(beta = .18,p = .002)是 BMI 的正向预测变量,膳食纤维摄入量(beta = -.08,p = .035)是 BMI 的负向预测变量。蛋白质供能比对 BMI 的预测效应未达显著水平(beta = -.06,p = .184)。VIF 最大值为 2.67,表明各预测变量之间无严重共线性问题。
上面三段可以直接进论文的 Methods 和 Results 章节,替换你自己的数值即可。ChatSRS 的"APA 报告"功能在分析完成后自动生成对应段落,无需手动转写。
三引擎在营养调查分析中的分工
chatsrs.com 底层的三个引擎在处理公共卫生营养数据时各有优势:
| 分析任务 | 推荐引擎 | 原因 |
|---|---|---|
| 基础描述统计、频数表 | SPSS | 输出格式最接近中文期刊习惯 |
| Kruskal-Wallis + Dunn 事后检验 | R (dunn.test 包) | 事后检验方法最完整 |
| 嵌套回归、Delta-F 变化量 | R / Stata | lm() 嵌套模型与 lrtest 最直接 |
| 复杂调查权重(svy)分析 | Stata | svyset + svy: regress 是标准 |
| APA 格式自动报告 | 三引擎统一输出 | 结果交叉验证后取一致数值 |
ChatSRS 默认同时跑三个引擎,如果三者数值出现差异(通常差异极小),会高亮标注并给出差异原因解释。
常见 FAQ
Q1: 营养素摄入量一般都是偏态的,一定要用非参数检验吗?
不一定。有两种合理策略:
策略 A(非参数):直接用 Kruskal-Wallis + Dunn,以中位数(IQR)报告,不做任何变换。优点是透明,缺点是检验功效略低于参数检验。
策略 B(对数变换后参数检验):对摄入量做 log 变换,若变换后正态性满足则做单因素 ANOVA + Tukey 事后检验,以几何均数(95% CI)报告。优点是更高检验功效,缺点是报告结果的可读性稍低。
在 ChatSRS 输入:
"对能量摄入做自然对数变换(ln),检验变换后正态性,若满足则做单因素 ANOVA;若仍不满足则用 Kruskal-Wallis;输出两种方案并推荐选择。"
ChatSRS 自动检验两种方案并给出推荐。
Q2: BMI 分组的切割点用中国标准还是 WHO 标准?
取决于研究人群和投稿期刊:
- 中文核心期刊 / 中国人群研究:建议中国标准(18.5 / 24 / 28),超重定义为 BMI 24–27.9,肥胖 >= 28
- SCI 英文期刊 / 国际对比研究:用 WHO 标准(18.5 / 25 / 30),超重 25–29.9,肥胖 >= 30
- 两套标准都报告:在结果章节同时呈现两种分组下的分析结果,在方法章节注明选择理由
ChatSRS 支持自定义分组切割点,在指令中说明即可。
Q3: 多元回归中营养素变量选择太多,如何避免过拟合?
常见处理方式:
- 供能比替代绝对摄入量:用蛋白质供能比(%)、脂肪供能比(%)、碳水化合物供能比(%)代替克数,三者之和为 100%(多重共线性风险降低,且已控制能量摄入)
- 逐步回归:让模型自动筛选变量(但要在方法中说明用 Enter 还是 Stepwise,审稿人偏好 Enter 法 + 理论驱动变量选择)
- 样本量检验:多元回归建议每个预测变量至少 10-20 个观测,10 个预测变量需 200+ 样本
在 ChatSRS 输入:
"做向后逐步回归(Backward elimination, p-out = .10),报告最终保留变量及 AIC 变化,与 Enter 法全变量模型做 R 方对比。"
Q4: 如何在结果中报告"各组营养素摄入达标率"?
这是营养流行病学论文中常见的一类描述。在 ChatSRS 输入:
"以中国 DRI 2023 为参考,计算各 BMI 组中能量摄入不足(< EAR)、适宜(EAR-UL 区间)、过量(> UL)的人数和比例;对比三组间达标率差异做卡方检验,报告 chi^2 值、自由度、p 值和 Cramer's V 效应量。"
卡方检验详细教程参见:卡方检验与列联表分析 AI 完整教程
Q5: 论文要求用 SPSS,能用 ChatSRS 的结果直接引用吗?
可以。ChatSRS 的 SPSS 引擎在底层调用等价的统计算法,数值结果与 SPSS 输出一致。方法章节规范写法:
"本研究统计分析采用 ChatSRS 平台(SPSS 引擎,v2026;https://chatsrs.com),Kruskal-Wallis 事后检验采用 Dunn 法(Bonferroni 校正),多元线性回归采用逐步强迫纳入法(Enter method)。"
公共卫生营养数据分析方法速查
| 分析目的 | 方法 | ChatSRS 指令关键词 |
|---|---|---|
| 检验摄入量分布 | Shapiro-Wilk 正态性检验 | "正态性检验,Shapiro-Wilk" |
| 分组描述统计 | 分组均值/中位数三线表 | "按 BMI 组描述统计,APA 三线表" |
| 非正态分组比较 | Kruskal-Wallis + Dunn | "非参数多组比较,Bonferroni 校正" |
| 正态分组比较 | 单因素 ANOVA + Tukey | "单因素方差分析,Tukey 事后检验" |
| 达标率组间比较 | 卡方检验 + Cramer's V | "达标率卡方检验,Cramer's V 效应量" |
| 营养素相关性 | Spearman 相关矩阵 | "Spearman 相关,显著性标注" |
| BMI 影响因素 | 嵌套多元线性回归 | "嵌套回归三层模型,VIF 共线性" |
| 复杂抽样调查 | Stata svy 加权分析 | "调查权重,svyset,Stata 引擎" |
相关阅读
- 公共卫生研究数据 AI 统计全流程
- 方差分析 ANOVA 完整教程 — 单因素到多因素 AI 一句话搞定
- 卡方检验与列联表分析 AI 完整教程
- 相关与回归:AI 一句话完成从散点图到多元回归
- 非参数检验 AI 完整教程 — Kruskal-Wallis / Mann-Whitney / Wilcoxon
本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。