首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python和expect函数

python和expect函数
EN

Stack Overflow用户
提问于 2013-07-29 11:18:57
回答 2查看 2K关注 0票数 1

我想知道是否有人能解释一下scipy.stats中的以下功能:

代码语言:javascript
运行
复制
rv_continuous.expect
rv_continuous.pdf

我已经看过文件了,但我仍然很困惑。

这是我的任务,理论上很简单,但我仍然对这些函数的作用感到困惑。

所以,我有一个区域的列表,16383的值。我希望找到可变区域在较小的值(称为"inf“)和较大的值"sup”之间取任意值的概率。

所以我想的是:

代码语言:javascript
运行
复制
scipy.stats.rv_continuous.pdf(a) #a being the list of areas
scipy.stats.rv_continuous.expect(pdf, lb = inf, ub = sup)

所以我可以得到任何区域介于sup和inf之间的概率。

有人能帮我简单地解释一下函数的作用,以及如何计算inf和sup之间的f(a)积分的任何提示吗?

谢谢

布莱斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-29 12:12:46

累积密度函数可能会给你想要的东西。那么两个值之间存在的概率PP(inf < area < sup) = cdf(sup) - cdf(inf)

有一个关于概率、这里这里的教程,它们都是相关的。pdf是概率的“密度”。它们必须大于零,之和为1。我认为它表示某事的可能性有多大。期望值是对平均值概念的概括。

代码语言:javascript
运行
复制
E[x] = sum(x.P(x))
票数 2
EN

Stack Overflow用户

发布于 2013-07-29 12:37:01

rv_continuous是在scipy.stats中实现的所有概率分布的基类。您不会亲自调用rv_continuous上的方法。

你的问题还不完全清楚你想要做什么,所以我假设你有一个从未知概率分布中提取的16383个数据点。从原始数据中,您需要估计累积分布,在supinf值处找到该累积分布的值,并减去从未知分布中提取值的概率。

根据你想要做多少建模和你想要做多少假设,有很多方法可以从数据中估计未知分布。在光谱的更复杂的一端,你可以尝试将一个标准的参数概率分布拟合到数据中。例如,如果您怀疑您的数据是对数正态分布的,您可以使用scipy.stats.lognorm.fit(data, floc=0)查找符合您的数据的对数正态分布的参数。然后您可以使用scipy.stats.lognorm.cdf(sup, *params) - scipy.stats.lognorm.cdf(inf, *params)来估计值在这些值之间的概率。

中间是分布估计的非参数形式,如直方图和核密度估计。例如,scipy.stats.gaussian_kde(data).integrate_box_1d(inf, sup)是使用未知分布的高斯核密度估计来进行此估计的一种简单方法。然而,内核密度估计并不总是合适的,需要一些调整才能正确。

您可以做的最简单的事情就是计算infsup之间的数据点数,除以您拥有的数据点的总数。这仅适用于大量的点(这是您拥有的)和边界,而不是太远的尾部数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17922666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档