Conditional Transfer Entropy

113 views
Skip to first unread message

Subhradeep Roy

unread,
Aug 17, 2020, 4:30:45 PM8/17/20
to Java Information Dynamics Toolkit (JIDT) discussion
Dear Dr. Lizier,

I have a quick question regarding conditional transfer entropy (CTE) analysis using JIDT. I have noticed that the CTE calculator in JIDT can accept one time-series process to condition on (needs to be provided as a column vector). Is it also possible to condition more than one time-series processes in JIDT? I have tried using a two-column matrix to provide two time-series processes, but it returns me the following error:

Java exception occurred:
java.lang.Exception: Number of conditional variables 2 does not
match the initialised number 1

I know such features are made available in IDTxl, but I am more of a Matlab user. So, I thought to ask you before I start using IDTxl. 

Thanks to you and your team for building the software, which has been a tremendous help for me, personally to learn about these concepts.  

Best,
Subhradeep

Joseph Lizier

unread,
Aug 19, 2020, 12:06:55 AM8/19/20
to JIDT Discussion list
Hi Subhradeep,

I'm assuming that you are referring to one of the continuous variable estimators? (the case is different for discrete)

Assuming that, you simply need to call the correct iniitalise() method to set up the estimator to expect the correct number of conditionals. (By default it's expecting only 1).
To do this, you can either call:
  • this particular initialise method"
    void initialise(int k,
                  int k_tau,
                  int l,
                  int l_tau,
                  int delay,
                  int[] condEmbedDims,
                  int[] cond_taus,
                  int[] condDelays)
    as described in the javadocs here. The lengths of the arrays for the embedding properties for each of the conditional variables implicitly set the dimension of the conditionals that is expected. Notice that you will need to provide all of the embedding details here.
  • OR you can use one of the simpler initialise() routines, but then call setProperty() to set up the embedding parameters for the conditionals (and again implicitly how many conditionals we have). If using this approach, you need to set all three of the embedding dimension, lags, and delays in separate calls.
Hope that helps.

At some point in the future, we'll include multivariates in our AutoAnalyser, so that this is much easier.
--joe
+61 408 186 901 (Au mobile)



--
JIDT homepage: https://github.com/jlizier/jidt
---
You received this message because you are subscribed to the Google Groups "Java Information Dynamics Toolkit (JIDT) discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jidt-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jidt-discuss/64f3c456-33e5-4a2f-9ce9-e80117abf6a7n%40googlegroups.com.

Subhradeep Roy

unread,
Sep 7, 2020, 7:08:45 PM9/7/20
to jidt-d...@googlegroups.com
Thank you so much, Joe!
-- 
Subhradeep Roy, Ph.D. 
Assistant Professor 
Department of Mechanical Engineering 
College of Engineering and Computer Science 
Jacaranda Hall, Room 3311, 
California State University, Northridge 
18111 Nordhoff St, Northridge, CA 91330 


You received this message because you are subscribed to a topic in the Google Groups "Java Information Dynamics Toolkit (JIDT) discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jidt-discuss/PHRvNFUf6s4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jidt-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jidt-discuss/CAL81BvS-8RWzqEwY3cVZoVMTcR5Ynw3CiOvhY1MmxbjCr7O%2BpQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages