嵌套函数的参数传递与默认参数问题:积分函数实现咨询
自定义积分函数实现均值计算与GB2分布包装
一、用于计算随机变量均值的int_pdf函数
我写了一个嵌套结构的函数组合,专门用来搞定随机变量均值的积分计算:
- 内层的
x_pdf(x, params)函数:核心逻辑是计算x * dfun(x|params),这里的dfun是目标概率密度函数,params是带命名的参数列表。之所以这么设计,是因为随机变量的均值本质就是x乘以概率密度函数在全定义域上的积分,这个函数刚好把原密度函数转换成了适合积分的形式。 - 外层的
int_pdf(params, lower=-Inf, upper=Inf)函数:负责执行积分操作。我特意把积分上下限的默认值设为负无穷到正无穷,这样用户只需要传入params参数调用它,就能直接得到该分布下x的均值,完全不用额外设置积分区间,用起来特别顺手。
二、GB2分布的专属包装函数int_gb2
除了上面的通用积分函数,我还写了一个int_gb2函数,它是针对GB2(第二类广义Beta)分布的专属包装函数。有了它,不用每次调用积分时都手动指定GB2的密度函数,直接传入GB2分布的参数就能快速完成对应积分计算,大大简化了针对该分布的操作流程。
内容的提问来源于stack exchange,提问作者andrewH
相关产品推荐
相关产品推荐

