Files
2025-08-01 04:33:03 -04:00

42 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
import abc
from ..base import BaseTransformer
class BaseEndogTransformer(BaseTransformer, metaclass=abc.ABCMeta):
"""A base class for endogenous array transformers"""
def _check_y_X(self, y, X):
"""Check the endog and exog arrays"""
y, X = super(BaseEndogTransformer, self)._check_y_X(y, X)
if y is None:
raise ValueError("y must be non-None for endogenous transformers")
return y, X
@abc.abstractmethod
def inverse_transform(self, y, X=None):
"""Inverse transform a transformed array
Inverse the transformation on the transformed array.
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 exogenous array
"""