Skip to main content
`Ctrl`+`K`

# scipy.stats.yeojohnson_normmax

scipy.stats.yeojohnson_normmax(x, brack=None)

  Compute optimal Yeo-Johnson transform parameter.

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

  Parameters:
    x array_like

      Input array.

    brack 2-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:
    maxlog float

      The optimal transform parameter found.

  See also

  `yeojohnson`, `yeojohnson_llf`, `yeojohnson_normplot`

  Notes

  New 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()