scipy.stats.boxcox_normplot

scipy.stats.boxcox_normplot(x, la, lb, plot=None, N=80)[源代码]

计算Box-Cox正态图的参数,可以选择显示它。

Box-Cox正态图以图形方式显示了要在中使用的最佳变换参数 boxcox 获得接近正态的分布。

参数
xarray_like

输入数组。

1a,lb标量

属性的下界和上界。 lmbda 要传递到的值 boxcox 用于Box-Cox变换。如果生成绘图,这些也是水平轴的限制。

plot对象,可选

如果给定,则绘制分位数和最小二乘拟合。 plot 是一个必须具有“Plot”和“Text”方法的对象。这个 matplotlib.pyplot 可以使用模块或Matplotlib轴对象,也可以使用具有相同方法的自定义对象。默认值为None,这意味着不会创建绘图。

N整型,可选

水平轴上的点数(均匀分布于 lalb )。

退货
lmbdasndarray

这个 lmbda 对其执行Box-Cox变换的值。

ppccndarray

概率图相关系数,从 probplot 拟合Box-Cox变换输入时 x 而不是正态分布。

注意事项

即使 plot ,则不会显示或保存该图形。 boxcox_normplotplt.show()plt.savefig('figname.png') 应在调用 probplot

示例

>>> from scipy import stats
>>> import matplotlib.pyplot as plt

生成一些非正态分布的数据,并创建Box-Cox图:

>>> x = stats.loggamma.rvs(5, size=500) + 5
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> prob = stats.boxcox_normplot(x, -20, 20, plot=ax)

确定并绘制最优的 lmbda 转型 x 并把它画在同一张图上:

>>> _, maxlog = stats.boxcox(x)
>>> ax.axvline(maxlog, color='r')
>>> plt.show()
../../_images/scipy-stats-boxcox_normplot-1.png