Kraskov estimators switched to use 4 nearest neighbours by default (as recommended by Kraskov et al.)

This commit is contained in:
joseph.lizier 2014-08-13 02:41:25 +00:00
parent 77680c04ad
commit bc40fb4125
3 changed files with 9 additions and 11 deletions

View File

@ -73,7 +73,7 @@ public abstract class ConditionalMutualInfoCalculatorMultiVariateKraskov
/**
* we compute distances to the kth neighbour in the joint space
*/
protected int k;
protected int k = 4;
/**
* Calculator for the norm between data points
@ -104,7 +104,7 @@ public abstract class ConditionalMutualInfoCalculatorMultiVariateKraskov
/**
* Property name for the number of K nearest neighbours used in
* the KSG algorithm in the full joint space.
* the KSG algorithm in the full joint space (default 4).
*/
public final static String PROP_K = "k";
/**
@ -120,7 +120,6 @@ public abstract class ConditionalMutualInfoCalculatorMultiVariateKraskov
*/
public ConditionalMutualInfoCalculatorMultiVariateKraskov() {
super();
k = 1; // by default
normCalculator = new EuclideanUtils(EuclideanUtils.NORM_MAX_NORM);
}
@ -142,7 +141,7 @@ public abstract class ConditionalMutualInfoCalculatorMultiVariateKraskov
* values should represent, include:</p>
* <ul>
* <li>{@link #PROP_K} -- number of k nearest neighbours to use in joint kernel space
* in the KSG algorithm (default is 1).</li>
* in the KSG algorithm (default is 4).</li>
* <li>{@link #PROP_NORM_TYPE}</li> -- normalization type to apply to
* working out the norms between the points in each marginal space.
* Options are defined by {@link EuclideanUtils#setNormToUse(String)} -

View File

@ -63,7 +63,7 @@ public abstract class MultiInfoCalculatorKraskov implements
/**
* we compute distances to the kth nearest neighbour
*/
protected int k;
protected int k = 4;
/**
* Cached observations
*/
@ -109,7 +109,7 @@ public abstract class MultiInfoCalculatorKraskov implements
/**
* Property name for the number of K nearest neighbours used in
* the KSG algorithm (default 1).
* the KSG algorithm (default 4).
*/
public final static String PROP_K = "k";
/**
@ -133,7 +133,6 @@ public abstract class MultiInfoCalculatorKraskov implements
*/
public MultiInfoCalculatorKraskov() {
super();
k = 1; // by default
normCalculator = new EuclideanUtils(EuclideanUtils.NORM_MAX_NORM);
}
@ -155,7 +154,7 @@ public abstract class MultiInfoCalculatorKraskov implements
* values should represent, include:</p>
* <ul>
* <li>{@link #PROP_K} -- number of k nearest neighbours to use in joint kernel space
* in the KSG algorithm (default is 1).</li>
* in the KSG algorithm (default is 4).</li>
* <li>{@link #PROP_NORM_TYPE}</li> -- normalization type to apply to
* working out the norms between the points in each marginal space.
* Options are defined by {@link EuclideanUtils#setNormToUse(String)} -

View File

@ -65,7 +65,7 @@ public abstract class MutualInfoCalculatorMultiVariateKraskov
/**
* we compute distances to the kth nearest neighbour
*/
protected int k = 1;
protected int k = 4;
/**
* Calculator for the norm between data points
@ -92,7 +92,7 @@ public abstract class MutualInfoCalculatorMultiVariateKraskov
/**
* Property name for the number of K nearest neighbours used in
* the KSG algorithm in the full joint space.
* the KSG algorithm in the full joint space (default 4).
*/
public final static String PROP_K = "k";
/**
@ -149,7 +149,7 @@ public abstract class MutualInfoCalculatorMultiVariateKraskov
* values should represent, include:</p>
* <ul>
* <li>{@link #PROP_K} -- number of k nearest neighbours to use in joint kernel space
* in the KSG algorithm (default is 1).</li>
* in the KSG algorithm (default is 4).</li>
* <li>{@link #PROP_NORM_TYPE}</li> -- normalization type to apply to
* working out the norms between the points in each marginal space.
* Options are defined by {@link EuclideanUtils#setNormToUse(String)} -