<div dir="ltr">Hi Laetita, <br><br><br>On Mon, Aug 4, 2014 at 4:42 PM, Laetitia Grabot <<a href="mailto:laetitia.grabot@gmail.com">laetitia.grabot@gmail.com</a>> wrote:<br>>><br>>> >> Thanks Latitia,<br>
>> >><br>>> >><br>>> >> On Thu, Jul 31, 2014 at 10:03 AM, Laetitia Grabot <<br>>> >> <a href="mailto:laetitia.grabot@gmail.com">laetitia.grabot@gmail.com</a>><br>>> >> wrote:<br>
>> >> ><br>>> >> > Hi Denis,<br>>> >> ><br>>> >> > I tried the spatio-temporal clustering with TFCE<br>>> >> (spatio_temporal_cluster_1samp_test) on alpha power data (size of epoch :<br>
>> >> 2s; decimation = 4 (so 501 time points)) with n_jobs = 6 and the default<br>>> >> TFCE parameter (dict(start = 0, step = 0.2)).<br>>> >><br>>> >><br>>> >> I think we need to improve the documentation on TFCE a bit. A good default<br>
>> >> range is probably<br>>> >><br>>> >> dict(start=2, step=0.2)<br>>> >><br>>> >> ><br>>> >> > According to script output, 48 thresholds were used from 0 to 9.4.<br>
>> >> > After 5h (!!), 10262484 clusters were found and finally after some<br>>> >> others<br>>> >> hours the script crashed before the end ("cannot allocate memory")...<br>
>> >> ><br>>> >><br>>> >> For TFCE N clusters equals N features. Howver if you do not scan the<br>>> >> enitre<br>>> >> range of the test statistic you wont have to wait thast long.<br>
>> >><br>>> >><br>>> > I tried dict(start=2, step=0.2) and dict(start=2, step=0.5), but I still<br>>> > had 5 120 000 clusters (15 threshold for step =0.5). How can I not scan the<br>
>> > entire range of the test, as you suggested ? I didn't understand what you<br>>> > mean by "features"...<br>>> ><br>>> ><br>>><br>>> samples : subjects or trials or observations<br>
>> feaures : measured value at time t, location l, condition c, frequency f,<br>>> etc.<br>>><br>>> dict(start=2, step=0.2) would not scan the entire range since you start at<br>>> a value of 2. It depends on your effect size and your test statistic. with<br>
>> an f-test you might want to start at 4 (roughly the point where values form<br>>> an f-dist are considered significant). Also if the maximum of your primary<br>>> test statistic is rather high, e.g. 80, you might want to jump in steps of<br>
>> .05 or even 1.<br>>><br>>> I'm currently using it like that (dict(start=4, step=0.5) in sensor space<br>>> analysis and with 17640 clusters, 7 jobs and I'm waiting about 6-7 minutes<br>
>> for a result using a repated measures anova as stat function (slower than<br>>> t-test) .<br>>><br>> <br>> Ok thanks, it's clearer! So, I tried dict(start=4, step=0.5), I got 5 120 000 clusters, 14 thresholds and I got no significant clusters.<div>
<br><div>Note. You'll always get as many clusters in TFCE as your ndarrays has cells, or in other words X.size if X is an array. The speed will then depend on the number of thresholds you visit and the size of the 'clusters' in that range. </div>
<div><br></div><div>> And I didn't find the cluster I found with p = 0.01 in classical analysis... <br></div><div><br></div><div>In my experience TFCE is significantly more sensitive than clustering with classical thresholding. If you do not happen to find a cluster you should compare your start value to the actual threshold computed. Maybe you excluded the range in which your effect resides (smaller than 4 in that case?).</div>
<div><br></div></div><div>> The computation lasted 84min, so that remains quite long. <br></div><div><br></div><div>It's expected to last long since you have more clusters. This is a consequence of method.</div><div>
I haven't run simulations but I'd expect the TFCE to scale linearly to the number of permutations and the number of clusters and of course to their sizes within the thresholds.</div><div><br></div></div>