[FieldTrip] Any insight about Transfer Entropy?

Tom Holroyd (NIH/NIMH) [E] tomh at kurage.nimh.nih.gov
Thu Jan 30 20:09:09 CET 2014

I saw your earlier message. I think I would be worried that 48 seconds total is not very much data, and only 20 trials is also a small number. I'm not familiar enough with the Ragwitz method so I don't know if it can accurately estimate the embedding dimension from so little data. But it might be a problem.

woun zoo wrote:
> How are you?
> I'd like to get some insight from you for transfer entropy analysis of my
> ECoG data before I run all possible parameters. I know this message doesn't
> exactly fit in fieldtrip email list cause question is not exactly about
> fieldtrip. But there are a few connectivity methods in fieldtrip. So I'd
> like to get my questions to reach some of experts in this causality
> analysis field. Besides, I don't know if there is nonlinear time series
> analysis discussion list out there or not.
> I'd like to establish some connectivity (functional or effective) between
> frontal and visual channels in ECoG recording.  However, in our data, there
> is a very strong driven component, namely, steady state visually evoked
> potentials.  SSVEPs in our data appear at several frequencies that are
> harmonics of the input frequencies and their sum and difference frequencies
> So our data has a completely deterministic (SSVEPs) dynamics and the rest
> of background activities.
> Data has 20 trials in total. Each trial lasts 2.4sec. Sampling rate is
> 1200hz. Raw data were bandpass filtered from 0.1Hz to 500hz.
> In order to find an effective connectivity, I chose to use TRENTOOL box
> that can be incorporated with fieldtrip. I chose Ragwitz method to
> determine delay time and embedding dimension. This is where I'd like to get
> some good insight for choosing parameters. I attached a script that I'm
> using now. I wrote my questions in blue text down below. I really wish to
> get some good insight from you because I don't know if my input parameters
> are garbage or not.
> cfgTEP.toi = [min(data.time{1,1})  max(data.time{1,1})] --> Basically from
> trial start to trial end.
> cfgTEP.predicttimemin_u= 10;
> cfgTEP.predicttimemax_u= 240;  --> For these prediction horizon values, I
> don't know where and how these min and max were used in TEragwitz.m
> calculation in TEprepare.m. Transfer Entropy calculation method (VW_ds)
> fixed 1 as a prediction horizon. I can't find where this min or max of
> predicttime goes inside TEragwitz calculation. VW_ds seems to try to
> predict one time sample point ahead from the current time sample point. Is
> this proper to determine embedding dimension and delay time for SSVEP +
> background activities?
> cfgTEP.actthrvalue = 100;   --> I don't know the reason why this
> autocorrelation time value needs to be set by hand. I know with this
> threshold value, you can selectively choose trials. In my data, particular
> channels' autocorrelation values were 54 (sample points), etc. Max
> autocorrelation was 134 or something. Is this due to noise? If I have
> strong oscillatory activities at the driving frequencies, am I not supposed
> to see autocorrelation values close to oscillatory period?
> cfgTEP.maxlag      = 1000;  --> What will be a good lag number? Isn't it
> better to use whole trial length?
> cfgTEP.minnrtrials = 7;  --> What is a good number for this when there are
> 20 trials?
> For main parameters for TEragwitz,
> cfgTEP.optimizemethod ='ragwitz';
> cfgTEP.ragdim         = 1:10;  --> I just chose all possible embedding
> dimension from 1 to 10. Should I try go more than 10? But TE analysis
> always says, embedding dimension maybe 2, which sounds about right for pure
> sine waves like my SSVEP. But with 0.1Hz~500hz bandpass, I have tons of
> non-stimulus locked high background activities. I'd like to know if 2 is
> really good estimation or not for my data. Also when I chose Cao's method,
> it says, 5 or 6.
> cfgTEP.ragtaurange    = [0.1 2]; --> For delay time as an initial guess, I
> chose this range. But Ragwitz always chose the smallest value. If I put
> this range from [1 2], then it chooses 1. If it was [0.5 3], it chose 0.5.
> Whatever minimum value I put will be chosen as its delay time, which makes
> me wonder about what kind of values I should put here.
> cfgTEP.ragtausteps    = 15;         % steps for ragwitz tau steps 15
> cfgTEP.repPred        = 600;  --> I just chose this. Depending on what I
> put here, final significance of TE changes too.
> cfgTEP.flagNei = 'Mass' ;           %neigbour analyse type
> cfgTEP.sizeNei = 4;  --> It follows the results of Kraskov (2004) paper. I
> think this range is between [embedding dimension 2*embedding dimension].
> But should I vary this too? For example, should I try 15, 30, 50 etc?
> For Surrogate analysis in the below, I don't know which options are common
> to use for non-parametric statistical analysis.
> cfgTESS.optdimusage = 'indivdim';
> cfgTGAA.select_opt_u     = 'product_evidence'; % 'max_TEdiff';
> cfgTGAA.select_opt_u_pos = 'shortest';
> I'm sorry if these questions are not exactly relevant to fieldtrip
> community. If there is nonlinear time series analysis community, I'd like
> to post this message over there. But I really appreciate if you could give
> me some good insight about playing with parameters for ECoG steady-state
> visual evoked potential data.
> Thank you very much.
> Have a nice day.
> ------------------------------------------------------------------------
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip

"There are not more than five musical notes, yet the combinations of these five
give rise to more melodies than can ever be heard." -- Sun Tzu

More information about the fieldtrip mailing list