package net.seninp.jmotif.sax.tinker; import net.seninp.jmotif.sax.NumerosityReductionStrategy; import net.seninp.jmotif.sax.TSProcessor; import net.seninp.jmotif.sax.discord.BruteForceDiscordImplementation; import net.seninp.jmotif.sax.discord.DiscordRecord; import net.seninp.jmotif.sax.discord.DiscordRecords; import net.seninp.jmotif.sax.discord.HOTSAXImplementation; import net.seninp.jmotif.sax.registry.LargeWindowAlgorithm; public class DiscordDiscoveryPerformanceDoubleLong { private static final String TEST_DATA_FNAME = "src/resources/test-data/ecg0606_1.csv"; private static final int WIN_SIZE = 120; private static final int PAA_SIZE = 3; private static final int ALPHABET_SIZE = 3; private static final double NORM_THRESHOLD = 0.5; private static final int DISCORDS_TO_TEST = 5; private static double[] series; public static void main(String[] args) throws Exception { series = TSProcessor.readFileColumn(TEST_DATA_FNAME, 0, 0); double[] tmp = new double[series.length * 2]; for (int i = 0; i < series.length; i++) { tmp[i] = series[i]; tmp[i + series.length] = series[i]; } series = tmp; DiscordRecords discordsBruteForce = null; DiscordRecords discordsHash = null; discordsBruteForce = BruteForceDiscordImplementation.series2BruteForceDiscords(series, WIN_SIZE, DISCORDS_TO_TEST, new LargeWindowAlgorithm(), NORM_THRESHOLD); for (DiscordRecord d : discordsBruteForce) { System.out.println("brute force discord " + d.toString()); } discordsHash = HOTSAXImplementation.series2Discords(series, DISCORDS_TO_TEST, WIN_SIZE, PAA_SIZE, ALPHABET_SIZE, NumerosityReductionStrategy.NONE, NORM_THRESHOLD); for (DiscordRecord d : discordsHash) { System.out.println("hotsax hash discord " + d.toString()); } } }