簡體   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