<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang="DE" link="blue" vlink="purple"><div class="WordSection1"><p class="MsoNormal"><span style="mso-fareast-language:EN-US">Dear Jan Mathijs,<o:p></o:p></span></p><p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Thank you for the helpful advice!<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">I want to carry on with the statistical analysis, therefore I would be glad if you could briefly answer:<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Is it valid to take the spectra I get using the beforementioned code and then take e.g. mean or max values to compare between two cohorts of test subjects?<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Thanks and best regards<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Daniel<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p><div><div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal"><b>Von:</b> fieldtrip <fieldtrip-bounces@science.ru.nl> <b>Im Auftrag von </b>Schoffelen, J.M. (Jan Mathijs)<br><b>Gesendet:</b> Montag, 8. Juli 2019 10:06<br><b>An:</b> FieldTrip discussion list <fieldtrip@science.ru.nl><br><b>Betreff:</b> Re: [FieldTrip] Time-frequency granger analysis<o:p></o:p></p></div></div><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">Hi Daniel, <o:p></o:p></p><div><p class="MsoNormal"><o:p> </o:p></p></div><div><p class="MsoNormal">As with any connectivity metric that needs a cross-spectrum estimate (and specifically for NPSF-based Granger causality estimates), this estimate needs to make sense. In your case, it doesn’t, for several reasons;<o:p></o:p></p></div><div><p class="MsoNormal"><o:p> </o:p></p></div><div><p class="MsoNormal">1) you only have a single ’trial’ of data, i.e. for every time point the csd is extremely unstable, and will never-ever give meaningful results numerically, even if the rest of the conditions are favorable.<o:p></o:p></p></div><div><p class="MsoNormal">2) in order for the NPSF algorithm to work, the spectral representation needs to be a) smooth, requiring multitapers (+sufficient number of observations) and b) the spectrum needs to be defined from DC to Nyquist.<o:p></o:p></p></div><div><p class="MsoNormal"><o:p> </o:p></p></div><div><p class="MsoNormal">I recommend you read a bit more in the documentation (and references mentioned) about the underlying algorithmic machinery, and look for some example code in the tutorials/FAQs to get in a more favorable starting position.<o:p></o:p></p></div><div><p class="MsoNormal"><o:p> </o:p></p></div><div><p class="MsoNormal">Hints:<o:p></o:p></p></div><div><p class="MsoNormal">1) forget about the ’time-frequency’ aspect, and focus on frequency only.<o:p></o:p></p></div><div><p class="MsoNormal">2) this means that you cut your data into smaller snippets, which are to be used as ovbservations, this can be done with ft_redefinetrial<o:p></o:p></p></div><div><p class="MsoNormal">3) then, use ‘mtmfft’ as method for ft_freqanalysis in combination with an appropriate amount of spectral smoothing (’tapsmofrq’) + ‘fourier’ as output.<o:p></o:p></p></div><div><p class="MsoNormal">4) then, think about what your data represents (in terms of referencing etc.) -> if you want a full multivariate NPSF while the data are rank deficient (e.g. with a common average, or another funky referencing scheme), the result will probably be NaN. In which case you’d need to specify cfg.granger.sfmethod = ‘bivariate’, or ditch one of the channels from your multivariate decomposition.<o:p></o:p></p></div><div><p class="MsoNormal"><o:p> </o:p></p></div><div><p class="MsoNormal">JM<o:p></o:p></p></div><div><p class="MsoNormal"><o:p> </o:p></p></div><div><div><p class="MsoNormal"><br><br><o:p></o:p></p><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"><div><p class="MsoNormal">On 6 Jul 2019, at 16:23, <a href="mailto:daniel.strahnen@uni-ulm.de">daniel.strahnen@uni-ulm.de</a> wrote:<o:p></o:p></p></div><p class="MsoNormal"><o:p> </o:p></p><div><div><p class="MsoNormal">Dear FieldTrip – Community,<o:p></o:p></p></div><div><p class="MsoNormal"> <o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB">My goal is to analyse changes of Granger Causality over a certain time period.</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB">Here is the code I use to calculate the wavelet analysis:</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB"> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">data.label = {<span style="color:#A020F0">'CH1'</span>;<span class="apple-converted-space"> </span><span style="color:#A020F0">'CH2'</span>;<span class="apple-converted-space"> </span><span style="color:#A020F0">'CH3'</span>;<span class="apple-converted-space"> </span><span style="color:#A020F0">'CH4'</span>;<span class="apple-converted-space"> </span><span style="color:#A020F0">'CH5'</span>;<span class="apple-converted-space"> </span><span style="color:#A020F0">'CH6'</span>;<span class="apple-converted-space"> </span><span style="color:#A020F0">'CH7'</span>};</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">data.fsample = 1000;<span class="apple-converted-space"> </span><span style="color:forestgreen">% Sampling rate of 1kH</span></span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">data.time{1} = 1:600000;</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">data.trial{1} = Output_data';<span class="apple-converted-space"> </span><span style="color:forestgreen">% Matrix organised as follows: 7 chan x 600000 samples</span></span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New""> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New";color:forestgreen">%% Wavelets for time-frequency power analysis</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg              = [];</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg.output       =<span class="apple-converted-space"> </span><span style="color:#A020F0">'powandcsd'</span>;</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg.method       =<span class="apple-converted-space"> </span><span style="color:#A020F0">'wavelet'</span>;</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg.foi          = 1:48;    <span class="apple-converted-space"> </span><span style="color:forestgreen">% Frequency range from 1 to 48Hz                    <span class="apple-converted-space"> </span></span></span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg.t_ftimwin    = ones(length(cfg.foi),1).*0.5;  <span class="apple-converted-space"> </span><span style="color:forestgreen">% length of time window = 0.5 sec</span></span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg.toi          = 0:600;<span class="apple-converted-space"> </span><span style="color:forestgreen">% 600 seconds (10min) time period</span></span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">freq_data          = ft_freqanalysis(cfg, data);</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New""> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB">Up to this point everything seems to be correct, but the granger analysis only gives my NaNs.</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New""> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New";color:forestgreen">%% Granger causality analysis</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg_conn = [];</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">cfg_conn.method =<span class="apple-converted-space"> </span><span style="color:#A020F0">'granger'</span>;</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New"">granger_str = ft_connectivityanalysis(cfg_conn, freq_data);<span class="apple-converted-space"> </span></span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-family:"Courier New""> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB">Does anyone has a suggestion what might be the mistake in my code?</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB"> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB">Thank you very much and best regards</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB"> </span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB">Daniel</span><o:p></o:p></p></div><div><p class="MsoNormal"><span lang="EN-GB" style="font-size:12.0pt"> </span><o:p></o:p></p></div><p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif">_______________________________________________<br>fieldtrip mailing list<br></span><a href="https://mailman.science.ru.nl/mailman/listinfo/fieldtrip"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;color:#954F72">https://mailman.science.ru.nl/mailman/listinfo/fieldtrip</span></a><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif"><br></span><a href="https://doi.org/10.1371/journal.pcbi.1002202"><span style="font-size:10.5pt;font-family:"Helvetica",sans-serif;color:#954F72">https://doi.org/10.1371/journal.pcbi.1002202</span></a><o:p></o:p></p></div></blockquote></div><p class="MsoNormal"><o:p> </o:p></p></div></div></body></html>