繁体   English   中英

具有scipy.stats函数的高指数数

[英]High exponent numbers with scipy.stats functions

我有一组数字,从1e-1001e-700甚至更低,范围都非常小。 精度与指数无关紧要。 通过使用Decimal作为所有此类数字列的转换器,我可以使用Pandas加载此类数字。

问题是,即使我使用Python的Decimal ,我也不能使用scipy.stats.chi2.isf和类似的函数,因为它们的C代码明确使用double 一个可能的解决方法是我可以使用数字的log10。 这里的问题是,虽然有logsf功能, chi2它实现为刚刚log(sf(...))并且将因此失败时sf返回0,它应该已经返回类似1e-600 对于isf ,根本没有这样的日志功能。

我想知道是否有任何方法可以处理这样的数字,而不必自己为Decimal编写所有这些函数。

您可以直接使用scipy.special (gammaln,loggamma)的伽马函数的日志直接为logsf编写表达式。 然后,您可以发送一个拉取请求,为卡方分布实现logsf。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM