42 lines
1.2 KiB
Python
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
|
|
"""
|