SciPy 1.12 中文文档(五十二)

原文:docs.scipy.org/doc/scipy-1.12.0/index.html

scipy.stats.bradford

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.bradford.html#scipy.stats.bradford

scipy.stats.bradford = <scipy.stats._continuous_distns.bradford_gen object>

一个布拉德福特连续随机变量。

作为 rv_continuous 类的一个实例,bradford 对象从中继承了一系列通用方法(请参见下文的完整列表),并通过特定于此特定分布的细节来完成它们。

注意事项

bradford 的概率密度函数为:

[f(x, c) = \frac{c}{\log(1+c) (1+cx)}]

对于 (0 <= x <= 1) 和 (c > 0)。

bradfordc 作为形状参数为 (c)。

上述概率密度在“标准化”形式下定义。使用 locscale 参数来移动和/或缩放分布。具体而言,bradford.pdf(x, c, loc, scale) 等效于 bradford.pdf(y, c) / scale,其中 y = (x - loc) / scale。请注意,移动分布的位置并不使其成为“非中心”分布;某些分布的非中心推广可以在单独的类中找到。

示例

>>> import numpy as np
>>> from scipy.stats import bradford
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> c = 0.299
>>> mean, var, skew, kurt = bradford.stats(c, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(bradford.ppf(0.01, c),
...                 bradford.ppf(0.99, c), 100)
>>> ax.plot(x, bradford.pdf(x, c),
...        'r-', lw=5, alpha=0.6, label='bradford pdf') 

或者,可以通过调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个“冻结”的随机变量对象,保持给定的参数不变。

冻结分布并显示冻结的pdf

>>> rv = bradford(c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = bradford.ppf([0.001, 0.5, 0.999], c)
>>> np.allclose([0.001, 0.5, 0.999], bradford.cdf(vals, c))
True 

生成随机数:

>>> r = bradford.rvs(c, size=1000) 

然后比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(c, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, loc=0, scale=1)概率密度函数。
logpdf(x, c, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, loc=0, scale=1)累积分布函数。
logcdf(x, c, loc=0, scale=1)累积分布函数的对数。
sf(x, c, loc=0, scale=1)生存函数(也定义为 1 - cdf,但sf有时更准确)。
logsf(x, c, loc=0, scale=1)生存函数的对数。
ppf(q, c, loc=0, scale=1)百分位点函数(cdf的逆 — 百分位数)。
isf(q, c, loc=0, scale=1)逆生存函数(sf的逆)。
moment(order, c, loc=0, scale=1)指定阶数的非中心时刻。
stats(c, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、峰度(‘k’)。
entropy(c, loc=0, scale=1)随机变量的(微分)熵。
fit(data)适用于通用数据的参数估计。详见scipy.stats.rv_continuous.fit以获取关键字参数的详细文档。
**expect(func, args=(c,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对于分布,基于一个参数的函数的期望值。
median(c, loc=0, scale=1)分布的中位数。
mean(c, loc=0, scale=1)分布的均值。
var(c, loc=0, scale=1)分布的方差。
std(c, loc=0, scale=1)分布的标准偏差。
interval(confidence, c, loc=0, scale=1)中位数周围等面积的置信区间。

scipy.stats.burr

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.burr.html#scipy.stats.burr

scipy.stats.burr = <scipy.stats._continuous_distns.burr_gen object>

一个 Burr(Type III)连续随机变量。

作为 rv_continuous 类的一个实例,burr 对象从中继承了一系列通用方法(下面列出完整列表),并根据这一特定分布补充了细节。

另见

fisk

这是 d=1burrburr12 的特例。

burr12

Burr Type XII 分布

mielke

Mielke Beta-Kappa / Dagum 分布

注意

burr 的概率密度函数为:

[f(x; c, d) = c d \frac{x^{-c - 1}} {{(1 + x{-c})}{d + 1}}]

对于 (x >= 0) 和 (c, d > 0)。

burr 使用 cd 作为形状参数,其中 (c) 和 (d)。

这是对应于 Burr 列表中第三个 CDF 的 PDF;具体来说,它是 Burr 论文中的方程(11)[1]。该分布通常也被称为 Dagum 分布[2]。如果参数 (c < 1),则分布的均值不存在;如果 (c < 2),则方差不存在[2]。如果 (c * d >= 1),则 PDF 在左端点 (x = 0) 处是有限的。

上述概率密度在“标准化”形式下定义。要移动和/或缩放分布,请使用 locscale 参数。具体而言,burr.pdf(x, c, d, loc, scale)y = (x - loc) / scale 的情况下与 burr.pdf(y, c, d) / scale 是完全等价的。请注意,移动分布的位置不会使其成为“非中心”分布;一些分布的非中心泛化可以在其他类中找到。

参考文献

[1]

Burr, I. W. “累积频率函数”, 数学统计年鉴, 13(2), pp 215-232 (1942).

[2] (1,2)

en.wikipedia.org/wiki/Dagum_distribution

[3]

Kleiber, Christian. “Dagum 分布指南。” 建模收入分布和洛伦兹曲线 pp 97-117 (2008).

示例

>>> import numpy as np
>>> from scipy.stats import burr
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> c, d = 10.5, 4.3
>>> mean, var, skew, kurt = burr.stats(c, d, moments='mvsk') 

显示概率密度函数 (pdf):

>>> x = np.linspace(burr.ppf(0.01, c, d),
...                 burr.ppf(0.99, c, d), 100)
>>> ax.plot(x, burr.pdf(x, c, d),
...        'r-', lw=5, alpha=0.6, label='burr pdf') 

或者,可以调用(作为函数)分布对象来固定形状、位置和尺度参数。这将返回一个“冻结”的 RV 对象,保持给定参数不变。

冻结分布并显示冻结的 pdf

>>> rv = burr(c, d)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查 cdfppf 的准确性:

>>> vals = burr.ppf([0.001, 0.5, 0.999], c, d)
>>> np.allclose([0.001, 0.5, 0.999], burr.cdf(vals, c, d))
True 

生成随机数:

>>> r = burr.rvs(c, d, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(c, d, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, d, loc=0, scale=1)概率密度函数。
logpdf(x, c, d, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, d, loc=0, scale=1)累积分布函数。
logcdf(x, c, d, loc=0, scale=1)累积分布函数的对数。
sf(x, c, d, loc=0, scale=1)生存函数(也定义为 1 - cdf,但 sf 有时更精确)。
logsf(x, c, d, loc=0, scale=1)生存函数的对数。
ppf(q, c, d, loc=0, scale=1)百分点函数(cdf 的逆函数 — 百分位数)。
isf(q, c, d, loc=0, scale=1)逆生存函数(sf 的逆函数)。
moment(order, c, d, loc=0, scale=1)指定阶数的非中心矩。
stats(c, d, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、及/或峰度(‘k’)。
entropy(c, d, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详见 scipy.stats.rv_continuous.fit 获取关键字参数的详细文档。
**expect(func, args=(c, d), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)相对于分布的函数(一个参数)的期望值。
median(c, d, loc=0, scale=1)分布的中位数。
mean(c, d, loc=0, scale=1)分布的均值。
var(c, d, loc=0, scale=1)分布的方差。
std(c, d, loc=0, scale=1)分布的标准差。
interval(confidence, c, d, loc=0, scale=1)置信区间,围绕中位数具有相等的区域。

scipy.stats.burr12

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.burr12.html#scipy.stats.burr12

scipy.stats.burr12 = <scipy.stats._continuous_distns.burr12_gen object>

一个 Burr(Type XII)连续随机变量。

作为 rv_continuous 类的一个实例,burr12 对象从中继承了一组通用方法(下面列出了完整清单),并补充了特定于该特定分布的细节。

另请参见

fisk

无论是 burr 还是 burr12 的特例,其中 d=1

burr

Burr Type III 分布

注意事项

burr12 的概率密度函数为:

[f(x; c, d) = c d \frac{x^{c-1}} {(1 + xc){d + 1}}]

对于 (x >= 0) 和 (c, d > 0)。

burr12cd 作为形状参数。

这是对应于 Burr 名单中第十二 CDF 的 PDF;具体而言,这是 Burr 论文中的方程式(20)[1]

上述概率密度以“标准化”形式定义。要移动和/或缩放分布,请使用 locscale 参数。具体来说,burr12.pdf(x, c, d, loc, scale)y = (x - loc) / scaleburr12.pdf(y, c, d) / scale 完全等价。请注意,移动分布的位置并不使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

Burr 12 型分布有时也称为来自 NIST 的 Singh-Maddala 分布[2]

参考资料

[1]

Burr, I. W. “累积频率函数”,数理统计学杂志,13(2),第 215-232 页(1942 年)。

[2]

www.itl.nist.gov/div898/software/dataplot/refman2/auxillar/b12pdf.htm

[3]

“Burr 分布”,en.wikipedia.org/wiki/Burr_distribution

例子

>>> import numpy as np
>>> from scipy.stats import burr12
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> c, d = 10, 4
>>> mean, var, skew, kurt = burr12.stats(c, d, moments='mvsk') 

显示概率密度函数 (pdf):

>>> x = np.linspace(burr12.ppf(0.01, c, d),
...                 burr12.ppf(0.99, c, d), 100)
>>> ax.plot(x, burr12.pdf(x, c, d),
...        'r-', lw=5, alpha=0.6, label='burr12 pdf') 

或者,可以调用分布对象(作为函数)以固定形状、位置和比例参数。这将返回一个“冻结”RV 对象,其中给定参数固定。

冻结分布并显示冻结的 pdf

>>> rv = burr12(c, d)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查 cdfppf 的准确性:

>>> vals = burr12.ppf([0.001, 0.5, 0.999], c, d)
>>> np.allclose([0.001, 0.5, 0.999], burr12.cdf(vals, c, d))
True 

生成随机数:

>>> r = burr12.rvs(c, d, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(c, d, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, d, loc=0, scale=1)概率密度函数。
logpdf(x, c, d, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, d, loc=0, scale=1)累积分布函数。
logcdf(x, c, d, loc=0, scale=1)累积分布函数的对数。
sf(x, c, d, loc=0, scale=1)生存函数(也定义为 1 - cdf,但 sf 有时更精确)。
logsf(x, c, d, loc=0, scale=1)生存函数的对数。
ppf(q, c, d, loc=0, scale=1)百分位点函数(cdf 的逆函数 — 百分位数)。
isf(q, c, d, loc=0, scale=1)生存函数的逆函数(sf 的逆函数)。
moment(order, c, d, loc=0, scale=1)指定阶数的非中心矩。
stats(c, d, loc=0, scale=1, moments=’mv’)平均值(‘m’), 方差(‘v’), 偏度(‘s’), 和/或峰度(‘k’)。
entropy(c, d, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计值。详细文档请参见 scipy.stats.rv_continuous.fit
**expect(func, args=(c, d), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对于分布的函数(一个参数)的期望值。
median(c, d, loc=0, scale=1)分布的中位数。
mean(c, d, loc=0, scale=1)分布的均值。
var(c, d, loc=0, scale=1)分布的方差。
std(c, d, loc=0, scale=1)分布的标准差。
interval(confidence, c, d, loc=0, scale=1)中位数周围面积相等的置信区间。

scipy.stats.cauchy

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.cauchy.html#scipy.stats.cauchy

scipy.stats.cauchy = <scipy.stats._continuous_distns.cauchy_gen object>

一个柯西连续随机变量。

作为 rv_continuous 类的实例,cauchy 对象从中继承了一系列通用方法(完整列表见下文),并以特定于该分布的细节补充其功能。

注意事项

cauchy 的概率密度函数为

[f(x) = \frac{1}{\pi (1 + x²)}]

对于实数 (x)。

上述的概率密度在“标准化”形式中定义。使用 locscale 参数可以进行分布的平移和/或缩放。具体来说,cauchy.pdf(x, loc, scale) 在数学上等同于 cauchy.pdf(y) / scale,其中 y = (x - loc) / scale。请注意,改变分布的位置并不会使其成为“非中心”分布;某些分布的非中心泛化在单独的类中可用。

示例

>>> import numpy as np
>>> from scipy.stats import cauchy
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> mean, var, skew, kurt = cauchy.stats(moments='mvsk') 

显示概率密度函数 (pdf):

>>> x = np.linspace(cauchy.ppf(0.01),
...                 cauchy.ppf(0.99), 100)
>>> ax.plot(x, cauchy.pdf(x),
...        'r-', lw=5, alpha=0.6, label='cauchy pdf') 

另外,可以通过调用分布对象(作为函数)来固定形状、位置和尺度参数。这将返回一个“冻结”的 RV 对象,保持给定的参数不变。

冻结分布并显示冻结的 pdf

>>> rv = cauchy()
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查 cdfppf 的准确性:

>>> vals = cauchy.ppf([0.001, 0.5, 0.999])
>>> np.allclose([0.001, 0.5, 0.999], cauchy.cdf(vals))
True 

生成随机数:

>>> r = cauchy.rvs(size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, loc=0, scale=1)概率密度函数。
logpdf(x, loc=0, scale=1)概率密度函数的对数。
cdf(x, loc=0, scale=1)累积分布函数。
logcdf(x, loc=0, scale=1)累积分布函数的对数。
sf(x, loc=0, scale=1)生存函数(也定义为 1 - cdf,但有时 sf 更精确)。
logsf(x, loc=0, scale=1)生存函数的对数。
ppf(q, loc=0, scale=1)百分位点函数(cdf 的反函数 — 百分位数)。
isf(q, loc=0, scale=1)逆生存函数(sf 的逆)。
moment(order, loc=0, scale=1)指定阶数的非中心矩。
stats(loc=0, scale=1, moments=’mv’)均值(‘m’),方差(‘v’),偏度(‘s’)和/或峰度(‘k’)。
entropy(loc=0, scale=1)RV 的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见 scipy.stats.rv_continuous.fit
**expect(func, args=(), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)计算分布函数关于函数(一个参数)的期望值。
median(loc=0, scale=1)分布的中位数。
mean(loc=0, scale=1)分布的均值。
var(loc=0, scale=1)分布的方差。
std(loc=0, scale=1)分布的标准差。
interval(confidence, loc=0, scale=1)中位数周围具有相等面积的置信区间。

scipy.stats.chi

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.chi.html#scipy.stats.chi

scipy.stats.chi = <scipy.stats._continuous_distns.chi_gen object>

一个卡方连续随机变量。

作为 rv_continuous 类的一个实例,chi 对象从中继承了一组通用方法(完整列表见下文),并且使用本特定分布的细节完成它们。

注意

chi 的概率密度函数为:

[f(x, k) = \frac{1}{2^{k/2-1} \Gamma \left( k/2 \right)} x^{k-1} \exp \left( -x²/2 \right)]

对于 (x \geq 0) 和 (k > 0)(在实现中称为自由度 df)。(\Gamma) 是 gamma 函数(scipy.special.gamma)。

chi的特殊情况包括:

chidf 作为形状参数。

上述概率密度在“标准化”形式下定义。使用 locscale 参数来移位和/或缩放分布。具体地说,chi.pdf(x, df, loc, scale)chi.pdf(y, df) / scale 完全等效,其中 y = (x - loc) / scale。请注意,将分布的位置移动并不使其成为“非中心”分布;一些分布的非中心推广可以在单独的类中找到。

示例

>>> import numpy as np
>>> from scipy.stats import chi
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> df = 78
>>> mean, var, skew, kurt = chi.stats(df, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(chi.ppf(0.01, df),
...                 chi.ppf(0.99, df), 100)
>>> ax.plot(x, chi.pdf(x, df),
...        'r-', lw=5, alpha=0.6, label='chi pdf') 

或者,可以像调用函数一样调用分布对象,以修正形状、位置和比例参数。这将返回一个“冻结”的 RV 对象,其中给定的参数被固定。

冻结分布并显示冻结的 pdf

>>> rv = chi(df)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = chi.ppf([0.001, 0.5, 0.999], df)
>>> np.allclose([0.001, 0.5, 0.999], chi.cdf(vals, df))
True 

生成随机数:

>>> r = chi.rvs(df, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(df, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, df, loc=0, scale=1)概率密度函数。
logpdf(x, df, loc=0, scale=1)概率密度函数的对数。
cdf(x, df, loc=0, scale=1)累积分布函数。
logcdf(x, df, loc=0, scale=1)累积分布函数的对数。
sf(x, df, loc=0, scale=1)生存函数(也定义为 1 - cdf,但 sf 有时更精确)。
logsf(x, df, loc=0, scale=1)生存函数的对数。
ppf(q, df, loc=0, scale=1)百分位点函数(cdf的逆 — 百分位数)。
isf(q, df, loc=0, scale=1)逆生存函数(sf的逆)。
moment(order, df, loc=0, scale=1)指定阶数的非中心矩。
stats(df, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(df, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见scipy.stats.rv_continuous.fit
**expect(func, args=(df,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)函数(一个参数的)对分布的期望值。
median(df, loc=0, scale=1)分布的中位数。
mean(df, loc=0, scale=1)分布的均值。
var(df, loc=0, scale=1)分布的方差。
std(df, loc=0, scale=1)分布的标准偏差。
interval(confidence, df, loc=0, scale=1)置信区间,围绕中位数具有相等面积。

scipy.stats.chi2

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.chi2.html#scipy.stats.chi2

scipy.stats.chi2 = <scipy.stats._continuous_distns.chi2_gen object>

一个卡方连续随机变量。

对于非中心卡方分布,请参见 ncx2

作为 rv_continuous 类的一个实例,chi2 对象继承了一组通用方法(详见下文的完整列表),并通过特定于该特定分布的细节完善了它们。

另请参阅

ncx2

注意事项

chi2 的概率密度函数为:

[f(x, k) = \frac{1}{2^{k/2} \Gamma \left( k/2 \right)} x^{k/2-1} \exp \left( -x/2 \right)]

对于 (x > 0) 和 (k > 0)(自由度,在实现中称为 df)。

chi2df 作为形状参数。

卡方分布是伽马分布的一种特殊情况,其伽马参数为 a = df/2loc = 0scale = 2

上述概率密度函数以“标准化”形式定义。要移动和/或缩放分布,请使用locscale参数。具体而言,chi2.pdf(x, df, loc, scale)chi2.pdf(y, df) / scale等价,其中y = (x - loc) / scale。请注意,移动分布的位置不会使其成为“非中心”分布;某些分布的非中心泛化可在单独的类中找到。

示例

>>> import numpy as np
>>> from scipy.stats import chi2
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> df = 55
>>> mean, var, skew, kurt = chi2.stats(df, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(chi2.ppf(0.01, df),
...                 chi2.ppf(0.99, df), 100)
>>> ax.plot(x, chi2.pdf(x, df),
...        'r-', lw=5, alpha=0.6, label='chi2 pdf') 

或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个“冻结”的 RV 对象,其中给定的参数被固定。

冻结分布并显示冻结的 pdf

>>> rv = chi2(df)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查 cdfppf 的准确性:

>>> vals = chi2.ppf([0.001, 0.5, 0.999], df)
>>> np.allclose([0.001, 0.5, 0.999], chi2.cdf(vals, df))
True 

生成随机数:

>>> r = chi2.rvs(df, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

- rvs(df, loc=0, scale=1, size=1, random_state=None) - 随机变量。
- pdf(x, df, loc=0, scale=1) - 概率密度函数。
- logpdf(x, df, loc=0, scale=1) - 概率密度函数的对数。
- cdf(x, df, loc=0, scale=1) - 累积分布函数。
- logcdf(x, df, loc=0, scale=1) - 累积分布函数的对数。
- sf(x, df, loc=0, scale=1) - 生存函数(也被定义为 1 - cdf,但 sf 有时更精确)。
- logsf(x, df, loc=0, scale=1) - 生存函数的对数。
- ppf(q, df, loc=0, scale=1) - 百分点函数(cdf 的反函数 — 百分位数)。
isf(q, df, loc=0, scale=1)
moment(order, df, loc=0, scale=1)
stats(df, loc=0, scale=1, moments=’mv’)
entropy(df, loc=0, scale=1)
fit(data)
**expect(func, args=(df,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)
median(df, loc=0, scale=1)
mean(df, loc=0, scale=1)
var(df, loc=0, scale=1)
std(df, loc=0, scale=1)
interval(confidence, df, loc=0, scale=1)

scipy.stats.cosine

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.cosine.html#scipy.stats.cosine

scipy.stats.cosine = <scipy.stats._continuous_distns.cosine_gen object>

余弦连续随机变量。

作为rv_continuous类的一个实例,余弦对象继承了一系列通用方法(见下面的完整列表),并使用了特定于此特定分布的细节来完成它们。

注释

余弦分布是对正态分布的一种近似。余弦的概率密度函数为:

[f(x) = \frac{1}{2\pi} (1+\cos(x))]

对于 (-\pi \le x \le \pi)。

上面的概率密度在“标准化”形式中定义。要转移和/或缩放分布,请使用locscale参数。具体来说,cosine.pdf(x, loc, scale)cosine.pdf(y) / scale是完全等效的,其中y = (x - loc) / scale。请注意,转移分布的位置并不使其成为“非中心”分布;某些分布的非中心广义化在单独的类中可用。

例子

>>> import numpy as np
>>> from scipy.stats import cosine
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> mean, var, skew, kurt = cosine.stats(moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(cosine.ppf(0.01),
...                 cosine.ppf(0.99), 100)
>>> ax.plot(x, cosine.pdf(x),
...        'r-', lw=5, alpha=0.6, label='cosine pdf') 

或者,可以调用(作为函数)分布对象以固定形状,位置和比例参数。这会返回一个持有给定参数固定的“冻结”RV 对象。

冻结分布并显示冻结的pdf

>>> rv = cosine()
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = cosine.ppf([0.001, 0.5, 0.999])
>>> np.allclose([0.001, 0.5, 0.999], cosine.cdf(vals))
True 

生成随机数:

>>> r = cosine.rvs(size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, loc=0, scale=1)概率密度函数。
logpdf(x, loc=0, scale=1)概率密度函数的对数。
cdf(x, loc=0, scale=1)累积分布函数。
logcdf(x, loc=0, scale=1)累积分布函数的对数。
sf(x, loc=0, scale=1)生存函数(也定义为1 - cdf,但是sf有时更准确)。
logsf(x, loc=0, scale=1)生存函数的对数。
ppf(q, loc=0, scale=1)百分点函数(cdf的反函数-百分位数)。
isf(q, loc=0, scale=1)逆生存函数(sf的反函数)。
moment(order, loc=0, scale=1)指定阶数的非中心矩。
stats(loc=0, scale=1, moments=’mv’)平均值(‘m’),方差(‘v’),偏度(‘s’)和/或峰度(‘k’)。
entropy(loc=0, scale=1)RV 的(微分)熵。
fit(data)一般数据的参数估计。详见scipy.stats.rv_continuous.fit以获取关键参数的详细文档。
**expect(func, args=(), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对分布的一个函数(一个参数的)的期望值。
median(loc=0, scale=1)分布的中位数。
mean(loc=0, scale=1)分布的均值。
var(loc=0, scale=1)分布的方差。
std(loc=0, scale=1)分布的标准差。
interval(confidence, loc=0, scale=1)中位数周围面积相等的置信区间。

scipy.stats.crystalball

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.crystalball.html#scipy.stats.crystalball

scipy.stats.crystalball = <scipy.stats._continuous_distns.crystalball_gen object>

Crystalball 分布

作为rv_continuous类的一个实例,crystalball对象从中继承了一组通用方法(请参阅下面的完整列表),并使用特定于此特定分布的细节来完成它们。

注意事项

crystalball的概率密度函数为:

[\begin{split}f(x, \beta, m) = \begin{cases} N \exp(-x² / 2), &\text{for } x > -\beta\ N A (B - x)^{-m} &\text{for } x \le -\beta \end{cases}\end{split}]

其中(A = (m / |\beta|)^m \exp(-\beta² / 2)),(B = m/|\beta| - |\beta|),(N)是一个归一化常数。

crystalball将(\beta > 0)和(m > 1)作为形状参数。(\beta)定义了 pdf 从幂律到高斯分布变化的点。(\ m)是幂律尾部的幂。

参考文献

[1]

“水晶球函数”,en.wikipedia.org/wiki/Crystal_Ball_function

上述概率密度在“标准化”形式中定义。要移动和/或缩放分布,请使用locscale参数。具体而言,crystalball.pdf(x, beta, m, loc, scale)等同于crystalball.pdf(y, beta, m) / scale,其中y = (x - loc) / scale。请注意,移动分布的位置并不会使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

版本 0.19.0 中的新功能。

示例

>>> import numpy as np
>>> from scipy.stats import crystalball
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> beta, m = 2, 3
>>> mean, var, skew, kurt = crystalball.stats(beta, m, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(crystalball.ppf(0.01, beta, m),
...                 crystalball.ppf(0.99, beta, m), 100)
>>> ax.plot(x, crystalball.pdf(x, beta, m),
...        'r-', lw=5, alpha=0.6, label='crystalball pdf') 

或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个保持给定参数固定的“冻结”RV 对象。

冻结分布并显示冻结的pdf

>>> rv = crystalball(beta, m)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = crystalball.ppf([0.001, 0.5, 0.999], beta, m)
>>> np.allclose([0.001, 0.5, 0.999], crystalball.cdf(vals, beta, m))
True 

生成随机数:

>>> r = crystalball.rvs(beta, m, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(beta, m, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, beta, m, loc=0, scale=1)概率密度函数。
logpdf(x, beta, m, loc=0, scale=1)概率密度函数的对数。
cdf(x, beta, m, loc=0, scale=1)累积分布函数。
logcdf(x, beta, m, loc=0, scale=1)累积分布函数的对数。
sf(x, beta, m, loc=0, scale=1)生存函数(也定义为1 - cdf,但sf有时更准确)。
logsf(x, beta, m, loc=0, scale=1)生存函数的对数。
ppf(q, beta, m, loc=0, scale=1)百分位点函数(cdf的逆函数——百分位数)。
isf(q, beta, m, loc=0, scale=1)逆生存函数(sf的逆函数)。
moment(order, beta, m, loc=0, scale=1)指定阶数的非中心矩。
stats(beta, m, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(beta, m, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见scipy.stats.rv_continuous.fit以获取关键字参数的详细文档。
**expect(func, args=(beta, m), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)关于分布的函数(一个参数)的期望值。
median(beta, m, loc=0, scale=1)分布的中位数。
mean(beta, m, loc=0, scale=1)分布的均值。
var(beta, m, loc=0, scale=1)分布的方差。
std(beta, m, loc=0, scale=1)分布的标准差。
interval(confidence, beta, m, loc=0, scale=1)中位数周围具有相等面积的置信区间。

scipy.stats.dgamma

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.dgamma.html#scipy.stats.dgamma

scipy.stats.dgamma = <scipy.stats._continuous_distns.dgamma_gen object>

双伽马连续随机变量。

双伽马分布也称为反射伽马分布[1]

作为rv_continuous类的一个实例,dgamma对象继承了一组通用方法(请参见下面的完整列表),并使用此特定分布的详细信息完成了这些方法。

注意

dgamma的概率密度函数为:

[f(x, a) = \frac{1}{2\Gamma(a)} |x|^{a-1} \exp(-|x|)]

对于实数(x)和(a > 0)。 (\Gamma)是伽马函数(scipy.special.gamma)。

dgamma以(a)为形状参数。

上述概率密度以“标准化”形式定义。 要移动和/或缩放分布,请使用locscale参数。 具体来说,dgamma.pdf(x, a, loc, scale)dgamma.pdf(y, a) / scale完全等价,其中y = (x - loc) / scale。 请注意,移动分布的位置不会使其成为“非中心”分布; 一些分布的非中心推广可在单独的类中获得。

参考文献

[1]

Johnson, Kotz, and Balakrishnan, “Continuous Univariate Distributions, Volume 1”, Second Edition, John Wiley and Sons (1994).

示例

>>> import numpy as np
>>> from scipy.stats import dgamma
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> a = 1.1
>>> mean, var, skew, kurt = dgamma.stats(a, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(dgamma.ppf(0.01, a),
...                 dgamma.ppf(0.99, a), 100)
>>> ax.plot(x, dgamma.pdf(x, a),
...        'r-', lw=5, alpha=0.6, label='dgamma pdf') 

或者,可以调用分布对象(作为函数),以固定形状、位置和比例参数。 这将返回一个“冻结”的 RV 对象,其中保持给定的参数固定。

冻结分布并显示冻结的pdf

>>> rv = dgamma(a)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = dgamma.ppf([0.001, 0.5, 0.999], a)
>>> np.allclose([0.001, 0.5, 0.999], dgamma.cdf(vals, a))
True 

生成随机数:

>>> r = dgamma.rvs(a, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(a, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, a, loc=0, scale=1)概率密度函数。
logpdf(x, a, loc=0, scale=1)概率密度函数的对数。
cdf(x, a, loc=0, scale=1)累积分布函数。
logcdf(x, a, loc=0, scale=1)累积分布函数的对数。
sf(x, a, loc=0, scale=1)生存函数(也被定义为1 - cdf,但sf有时更精确)。
logsf(x, a, loc=0, scale=1)生存函数的对数。
ppf(q, a, loc=0, scale=1)百分位点函数(cdf的反函数 — 百分位数)。
isf(q, a, loc=0, scale=1)逆生存函数(sf 的逆函数)。
moment(order, a, loc=0, scale=1)指定阶数的非中心矩。
stats(a, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、峰度(‘k’)。
entropy(a, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计值。详细文档请参阅 scipy.stats.rv_continuous.fit
**expect(func, args=(a,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对于分布的函数(一个参数)的期望值。
median(a, loc=0, scale=1)分布的中位数。
mean(a, loc=0, scale=1)分布的均值。
var(a, loc=0, scale=1)分布的方差。
std(a, loc=0, scale=1)分布的标准差。
interval(confidence, a, loc=0, scale=1)中位数周围等面积的置信区间。

scipy.stats.dweibull

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.dweibull.html#scipy.stats.dweibull

scipy.stats.dweibull = <scipy.stats._continuous_distns.dweibull_gen object>

双 Weibull 连续随机变量。

作为rv_continuous类的一个实例,dweibull对象从中继承了一系列通用方法(请参阅下面的完整列表),并使用此特定分布的细节来完成它们。

注意事项

dweibull的概率密度函数如下所示

[f(x, c) = c / 2 |x|^{c-1} \exp(-|x|^c)]

对于实数(x)和(c > 0)。

dweibullc作为形状参数(c)。

上述概率密度在“标准化”形式中定义。使用locscale参数可以移动和/或缩放分布。具体而言,dweibull.pdf(x, c, loc, scale)dweibull.pdf(y, c) / scale完全等价,其中y = (x - loc) / scale。请注意,移动分布的位置并不使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

示例

>>> import numpy as np
>>> from scipy.stats import dweibull
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> c = 2.07
>>> mean, var, skew, kurt = dweibull.stats(c, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(dweibull.ppf(0.01, c),
...                 dweibull.ppf(0.99, c), 100)
>>> ax.plot(x, dweibull.pdf(x, c),
...        'r-', lw=5, alpha=0.6, label='dweibull pdf') 

或者,可以调用(作为函数)分布对象来固定形状、位置和尺度参数。这将返回一个“冻结”的 RV 对象,保持给定的参数不变。

冻结分布并显示冻结的pdf

>>> rv = dweibull(c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = dweibull.ppf([0.001, 0.5, 0.999], c)
>>> np.allclose([0.001, 0.5, 0.999], dweibull.cdf(vals, c))
True 

生成随机数:

>>> r = dweibull.rvs(c, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(c, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, loc=0, scale=1)概率密度函数。
logpdf(x, c, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, loc=0, scale=1)累积分布函数。
logcdf(x, c, loc=0, scale=1)累积分布函数的对数。
sf(x, c, loc=0, scale=1)生存函数(也被定义为1 - cdf,但sf有时更精确)。
logsf(x, c, loc=0, scale=1)生存函数的对数。
ppf(q, c, loc=0, scale=1)百分位点函数(cdf的逆 —— 百分位数)。
isf(q, c, loc=0, scale=1)逆生存函数(sf的逆)。
moment(order, c, loc=0, scale=1)指定顺序的非中心矩。
stats(c, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(c, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见 scipy.stats.rv_continuous.fit
**expect(func, args=(c,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对分布的一个函数(一维)的期望值。
median(c, loc=0, scale=1)分布的中位数。
mean(c, loc=0, scale=1)分布的均值。
var(c, loc=0, scale=1)分布的方差。
std(c, loc=0, scale=1)分布的标准偏差。
interval(confidence, c, loc=0, scale=1)中位数周围面积相等的置信区间。

scipy.stats.erlang

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.erlang.html#scipy.stats.erlang

scipy.stats.erlang = <scipy.stats._continuous_distns.erlang_gen object>

一个 Erlang 连续随机变量。

作为rv_continuous类的一个实例,erlang对象继承了一组通用方法(下面详细列出),并以特定于此特定分布的详细信息补充它们。

另请参阅

gamma

注释

Erlang 分布是 Gamma 分布的特例,其中形状参数a为整数。请注意,erlang不强制此限制。但第一次使用非整数值作为形状参数时会生成警告。

参考gamma获取示例。

方法

rvs(a, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, a, loc=0, scale=1)概率密度函数。
logpdf(x, a, loc=0, scale=1)概率密度函数的对数。
cdf(x, a, loc=0, scale=1)累积分布函数。
logcdf(x, a, loc=0, scale=1)累积分布函数的对数。
sf(x, a, loc=0, scale=1)生存函数(也定义为 1 - cdf,但有时sf更准确)。
logsf(x, a, loc=0, scale=1)生存函数的对数。
ppf(q, a, loc=0, scale=1)百分位点函数(cdf的逆—百分位数)。
isf(q, a, loc=0, scale=1)逆生存函数(sf的逆)。
moment(order, a, loc=0, scale=1)指定阶数的非中心矩。
stats(a, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(a, loc=0, scale=1)随机变量的(微分)熵。
fit(data)用于通用数据的参数估计。参见scipy.stats.rv_continuous.fit获取关键字参数的详细文档。
**expect(func, args=(a,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)函数(一个参数的函数)关于分布的期望值。
median(a, loc=0, scale=1)分布的中位数。
mean(a, loc=0, scale=1)分布的均值。
var(a, loc=0, scale=1)分布的方差。
std(a, loc=0, scale=1)分布的标准差。
interval(confidence, a, loc=0, scale=1)等面积置信区间(围绕中位数)。

scipy.stats.expon

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.expon.html#scipy.stats.expon

scipy.stats.expon = <scipy.stats._continuous_distns.expon_gen object>

一个指数连续随机变量。

作为rv_continuous类的一个实例,expon对象从中继承了一组通用方法(下面列出了完整列表),并根据这个特定分布的细节完成了它们。

注释

expon的概率密度函数为:

[f(x) = \exp(-x)]

对于(x \ge 0)。

上述概率密度在“标准化”形式中定义。要移动和/或缩放分布,请使用locscale参数。具体来说,expon.pdf(x, loc, scale)expon.pdf(y) / scale完全等价,其中y = (x - loc) / scale。请注意,移动分布的位置并不会使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

expon的一个常见参数化是用速率参数lambda表示,使得pdf = lambda * exp(-lambda * x)。这种参数化对应于使用scale = 1 / lambda

指数分布是伽玛分布的一个特例,伽玛形状参数a = 1

示例

>>> import numpy as np
>>> from scipy.stats import expon
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> mean, var, skew, kurt = expon.stats(moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(expon.ppf(0.01),
...                 expon.ppf(0.99), 100)
>>> ax.plot(x, expon.pdf(x),
...        'r-', lw=5, alpha=0.6, label='expon pdf') 

或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个持有给定参数固定的“冻结”RV 对象。

冻结分布并显示冻结的pdf

>>> rv = expon()
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = expon.ppf([0.001, 0.5, 0.999])
>>> np.allclose([0.001, 0.5, 0.999], expon.cdf(vals))
True 

生成随机数:

>>> r = expon.rvs(size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, loc=0, scale=1)概率密度函数。
logpdf(x, loc=0, scale=1)概率密度函数的对数。
cdf(x, loc=0, scale=1)累积分布函数。
logcdf(x, loc=0, scale=1)累积分布函数的对数。
sf(x, loc=0, scale=1)生存函数(也定义为1 - cdf,但sf有时更准确)。
logsf(x, loc=0, scale=1)生存函数的对数。
ppf(q, loc=0, scale=1)百分位点函数(cdf的逆—百分位数)。
isf(q, loc=0, scale=1)逆生存函数(sf的逆)。
moment(order, loc=0, scale=1)指定阶数的非中心矩。
stats(loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(loc=0, scale=1)随机变量的(微分)熵。
fit(data)一般数据的参数估计。详细文档请参阅 scipy.stats.rv_continuous.fit
**expect(func, args=(), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对分布的函数(单参数)的期望值。
median(loc=0, scale=1)分布的中位数。
mean(loc=0, scale=1)分布的均值。
var(loc=0, scale=1)分布的方差。
std(loc=0, scale=1)分布的标准偏差。
interval(confidence, loc=0, scale=1)中位数周围面积相等的置信区间。

scipy.stats.exponnorm

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.exponnorm.html#scipy.stats.exponnorm

scipy.stats.exponnorm = <scipy.stats._continuous_distns.exponnorm_gen object>

一个指数修改的正态连续随机变量。

也被称为指数修改的高斯分布[1]

作为rv_continuous类的一个实例,exponnorm的对象继承了一系列通用方法(详见下文完整列表),并根据这个特定分布的细节进行了补充。

注意事项

exponnorm的概率密度函数为:

[f(x, K) = \frac{1}{2K} \exp\left(\frac{1}{2 K²} - x / K \right) \text{erfc}\left(-\frac{x - 1/K}{\sqrt{2}}\right)]

其中(x)是实数,而(K > 0)。

它可以被看作是一个标准正态随机变量和独立的速率为1/K的指数分布随机变量的和。

上面的概率密度定义了“标准化”形式。要进行位移和/或缩放分布,请使用locscale参数。具体而言,exponnorm.pdf(x, K, loc, scale)等同于exponnorm.pdf(y, K) / scale,其中y = (x - loc) / scale。请注意,对分布的位置进行位移并不会使它成为“非中心”分布;一些分布的非中心推广在单独的类中可用。

该分布的另一种参数化形式(例如,在维基百科文章[1]中)涉及三个参数,(\mu)、(\lambda)和(\sigma)。

在当前参数化中,这相当于使得locscale等于(\mu)和(\sigma),而形状参数(K = 1/(\sigma\lambda))。

自版本 0.16.0 新增。

参考文献

[1] (1,2)

指数修改的高斯分布,维基百科,en.wikipedia.org/wiki/Exponentially_modified_Gaussian_distribution

示例

>>> import numpy as np
>>> from scipy.stats import exponnorm
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> K = 1.5
>>> mean, var, skew, kurt = exponnorm.stats(K, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(exponnorm.ppf(0.01, K),
...                 exponnorm.ppf(0.99, K), 100)
>>> ax.plot(x, exponnorm.pdf(x, K),
...        'r-', lw=5, alpha=0.6, label='exponnorm pdf') 

或者,可以将分布对象作为函数调用,以固定形状、位置和比例参数。这将返回一个包含给定参数的“冻结”RV 对象。

冻结分布并显示冻结的pdf

>>> rv = exponnorm(K)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = exponnorm.ppf([0.001, 0.5, 0.999], K)
>>> np.allclose([0.001, 0.5, 0.999], exponnorm.cdf(vals, K))
True 

生成随机数:

>>> r = exponnorm.rvs(K, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(K, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, K, loc=0, scale=1)概率密度函数。
logpdf(x, K, loc=0, scale=1)概率密度函数的对数。
cdf(x, K, loc=0, scale=1)累积分布函数。
logcdf(x, K, loc=0, scale=1)累积分布函数的对数。
sf(x, K, loc=0, scale=1)生存函数(也定义为 1 - cdf,但 sf 有时更精确)。
logsf(x, K, loc=0, scale=1)生存函数的对数。
ppf(q, K, loc=0, scale=1)百分位点函数(cdf 的反函数 — 百分位数)。
isf(q, K, loc=0, scale=1)逆生存函数(sf 的反函数)。
moment(order, K, loc=0, scale=1)指定阶数的非中心矩。
stats(K, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(K, loc=0, scale=1)随机变量的(微分)熵。
fit(data)适用于一般数据的参数估计。详细文档请参阅 scipy.stats.rv_continuous.fit
**expect(func, args=(K,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)关于分布的函数(单参数)的期望值。
median(K, loc=0, scale=1)分布的中位数。
mean(K, loc=0, scale=1)分布的均值。
var(K, loc=0, scale=1)分布的方差。
std(K, loc=0, scale=1)分布的标准偏差。
interval(confidence, K, loc=0, scale=1)围绕中位数的等面积置信区间。

scipy.stats.exponweib

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.exponweib.html#scipy.stats.exponweib

scipy.stats.exponweib = <scipy.stats._continuous_distns.exponweib_gen object>

一个指数威布尔连续随机变量。

作为rv_continuous类的一个实例,exponweib 对象从中继承了一些通用方法(请参阅下文的完整列表),并完成了对这一特定分布的详细描述。

另请参阅

weibull_minnumpy.random.Generator.weibull

注意

exponweib 的概率密度函数为:

[f(x, a, c) = a c [1-\exp(-xc)]{a-1} \exp(-x^c) x^{c-1}]

其累积分布函数为:

[F(x, a, c) = [1-\exp(-xc)]a]

对于 (x > 0),(a > 0),(c > 0)。

exponweib 以 (a) 和 (c) 作为形状参数:

  • (a) 是指数化参数,特殊情况 (a=1) 对应于(非指数化)威布尔分布weibull_min

  • (c) 是非指数化威布尔定律的形状参数。

上述概率密度以“标准化”形式定义。要移动和/或缩放分布,请使用locscale参数。具体而言,exponweib.pdf(x, a, c, loc, scale)等效于exponweib.pdf(y, a, c) / scale,其中y = (x - loc) / scale。请注意,移动分布的位置不会使其成为“非中心”分布;某些分布的非中心推广在单独的类中提供。

参考资料

en.wikipedia.org/wiki/Exponentiated_Weibull_distribution

示例

>>> import numpy as np
>>> from scipy.stats import exponweib
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> a, c = 2.89, 1.95
>>> mean, var, skew, kurt = exponweib.stats(a, c, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(exponweib.ppf(0.01, a, c),
...                 exponweib.ppf(0.99, a, c), 100)
>>> ax.plot(x, exponweib.pdf(x, a, c),
...        'r-', lw=5, alpha=0.6, label='exponweib pdf') 

或者,可以将分布对象(作为函数)调用以固定形状、位置和比例参数。这将返回一个“冻结”RV 对象,其中给定的参数被固定。

冻结分布并显示冻结的 pdf

>>> rv = exponweib(a, c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查 cdfppf 的准确性:

>>> vals = exponweib.ppf([0.001, 0.5, 0.999], a, c)
>>> np.allclose([0.001, 0.5, 0.999], exponweib.cdf(vals, a, c))
True 

生成随机数:

>>> r = exponweib.rvs(a, c, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(a, c, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, a, c, loc=0, scale=1)概率密度函数。
logpdf(x, a, c, loc=0, scale=1)概率密度函数的对数。
cdf(x, a, c, loc=0, scale=1)累积分布函数。
logcdf(x, a, c, loc=0, scale=1)累积分布函数的对数。
sf(x, a, c, loc=0, scale=1)生存函数(也定义为 1 - cdf,但有时sf更准确)。
logsf(x, a, c, loc=0, scale=1)生存函数的对数。
ppf(q, a, c, loc=0, scale=1)百分位点函数(cdf的逆函数 — 百分位数)。
isf(q, a, c, loc=0, scale=1)逆生存函数(sf的逆函数)。
moment(order, a, c, loc=0, scale=1)指定阶数的非中心矩。
stats(a, c, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、峰度(‘k’)。
entropy(a, c, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参阅 scipy.stats.rv_continuous.fit
**expect(func, args=(a, c), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)关于分布的函数的期望值(一个参数)。
median(a, c, loc=0, scale=1)分布的中位数。
mean(a, c, loc=0, scale=1)分布的均值。
var(a, c, loc=0, scale=1)分布的方差。
std(a, c, loc=0, scale=1)分布的标准偏差。
interval(confidence, a, c, loc=0, scale=1)置信区间,围绕中位数具有相等的面积。

scipy.stats.exponpow

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.exponpow.html#scipy.stats.exponpow

scipy.stats.exponpow = <scipy.stats._continuous_distns.exponpow_gen object>

一个指数幂连续随机变量。

作为rv_continuous类的一个实例,exponpow对象继承了其中一系列通用方法(下面有完整列表),并使用特定于这个特定分布的细节完成它们。

注意

对于exponpow的概率密度函数为:

[f(x, b) = b x^{b-1} \exp(1 + x^b - \exp(x^b))]

对于(x \ge 0),(b > 0)。注意,这是与指数幂分布不同的另一种分布,该分布也以“广义正态”或“广义高斯”而闻名。

exponpowb 作为形状参数。

上述概率密度以“标准化”形式定义。要移动和/或缩放分布,请使用 locscale 参数。具体而言,exponpow.pdf(x, b, loc, scale) 等同于 exponpow.pdf(y, b) / scale,其中 y = (x - loc) / scale。请注意,移动分布的位置并不会使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

参考文献

www.math.wm.edu/~leemis/chart/UDR/PDFs/Exponentialpower.pdf

示例

>>> import numpy as np
>>> from scipy.stats import exponpow
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个时刻:

>>> b = 2.7
>>> mean, var, skew, kurt = exponpow.stats(b, moments='mvsk') 

显示概率密度函数 (pdf):

>>> x = np.linspace(exponpow.ppf(0.01, b),
...                 exponpow.ppf(0.99, b), 100)
>>> ax.plot(x, exponpow.pdf(x, b),
...        'r-', lw=5, alpha=0.6, label='exponpow pdf') 

或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这会返回一个“冻结”RV 对象,其中给定的参数被固定。

冻结分布并显示冻结的 pdf

>>> rv = exponpow(b)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查 cdfppf 的准确性:

>>> vals = exponpow.ppf([0.001, 0.5, 0.999], b)
>>> np.allclose([0.001, 0.5, 0.999], exponpow.cdf(vals, b))
True 

生成随机数:

>>> r = exponpow.rvs(b, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(b, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, b, loc=0, scale=1)概率密度函数。
logpdf(x, b, loc=0, scale=1)概率密度函数的对数。
cdf(x, b, loc=0, scale=1)累积分布函数。
logcdf(x, b, loc=0, scale=1)累积分布函数的对数。
sf(x, b, loc=0, scale=1)生存函数(也定义为 1 - cdf,但 sf 有时更准确)。
logsf(x, b, loc=0, scale=1)生存函数的对数。
ppf(q, b, loc=0, scale=1)百分位点函数(cdf 的反函数 —— 百分位数)。
isf(q, b, loc=0, scale=1)生存函数的反函数(sf 的反函数)。
moment(order, b, loc=0, scale=1)指定阶数的非中心矩。
stats(b, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)和/或峰度(‘k’)。
entropy(b, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见scipy.stats.rv_continuous.fit
**expect(func, args=(b,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)关于分布的函数(一个参数)的期望值。
median(b, loc=0, scale=1)分布的中位数。
mean(b, loc=0, scale=1)分布的均值。
var(b, loc=0, scale=1)分布的方差。
std(b, loc=0, scale=1)分布的标准差。
interval(confidence, b, loc=0, scale=1)中位数周围具有相等面积的置信区间。

scipy.stats.f

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.f.html#scipy.stats.f

scipy.stats.f = <scipy.stats._continuous_distns.f_gen object>

一个连续 F 随机变量。

非中心 F 分布,请参见 ncf

作为 rv_continuous 类的一个实例,f 对象从该类继承了一系列通用方法(详见下文的完整列表),并以特定于该特定分布的细节完成它们。

另请参阅

ncf

注意

具有(df_1 > 0) 和 (df_2 > 0) 自由度的 F 分布是两个独立的卡方分布(自由度分别为 (df_1) 和 (df_2))比值的分布,通过 (df_2 / df_1) 重新缩放后得到。

f 的概率密度函数为:

[f(x, df_1, df_2) = \frac{df_2^{df_2/2} df_1^{df_1/2} x^{df_1 / 2-1}} {(df_2+df_1 x)^{(df_1+df_2)/2} B(df_1/2, df_2/2)}]

对于 (x > 0)。

f 接受形状参数 dfndfd 作为 (df_1),分子中的卡方分布自由度,以及 (df_2),分母中的卡方分布自由度。

上述的概率密度在“标准化”形式中定义。要改变分布的位置和/或比例,请使用 locscale 参数。具体而言,f.pdf(x, dfn, dfd, loc, scale)y = (x - loc) / scale 时等价于 f.pdf(y, dfn, dfd) / scale。请注意,将分布的位置偏移并不使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

示例

>>> import numpy as np
>>> from scipy.stats import f
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> dfn, dfd = 29, 18
>>> mean, var, skew, kurt = f.stats(dfn, dfd, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(f.ppf(0.01, dfn, dfd),
...                 f.ppf(0.99, dfn, dfd), 100)
>>> ax.plot(x, f.pdf(x, dfn, dfd),
...        'r-', lw=5, alpha=0.6, label='f pdf') 

或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个“冻结”的 RV 对象,保持给定参数不变。

冻结分布并显示冻结的 pdf

>>> rv = f(dfn, dfd)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf 的准确性:

>>> vals = f.ppf([0.001, 0.5, 0.999], dfn, dfd)
>>> np.allclose([0.001, 0.5, 0.999], f.cdf(vals, dfn, dfd))
True 

生成随机数:

>>> r = f.rvs(dfn, dfd, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(dfn, dfd, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, dfn, dfd, loc=0, scale=1)概率密度函数。
logpdf(x, dfn, dfd, loc=0, scale=1)概率密度函数的对数。
cdf(x, dfn, dfd, loc=0, scale=1)累积分布函数。
logcdf(x, dfn, dfd, loc=0, scale=1)累积分布函数的对数。
sf(x, dfn, dfd, loc=0, scale=1)生存函数(也被定义为1 - cdf,但sf有时更准确)。
logsf(x, dfn, dfd, loc=0, scale=1)生存函数的对数。
ppf(q, dfn, dfd, loc=0, scale=1)百分点函数(cdf的反函数 — 百分位数)。
isf(q, dfn, dfd, loc=0, scale=1)逆生存函数(sf的反函数)。
moment(order, dfn, dfd, loc=0, scale=1)指定阶数的非中心矩。
stats(dfn, dfd, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、以及/或峰度(‘k’)。
entropy(dfn, dfd, loc=0, scale=1)随机变量的(微分)熵。
fit(data)适用于通用数据的参数估计。详细文档请参阅scipy.stats.rv_continuous.fit
**expect(func, args=(dfn, dfd), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)关于分布的函数期望值(一个参数的函数)。
median(dfn, dfd, loc=0, scale=1)分布的中位数。
mean(dfn, dfd, loc=0, scale=1)分布的均值。
var(dfn, dfd, loc=0, scale=1)分布的方差。
std(dfn, dfd, loc=0, scale=1)分布的标准差。
interval(confidence, dfn, dfd, loc=0, scale=1)中位数周围面积相等的置信区间。

scipy.stats.fatiguelife

原文:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.fatiguelife.html#scipy.stats.fatiguelife

scipy.stats.fatiguelife = <scipy.stats._continuous_distns.fatiguelife_gen object>

一个疲劳寿命(Birnbaum-Saunders)连续随机变量。

作为 rv_continuous 类的一个实例,fatiguelife 对象继承了一组通用方法(下面列出了完整列表),并使用特定于该特定分布的细节来完成它们。

注意事项

对于 fatiguelife 的概率密度函数如下:

[f(x, c) = \frac{x+1}{2c\sqrt{2\pi x³}} \exp(-\frac{(x-1)²}{2x c²})]

对于 (x \geq 0) 和 (c > 0)。

fatiguelifec 作为形状参数(c)。

上述概率密度在“标准化”形式中定义。要移动和/或缩放分布,请使用 locscale 参数。具体而言,fatiguelife.pdf(x, c, loc, scale)fatiguelife.pdf(y, c) / scale 是等价的,其中 y = (x - loc) / scale。请注意,移动分布的位置并不使其成为“非中心”分布;某些分布的非中心泛化在单独的类中可用。

参考文献

[1]

“Birnbaum-Saunders 分布”,en.wikipedia.org/wiki/Birnbaum-Saunders_distribution

示例

>>> import numpy as np
>>> from scipy.stats import fatiguelife
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> c = 29
>>> mean, var, skew, kurt = fatiguelife.stats(c, moments='mvsk') 

显示概率密度函数 (pdf):

>>> x = np.linspace(fatiguelife.ppf(0.01, c),
...                 fatiguelife.ppf(0.99, c), 100)
>>> ax.plot(x, fatiguelife.pdf(x, c),
...        'r-', lw=5, alpha=0.6, label='fatiguelife pdf') 

或者,可以通过调用分布对象(作为函数)来固定形状、位置和比例参数。这会返回一个“冻结”的随机变量对象,保持给定的参数不变。

冻结分布并显示冻结的 pdf

>>> rv = fatiguelife(c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = fatiguelife.ppf([0.001, 0.5, 0.999], c)
>>> np.allclose([0.001, 0.5, 0.999], fatiguelife.cdf(vals, c))
True 

生成随机数:

>>> r = fatiguelife.rvs(c, size=1000) 

然后比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(c, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, loc=0, scale=1)概率密度函数。
logpdf(x, c, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, loc=0, scale=1)累积分布函数。
logcdf(x, c, loc=0, scale=1)累积分布函数的对数。
sf(x, c, loc=0, scale=1)生存函数(也定义为 1 - cdf,但 sf 有时更精确)。
logsf(x, c, loc=0, scale=1)生存函数的对数。
ppf(q, c, loc=0, scale=1)百分位点函数(cdf 的反函数 — 百分位数)。
isf(q, c, loc=0, scale=1)逆生存函数(sf的逆)。
moment(order, c, loc=0, scale=1)指定阶数的非中心矩。
stats(c, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、以及/或峰度(‘k’)。
entropy(c, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见 scipy.stats.rv_continuous.fit
**expect(func, args=(c,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)关于分布的函数(单个参数)的期望值。
median(c, loc=0, scale=1)分布的中位数。
mean(c, loc=0, scale=1)分布的均值。
var(c, loc=0, scale=1)分布的方差。
std(c, loc=0, scale=1)分布的标准差。
interval(confidence, c, loc=0, scale=1)置信区间,围绕中位数具有相等的区域。

scipy.stats.fisk

原文链接:docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.stats.fisk.html#scipy.stats.fisk

scipy.stats.fisk = <scipy.stats._continuous_distns.fisk_gen object>

Fisk 连续随机变量。

Fisk 分布也称为对数逻辑分布。

作为rv_continuous类的一个实例,fisk对象继承了一组通用方法(请参见下面的完整列表),并补充了特定于此特定分布的详细信息。

另见

burr

注释

fisk的概率密度函数为:

[f(x, c) = \frac{c x^{c-1}} {(1 + x^c)²}]

对于(x \geq 0)和(c > 0)。

请注意,上述表达式可以转换为以下常用形式:

[f(x, c) = \frac{c x^{-c-1}} {(1 + x^{-c})²}]

fiskc作为形状参数(c)。

fisk是具有d=1burrburr12的特例。

假设X是具有位置l和比例s的逻辑随机变量。那么Y = exp(X)是一个 Fisk(对数逻辑)随机变量,其scale = exp(l)和形状c = 1/s

上述概率密度在“标准化”形式下定义。使用locscale参数来进行分布的移位和/或缩放。具体而言,fisk.pdf(x, c, loc, scale)fisk.pdf(y, c) / scale等价,其中y = (x - loc) / scale。请注意,改变分布的位置并不会使其成为“非中心”分布;某些分布的非中心推广可在单独的类中找到。

示例

>>> import numpy as np
>>> from scipy.stats import fisk
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1) 

计算前四个矩:

>>> c = 3.09
>>> mean, var, skew, kurt = fisk.stats(c, moments='mvsk') 

显示概率密度函数(pdf):

>>> x = np.linspace(fisk.ppf(0.01, c),
...                 fisk.ppf(0.99, c), 100)
>>> ax.plot(x, fisk.pdf(x, c),
...        'r-', lw=5, alpha=0.6, label='fisk pdf') 

或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个“冻结”的随机变量对象,其中给定的参数被固定。

冻结分布并显示冻结的pdf

>>> rv = fisk(c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = fisk.ppf([0.001, 0.5, 0.999], c)
>>> np.allclose([0.001, 0.5, 0.999], fisk.cdf(vals, c))
True 

生成随机数:

>>> r = fisk.rvs(c, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方法

rvs(c, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, loc=0, scale=1)概率密度函数。
logpdf(x, c, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, loc=0, scale=1)累积分布函数。
logcdf(x, c, loc=0, scale=1)累积分布函数的对数。
sf(x, c, loc=0, scale=1)生存函数(也被定义为1 - cdf,但sf有时更精确)。
logsf(x, c, loc=0, scale=1)生存函数的对数。
ppf(q, c, loc=0, scale=1)百分点函数(cdf的逆函数 — 百分位数)。
isf(q, c, loc=0, scale=1)逆生存函数(sf的逆函数)。
moment(order, c, loc=0, scale=1)指定阶数的非中心矩。
stats(c, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、峰度(‘k’)。
entropy(c, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见scipy.stats.rv_continuous.fit
**expect(func, args=(c,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对分布的一个参数函数的期望值。
median(c, loc=0, scale=1)分布的中位数。
mean(c, loc=0, scale=1)分布的均值。
var(c, loc=0, scale=1)分布的方差。
std(c, loc=0, scale=1)分布的标准偏差。
interval(confidence, c, loc=0, scale=1)置信区间,围绕中位数的面积相等。
fisk.ppf(0.01, c),
… fisk.ppf(0.99, c), 100)

ax.plot(x, fisk.pdf(x, c),
… ‘r-’, lw=5, alpha=0.6, label=‘fisk pdf’)


或者,可以调用分布对象(作为函数)来固定形状、位置和比例参数。这将返回一个“冻结”的随机变量对象,其中给定的参数被固定。

冻结分布并显示冻结的`pdf`:

```py
>>> rv = fisk(c)
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf') 

检查cdfppf的准确性:

>>> vals = fisk.ppf([0.001, 0.5, 0.999], c)
>>> np.allclose([0.001, 0.5, 0.999], fisk.cdf(vals, c))
True 

生成随机数:

>>> r = fisk.rvs(c, size=1000) 

并比较直方图:

>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2)
>>> ax.set_xlim([x[0], x[-1]])
>>> ax.legend(loc='best', frameon=False)
>>> plt.show() 

[外链图片转存中…(img-gPXXnJqN-1719715321256)]

方法

rvs(c, loc=0, scale=1, size=1, random_state=None)随机变量。
pdf(x, c, loc=0, scale=1)概率密度函数。
logpdf(x, c, loc=0, scale=1)概率密度函数的对数。
cdf(x, c, loc=0, scale=1)累积分布函数。
logcdf(x, c, loc=0, scale=1)累积分布函数的对数。
sf(x, c, loc=0, scale=1)生存函数(也被定义为1 - cdf,但sf有时更精确)。
logsf(x, c, loc=0, scale=1)生存函数的对数。
ppf(q, c, loc=0, scale=1)百分点函数(cdf的逆函数 — 百分位数)。
isf(q, c, loc=0, scale=1)逆生存函数(sf的逆函数)。
moment(order, c, loc=0, scale=1)指定阶数的非中心矩。
stats(c, loc=0, scale=1, moments=’mv’)均值(‘m’)、方差(‘v’)、偏度(‘s’)、峰度(‘k’)。
entropy(c, loc=0, scale=1)随机变量的(微分)熵。
fit(data)通用数据的参数估计。详细文档请参见scipy.stats.rv_continuous.fit
**expect(func, args=(c,), loc=0, scale=1, lb=None, ub=None, conditional=False, kwds)对分布的一个参数函数的期望值。
median(c, loc=0, scale=1)分布的中位数。
mean(c, loc=0, scale=1)分布的均值。
var(c, loc=0, scale=1)分布的方差。
std(c, loc=0, scale=1)分布的标准偏差。
interval(confidence, c, loc=0, scale=1)置信区间,围绕中位数的面积相等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值