Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation Robust Principal Component Analysis (RPCA) for EEG Noise Detection #7048

Closed
rbechto2 opened this issue Nov 11, 2019 · 6 comments · May be fixed by NeuroDataDesign/mne-python#1

Comments

@rbechto2
Copy link

Describe the problem

Currently, MNE has no Robust Principal Component Analysis (RPCA) implementation and I think it would be a great addition to MNE's functionality. RPCA is a method to remove correlations from a data set, which works well with very corrupted data. RPCA is used to recover a low-rank matrix L and sparse matrix S from highly corrupted measurements, M = L + S.

Describe your solution

To implement an RPCA function using the Alternating Direction Method of Multipliers (ADMM) optimization method in order to detect noise in a data set.

  • Noise Detection
  • Noise Removal

Describe possible alternatives

There are different algorithms that can be used to implement RPCA optimization such as Augmented Lagrange Multiplier (ALM), Fast Alternating Minimization (FAM), or Iteratively Reweighted Least Squares (IRLS) method.

@adam2392

@agramfort
Copy link
Member

agramfort commented Nov 12, 2019 via email

@rbechto2
Copy link
Author

Hey @agramfort!

I found some great papers that demonstrate the benefits of RPCA on EEG data. The most common application is to use RPCA in order to improve tolerance to variability in EEG signals from trial to trial or day to day experiments and thus improving classification performance.

I also believe that this could be a useful function directly implemented to the mne package. I'd love to discuss this with you further. Thank you!

Papers:
-"Improving Cross-Day EEG-Based Emotion Classification Using Robust Principal Component Analysis" (https://www.ncbi.nlm.nih.gov/pubmed/28769778)

-"Using Robust Principal Component Analysis to Reduce EEG Intra-Trial Variability"
( https://www.ncbi.nlm.nih.gov/pubmed/30440781)

@agramfort
Copy link
Member

agramfort commented Nov 18, 2019 via email

@Pranay144
Copy link

Does this issue still need work?
If yes, i can work on it.

@adam2392
Copy link
Member

@rbechto2 and our group at JHU is working on it within the context of pyautomagic and will link a demo when done. If the RPCA is general enough it would be awesome to just add into mne directly.

Hope to have something by December preliminarily!

@larsoner
Copy link
Member

larsoner commented Mar 4, 2020

Closing in favor of the pyAutomagic issue #7098

@larsoner larsoner closed this as completed Mar 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants