Spectral coherence chapter 18

67 views
Skip to first unread message

Priya Balasubramanian

unread,
Sep 23, 2019, 11:25:16 PM9/23/19
to AnalyzingNeuralTimeSeriesData
Dear Sir,

The comments in the Matlab code for chapter 18 computation of spectral coherence mentions that normalization for coherence is not valid for one trial. If we compute specX variable as mentioned in the book for each epoch, do we average the coherence for all the epochs? 

If 'mscohere' is used instead for a fs of 1000 hz continuous EEG signals, how is it possible to normalize the coherence?

with regards,
Priya 

Mike X Cohen

unread,
Sep 24, 2019, 10:16:33 AM9/24/19
to analyzingneura...@googlegroups.com
Hi Priya. Spectral coherence is done over a collection of epochs. Those epochs can come from separate trials or from cuts of a continuous time series. For example, if you use the MATLAB mscohere function, it will cut your data into windows and average the coherence spectra across them. This is also how coherence during resting-state is typically calculated.

Mike


--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/analyzingneuraltimeseriesdata/e7f8fce8-02c6-42cb-a192-0b0ece5fb058%40googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

Priya Balasubramanian

unread,
Sep 24, 2019, 12:18:37 PM9/24/19
to AnalyzingNeuralTimeSeriesData
Dear Sir,

If my epoch length is 13seconds long and I have a total of 20 epochs, should I compute 'mscohere' for each epoch with window length of 2048, 50% overlap, nFFT = 2048, Fs = 1000? Then I average the coherence values across all epochs to obtain one coherence value per subject. 

with regards,
Priya


On Tuesday, September 24, 2019 at 9:16:33 AM UTC-5, Mike X Cohen wrote:
Hi Priya. Spectral coherence is done over a collection of epochs. Those epochs can come from separate trials or from cuts of a continuous time series. For example, if you use the MATLAB mscohere function, it will cut your data into windows and average the coherence spectra across them. This is also how coherence during resting-state is typically calculated.

Mike


On Tue, Sep 24, 2019 at 5:25 AM Priya Balasubramanian <bala...@mail.gvsu.edu> wrote:
Dear Sir,

The comments in the Matlab code for chapter 18 computation of spectral coherence mentions that normalization for coherence is not valid for one trial. If we compute specX variable as mentioned in the book for each epoch, do we average the coherence for all the epochs? 

If 'mscohere' is used instead for a fs of 1000 hz continuous EEG signals, how is it possible to normalize the coherence?

with regards,
Priya 

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.

Mike X Cohen

unread,
Sep 25, 2019, 10:09:41 AM9/25/19
to analyzingneura...@googlegroups.com
Hi Priya. First of all, please call me Mike. I like to be more informal on this list (and in life in general) ;)

Your suggestion sounds fine, and is also consistent with what would be done in the EEG resting-state literature (sliding 2-second windows). Then the question is at which stage to average together the epochs. If all epochs come from the same recording session, does it make sense to concatenate them all together, and have one time series with 13x20 = 260 seconds? That might be easier to implement, and seems more appropriate if the experiment were actually one session.

Mike



On Tue, Sep 24, 2019 at 6:18 PM Priya Balasubramanian <bala...@mail.gvsu.edu> wrote:
Dear Sir,

If my epoch length is 13seconds long and I have a total of 20 epochs, should I compute 'mscohere' for each epoch with window length of 2048, 50% overlap, nFFT = 2048, Fs = 1000? Then I average the coherence values across all epochs to obtain one coherence value per subject. 

with regards,
Priya

On Tuesday, September 24, 2019 at 9:16:33 AM UTC-5, Mike X Cohen wrote:
Hi Priya. Spectral coherence is done over a collection of epochs. Those epochs can come from separate trials or from cuts of a continuous time series. For example, if you use the MATLAB mscohere function, it will cut your data into windows and average the coherence spectra across them. This is also how coherence during resting-state is typically calculated.

Mike


