Skip to content

seasons

GlobalAdditiveSinusoidalSeasonGenerator

Bases: SeasonsGenerator

Add a sinusoidal season to the input time-series data

Source code in badgers/generators/time_series/seasons.py
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class GlobalAdditiveSinusoidalSeasonGenerator(SeasonsGenerator):
    """
    Add a sinusoidal season to the input time-series data
    """

    def __init__(self, random_generator=default_rng(seed=0)):
        super().__init__(random_generator=random_generator)

    @preprocess_inputs
    def generate(self, X, y, period: int = 10) -> Tuple:
        """

        :param X:
        :param y:
        :param period: the period for the season
        :return:
        """
        t = np.arange(len(X))
        season = np.sin(t[:,np.newaxis]*2*np.pi/period)
        Xt = X.add(season, axis=0)
        return Xt, y

generate(X, y, period=10)

:param X: :param y: :param period: the period for the season :return:

Source code in badgers/generators/time_series/seasons.py
34
35
36
37
38
39
40
41
42
43
44
45
46
@preprocess_inputs
def generate(self, X, y, period: int = 10) -> Tuple:
    """

    :param X:
    :param y:
    :param period: the period for the season
    :return:
    """
    t = np.arange(len(X))
    season = np.sin(t[:,np.newaxis]*2*np.pi/period)
    Xt = X.add(season, axis=0)
    return Xt, y

SeasonsGenerator

Bases: GeneratorMixin

Base class for transformers that generate seasons in time-series data

Source code in badgers/generators/time_series/seasons.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class SeasonsGenerator(GeneratorMixin):
    """
    Base class for transformers that generate seasons in time-series data
    """

    def __init__(self, random_generator=default_rng(seed=0)):
        """
        :param random_generator: a random number generator
        """
        self.random_generator = random_generator

    @abc.abstractmethod
    def generate(self, X, y, **params) -> Tuple:
        pass

__init__(random_generator=default_rng(seed=0))

:param random_generator: a random number generator

Source code in badgers/generators/time_series/seasons.py
15
16
17
18
19
def __init__(self, random_generator=default_rng(seed=0)):
    """
    :param random_generator: a random number generator
    """
    self.random_generator = random_generator