scipy.stats.yeojohnson_normmax#

scipy.stats.yeojohnson_normmax(x, brack=None)[source]#

Compute optimal Yeo-Johnson transform parameter.

Compute optimal Yeo-Johnson transform parameter for input data, using maximum likelihood estimation.

Parameters:
xarray_like

Input array.

brack2-tuple, optional

The starting interval for a downhill bracket search with optimize.brent. Note that this is in most cases not critical; the final result is allowed to be outside this bracket. If None, optimize.fminbound is used with bounds that avoid overflow.

Returns:
maxlogfloat

The optimal transform parameter found.

Notes

Added in version 1.2.0.

Examples

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

Generate some data and determine optimal lmbda

>>> rng = np.random.default_rng()
>>> x = stats.loggamma.rvs(5, size=30, random_state=rng) + 5
>>> lmax = stats.yeojohnson_normmax(x)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> prob = stats.yeojohnson_normplot(x, -10, 10, plot=ax)
>>> ax.axvline(lmax, color='r')
>>> plt.show()
../../_images/scipy-stats-yeojohnson_normmax-1.png