On Tue, Sep 24, 2019 at 5:25 AM Priya Balasubramanian <bala...@mail.gvsu.edu> wrote:
Dear Sir,

The comments in the Matlab code for chapter 18 computation of spectral coherence mentions that normalization for coherence is not valid for one trial. If we compute specX variable as mentioned in the book for each epoch, do we average the coherence for all the epochs? 

If 'mscohere' is used instead for a fs of 1000 hz continuous EEG signals, how is it possible to normalize the coherence?

with regards,
Priya 

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/analyzingneuraltimeseriesdata/04a7c8b9-c12f-4732-89d2-f43d1d8bdd27%40googlegroups.com.

Priya Balasubramanian

unread,
Sep 25, 2019, 10:32:29 AM9/25/19
to AnalyzingNeuralTimeSeriesData
Dear Mike,
The epochs all came from a single session but are for EEG task based data. Based on my literature review, concatenating the epochs together does make sense to me. So my question to you now is, if I concatenate the data together so my time series is for 260 seconds, should my sliding window still be 2 seconds with an nFFT of 2048 and using 'mscohere'? Would this analysis change if I am looking for coherence between EEG-EMG signal pair?

I absolutely love your books and your lectures. Thank you for taking the time to answer questions in this form. 

with regards,
Priya


On Wednesday, September 25, 2019 at 9:09:41 AM UTC-5, Mike X Cohen wrote:
Hi Priya. First of all, please call me Mike. I like to be more informal on this list (and in life in general) ;)

Your suggestion sounds fine, and is also consistent with what would be done in the EEG resting-state literature (sliding 2-second windows). Then the question is at which stage to average together the epochs. If all epochs come from the same recording session, does it make sense to concatenate them all together, and have one time series with 13x20 = 260 seconds? That might be easier to implement, and seems more appropriate if the experiment were actually one session.

Mike



On Tue, Sep 24, 2019 at 6:18 PM Priya Balasubramanian <bala...@mail.gvsu.edu> wrote:
Dear Sir,

If my epoch length is 13seconds long and I have a total of 20 epochs, should I compute 'mscohere' for each epoch with window length of 2048, 50% overlap, nFFT = 2048, Fs = 1000? Then I average the coherence values across all epochs to obtain one coherence value per subject. 

with regards,
Priya

On Tuesday, September 24, 2019 at 9:16:33 AM UTC-5, Mike X Cohen wrote:
Hi Priya. Spectral coherence is done over a collection of epochs. Those epochs can come from separate trials or from cuts of a continuous time series. For example, if you use the MATLAB mscohere function, it will cut your data into windows and average the coherence spectra across them. This is also how coherence during resting-state is typically calculated.

Mike


On Tue, Sep 24, 2019 at 5:25 AM Priya Balasubramanian <bala...@mail.gvsu.edu> wrote:
Dear Sir,

The comments in the Matlab code for chapter 18 computation of spectral coherence mentions that normalization for coherence is not valid for one trial. If we compute specX variable as mentioned in the book for each epoch, do we average the coherence for all the epochs? 

If 'mscohere' is used instead for a fs of 1000 hz continuous EEG signals, how is it possible to normalize the coherence?

with regards,
Priya 

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimeseriesdata+unsub...@googlegroups.com.

Mike X Cohen

unread,
Sep 25, 2019, 4:57:13 PM9/25/19
to analyzingneura...@googlegroups.com
Well, if the data epochs were not contiguous in the real recording, then you don't want to group them together for the coherence. That is, imagine you have two epochs that were recorded on separate days. Then you concatenate them together and run a sliding-window coherence analysis. There will be epochs that in real life were separated by a day but get analyzed together as if they were continuous. I'm not sure if you have that issue in your data, but it's something to watch out for.

Mike



To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.


--
Mike X Cohen, PhD
Fresh look: mikexcohen.com

--
You received this message because you are subscribed to the Google Groups "AnalyzingNeuralTimeSeriesData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to analyzingneuraltimes...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/analyzingneuraltimeseriesdata/b7371fd4-1823-44dc-89ce-955a26419aa7%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages