Generate seasons in time series¶
In [2]:
Copied!
import numpy as np
import matplotlib.pyplot as plt
from badgers.generators.time_series.seasons import GlobalAdditiveSinusoidalSeasonGenerator
import numpy as np
import matplotlib.pyplot as plt
from badgers.generators.time_series.seasons import GlobalAdditiveSinusoidalSeasonGenerator
Generate data (gaussian white noise)¶
In [3]:
Copied!
rng = np.random.default_rng(seed=0)
rng = np.random.default_rng(seed=0)
In [14]:
Copied!
X = rng.normal(size=100, scale=0.25)
t = np.arange(100)
X = rng.normal(size=100, scale=0.25)
t = np.arange(100)
In [15]:
Copied!
plt.plot(t, X)
plt.plot(t, X)
Out[15]:
[<matplotlib.lines.Line2D at 0x21868c5b010>]
Add sinusoidal season¶
In [16]:
Copied!
generator = GlobalAdditiveSinusoidalSeasonGenerator(period=25)
generator = GlobalAdditiveSinusoidalSeasonGenerator(period=25)
In [17]:
Copied!
Xt, _ = generator.generate(X, None)
Xt, _ = generator.generate(X, None)
In [18]:
Copied!
fig, axes = plt.subplots(2, sharex=True, sharey=True, figsize=(6,6))
axes[0].plot(t, X)
axes[0].set_title('Original data')
axes[1].plot(t, Xt)
axes[1].set_title('Transformed data')
plt.tight_layout();
fig, axes = plt.subplots(2, sharex=True, sharey=True, figsize=(6,6))
axes[0].plot(t, X)
axes[0].set_title('Original data')
axes[1].plot(t, Xt)
axes[1].set_title('Transformed data')
plt.tight_layout();
In [ ]:
Copied!