noise covariance matrix in resting state eeg data

thanks for the great library and its active community

i have a question about the noise covariance matrix as it should be computed on some segments of brain signals which do not contain any activity of interest. so when trying to analyze just the resting state eeg data, what is the best option to compute the noise covariance on. as there is no portion of the data more important than the others (also dataset i am working with does not have eeg signal in an empty quiet room)

thanks in advance

Hello @rethinking_eeg and welcome to the forum!

I believe @Denis would use an “ad-hoc” covariance matrix in situations like these. You can check the documentation at:

Also scroll down to see the list of examples.

Best wishes,

1 Like

thank you richard for your guidance

unfortunately i have a hard time understanding the underlying idea behind using “ad-hoc” covariance matrix, can you recommend any resources for further explanation.
so is my assumption correct that it is basically just a basic noise covariance matrix (not particularly specific to my data) so that i can compute the inverse solution with it.

Best wishes
thank you so much for your time

Hello @rethinking_eeg, I’m no expert in this field, so I’ll just tag @agramfort and @larsoner, who will probably be able to point you to some helpful documentation and explanations!

He’s wishes,

1 Like

thank you richard :pray: :pray:

I am not well versed in the resting-state EEG literature so can’t comment. I’d recommend looking at recent resting-state EEG papers to see what they use as a noise covariance. I’d expect most papers with source localization to have some definition of a noise covariance matrix.

hello @larsoner thank you for your time and attention, it means a lot.
in fact, it is really hard to come by a clear explanation of noise covariance matrix for clinical applications of resting state eeg. i think noise covariance matrix will have huge impact in source localization.
so is it a good idea to consider some random ad hoc covariance as noise covariance.
I am an amateur any guidance or direction would help me a lot.
thanks a lot in advance.

I’m not quite sure what you mean by “random ad hoc”, I would use mne.make_ad_hoc_cov which is just a diagonal matrix – not randomness involved. (It is equivalent to the noise cov you would get for IID Gaussian noise on the sensors with the given std values, given an infinite number of samples, if that’s what you’re thinking.)

Hello dear @larsoner
thank you for your informative and helpful answer.

may i add that by “random ad hoc” i meant IID Gaussian noise on the sensors with the default std and not specific to my data. so i should calculate standard deviation of my data at each epoch and use it in mne.make_ad_hoc_cov to get the suitable noise covariance matrix.

thanks a lot for your time and attention
best wishes

I would use a single call to make_ad_hoc_cov with the default values