当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.ppcc_plot用法及代码示例


本文简要介绍 python 语言中 scipy.stats.ppcc_plot 的用法。

用法:

scipy.stats.ppcc_plot(x, a, b, dist='tukeylambda', plot=None, N=80)#

计算并可选地绘制概率图相关系数。

概率图相关系数 (PPCC) 图可用于确定单参数分布族的最佳形状参数。它不能用于没有形状参数的分布(如正态分布)或具有多个形状参数的分布。

默认情况下使用 Tukey-Lambda 分布 (stats.tukeylambda)。 Tukey-Lambda PPCC 图通过近似正态分布从长尾分布插值到 short-tailed 分布,因此在实践中特别有用。

参数

x array_like

输入数组。

a, b 标量

要使用的形状参数的下限和上限。

dist str 或 stats.distributions 实例,可选

分布或分布函数名称。看起来足够像 stats.distributions 实例的对象(即它们具有 ppf 方法)也被接受。默认为 'tukeylambda'

plot 对象,可选

如果给定,则根据形状参数绘制 PPCC。阴谋是一个必须具有方法 “plot” 和 “text” 的对象。这matplotlib.pyplot可以使用模块或 Matplotlib Axes 对象,或具有相同方法的自定义对象。默认为无,这意味着不创建绘图。

N 整数,可选

水平轴上的点数(从 a 到 b 均匀分布)。

返回

svals ndarray

计算 ppcc 的形状值。

ppcc ndarray

计算出的概率图相关系数值。

参考

J.J. Filliben,“正态性概率图相关系数检验”,技术计量学,卷。 17,第 111-117 页,1975 年。

例子

首先,我们从形状参数为 2.5 的 Weibull 分布生成一些随机数据,并绘制数据的直方图:

>>> import numpy as np
>>> from scipy import stats
>>> import matplotlib.pyplot as plt
>>> rng = np.random.default_rng()
>>> c = 2.5
>>> x = stats.weibull_min.rvs(c, scale=4, size=2000, random_state=rng)

看一下数据的直方图。

>>> fig1, ax = plt.subplots(figsize=(9, 4))
>>> ax.hist(x, bins=50)
>>> ax.set_title('Histogram of x')
>>> plt.show()
scipy-stats-ppcc_plot-1_00_00.png

现在我们使用 PPCC 图以及相关的概率图和Box-Cox normplot 来探索这些数据。在我们期望 PPCC 值最大的地方画了一条红线(在上面使用的形状参数 c 处):

>>> fig2 = plt.figure(figsize=(12, 4))
>>> ax1 = fig2.add_subplot(1, 3, 1)
>>> ax2 = fig2.add_subplot(1, 3, 2)
>>> ax3 = fig2.add_subplot(1, 3, 3)
>>> res = stats.probplot(x, plot=ax1)
>>> res = stats.boxcox_normplot(x, -4, 4, plot=ax2)
>>> res = stats.ppcc_plot(x, c/2, 2*c, dist='weibull_min', plot=ax3)
>>> ax3.axvline(c, color='r')
>>> plt.show()
scipy-stats-ppcc_plot-1_01_00.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.ppcc_plot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。