小编Mat*_*ell的帖子

来自 scipy.stats.rv_continuous 的自定义 PDF 不需要的上限

我正在尝试生成具有一定光度的 QSO 的随机概率密度函数,其形式为:

1/( (L/L_B^* )^alpha + (L/L_B^* )^beta )

其中 L_B^*、alpha 和 beta 都是常量。为此,使用以下代码:

import scipy.stats as st

logLbreak = 43.88
alpha = 3.4
beta = 1.6


class my_pdf(st.rv_continuous):

    def _pdf(self,l_L): 
        #"l_L" in this is always log L        
        L = 10**(l_L/logLbreak)
        D = 1/(L**alpha + L**beta)
        return D

dist_Log_L = my_pdf(momtype = 0, a = 0,name='l_L_dist')


distro = dist_Log_L.rvs(size = 10000)
Run Code Online (Sandbox Code Playgroud)

(L/L^* 被提升到 10 的幂,因为一切都是以对数刻度进行的)

该分布应该生成一个近似于 的图形逐渐趋于无穷大,但实际上它生成的图形看起来像这样(10,000 个样本)。无论使用多少样本,上限都是相同的。它受到这样的限制有什么原因吗?

python statistics astronomy scipy probability-density

2
推荐指数
1
解决办法
1178
查看次数