条件密度估计框架
cde的Python项目详细描述
条件密度估计(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包创建分支