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.
See also
Notes
Added in version 1.2.0.
yeojohnson_normmax
has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1
and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
⛔
PyTorch
⛔
⛔
JAX
⛔
⛔
Dask
⛔
n/a
See Support for the array API standard for more information.
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()