什么是分位数回归(Quantile Regression)

发布时间:2026/11/5 11:03:50

什么是分位数回归(Quantile Regression) 在传统回归分析中我们最熟悉的是最小二乘回归OLS它刻画的是自变量变化对因变量条件均值的影响。但现实世界中很多问题并不只关心“平均水平”而是更关心高风险人群是否受到更大影响弱势群体是否对某些因素更敏感自变量对分布尾部如高血压人群、极端收入者、重症患者的影响是否不同这正是分位数回归Quantile Regression, QR的用武之地。一、什么是分位数回归分位数回归是一种用于建模条件分布不同分位点的方法。与普通回归建模条件均值不同分位数回归直接建模QY(τ∣Xx) Q_Y(\tau \mid X x)QY​(τ∣Xx)即在给定自变量XxX xXx时因变量YYY的第τ\tauτ分位数如中位数、90%分位数等。例如(τ\tauτ 0.5 )中位数回归(τ\tauτ 0.9 )高分位上尾回归(τ\tauτ 0.1 )低分位下尾回归。二、分位数回归的数学定义给定样本{(xi,yi)}i1n\{(x_i, y_i)\}_{i1}^n{(xi​,yi​)}i1n​分位数回归通过最小化以下目标函数来估计参数β^(τ)arg⁡min⁡β∑i1nρτ(yi−xi⊤β), \hat{\beta}(\tau) \arg\min_{\beta} \sum_{i1}^n \rho_\tau\big(y_i - x_i^\top \beta\big),β^​(τ)argβmin​i1∑n​ρτ​(yi​−xi⊤​β),其中损失函数ρτ(u)\rho_\tau(u)ρτ​(u)被称为不对称绝对损失函数check lossρτ(u){τu,u≥0,(τ−1)u,u0. \rho_\tau(u) \begin{cases} \tau u, u \ge 0, \\ (\tau - 1)u, u 0. \end{cases}ρτ​(u){τu,(τ−1)u,​u≥0,u0.​当 (τ\tauτ 0.5 ) 时该模型退化为中位数回归L1L1L1回归。可以看出为了让损失函数ρτ(u)\rho_\tau(u)ρτ​(u)最小(τ−1)u(\tau - 1)u(τ−1)u越小越好也就是对yi−xi⊤βy_i - x_i^\top \betayi​−xi⊤​β残差施加τ−1\tau - 1τ−1权重后越小越好残差符合正态分布也就是把残差往τ−1\tau - 1τ−1分位逼进。三、这里的“分位”到底是什么意思非常重要这是很多人对分位数回归最容易产生误解的地方。❌ 错误理解“把人群按YYY排序后取前 10%、中间 50%、后 10% 的人分别做回归。”✅ 正确理解分位数回归建模的是在控制其他自变量处于同一水平的条件下因变量YYY的条件分位数。也就是说QY(τ∣Xx) Q_Y(\tau \mid X x)QY​(τ∣Xx)不是总体分位而是在给定协变量XxX xXx的条件下YYY的第τ\tauτ分位点。你不是在对“人群分组”而是在对“如果所有人的协变量都相同结果变量在这个假想人群中的分布位置。”做建模。这一区别非常关键因为它确保分位数回归估计的是净效应而不是由混杂因素驱动的表面差异。四、分位数回归在模型层面上做了什么OLS 回归建模的是E(Y∣Xx)x⊤β E(Y \mid X x) x^\top \betaE(Y∣Xx)x⊤β而分位数回归建模的是QY(τ∣Xx)x⊤β(τ) Q_Y(\tau \mid X x) x^\top \beta(\tau)QY​(τ∣Xx)x⊤β(τ)也就是说每一个分位数τ\tauτ都对应一组不同的回归系数β\betaβ(τ\tauτ) 从而刻画自变量对因变量分布不同位置的影响差异。五、分位数回归的意义为什么要用它1. 揭示异质性效应OLS 只能告诉你“平均影响”但现实中影响往往具有异质性一个药物对轻症患者作用小对重症患者作用大教育对低收入群体影响大对高收入群体影响小。分位数回归可以显示这种效应随分位点变化的模式。2. 对异常值更稳健由于使用的是绝对损失而非平方损失分位数回归对极端值outliers不敏感尤其是中位数回归τ\tauτ 0.5。3. 可用于刻画整个条件分布通过对多个分位点如τ\tauτ 0.1, 0.25, 0.5, 0.75, 0.9建模可以近似重构FY∣X(y∣x) F_{Y \mid X}(y \mid x)FY∣X​(y∣x)从而获得比均值回归更丰富的信息。六、分位数回归斜率的意义是什么在 OLS 中斜率βj\beta_jβj​表示自变量XjX_jXj​增加一个单位因变量的条件均值增加βj\beta_jβj​。而在分位数回归中斜率βj(τ)\beta_j(\tau)βj​(τ)表示在控制其他变量不变的情况下自变量XjX_jXj​增加一个单位因变量的第τ\tauτ条件分位数增加βj(τ)\beta_j(\tau)βj​(τ)。换句话说如果βj(0.9)βj(0.5)\beta_j(0.9) \beta_j(0.5)βj​(0.9)βj​(0.5)说明该变量对高值人群的影响更大如果βj(0.1)≈0\beta_j(0.1) \approx 0βj​(0.1)≈0说明该变量对低值人群几乎没有影响。七、一个直观例子假设我们研究空气污染PM2.5对肺功能FEV₁的影响OLS 回归可能发现PM2.5 每增加 10 μg/m³FEV₁ 平均下降 30 mL。分位数回归可能发现在第 10 分位下降 10 mL在第 50 分位下降 30 mL在第 90 分位下降 60 mL。这说明空气污染对肺功能较差的人群影响更大这是均值回归无法揭示的关键信息。八、分位数回归与异方差的关系OLS 在存在异方差时效率下降而分位数回归天然允许Var(Y∣Xx) 随 x 变化 \text{Var}(Y \mid X x) \text{ 随 } x \text{ 变化}Var(Y∣Xx)随x变化通过观察不同分位数回归线的“展开”或“收缩”可以直观判断条件分布是否存在异方差或尾部结构变化。九、总结一句话OLS 回归告诉你“平均会发生什么”分位数回归告诉你“在相同条件下不同人群位置会发生什么”。如果你的研究关心弱势人群、高风险个体、极端结局、或效应异质性那么分位数回归不是可选项而是必选工具。R 实践模拟数据# 加载必要的包 rm(list ls()) library(quantreg) library(ggplot2) # 模拟数据 set.seed(42) n - 500 education - rnorm(n, mean 12, sd 2) income - 2000 300 * education rnorm(n, mean 0, sd 500) * ifelse(runif(n) 0.8, 10, 1) # 引入异常值 data - data.frame(education, income) # 绘制散点图 ggplot(data, aes(x education, y income)) geom_point(alpha 0.5) labs(title Scatter Plot of Income vs. Education, x Years of Education, y Income)传统线性回归lm_model - lm(income ~ education, data data) summary(lm_model)分位数回归qr_model - rq(income ~ education, tau 0.5, data data) summary(qr_model)多分位点回归qr_multi - rq(income ~ education, tau c(0.25, 0.5, 0.75), data data) summary(qr_multi)可视化# 加载必要包 library(ggplot2) library(quantreg) # 生成样本数据 set.seed(123) n - 300 education - rnorm(n, mean 12, sd 2) # 教育年限 income - 5000 2000 * education rnorm(n, sd 5000) # 收入 data - data.frame(education, income) # 拟合分位数回归 qr_25 - rq(income ~ education, tau 0.25, data data) # 25% 分位 qr_50 - rq(income ~ education, tau 0.5, data data) # 中位数回归 qr_75 - rq(income ~ education, tau 0.75, data data) # 75% 分位 # 提取系数 coef_25 - coef(qr_25) coef_50 - coef(qr_50) coef_75 - coef(qr_75) # 绘图 ggplot(data, aes(x education, y income)) geom_point(alpha 0.5, color grey50) # 散点图 # 添加分位数回归线 geom_abline(intercept coef_25[1], slope coef_25[2], color red, linewidth 1.2, linetype solid, show.legend TRUE) geom_abline(intercept coef_50[1], slope coef_50[2], color green, linewidth 1.2, linetype solid, show.legend TRUE) geom_abline(intercept coef_75[1], slope coef_75[2], color blue, linewidth 1.2, linetype solid, show.legend TRUE) # 添加注释 annotate(text, x 10, y max(data$income) * 0.9, label 25th Percentile, color red, size 4) annotate(text, x 10, y max(data$income) * 0.8, label 50th Percentile (Median), color green, size 4) annotate(text, x 10, y max(data$income) * 0.7, label 75th Percentile, color blue, size 4) # 主题设置 labs(title Quantile Regression Visualization, x Years of Education, y Income) theme_minimal()
延伸阅读

更多相关文章

2026/11/2 17:42:26

GriddyCode:基于Godot引擎的可视化代码编辑器深度解析

GriddyCode:基于Godot引擎的可视化代码编辑器深度解析 【免费下载链接】griddycode A code editor made with Godot. Code has never been more lit! 项目地址: https://gitcode.com/GitHub_Trending/gr/griddycode GriddyCode是一款采用Godot游戏引擎构建的…

2026/11/5 10:43:56

工业测温方案解析:ADS122U04与STM32F042K6的UART高精度RTD采集设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 10:43:56

STM32L031+ADS122U04:UART接口24位ADC实现PT100高精度温度采集

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 10:43:55

基于ADS122U04与MK24的HVAC高精度温度采集系统设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 10:38:55

Univer开源Web Office引擎:Canvas渲染与协同编辑实战解析

第一次看到Univer这个项目名字的时候,我下意识以为是哪个海外团队用“University”做的教育类产品。直到我翻完它的仓库和在线Demo,才发现自己差点错过一个好东西——这是一个把“在线电子表格、文档、幻灯片”全部做成开源引擎的Web Office项目&#xf…

2026/11/5 10:38:55

Foxmail数字签名与加密配置全指南:S/MIME证书实战落地

1. 邮件签名与加密不是“加个水印”或“点个锁图标”那么简单很多人第一次在Foxmail里找“签名”功能,点开设置就以为万事大吉——填上姓名、电话、公司logo,保存退出,邮件发出去带个固定落款,就觉得“搞定”。等真遇到客户问“你…

2026/11/5 10:38:55

LVS负载均衡优化:FWM标记与持久化服务实践

1. 为什么需要优化LVS调度?在企业级负载均衡场景中,Linux Virtual Server(LVS)作为四层负载均衡的经典解决方案,其性能表现直接影响着整个业务系统的稳定性。但在实际生产环境中,我们常常会遇到两个典型问题…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