scipy.stats.yeojohnson_normplot¶
- scipy.stats.yeojohnson_normplot(x, la, lb, plot=None, N=80)[源代码]¶
计算YEO-JONSON正态图的参数,有选择地显示它。
Yeo-Johnson正态图以图形方式显示了在中使用的最佳变换参数
yeojohnson
获得接近正态的分布。- 参数
- xarray_like
输入数组。
- 1a,lb标量
属性的下界和上界。
lmbda
要传递到的值yeojohnson
用于YEO-JONSON变换。如果生成绘图,这些也是水平轴的限制。- plot对象,可选
如果给定,则绘制分位数和最小二乘拟合。 plot 是一个必须具有“Plot”和“Text”方法的对象。这个
matplotlib.pyplot
可以使用模块或Matplotlib轴对象,也可以使用具有相同方法的自定义对象。默认值为None,这意味着不会创建绘图。- N整型,可选
水平轴上的点数(均匀分布于 la 至 lb )。
- 退货
- lmbdasndarray
这个
lmbda
对其执行Yeo-Johnson变换的值。- ppccndarray
概率图相关系数,从
probplot
拟合Box-Cox变换输入时 x 而不是正态分布。
注意事项
即使 plot ,则不会显示或保存该图形。
boxcox_normplot
;plt.show()
或plt.savefig('figname.png')
应在调用probplot
。1.2.0 新版功能.
示例
>>> from scipy import stats >>> import matplotlib.pyplot as plt
生成一些非正态分布的数据,并创建Yeo-Johnson图:
>>> x = stats.loggamma.rvs(5, size=500) + 5 >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> prob = stats.yeojohnson_normplot(x, -20, 20, plot=ax)
确定并绘制最优的
lmbda
转型x
并把它画在同一张图上:>>> _, maxlog = stats.yeojohnson(x) >>> ax.axvline(maxlog, color='r')
>>> plt.show()