From 8f169171e110752185f4766d2f1a398e07dfa131 Mon Sep 17 00:00:00 2001 From: Pedro Martinez Mediano Date: Mon, 20 Nov 2017 14:14:49 +0000 Subject: [PATCH] Fixed small bug in KSG mixed calc surrogates. Surrogate calculator was applying timeDiff twice, so surrogate dataset had abs(timeDiff) less observations than it should. --- .../MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java b/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java index 4c949eb..2ad758e 100755 --- a/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java +++ b/java/source/infodynamics/measures/mixed/kraskov/MutualInfoCalculatorMultiVariateWithDiscreteKraskov.java @@ -484,6 +484,9 @@ public class MutualInfoCalculatorMultiVariateWithDiscreteKraskov implements Mutu // Generate a new re-ordered data set int[] shuffledDiscreteData = MatrixUtils.extractSelectedTimePoints(discreteData, newOrdering); + // Since the observations in the original calculator have already been + // shifted according to timeDiff, set timeDiff = 0 in the surrogate calculator. + miSurrogateCalculator.setProperty(PROP_TIME_DIFF, "0"); // Perform new initialisations miSurrogateCalculator.initialise(dimensions, base); // Set new observations