mirror of https://github.com/jlizier/jidt
Changed my mind and pulled EmpiricalNullDistributionComputer in as being extended/implemented by ChannelCalculatorDiscrete. (This does make sense, since "extend" for an interface really means implements, it's not so much a child class). This necessitated removing the interface from explicitly being named in the definitions of the discrete MI and TE calculators since it's there implicitly.
This commit is contained in:
parent
3e64fd28bd
commit
04351498aa
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
package infodynamics.measures.discrete;
|
||||
|
||||
import infodynamics.utils.EmpiricalNullDistributionComputer;
|
||||
|
||||
/**
|
||||
* A basic interface for calculators computing measures on a univariate <i>channel</i>
|
||||
* for discrete (ie int[]) data from a
|
||||
|
|
@ -40,8 +42,7 @@ package infodynamics.measures.discrete;
|
|||
* <li>the average channel measure: {@link #computeAverageLocalOfObservations()};</li>
|
||||
* <li>the distribution of channel measure values under the null hypothesis
|
||||
* of no relationship between source and
|
||||
* destination values (where the calculator also
|
||||
* implements EmpiricalNullDistributionComputer</li>
|
||||
* destination values: {@link #computeSignificance(int)};</li>
|
||||
* <li>or other quantities as defined by child classes.</li>
|
||||
* </ul>
|
||||
* </li>
|
||||
|
|
@ -53,7 +54,7 @@ package infodynamics.measures.discrete;
|
|||
* @author Joseph Lizier (<a href="joseph.lizier at gmail.com">email</a>,
|
||||
* <a href="http://lizier.me/joseph/">www</a>)
|
||||
*/
|
||||
public interface ChannelCalculatorDiscrete {
|
||||
public interface ChannelCalculatorDiscrete extends EmpiricalNullDistributionComputer {
|
||||
|
||||
/**
|
||||
* Initialise the calculator for (re-)use, with the existing
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ package infodynamics.measures.discrete;
|
|||
import infodynamics.utils.AnalyticMeasurementDistribution;
|
||||
import infodynamics.utils.AnalyticNullDistributionComputer;
|
||||
import infodynamics.utils.ChiSquareMeasurementDistribution;
|
||||
import infodynamics.utils.EmpiricalNullDistributionComputer;
|
||||
import infodynamics.utils.MatrixUtils;
|
||||
import infodynamics.utils.EmpiricalMeasurementDistribution;
|
||||
import infodynamics.utils.RandomGenerator;
|
||||
|
|
@ -65,8 +64,7 @@ Theory' (John Wiley & Sons, New York, 1991).</li>
|
|||
* <a href="http://lizier.me/joseph/">www</a>)
|
||||
*/
|
||||
public class MutualInformationCalculatorDiscrete extends InfoMeasureCalculatorDiscrete
|
||||
implements ChannelCalculatorDiscrete,
|
||||
EmpiricalNullDistributionComputer, AnalyticNullDistributionComputer {
|
||||
implements ChannelCalculatorDiscrete, AnalyticNullDistributionComputer {
|
||||
|
||||
private int timeDiff = 0;
|
||||
private int[][] jointCount = null; // Count for (i[t-timeDiff], j[t]) tuples
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ package infodynamics.measures.discrete;
|
|||
import infodynamics.utils.AnalyticMeasurementDistribution;
|
||||
import infodynamics.utils.AnalyticNullDistributionComputer;
|
||||
import infodynamics.utils.ChiSquareMeasurementDistribution;
|
||||
import infodynamics.utils.EmpiricalNullDistributionComputer;
|
||||
import infodynamics.utils.MathsUtils;
|
||||
import infodynamics.utils.MatrixUtils;
|
||||
import infodynamics.utils.EmpiricalMeasurementDistribution;
|
||||
|
|
@ -88,8 +87,7 @@ import infodynamics.utils.RandomGenerator;
|
|||
* <a href="http://lizier.me/joseph/">www</a>
|
||||
*/
|
||||
public class TransferEntropyCalculatorDiscrete extends ContextOfPastMeasureCalculatorDiscrete
|
||||
implements ChannelCalculatorDiscrete,
|
||||
EmpiricalNullDistributionComputer, AnalyticNullDistributionComputer {
|
||||
implements ChannelCalculatorDiscrete, AnalyticNullDistributionComputer {
|
||||
|
||||
/**
|
||||
* Counts of (source,dest_next,dest_embedded_past) tuples
|
||||
|
|
|
|||
Loading…
Reference in New Issue