You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

逻辑回归中Odd Ratio(OR)与描述性统计方向相反的问题咨询

逻辑回归OR值与描述性统计矛盾的原因分析

你遇到的矛盾核心原因是模型的自变量和因变量搞反了,完全搞错了分析的方向。

1. 研究目标与实际模型的偏差

你原本想分析的是:新冠感染史(post_covid)对独立功能能力的影响,也就是应该把「独立功能能力(Independent/Not independent)」作为因变量,「新冠感染史(Yes/No)」作为自变量,看感染新冠后出现功能非独立的Odds是多少。

但你实际运行的glm公式是:

logistic= glm(post_covid_dic ~  function_dependent_dic, family = binomial, data= subsetted_data_for_regression)

这个模型的逻辑是:用独立功能能力来预测新冠感染史,也就是把「新冠感染史」当成了因变量,「独立功能能力」当成了自变量,和你的研究目标完全相反。

2. 数据与模型结果的对应拆解

先把你的描述性统计转成清晰表格:

新冠感染史功能独立功能非独立
是(Yes)7237
否(No)34558
  • 功能独立组的新冠感染率:72/(72+345) ≈ 17.27%
  • 功能非独立组的新冠感染率:37/(37+58) ≈ 38.95%
    确实非独立组的感染占比更高,符合你的观察。

再看你运行的反向模型:
模型计算的是「功能非独立相对于功能独立,新冠感染史为Yes的Odds比值」。具体来说:

  • 功能独立组的感染Odds:72/345 ≈ 0.2087(感染人数/未感染人数)
  • 功能非独立组的感染Odds:37/58 ≈ 0.6379

但因为模型把新冠感染史设为因变量,系数对应的是「功能非独立」相对于「功能独立」时未感染/感染的Odds比值(从exp(Intercept)=4.79能看出,Intercept是功能独立组的未感染/感染Odds:345/72≈4.79),所以功能非独立组的未感染/感染Odds是4.79 * 0.327 ≈ 1.566,对应的感染率就是1/(1+1.566)≈38.97%——和描述性统计完全一致,只是这个OR的含义和你想要的完全相反。

3. 修正方法

把模型公式反过来,改成你真正需要的分析方向:

# 正确模型:因变量是独立功能能力,自变量是新冠感染史
logistic_correct = glm(function_dependent_dic ~ post_covid_dic, family = binomial, data= subsetted_data_for_regression)
summary(logistic_correct)
exp(cbind(OR= coef(logistic_correct), confint(logistic_correct)))

这样得到的OR值会大于1,对应「感染新冠的人群,出现功能非独立的Odds是未感染人群的多少倍」,和你的描述性统计结论一致。

内容的提问来源于stack exchange,提问作者user3315563

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:30:18