深连续分位数回归

deepquantiles的Python项目详细描述


PyPI versionBuild StatusCoverage Status

深度连续分位数回归

这个包探索了学习不确定性的不同方法, 更一般地,目标变量的条件分布。我们引入了一种新型的网络,即“深度连续分位数回归网络”,它直接由多层感知器近似逆条件CDF,而不是依赖于需要函数分布形式的先验的变分方法。在许多情况下,我们发现它提供了一个健壮的替代众所周知的混合密度网络。

  • 目标变量的平均值对于用例来说是不够的
  • 误差是异方差的,即根据输入特征而变化
  • 误差是倾斜的,使得单一的汇总统计如方差不足。

我们探索两种主要方法:

  1. 拟合混合密度模型
  2. 了解分布的条件群的位置q

我们的混合密度网络利用了一个实现技巧,在keras中实现负对数似然最小化。

用同样的技巧优化分位数回归网络中的“弹球”损失,实际上可以用来优化任意损失函数(X, y, y_hat)

在基于分位数的方法中,我们进一步探索: a.拟合一个单独的模型来预测每个分位数 b.拟合多输出网络同时预测多个分位数 c.同时学习Xq的回归,从而有效地 学习完全(条件)累积密度函数。

安装

从源安装软件包:

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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Hibernate在Java代码中运行“虚拟”数据库   java如何在节点Firebase中获得唯一的随机产品?   Java eclipse无法识别导入组织。阿帕奇。已随maven导入的poi包   如何将字符串数组值与字符串进行比较?(爪哇)   BitmapFont(libgdx)的java自定义参与者   java类图关系接口   SpringHateoas和Java8:我是否被迫抛出异常?   java如何消除ArrayList后面的空白?   找不到Java链接列表头   列出流java 8中的句柄异常   java Android简单客户端/服务器socket   java解析外部依赖的类路径   java为什么使用的方法只有一个参数,而方法需要两个元素的值?   运行和编译ParserDemo2时发生java错误   java如何解析无限递归(org.codehaus.jackson.map.JsonMappingException)