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

逻辑回归线性性假设检验R代码优化:适配多自变量检验与绘图场景

解决思路

将原单变量检验逻辑封装为可复用的自定义函数,通过参数传递要检验的自变量名称,再批量遍历所有待检验的自变量即可实现多场景适配,无需重复编写代码。

优化后代码
# 如需将多张图排布在同一画布可加载gridExtra包,无需求可省略
library(gridExtra)

# 自定义逻辑回归线性假设检验函数
check_logit_linearity <- function(var_name, df, dep_name = "dependent") {
  # 提取当前检验的自变量和因变量
  x <- df[[var_name]]
  y <- df[[dep_name]]
  
  # 计算自变量四分位数
  q <- quantile(x, probs = seq(0, 1, 0.25), na.rm = TRUE)
  
  # 生成分组判断逻辑
  group1 <- x < q[2]
  group2 <- x >= q[2] & x < q[3]
  group3 <- x >= q[3] & x < q[4]
  group4 <- x >= q[4]
  
  # 计算各组正例概率,加极小值修正避免0/1导致对数几率计算报错
  p1 <- mean(y[group1], na.rm = TRUE)
  p2 <- mean(y[group2], na.rm = TRUE)
  p3 <- mean(y[group3], na.rm = TRUE)
  p4 <- mean(y[group4], na.rm = TRUE)
  probs <- pmax(pmin(c(p1, p2, p3, p4), 0.9999), 0.0001)
  
  # 计算对数几率
  logits <- log(probs/(1-probs))
  
  # 计算各组自变量中位数
  meds <- c(
    median(x[group1], na.rm = TRUE),
    median(x[group2], na.rm = TRUE),
    median(x[group3], na.rm = TRUE),
    median(x[group4], na.rm = TRUE)
  )
  
  # 绘制检验图,新增红色拟合辅助线方便判断线性关系
  plot(meds, logits, main = paste(var_name, "对数几率线性检验图"),
       xlab = var_name,
       ylab = paste0("log-odds(", dep_name, "|", var_name, ")"), 
       las = 1, pch = 16, col = "#2c3e50")
  abline(lm(logits ~ meds), col = "#e74c3c", lwd = 2, lty = 2)
  
  # 可返回数值结果供后续查验,无需求可删除return部分
  return(list(
    quantiles = q,
    group_probs = probs,
    group_logits = logits,
    group_medians = meds
  ))
}

# -------------------- 批量调用示例 --------------------
# 填入所有需要检验的自变量名称
test_vars <- c("independent1", "independent2")

# 所有检验结果会输出到同一行,如需调整布局可修改mfrow参数
par(mfrow = c(1, length(test_vars)))
test_results <- lapply(test_vars, check_logit_linearity, df = df)
# 恢复默认画布设置
par(mfrow = c(1,1))

# 如需查看某一自变量的数值检验结果,可通过下标提取
# print(test_results[[1]])
功能说明
  • 适配任意数量自变量:只需修改test_vars向量内容,填入所有待检验的自变量名称即可
  • 自动适配不同自变量的分位数边界,无需手动调整分组阈值
  • 新增边界值修正逻辑,避免分组概率为0或1时对数几率计算出错
  • 新增拟合辅助线,更直观判断线性关系
  • 支持返回数值结果,可按需导出查验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:54:01