分位数回归的证明
quantile_regression_demo的Python项目详细描述
概述
我们大多数人都熟悉儿科医生使用的图表 作为年龄函数的体重和身高的百分位数;生成这样的图表 从一个小样本的数据需要分位数回归或类似的方法。 (当处理足够大的数据样本时,可以对数据进行装箱,即, 将X轴划分为间隔并独立计算百分位数。 每次间隔。但是,这种方法使用数据效率低下,不可行 当样本量较小时)。
分位数和百分位数相同,但系数为100,例如 30%是0.3分位数。
这个python脚本演示了可以使用 只有python,numpy和scipy。唯一的依赖是matplotlib, 用于绘制数据和分位数估计。
详细信息
具体来说,脚本执行以下操作:
(1)分配模型参数。(目前,这些是硬连接到 代码)。
(2)程序生成一个人工的二元数据样本(x,y)作为 如下:
- x is generated by drawing from a distribution that is uniform on [x_min, x_max], where x_min and x_max are currently 0 and 1, respectively.
- y is then generated according to a normal distribution having mean -0.5 + x and standard deviation 1.0 + 0.5 * x.
(All of this can be changed, e.g., one could choose to make the mean of y quadratic in x).
(3)代码定义了基于倾斜绝对值的目标函数 功能(动机见参考文献)。
(4)然后使用scipy优化包来优化(最小化) 目标函数。
(5)使用matplotlib模块,代码绘制数据的散点图 有百分位线覆盖。