@PublicationReference(author="Thomas Schreiber", title="Measuring Information Transfer", type=Journal, year=2000, url="http://journals.aps.org/prl/pdf/10.1103/PhysRevLett.85.461") public class TransferEntropy extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
TransferEntropy.TransferEntropyDistributionObject
A helper class that define the objects used by the distributions in transfer entropy.
|
static class |
TransferEntropy.TransferEntropyPartialSumObject
Helper class for holding information about the partial sums.
|
Constructor and Description |
---|
TransferEntropy(DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> oneTermPriorDistribution,
DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> oneTermPosteriorDistribution,
DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> twoTermPriorDistribution,
DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> twoTermPosteriorDistribution)
Creates a new transfer entropy object using distributions.
|
TransferEntropy(java.util.List<? extends java.lang.Object> sourceList,
java.util.List<? extends java.lang.Object> destinationList,
int windowSize)
Creates a new transfer entropy object using lists instead of vectors.
|
TransferEntropy(java.util.List<? extends java.lang.Object> sourceList,
java.util.List<? extends java.lang.Object> destinationList,
int sourceWindowSize,
int destinationWindowSize)
Creates a new transfer entropy object using lists instead of vectors.
|
TransferEntropy(Vector sourceVector,
Vector destinationVector,
int windowSize)
Creates a new transfer entropy object
|
TransferEntropy(Vector sourceVector,
Vector destinationVector,
int sourceWindowSize,
int destinationWindowSize)
Creates a new transfer entropy object.
|
Modifier and Type | Method and Description |
---|---|
double |
compute()
Computes the transfer entropy value.
|
Pair<java.lang.Double,java.util.HashMap<TransferEntropy.TransferEntropyDistributionObject,TransferEntropy.TransferEntropyPartialSumObject>> |
computeWithPartialSums()
Computes the transfer entropy value and returns a map of the states with their corresponding partial sums.
|
public TransferEntropy(Vector sourceVector, Vector destinationVector, int windowSize)
destinationVector
- sourceVector
- windowSize
- How many steps in the past will be used in the analysis.public TransferEntropy(Vector sourceVector, Vector destinationVector, int sourceWindowSize, int destinationWindowSize)
destinationVector
- sourceVector
- destinationWindowSize
- How many time steps into the past will be used with the vectorBeingActedOnsourceWindowSize
- How many time steps into the past will be sued with the vectorActingOnOtherVectorpublic TransferEntropy(java.util.List<? extends java.lang.Object> sourceList, java.util.List<? extends java.lang.Object> destinationList, int windowSize)
destinationList
- sourceList
- windowSize
- How many steps in the past will be used in the analysis.public TransferEntropy(java.util.List<? extends java.lang.Object> sourceList, java.util.List<? extends java.lang.Object> destinationList, int sourceWindowSize, int destinationWindowSize)
destinationList
- sourceList
- destinationWindowSize
- How many time steps into the past will be used with the vectorBeingActedOnsourceWindowSize
- How many time steps into the past will be sued with the vectorActingOnOtherVectorpublic TransferEntropy(DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> oneTermPriorDistribution, DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> oneTermPosteriorDistribution, DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> twoTermPriorDistribution, DefaultDataDistribution<TransferEntropy.TransferEntropyDistributionObject> twoTermPosteriorDistribution)
oneTermPriorDistribution
- The prior distribution over one vector. The prior one term prior should be filled in,
while the second vector prior and posterior should be null (or a consistent value over each element of the domain).oneTermPosteriorDistribution
- A distribution over the first term prior and the posterior. Leave the second term vector prior
as null, or a consistent value across the domain space.twoTermPriorDistribution
- A distribution over TransferEntropyDistributionObjects where the prior for the first and second vector is supplied.twoTermPosteriorDistribution
- A distribution over TransferEntropyDistributionObjects where all values are supplied.public double compute()
public Pair<java.lang.Double,java.util.HashMap<TransferEntropy.TransferEntropyDistributionObject,TransferEntropy.TransferEntropyPartialSumObject>> computeWithPartialSums()