class_docstr: Apply the Box-Cox transformation to an endogenous array
  
  The Box-Cox transformation is applied to non-normal data to coerce it more
  towards a normal distribution. It's specified as::
  
      (((y + lam2) ** lam1) - 1) / lam1, if lmbda != 0, else
      log(y + lam2)
  
  Parameters
  ----------
  lmbda : float or None, optional (default=None)
      The lambda value for the Box-Cox transformation, if known. If not
      specified, it will be estimated via MLE.
  
  lmbda2 : float, optional (default=0.)
      The value to add to ``y`` to make it non-negative. If, after adding
      ``lmbda2``, there are still negative values, a ValueError will be
      raised.
  
  neg_action : str, optional (default="raise")
      How to respond if any values in ``y <= 0`` after adding ``lmbda2``.
      One of ('raise', 'warn', 'ignore'). If anything other than 'raise',
      values <= 0 will be truncated to the value of ``floor``.
  
  floor : float, optional (default=1e-16)
      A positive value that truncate values to if there are values in ``y``
      that are zero or negative and ``neg_action`` is not 'raise'. Note that
      if values are truncated, invertibility will not be preserved, and the
      transformed array may not be perfectly inverse-transformed.
class_docstr_tok: ["Apply","the","Box-Cox","transformation","to","an","endogenous","array","The","Box-Cox","transformation","is","applied","to","non-normal","data","to","coerce","it","more","towards","a","normal","distribution",".","It","'s","specified","as",":",":","(","(","(","y","+","lam2",")","*","*","lam1",")","-","1",")","\/","lam1",",","if","lmbda","!","=","0",",","else","log","(","y","+","lam2",")","Parameters","--","--","--","--","--","lmbda",":","float","or","None",",","optional","(","default=None",")","The","lambda","value","for","the","Box-Cox","transformation",",","if","known",".","If","not","specified",",","it","will","be","estimated","via","MLE",".","lmbda2",":","float",",","optional","(","default=0",".",")","The","value","to","add","to","``","y","``","to","make","it","non-negative",".","If",",","after","adding","``","lmbda2","``",",","there","are","still","negative","values",",","a","ValueError","will","be","raised",".","neg_action",":","str",",","optional","(","default=","''","raise","''",")","How","to","respond","if","any","values","in","``","y","<","=","0","``","after","adding","``","lmbda2","``",".","One","of","(","'raise","'",",","'warn","'",",","'ignore","'",")",".","If","anything","other","than","'raise","'",",","values","<","=","0","will","be","truncated","to","the","value","of","``","floor","``",".","floor",":","float",",","optional","(","default=1e-16",")","A","positive","value","that","truncate","values","to","if","there","are","values","in","``","y","``","that","are","zero","or","negative","and","``","neg_action","``","is","not","'raise","'",".","Note","that","if","values","are","truncated",",","invertibility","will","not","be","preserved",",","and","the","transformed","array","may","not","be","perfectly","inverse-transformed","."]
docstr: Inverse transform a transformed array
  
  Inverse the Box-Cox transformation on the transformed array. Note that
  if truncation happened in the ``transform`` method, invertibility will
  not be preserved, and the transformed array may not be perfectly
  inverse-transformed.
  
  Parameters
  ----------
  y : array-like or None, shape=(n_samples,)
      The transformed endogenous (time-series) array.
  
  X : array-like or None, shape=(n_samples, n_features), optional
      The exogenous array of additional covariates. Not used for
      endogenous transformers. Default is None, and non-None values will
      serve as pass-through arrays.
  
  Returns
  -------
  y : array-like or None
      The inverse-transformed y array
  
  X : array-like or None
      The inverse-transformed X array
docstr_tok: ["Inverse","transform","a","transformed","array","Inverse","the","Box-Cox","transformation","on","the","transformed","array",".","Note","that","if","truncation","happened","in","the","``","transform","``","method",",","invertibility","will","not","be","preserved",",","and","the","transformed","array","may","not","be","perfectly","inverse-transformed",".","Parameters","--","--","--","--","--","y",":","array-like","or","None",",","shape=","(","n_samples",",",")","The","transformed","endogenous","(","time-series",")","array",".","X",":","array-like","or","None",",","shape=","(","n_samples",",","n_features",")",",","optional","The","exogenous","array","of","additional","covariates",".","Not","used","for","endogenous","transformers",".","Default","is","None",",","and","non-None","values","will","serve","as","pass-through","arrays",".","Returns","--","--","--","-","y",":","array-like","or","None","The","inverse-transformed","y","array","X",":","array-like","or","None","The","inverse-transformed","X","array"]
code: def inverse_transform(self, y, X=None):
      """Inverse transform a transformed array
  
      Inverse the Box-Cox transformation on the transformed array. Note that
      if truncation happened in the ``transform`` method, invertibility will
      not be preserved, and the transformed array may not be perfectly
      inverse-transformed.
  
      Parameters
      ----------
      y : array-like or None, shape=(n_samples,)
          The transformed endogenous (time-series) array.
  
      X : array-like or None, shape=(n_samples, n_features), optional
          The exogenous array of additional covariates. Not used for
          endogenous transformers. Default is None, and non-None values will
          serve as pass-through arrays.
  
      Returns
      -------
      y : array-like or None
          The inverse-transformed y array
  
      X : array-like or None
          The inverse-transformed X array
      """
      check_is_fitted(self, "lam1_")
  
      lam1 = self.lam1_
      lam2 = self.lam2_
  
      y, exog = self._check_y_X(y, X)
      if lam1 == 0:
          return np.exp(y) - lam2, exog
  
      numer = y * lam1  # remove denominator
      numer += 1.0  # add 1 back to it
      de_exp = numer ** (1.0 / lam1)  # de-exponentiate
      return de_exp - lam2, exog
  
file_path: pmdarima/pmdarima/preprocessing/endog/boxcox.py
imports: from scipy import stats
  import numpy
  import warnings
  from ...compat import check_is_fitted
  from .base import BaseEndogTransformer
label_desc: Use image node_id 4 for calling the BoxCoxEndogTransformer obj's underlying member method code with example usage: obj.inverse_transform(y, X) and returns: unknown,  exog, unknown,  exog