Brad Wootton
|
de44f67d46
|
Final commit for Brad's thesis. All remaining TODO comments are real TODOs. Support for larger alphabets has been added for entropy and mutual information, lightly tested. The old misleading 'alphabet size' has refactored to 'base'.
|
2024-12-24 20:40:51 +10:00 |
Joseph Lizier
|
1dc2dc8b86
|
Updating all discrete calculators (except SeparableInfo, since it's outmoded) to have a default empty constructor, with an overloaded initialise method added that provides all relevant properties. Fixes #77, and provides a first step for #66. Also aligned PredictiveInfo and ConditionalTE calculators to use the appropriate super classes.
|
2019-07-25 14:29:51 +10:00 |
jlizier
|
dc08e1c372
|
Catching OutOfMemoryError in Discrete calculator creation for all other discrete calculators (only MI was done in the previous commit). Also simplified constructor calls (with code re-use) for conditional TE.
|
2018-08-25 22:27:29 +10:00 |
jlizier
|
19f2c5abbc
|
Performance tweaks for TE Discrete, which should make a difference when the state space is large in comparison to the number of samples.
|
2017-08-28 00:36:24 +10:00 |
jlizier
|
04351498aa
|
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.
|
2017-08-18 15:40:00 +10:00 |
jlizier
|
d9e43d966a
|
Added implementation of EmpiricalNullDistributionComputer to various discrete calculators which implement computeSignificance() etc. Also involved removing the method from ChannelCalculatorDiscrete, as there's no way of having it (an interface) specify implementing an interface without extending it which I didn't think was completely logical. So ChannelCalculators can always be checked against implementing EmpiricalNullDistributionComputer if one wants to use computeSignificance with them. This also required adding the computeSignificance(int[][]) method to ConditionalTECalculatorDiscrete and TECalculatorDiscrete
|
2017-08-18 13:58:38 +10:00 |
jlizier
|
550bbae5c1
|
Patched computeSignificance() for discrete TE calculator, since this was not returning the correct degrees of freedom for the Chi square distribution (it multiplied the history lengths by the base, instead of raising them to the power)
|
2017-06-16 13:39:43 +10:00 |
jlizier
|
ea40f48bbc
|
Adding new methods computePValueForGivenEstimate() and computeEstimateForGivenPValue to AnalyticMeasurementDistribution and implementing in ChiSquareMeasurementDistribution. Involves importing (and refactoring) a significantly larger chunk of commons.maths3 classes (and updating existing ones to latest 3.6.1 version for consistency). Also addresses issue #23 in changing the actual value of the ChiSquareMeasurementDistribution to be that of the information theoretic measurement rather than 2*N times it (which was the value that is actually chi squared distributed), which also necessitates changes to the Discrete and Gaussian calculators computeSignificance() methods.
|
2017-06-14 11:09:01 +10:00 |
jlizier
|
77cf8e5f8e
|
Major update to TransferEntropyCalculatorDiscrete so as to implement arbirtray source and dest embeddings and source-dest delay. Also included are associated unit tests, and modifications to MatrixUtils to support these.
|
2016-10-17 16:22:59 +11:00 |
joseph.lizier
|
f2c5ba4771
|
Appending suffix "Discrete" to all discrete calculators. Step 2 -- refactoring java files, which has flow on effects to other java files. All fixed here.
|
2014-08-14 03:00:15 +00:00 |
joseph.lizier
|
752b2fdb23
|
Appending suffix "Discrete" to all discrete calculators. Step 1 -- just changing file names
|
2014-08-14 02:43:31 +00:00 |