def test_algorithm_initializations(): def detectors(seed): dets = [ AutoEncoder(num_epochs=1, seed=seed), DAGMM(num_epochs=1, seed=seed), DAGMM(num_epochs=1, autoencoder_type=DAGMM.AutoEncoder.LSTM, seed=seed), LSTMAD(num_epochs=1, seed=seed), LSTMED(num_epochs=1, seed=seed), RecurrentEBM(num_epochs=1, seed=seed) ] return sorted(dets, key=lambda x: x.framework) RUNS = 1 seeds = np.random.randint(np.iinfo(np.uint32).max, size=RUNS, dtype=np.uint32) output_dir = 'reports/experiments' evaluators = [] outlier_height_steps = 1 for outlier_type in ['extreme_1', 'shift_1', 'variance_1', 'trend_1']: announce_experiment('Outlier Height') ev_extr = run_extremes_experiment(detectors, seeds, RUNS, outlier_type, steps=outlier_height_steps, output_dir=os.path.join( output_dir, outlier_type, 'intensity')) evaluators.append(ev_extr) ev_extr.plot_single_heatmap()
def run_experiments(): # Set the seed manually for reproducibility. seeds = np.random.randint(np.iinfo(np.uint32).max, size=RUNS, dtype=np.uint32) output_dir = 'reports/experiments' evaluators = [] announce_experiment('Multivariate Datasets') ev_mv = run_multivariate_experiment(detectors, seeds, RUNS, output_dir=os.path.join( output_dir, 'multivariate')) evaluators.append(ev_mv) for ev in evaluators: ev.plot_single_heatmap()
def run_experiments(): # Set the seed manually for reproducibility. seeds = np.random.randint(np.iinfo(np.uint32).max, size=RUNS, dtype=np.uint32) output_dir = 'reports/experiments' evaluators = [] outlier_height_steps = 10 for outlier_type in ['extreme_1', 'shift_1', 'variance_1', 'trend_1']: announce_experiment('Outlier Height') ev_extr = run_extremes_experiment(detectors, seeds, RUNS, outlier_type, steps=outlier_height_steps, output_dir=os.path.join( output_dir, outlier_type, 'intensity')) evaluators.append(ev_extr) announce_experiment('Multivariate Datasets') ev_mv = run_multivariate_experiment(detectors, seeds, RUNS, output_dir=os.path.join( output_dir, 'multivariate')) evaluators.append(ev_mv) for mv_anomaly in [ 'doubled', 'inversed', 'shrinked', 'delayed', 'xor', 'delayed_missing' ]: announce_experiment(f'Multivariate Polluted {mv_anomaly} Datasets') ev_mv = run_multivariate_polluted_experiment(detectors, seeds, RUNS, mv_anomaly, output_dir=os.path.join( output_dir, 'mv_polluted')) evaluators.append(ev_mv) announce_experiment( f'High-dimensional multivariate {mv_anomaly} outliers') ev_mv_dim = run_multi_dim_multivariate_experiment( detectors, seeds, RUNS, mv_anomaly, steps=20, output_dir=os.path.join(output_dir, 'multi_dim_mv')) evaluators.append(ev_mv_dim) announce_experiment('Long-Term Experiments') ev_different_windows = run_different_window_sizes_evaluator( different_window_detectors, seeds, RUNS) evaluators.append(ev_different_windows) for ev in evaluators: ev.plot_single_heatmap()