def METHOD_NAME(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.  # add 1 back to it
    de_exp = numer ** (1. / lam1)  # de-exponentiate
    return de_exp - lam2, exog