How to choose parameter settings for AutoReject

I am wondering whether there are any high-level intuitions on how to set the parameters for AutoReject. From the AutoReject documents https://autoreject.github.io/stable/generated/autoreject.AutoReject.html#autoreject.AutoReject, it appears that the main parameters to set are n_interpolate, consensus and cv. I wonder how I can set them so that I get the best results?

More specifically, the data I’m working on involves anesthesia EEG with a sampling rate of 250Hz. It has 31 channels. Each of the original data examples is a long EEG data stream. After epoching it with sliding windows of 20-40 seconds with an overlap of 5 seconds, I end up with hundreds to tens of thousands of epochs, depending on the length of the original data stream. Any specific suggestions on parameter settings of AutoReject when I apply it to my data? Thanks!

Hi –

If you have 31 channels, I would suggest n_interpolate only up to 16 max instead of the default up to 32 … you cannot interpolate too many channels. If you have thousands of epochs, I would suggest leaving cv=10 or you could reduce it to 3 if you want to be more efficient. Leave kappa as the default or you can also try 0.5 to 1.0 since you only want to drop epochs when a significant number of channels are bad. Ultimately, autoreject should figure out what’s the ultimate n_interpolate, consensus from the array you give it. So it shouldn’t matter a whole lot as long as the “true optimal values” are included in the range you provide.

Mainak

3 Likes