DistributionΒΆ

To use any distribution, provide a probability matrix as a parameter, covering all values and series. The following example illustrates the computation of a Gaussian distribution:

from scipy.stats import norm
import numpy as np

probabilities = []
for series in ts.data:
    N = len(series)
    P = int(N * 0.1)
    R = np.arange(P, N)
    mean = np.mean(series)
    D = norm.pdf(R, loc=P + mean * (N - P), scale=0.2 * (N - P))
    D /= D.sum()
    probabilities.append(D)
ts_m2 = ts.Contamination.distribution(ts.data, rate_dataset=0.2, rate_series=0.4, probabilities_list=probabilities, seed=True)

The code will produce the same output then this snippet :

ts_m = ts.Contamination.gaussian(ts.data, rate_dataset=0.2, rate_series=0.4, std_dev=0.2, seed=True)