深连续分位数回归
deepquantiles的Python项目详细描述
深度连续分位数回归
这个包探索了学习不确定性的不同方法, 更一般地,目标变量的条件分布。我们引入了一种新型的网络,即“深度连续分位数回归网络”,它直接由多层感知器近似逆条件CDF,而不是依赖于需要函数分布形式的先验的变分方法。在许多情况下,我们发现它提供了一个健壮的替代众所周知的混合密度网络。
当
- 目标变量的平均值对于用例来说是不够的
- 误差是异方差的,即根据输入特征而变化
- 误差是倾斜的,使得单一的汇总统计如方差不足。
我们探索两种主要方法:
- 拟合混合密度模型
- 了解分布的条件群的位置
q
。
我们的混合密度网络利用了一个实现技巧,在keras
中实现负对数似然最小化。
用同样的技巧优化分位数回归网络中的“弹球”损失,实际上可以用来优化任意损失函数(X, y, y_hat)
。
在基于分位数的方法中,我们进一步探索:
a.拟合一个单独的模型来预测每个分位数
b.拟合多输出网络同时预测多个分位数
c.同时学习X
和q
的回归,从而有效地
学习完全(条件)累积密度函数。
安装
从源安装软件包:
pip install git+https://github.com/ig248/deepquantiles
或者来自pypi:
pip install deepquantiles
用法
from deepquantiles import MultiQuantileRegressor, InverseCDFRegressor, MixtureDensityRegressor
由于此软件包主要是一个实验,请浏览jupyter笔记本并查看源代码。
内容
deepqunatiles.regressors
:核心算法的实现deepquantiles.presets
:用于实验的预配置估计器和设置的集合deepquantiles.datasets
:用于生成测试数据的函数deepquantiles.nb_utils
:笔记本中使用的帮助函数notebooks
:带有示例和实验的jupyter笔记本
测试
运行
make dev-install
make lint
make test
参考文献
混合密度网络,克里斯托弗M.毕肖普,NCRG/94/004 (1994)