Transfer entropy returning slightly different values in each run

64 views
Skip to first unread message

Subhradeep Roy

unread,
Jun 29, 2020, 7:19:03 PM6/29/20
to Java Information Dynamics Toolkit (JIDT) discussion
Hi 

I have been running Transfer Entropy (TE) using the JIDT. I have used this software in the past (earlier version) and have been immensely useful. I have a quick question on the v1.5. I am running TE on the same data set, and on each run, it is returning slightly different values. 
I am using the following calculator: 
javaObject('infodynamics.measures.continuous.kraskov.TransferEntropyCalculatorKraskov')
I am wondering if you could kindly let me know the reason. Thanks in advance!

Best,
Subhradeep

Joseph Lizier

unread,
Jun 29, 2020, 7:26:35 PM6/29/20
to JIDT Discussion list
Hi Subradeep -- this very slight stochasticity (should only be in the third decimal place at most) is by design for the KSG estimator to work well, see this FAQ on our wiki - Why are my results from a Kraskov-Stoegbauer-Grassberger estimator stochastic?

--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/1b08fe93-a0e3-4466-a396-63ca56d071a4n%40googlegroups.com.

Subhradeep Roy

unread,
Jun 30, 2020, 2:39:51 PM6/30/20
to jidt-d...@googlegroups.com
Thanks, Joe! That makes complete sense. Thanks for your prompt response! 

SR
-- 
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/F8YtozVj6qw/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/CAL81BvShedh1bXogmZxXHP6e4%2B9e2u3gXm_YqnKHy%3DbaU0x2YA%40mail.gmail.com.

Federico Sangati

unread,
Sep 21, 2020, 12:20:38 PM9/21/20
to Java Information Dynamics Toolkit (JIDT) discussion
Hi,

thanks a lot for this very useful library!

Regarding this matter I'm able from python to replicate results removing noise setting

calc.setProperty("NOISE_LEVEL_TO_ADD", "0")     

However, I didn't find a way to set a random seed so noise is added but results are still replicable.

In the FAQ I read: 

> If you still need noise added, but want this to be repeatable, then I suggest you do this yourself before calling JIDT, using a fixed random number seed.
> More details are shown in the Javadocs for the setProperty(String, String) method for each relevant calculator.

But I could find any specific instruction in the documentation.
I tried to set property with text "PROP_SEED" or "SEED". The code runs but still is still not deterministic.

Best,
Federico

Joseph Lizier

unread,
Sep 21, 2020, 12:26:41 PM9/21/20
to JIDT Discussion list
Hi Federico,

> "I suggest you do this yourself before calling JIDT, using a fixed random number seed."

That is meant to be the specific instruction :) -- i.e. add the noise to the data yourself outside of JIDT, (and set NOISE_LEVEL_TO_ADD to 0) as there is no property to set a seed.  (Would be nice to have, but I have not implemented this yet - contributions always welcome)

fyi - The code will allow you to set any property value you like, it won't throw errors for unrecognised properties (this is by design to make object oriented polymorphism easier). That's why the code still runs when you set non-existent properties.

--joe



Federico Sangati

unread,
Sep 21, 2020, 8:13:11 PM9/21/20
to jidt-d...@googlegroups.com
Hi How,

Thanks for the prompt reply.
I misread the sentence (the outside helped a lot!), it makes lot of sense now.
Thanks a lot!

Federico

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/F8YtozVj6qw/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/CAL81BvTBh1sgaAiN1eLrWPcLiRr8uHhhAOrJEBVYaAvBDGMkWQ%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages