条件密度估计框架

cde的Python项目详细描述


Build StatusDownloads

条件密度估计(cde)

说明

条件密度估计的各种方法的实现

  • 基于参数神经网络的方法
    • 混合密度网络(MDN)
    • 内核混合网络(kmn)
    • 规范化流(nf)
  • 非参数方法
    • 条件核密度估计(ckde)
    • 邻域核密度估计(nkde)
  • 半参数方法
    • 最小二乘条件密度估计(lskde)

除了估计条件概率密度外,该软件包还具有广泛的计算功能:

  • 中心矩:均值、协方差、偏度和峰度
  • 统计发散:kl发散,js发散,hellinger距离
  • percentiles和预期短缺

安装

要使用库,可以直接使用python包索引:

pip install cde

或者克隆github存储库并运行

pip install .

注意,这个包只支持1.4到1.7之间的tensorflow版本。

文档和纸张

请参阅文档here。一篇关于利用神经网络进行条件密度估计的最佳实践和基准的论文可以找到here

用法

下面截取的代码包含一个简单的示例,演示如何使用cde包。

fromcde.density_simulationimportSkewNormalfromcde.density_estimatorimportKernelMixtureNetworkimportnumpyasnp""" simulate some data """density_simulator=SkewNormal(random_seed=22)X,Y=density_simulator.simulate(n_samples=3000)""" fit density model """model=KernelMixtureNetwork("KDE_demo",ndim_x=1,ndim_y=1,n_centers=50,x_noise_std=0.2,y_noise_std=0.1,random_seed=22)model.fit(X,Y)""" query the conditional pdf and cdf """x_cond=np.zeros((1,1))y_query=np.ones((1,1))*0.1prob=model.pdf(x_cond,y_query)cum_prob=model.cdf(x_cond,y_query)""" compute conditional moments & VaR  """mean=model.mean_(x_cond)[0][0]std=model.std_(x_cond)[0][0]skewness=model.skewness(x_cond)[0]

引用

如果你在研究中使用了cde,可以引用如下:

@article{rothfuss2019conditional,
  title={Conditional Density Estimation with Neural Networks: Best Practices and Benchmarks},
  author={Rothfuss, Jonas and Ferreira, Fabio and Walther, Simon and Ulrich, Maxim},
  journal={arXiv:1903.00954},
  year={2019}
}

待办事项

  • 只为条件估计器+python包创建分支

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

推荐PyPI第三方库


热门话题
java Jgit对于给定的存储库,我们如何确定新提交的列表,以及每个提交来自哪个分支?   从MS Access数据库添加java ComboBoxItem   如何禁止Java列表中不同类的实例?   java在没有Web的JAXR上使用Shiro过滤器。xml   由于java原因,无法在Ubuntu上安装Netbeans 8.2。awt。未找到恐怖和辅助技术   java JUnit对RuntimeException的处理(特别是)   java空集合在Apache CXF服务(JAXWS)中被转换为null   java CannotAcquireLockException问题   sql如何在数据库中对(Java)枚举建模(使用SQL92)   安卓在Java中获取友好url后面的文件名   java如何访问数组名以获取列表?   javascript Java Nashorn longBitsToDouble   java控制台<init>错误   java将一个LinkedList追加/连接到另一个LinkedList的最有效方式是什么?   Java for正在跳过的循环   java帮助创建带有动画的复杂Swing GUI   java Android编辑文本。setHint在片段中不工作