def METHOD_NAME(self, X, y=None):
    """Inverse transform, inverse operation to transform.
    private _inverse_transform containing core logic, called from inverse_transform
    Parameters
    ----------
    X : 2D np.ndarray
        Data to be inverse transformed
    y : Series or Panel of mtype y_inner_mtype, optional (default=None)
        Ignored argument for interface compatibility
    Returns
    -------
    inverse transformed version of X
    """
    if self.upper_bound and self.lower_bound:
        X_inv_transformed = (self.upper_bound * np.exp(X) + self.lower_bound) / (
            np.exp(X) + 1
        )
    elif self.upper_bound is not None:
        X_inv_transformed = self.upper_bound - np.exp(-X)
    elif self.lower_bound is not None:
        X_inv_transformed = np.exp(X) + self.lower_bound
    else:
        X_inv_transformed = deepcopy(X)
    return X_inv_transformed