Skip to main content
Social Sci LibreTexts

9: Artifact Correction with Independent Component Analysis

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Learning Objectives

    In this chapter, you will learn to:

    This chapter explains how to use independent component analysis (ICA) to correct certain kinds of artifacts (especially blinks and eye movements). ICA-based artifact correction is a real godsend for experiments in which artifact rejection would throw out too many trials. And it can improve the data quality for other experiments by allowing you to include most or all of the trials in your averaged ERPs.

    However, ICA-based artifact correction massively changes your data. Every single data point is impacted. And if done improperly, ICA can make your data worse and lead to incorrect conclusions. It’s a bit like using backburn to deal with a wildfire (i.e., starting a controlled fire to eliminate the fuel for the wildfire). If you’re not careful, it can get out of control and damage what you were trying to save. You really need to know what you’re doing with ICA to get the best results and avoid getting burned.

    Before I wrote this chapter, I did a lot of reading to make sure I was up to date and that the strategies described in this chapter would reflect the current state of the art. I also spent a lot of time applying ICA to the ERP CORE data and carefully assessing the results. The Makeig group at UCSD are still the world’s experts at ICA-based artifact correction, so much of what I write in this chapter is based on their recommendations. EEGLAB’s ICA documentation is an excellent resource, especially the videos created by Arnaud Delorme. The page of informal advice from Makoto Miyakoshi (called Makoto’s Preprocessing Pipeline) is also extremely useful. I recommend that you read these sources after reading the present chapter. I also recommend reading the general overview of artifact correction near the end of Chapter 6 of Luck (2014), along with the online supplement to that chapter.

    As you read this chapter, keep in mind that the ultimate goal of artifact correction is the same as the ultimate goal of artifact detection, which is to accurately answer the scientific question that the experiment was designed to address. In addition, you should keep in mind the three main problems that we need to address in artifact rejection and correction: reduced statistical power as a result of increased noise, systematic confounds, and sensory input problems.

    This page titled 9: Artifact Correction with Independent Component Analysis is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.

    • Was this article helpful?