微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于计算 scipy stats 中可用分布的 E(X) 的 Scipy 集成

如何解决用于计算 scipy stats 中可用分布的 E(X) 的 Scipy 集成

嗨,谁能帮我修复这个代码,提前致谢

from scipy.integrate import quad
import math
import numpy as np
from scipy import stats

lognorm_mu = 17.79
lognorm_sigma = 0.81

def integrand(x):
    return stats.lognorm.pdf(x,s= lognorm_sigma,scale=math.exp(lognorm_mu)) * x

我期待的结果是:

print(math.exp(lognorm_mu + lognorm_sigma ** 2 / 2)) ==> 73887187.89137973

但是我得到了这个输出

print(quad(integrand2,-np.inf,np.inf)[0]) =-> 8.373817736767941e-43

我如何编辑我的被积函数以进行积分(xf(x)dx,-inf,+inf)?如果我要做积分(x^2f(x)dx,-inf,+inf) 呢?

解决方法

您可能正在寻找 .expect 方法:norm.expect(lambda x : x**2)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。