Generate trends in time series¶
In [1]:
Copied!
import numpy as np
import matplotlib.pyplot as plt
from badgers.generators.time_series.trends import GlobalAdditiveLinearTrendGenerator
import numpy as np
import matplotlib.pyplot as plt
from badgers.generators.time_series.trends import GlobalAdditiveLinearTrendGenerator
Generate data (gaussian white noise)¶
In [2]:
Copied!
rng = np.random.default_rng(seed=0)
rng = np.random.default_rng(seed=0)
In [3]:
Copied!
X = rng.normal(size=100)
t = np.arange(100)
X = rng.normal(size=100)
t = np.arange(100)
In [4]:
Copied!
plt.plot(t, X)
plt.plot(t, X)
Out[4]:
[<matplotlib.lines.Line2D at 0x20d0f411b50>]
Add linear trend¶
In [5]:
Copied!
generator = GlobalAdditiveLinearTrendGenerator(slope=4)
generator = GlobalAdditiveLinearTrendGenerator(slope=4)
In [6]:
Copied!
Xt, _ = generator.generate(X, None)
Xt, _ = generator.generate(X, None)
In [7]:
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!