mirror of https://github.com/jlizier/jidt
37 lines
1.3 KiB
Java
Executable File
37 lines
1.3 KiB
Java
Executable File
package infodynamics.measures.continuous.kraskov;
|
|
|
|
/**
|
|
* <p>Compute the Transfer Entropy using the Kraskov estimation method for underlying
|
|
* mutual information calculation, using direct calculation of the mutual information
|
|
* rather than breaking it down into component multi-informations.<p>
|
|
*
|
|
* @see TransferEntropyCalculatorKraskovByMulti
|
|
* @see MutualInfoCalculatorMultiVariateDirect
|
|
* @see MutualInfoCalculatorMultiVariateDirect1
|
|
* @see MutualInfoCalculatorMultiVariateDirect2
|
|
* @author Joseph Lizier joseph.lizier at gmail.com
|
|
*
|
|
*/
|
|
public class TransferEntropyCalculatorKraskov
|
|
extends TransferEntropyCalculatorKraskovByMulti {
|
|
|
|
/**
|
|
* Create the underlying Kraskov MI calculators using direct multi-variate MI calculators
|
|
*
|
|
*/
|
|
protected void createKraskovMiCalculators() {
|
|
if (kraskovAlgorithmNumber == 1) {
|
|
mickPastToSource = new MutualInfoCalculatorMultiVariateKraskov1();
|
|
mickNextPastToSource = new MutualInfoCalculatorMultiVariateKraskov1();
|
|
} else {
|
|
// Algorithm 2
|
|
mickPastToSource = new MutualInfoCalculatorMultiVariateKraskov2();
|
|
mickNextPastToSource = new MutualInfoCalculatorMultiVariateKraskov2();
|
|
}
|
|
}
|
|
|
|
protected void shareDataBetweenUnderlyingCalculators() {
|
|
// Nothing to do here
|
|
}
|
|
}
|