分位数回归-Quantile regression-程序员宅基地

技术标签: 机器学习  


如果图片加载不出来,看这个:https://www.jianshu.com/p/4d6f77588b9a

一、分位数回归概念

分位数回归是估计一组回归变量X与被解释变量Y的分位数之间线性关系的建模方法。

以往的回归模型实际上是研究被解释变量的条件期望。而人们也关心解释变量与被解释变量分布的中位数,分位数呈何种关系。它最早由Koenker和Bassett(1978)提出。

OLS回归估计量的计算是基于最小化残差平方。分位数回归估计量的计算也是基于一种非对称形式的绝对值残差最小化。其中,中位数回归运用的是最小绝对值离差估计(LAD,least absolute deviations estimator)。

分位数回归的优点

(1)能够更加全面的描述被解释变量条件分布的全貌,而不是仅仅分析被解释变量的条件期望(均值),也可以分析解释变量如何影响被解释变量的中位数、分位数等。不同分位数下的回归系数估计量常常不同,即解释变量对不同水平被解释变量的影响不同。

(2)中位数回归的估计方法与最小二乘法相比,估计结果对离群值则表现的更加稳健,而且,分位数回归对误差项并不要求很强的假设条件,因此对于非正态分布而言,分位数回归系数估计量则更加稳健。

二、相关推导

2.1 分位数概念

一个连续随机变量 y y y,其总体第 τ \tau τ分位数是 y ( τ ) y(\tau) y(τ)的定义是: y y y小于等于 y ( τ ) y(\tau) y(τ)的概率是 τ \tau τ,即
τ = P ( y ⩽ y ( τ ) ) = F ( y ( τ ) ) \tau = P( y \leqslant y(\tau)) = F(y(\tau)) τ=P(yy(τ))=F(y(τ))

2.2 离差绝对值LAD

定理:连续变量用 y y y表示,其概率密度函数用 f ( y ) f(y) f(y)表示,累计概率密度函数用 F ( y ) F(y) F(y)表示, y y y的中位数用 y ( 0.5 ) y_{(0.5)} y(0.5)表示,则 y y y与任一值 α \alpha α的离差绝对值的期望 E ( ∣ y − α ∣ ) E(|y-\alpha|) E(yα) α = y ( 0.5 ) \alpha= y_{(0.5)} α=y(0.5) 时为最小。

证明:
image.png

上文,莱布尼茨公式:
image.png

这里,我是用了参变量积分求导才理解通。
image.png

另有其他角度的证明,从样本出发,直觉上感觉也没有太大问题,方便理解。
image.png

2.3 分位数回归

image.png
目标函数(15.3)不可微,因此传统的对目标函数求导的方法不再适用。

2.4 效果以及理解

以一元 回归为例,如果用 LAD 法估计的中位数回归直线与用 OLS 法估计的均值回归直线有显著差别, 则表明被解释变量 y 的分布是非对称的。如果散点图上侧分位数回归直线之间与下侧分位数回归 直线之间相比,相互比较接近,则说明被解释变量 y 的分布是左偏倚的。反之是右偏倚的。对于 不同分位数回归函数如果回归系数的差异很大,说明在不同分位数上解释变量对被解释变量的影 响是不同的。

三、模型检验

1、拟合优度(Goodness-of-Fit)

2、拟似然比检验(Quasi-Likelihood Ratio Tests)

3、Wald 检验

系列分位数回归检验

1)斜率相等检验

2)对称性检验

四、求解方法

点估计:
image.png

区间估计:
image.png

R : quantreg - rq()

相关:

https://www.cnblogs.com/shangfr/p/5736738.html

statsmodels参考文献:

Roger Koenker and Kevin F. Hallock. “Quantile Regressioin”. Journal of Economic Perspectives, Volume 15, Number 4, Fall 2001, Pages 143–156。

https://max.book118.com/html/2017/0615/115662569.shtm

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/longgb123/article/details/85031163

智能推荐

Android异步处理三:Handler+Looper+MessageQueue深入详解_handler looper message详解、-程序员宅基地

文章浏览阅读5.5w次,点赞53次,收藏103次。本博文地址:http://blog.csdn.net/mylzc/article/details/6771331 转载请注明出处Android异步处理系列文章索引Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面_handler looper message详解、

Mustache语法中实现if-else_mustache if-程序员宅基地

文章浏览阅读604次。1、{{#prop}}{{/prop}}标签:这对标签的作用非常强大,可以同时完成if-else和for-each以及动态渲染的模板功能。在这对标签之间,可以定义其它模板内容,嵌套所有标签1.{{#prop}}{{/prop}}标签:这对标签的作用非常强大,可以同时完成if-else和for-each以及动态渲染的模板功能。在这对标签之间,可以定义其它模板内容,嵌套所有标签。<ul class="dropdown-menu" role="menu"> <shir._mustache if

好玩的.滑块验证_什么地方要经常滑块验证-程序员宅基地

文章浏览阅读183次。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X..._什么地方要经常滑块验证

练习03: 定义f(n)为其各位数字的平方和_python利用函数完成平方等式题。对于一个十进制的正整数,定义f(n)为其个位数字的平方和-程序员宅基地

文章浏览阅读4.2k次,点赞5次,收藏3次。题目需求:对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:f(13) = 12 + 32 = 10f(207) = 22 + 02 + 72 = 53下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,且k*f(n)=n输入:第一行包含3个正整数k,a, b, k>=1, a,b<=1018, a<=b;输出..._python利用函数完成平方等式题。对于一个十进制的正整数,定义f(n)为其个位数字的平方和

线性表——栈和队列_对比画出线性表与栈与队列-程序员宅基地

文章浏览阅读822次。快进来康康!!线性表第三关——栈和队列_对比画出线性表与栈与队列

C++中创建对象的时候加括号和不加括号的区别(转)-程序员宅基地

文章浏览阅读214次。c++创建对象的语法有-----1 在栈上创建 MyClass a;2 在堆上创建加括号 MyClass *a= new MyClass();3 不加括号 MyClass *a = new MyClass;4.---------------MyClass a();声明了一个返回值为MyClass类型的无参函数。 1 #include <iostream> 2 class..._创建类对象加大括号会怎么样c++

随便推点

用ModelSim仿真PLL模块_modesim独立仿真pll-程序员宅基地

文章浏览阅读1.5w次,点赞4次,收藏25次。由于要对FPGA读写SDRAM的工程进行调试,第一步就是验证PLL模块的功能,故结合网上找的一些资料,进行了如下PLL仿真实验。下面是仿真的全过程首先,看一下Quartus中的PLL模块:从上面图中可以看出:我的FPGA输入时钟是20MHZ,该PLL有三个输出,其中C0:5倍频,100MHZC1:1倍频,20MHZC2:5倍频,100MHZ,同时相对于C_modesim独立仿真pll

uni-app 框架超详细新手入门_uni框架-程序员宅基地

文章浏览阅读7.6k次,点赞3次,收藏39次。什么是uni-app?(介绍)uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。开发者通过编写 Vue.js 代码,uni-app 将其编译到iOS、Android、微信小程序等多个平台,保证其正确运行并达到优秀体验。uni-app 继承自 Vue.js,提供了完整的 Vue.js 开发体验。uni-app 组件规范和扩展api与微信小程序基本相同。有一定 Vue.js 和微信小程序开发经验的开发者可快速上手 uni-app ,开发出兼容多端的应用。uni-app提供了条件编译_uni框架

滴滴开源DRouter:一款高效的Android路由框架-程序员宅基地

文章浏览阅读5.4k次。桔妹导读:DRouter是滴滴乘客端自研的一套Android路由框架,基于平台化解耦的思想,为组件间通信服务。该项目以功能全面、易用为原则,支持各种路由场景,在页面路由、服务获取和过滤、跨..._滴滴路由框架作用

errorThrown:ReferenceError: data is not defined-程序员宅基地

文章浏览阅读3.2k次。ajax请求error:function(jqXHR,textStatus,errorThrown){ console.log(jqXHR.); console.log(textStatus); console.log(errorThrown);}error函数出现errorThrown:ReferenceError: data is not defined的错误。经排查出现这个问题的原因是由于datatype引起的datatype:“json”改为datatype:“text_referenceerror: data is not defined

openCV视频处理与图像转换_opencv处理视频帧-程序员宅基地

文章浏览阅读5.8k次,点赞4次,收藏35次。1.视频处理视频中包含的信息要远远大于图片,对视频的分析也成为计算机视觉的主流,而本质上视频是由一帧帧的图像组成,所以视频处理最终还是要归结于图像处理,但在视频处理中,有更多的时间维的信息可以利用。1.1视频帧的读取OpenCV为视频的读入提供了一个类VideoCapture,下面我们说明一下类的几个重要的方法:1,打开一段视频或默认的摄像头有两种方法,一种是在定义类的时候_opencv处理视频帧

thinkphp3.2在php7下运行,出现错误"系统不支持:mysql"-程序员宅基地

文章浏览阅读2.7w次,点赞4次,收藏5次。原因是thinkphp里面的数据库链接配置里面在php7里面,已经不能用mysql_connect,只能把mysql改为mysqli这样就可以正常使用thinkphp3.2链接数据库了._系统不支持:mysql