本文简要介绍 python 语言中 scipy.stats.rv_continuous.expect
的用法。
用法:
rv_continuous.expect(func=None, args=(), loc=0, scale=1, lb=None, ub=None, conditional=False, **kwds)#
通过数值积分计算函数相对于分布的期望值。
函数
f(x)
相对于分布dist
的期望值定义为:ub E[f(x)] = Integral(f(x) * dist.pdf(x)), lb
其中
ub
和lb
是参数,x
具有dist.pdf(x)
分布。如果边界lb
和ub
对应于分布的支持,例如[-inf, inf]
在默认情况下,则积分是f(x)
的无限制期望。此外,函数f(x)
可以被定义为使得f(x)
是有限区间之外的0
,在这种情况下,在有限范围[lb, ub]
内计算期望。- func: 可调用的,可选的
为其计算积分的函数。只接受一个论点。默认值为恒等映射 f(x) = x。
- args: 元组,可选
分布的形状参数。
- loc: 浮点数,可选
位置参数(默认 = 0)。
- scale: 浮点数,可选
比例参数(默认值=1)。
- lb, ub: 标量,可选
积分的下限和上限。默认设置为发行版的支持。
- conditional: 布尔型,可选
如果为 True,则通过积分区间的条件概率校正积分。返回值是函数的期望值,条件是在给定的区间内。默认为假。
- Additional keyword arguments are passed to the integration routine.:
- expect: 浮点数
计算出的期望值。
参数 ::
返回 ::
注意:
此函数的集成行为继承自
scipy.integrate.quad
。这个函数和scipy.integrate.quad
都不能验证积分是否存在或有限。例如cauchy(0).mean()
返回np.nan
和cauchy(0).expect()
返回0.0
。同样,结果的准确性也没有经过函数验证。
scipy.integrate.quad
对于数值上有利的积分通常是可靠的,但不能保证所有可能的区间和被积函数都收敛到正确的值。提供此函数是为了方便;对于关键应用程序,请对照其他集成方法检查结果。该函数未矢量化。
例子:
要了解积分边界的影响,请考虑
>>> from scipy.stats import expon >>> expon(1).expect(lambda x: 1, lb=0.0, ub=2.0) 0.6321205588285578
这是接近
>>> expon(1).cdf(2.0) - expon(1).cdf(0.0) 0.6321205588285577
如果
conditional=True
>>> expon(1).expect(lambda x: 1, lb=0.0, ub=2.0, conditional=True) 1.0000000000000002
与 1 的微小偏差是由于数值积分。
通过将
complex_func=True
传递给scipy.integrate.quad
,可以将被积数视为 complex-valued 函数。>>> import numpy as np >>> from scipy.stats import vonmises >>> res = vonmises(loc=2, kappa=1).expect(lambda x: np.exp(1j*x), ... complex_func=True) >>> res (-0.18576377217422957+0.40590124735052263j)
>>> np.angle(res) # location of the (circular) distribution 2.0
相关用法
- Python SciPy rv_continuous.entropy用法及代码示例
- Python SciPy rv_continuous.fit用法及代码示例
- Python SciPy rv_histogram.fit用法及代码示例
- Python SciPy rv_histogram.expect用法及代码示例
- Python SciPy rv_histogram.entropy用法及代码示例
- Python SciPy rv_discrete.entropy用法及代码示例
- Python SciPy interpolate.make_interp_spline用法及代码示例
- Python SciPy stats.anderson用法及代码示例
- Python SciPy ClusterNode.pre_order用法及代码示例
- Python SciPy stats.iqr用法及代码示例
- Python SciPy FortranFile.read_record用法及代码示例
- Python SciPy ndimage.correlate用法及代码示例
- Python SciPy special.exp1用法及代码示例
- Python SciPy special.expn用法及代码示例
- Python SciPy signal.czt_points用法及代码示例
- Python SciPy interpolate.krogh_interpolate用法及代码示例
- Python SciPy ndimage.morphological_gradient用法及代码示例
- Python SciPy distance.sokalmichener用法及代码示例
- Python SciPy linalg.eigvalsh_tridiagonal用法及代码示例
- Python SciPy linalg.cdf2rdf用法及代码示例
- Python SciPy csc_array.diagonal用法及代码示例
- Python SciPy fft.idctn用法及代码示例
- Python SciPy linalg.LaplacianNd用法及代码示例
- Python SciPy linalg.solve_circulant用法及代码示例
- Python SciPy hierarchy.ward用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.rv_continuous.expect。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。