scipy.stats.
ppcc_max#
- scipy.stats.ppcc_max(x, brack=(0.0, 1.0), dist='tukeylambda')[source]#
计算最大化 PPCC 的形状参数。
概率图相关系数 (PPCC) 图可用于确定一参数分布族的最佳形状参数。
ppcc_max
返回在指定数据的一参数分布族中,能够最大化概率图相关系数的形状参数。- 参数:
- xarray_like
输入数组。
- brack元组,可选
三元组 (a、b、c),其中 (a<b<c)。如果支架由两个数字 (a, c) 组成,则假定它们是下坡支架搜索的起始区间(参见
scipy.optimize.brent
)。- diststr 或 stats.distributions 实例,可选
分布或分布函数名称。与 stats.distributions 实例十分相似的对象(即,具有
ppf
方法)也是可以接受的。默认值为'tukeylambda'
。
- 返回:
- shape_valuefloat
概率图相关系数达到最大值时的形状参数。
注释
brack 关键字用作很有用的一些特殊情况的起点。我们可以使用一个图来获取一个粗略的可视估计,以开始在最大值附近进行搜索。
参考
[1]J.J. Filliben,“检验正态性的概率图相关系数测试”,Technometrics,第 17 卷,第 111-117 页,1975 年。
[2]工程统计手册,NIST/SEMATEC,https://www.itl.nist.gov/div898/handbook/eda/section3/ppccplot.htm
示例
首先,我们从具有形状参数 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)
使用 Weibull 分布为该数据生成 PPCC 图。
>>> fig, ax = plt.subplots(figsize=(8, 6)) >>> res = stats.ppcc_plot(x, c/2, 2*c, dist='weibull_min', plot=ax)
我们计算形状达到其最大值的临界值,并在那里绘制一条红线。这条线应与 PPCC 图中的最高点重合。
>>> cmax = stats.ppcc_max(x, brack=(c/2, 2*c), dist='weibull_min') >>> ax.axvline(cmax, color='r') >>> plt.show()