AnomalySine¶
Simulate a stream with anomalies in sine waves.
The amount of data generated by this generator is finite.
The data generated corresponds to sine and cosine functions. Anomalies are induced by replacing the cosine values with values from a different a sine function. The contextual
flag can be used to introduce contextual anomalies which are values in the normal global range, but abnormal compared to the seasonal pattern. Contextual attributes are introduced by replacing cosine entries with sine values.
The target indicates whether or not the instances are anomalous.
Parameters¶
-
n_samples
Type → int
Default →
10000
The number of samples to generate. This generator creates a batch of data affected by contextual anomalies and noise.
-
n_anomalies
Type → int
Default →
2500
Number of anomalies. Can't be larger than
n_samples
. -
contextual
Type → bool
Default →
False
If True, will add contextual anomalies.
-
n_contextual
Type → int
Default →
2500
Number of contextual anomalies. Can't be larger than
n_samples
. -
shift
Type → int
Default →
4
Shift in number of samples applied when retrieving contextual anomalies.
-
noise
Type → float
Default →
0.5
Amount of noise.
-
replace
Type → bool
Default →
True
If True, anomalies are randomly sampled with replacement.
-
seed
Type → int | None
Default →
None
Random seed for reproducibility.
Attributes¶
-
desc
Return the description from the docstring.
Examples¶
from river.datasets import synth
dataset = synth.AnomalySine(
seed=12345,
n_samples=100,
n_anomalies=25,
contextual=True,
n_contextual=10
)
for x, y in dataset.take(5):
print(x, y)
{'sine': -0.7119, 'cosine': 0.8777} False
{'sine': 0.8792, 'cosine': -0.0290} False
{'sine': 0.0440, 'cosine': 3.0852} True
{'sine': 0.5520, 'cosine': 3.4515} True
{'sine': 0.8037, 'cosine': 0.4027} False
Methods¶
take
Iterate over the k samples.
Parameters
- k — 'int'