「実世界アプリケーションにおける独立成分分析(ICA)の力 – EEGの例」

「美容とファッションの世界で独自成分分析(ICA)の力を活かす - EEGを例に」

独立成分分析(ICA)は、データ内の線形貢献を分離することができる強力なデータ駆動ツールです

National Cancer Instituteによる写真、Unsplashでの利用

はじめに

独立成分分析(ICA)は、通常、次元削減のタスクと関連付けられます。しかし、この技術の最も顕著な応用は、データから線形な寄与を分離し、統計的に独立な成分を見つけることです。例えば、ICAは音声から楽器トラックを分離するツールとして広く使用されています。この記事の目的は、有名な「カクテルパーティ」の例を使ってICAを紹介し、その後、確率と情報理論の基礎を使ってICAがどのように独立成分を抽出するかを簡単に紹介することです。そして、脳波(EEG)データから目の瞬きの運動を特定し、除去する実践的な例を探求します。

信号とICAの寄与の分離

データ内の線形な寄与を効果的に分離するために、標準的な例として「カクテルパーティ」があります。このシナリオでは、混雑したカクテルパーティで赤い(Y1)と青い(Y2)の話し手が会話をする状況が設定されています。したがって、両方の話し手の声をキャプチャするために、緑色の(X1)と黄色の(X2)のマイクが戦略的に近くに配置されています。これらの声の聞こえ方は、会話者が各マイクに対してどれだけ近いかによって異なります。

「カクテルパーティ」のイラスト。マイクX1とX2によって信号がキャプチャされ、元のソースY1とY2に分解したい。画像の著者:自筆

課題は、2つの異なる声を混ざったオーディオファイルから効果的に分離して、各話者の単独の音声録音を取得する方法です。この謎は、独立成分分析(ICA)の適切な適用によって解決できます。そこでは、データに関する正しい仮定(次のセクションで説明します)によって、各独立成分は青い話し手と赤い話し手の音声となります。

ICA分解のイラスト。画像の著者:自筆

ICAの基本メカニズム

独立成分分析(ICA)は、データXを成分Siが独立した座標系Sを用いて表現することを目指します。このような独立した座標系は、データの自然な表現と言えるでしょう。

最も重要なことは、ICAが相関ではなく統計的に独立した成分を仮定していることです(PCAのような)[1]。

統計的独立性の定義。

主成分分析(PCA)では、データと成分が正規分布に従っていることを仮定し、この要件が満たされるとPCAの成分は統計的に独立します。しかし、データの分布が非ガウス分布である一般的な場合、ICAはデータX(信号)を表す独立した成分Y(ソース)を見つけるための強力な手法です。

ICA変換はY = AXで与えられます。ここで、Aの要素は成分を定義する係数です。したがって、ソースと信号の間には線形の組み合わせがあると仮定するため、依然として線形な手法です。

データをICA成分に基づいて記述する逆変換も行うことができます。

統計的に独立した成分を求めるため、成分間で共有される情報を最小化したいのです。

そのため、情報理論はこの問題の解決に役立つ自然な手段です。2つのランダム変数XYの間で共有される情報の尺度があります。それが相互情報量と呼ばれます。

したがって、成分間で共有される情報を最小化したいのです。

これは、I[Y] = I[ AˆT X ] を最小にするAを求めることです。したがって、結果の直交ベクトルは最も独立な成分につながります。

ICAの動機と基本的な仕組みが理解できたので、実世界のシチュエーションで応用してみましょう。

脳波測定(EEG)データには、画像取得中に意図的または無意識の患者の動きによって生じるさまざまな運動アーティファクトが含まれています。典型的なものはまばたきの動きです。したがって、ICAのようなツールは、この種のノイズを除去するために広く使用される手法です [2]。先に述べたように、ICAは信号の独立な寄与を分離する方法です。したがって、目の近くのチャネルにまばたきの動きの重要な寄与があることを直感的に予想する必要があります。

EEGは、時間とともに皮質の異なる点間の電位差を測定します。したがって、EEG実験では、神経回路に関するさまざまな情報を持つ大脳の異なる部位から複数の時間系列データが得られます。

EEG time series from multiple channels example. Image by the author.
Location of the channels from the example above. Image by the author.

EEGデータを扱い、ICAを正しく適用するために、EEGデータの処理と分析のためのライブラリであるMNEを使用します。また、Federal University of ABCのJoão Sato教授によって収集されたデータも使用します。これらのデータはGitHubで入手できます。

import pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltimport numpy as npimport mne as mnesns.set_palette('pastel')eeg = np.loadtxt('/Users/rodrigo/Post-Grad/Disciplines/Neural Signaling Processing/Aula_3/restEEG/OlhosAbertos.txt')canais = pd.read_csv('/Users/rodrigo/Post-Grad/Disciplines/Neural Signaling Processing/Aula_3/restEEG/NOMEScanais.txt', dtype='str', header=None)# Sampling frequency 250Hz: Hz = 250eeg = pd.DataFrame(eeg, columns=canais.iloc[:,0].values)eeg['Time(s)'] = np.arange(0, (1/Hz)*len(eeg), 1/Hz)

えむえぬいーいーじーおぶじぇくとを作成します。

#えむえぬいーおぶじぇくとを作成します
えむえぬいんふぉ = えむえぬいー.えむえぬいんふぉ(                    りすと(いーいーじーこりゅうめ),                    えいちぜっと,                    ちぇえんぬるす=['いーいーじー']*りすと(いーいーじーこりゅうめ).ちょうこう())えむえぬいんはらのう   = えむえぬいー.いーにーあーれー(りすと(:ーいーいーじー)。ばりゅー.いえるしー().いえる)えむえぬいんふぉ.set_montage(すたんだーど1020)

重要な特徴だけを抽出するため、アーティファクトやノイズに関連する高い(>120Hz)および低い(<4Hz)周波数、および環境のパワーラインからの60Hzの貢献を除外するために、時系列をフィルタリングする必要があります。

#フィルタのパラメータを設定します
ろーかっと = 4 # Hz
はいかっと = 120 # Hz
ふりーくぬっち = 60 # Hz(環境からの電気的干渉)
えむえぬいんはらのう.ふぃるたぁ(ろーかっと, はいかっと, ふぃるでざいん='ふぃるういん')えむえぬいんはらのう.のっちふぃるたぁ(ふりーくぬっち, ふぃるでざいん='ふぃるういん')

さて、データはICAを通過する準備ができています。

いーしーえーおぶじぇくと = えむえぬ.preぷろのいんぐ.いーしーえー(                    エーコンポーネント=0.95,                    めそっど='いんふぉまっくす',                    まっくす_いたー='おーと',                    らんだむ_すてーと=1,                    ふぃっと_ぱらむす=でぃくと(えくすてんでっど=True)).ふぃっと(えむえぬいんはらのう)いーしーえー = いーしーえーおぶじぇくと.げっと_そーしず(えむえぬいんはらのう).げっと_だた()いーしーえーおぶじぇくと.plot_components(picks=None,show=True, inst=えむえぬいんはらのう)

ICA係数は、信号成分への空間的な寄与を識別するためのプロキシとして使用されます。

各成分の空間領域に値を関連付ける手順のイラスト。著者提供の画像。

そのため、各成分のヒートマップを作成することができます。

ICA成分。著者提供の画像。

最初の成分は、信号へのまばたきの動きの貢献です。期待通り、目の近くの電極ほど貢献度が高いことがわかります。また、成分の時間/周波数情報をより詳しく見ることもできます。

ICAの最初の成分の時間/周波数情報。著者提供の画像。

さて、データからまばたきの動きのアーティファクトを除去するためには、この特定の成分を含まない信号の再構築を行うだけです。つまり、アーティファクトに関連するパターンを除いた時系列を回復することです。

結論

独立成分分析(ICA)は、非ガウスデータとソースと信号の間の線形関係を仮定し、統計的に独立した成分を求めるための強力なデータ駆動ツールです。ICAはデータに異なる寄与を分離することを可能にし、ノイズや望ましくない信号を分離する必要がある場面で特に有用です。EEGデータの場合、ICAはまばたきの動きなどの運動アーティファクトを特定して除去することができます。

備考

ICAは注意して使用する必要がある強力なツールです。データ駆動型の方法は、システムに関する事前の知識を仮定しません。そのため、混乱や誤った結論が一般的であり、要件を確認し、結果を注意深く評価することが重要です。

謝辞

このプロジェクトは、佐藤 太郎教授のインスピレーションを受けています。

この記事のノートブックはこちらで入手できます

参考文献

[1] Hastie T, Tibshirani R, Friedman J, Hastie T, Tibshirani R, et al.. (2009) Basis expansions and regularization. In: The Elements of Statistical Learning, New York, NY: Springer New York, Springer Series in Statistics.

[2] Mennes M, Wouters H, Vanrumste B, Lagae L, Stiers P. (2010).EEG/ERPから眼球運動アーティファクトを除去するツールとしてのICAの検証. Psychophysiology. 2010;47(6):1142–1150. doi:10.1111/j.1469–8986.2010.01015.x

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more