EEG 解析はたいていスクリプトのフォルダの中で行われます。フィルタとエポックは MNE、帯域パワーは 1 つのノートブック、ERP の図はまた別のノートブック、参加者ごとの数値は統計の前にスプレッドシートへ集めます。Neutropic は同じ手順を、チャットの中で 7 つの決定的な EEG ツール として実行します。言語モデルはどのツールを呼ぶかを決めてレポートを書きますが、振幅・潜時・パーセントといった数値はすべてツールが計算します。モデルが数値を作ることはありません。
この記事は EEG だけを、研究タイプ別に扱います。EEG・音声・動画をまとめて見たい場合は スプレッドシートの先へ をご覧ください。

まずファイルの形を整える
EEG は表(CSV、TSV、XLSX)としてアップロードします。1 行が 1 サンプルです。
- 数値の列 1 つが 1 チャネルで、単位は µV です。 チャネル名を 10–20 法(Fp1、F3、Cz、Pz、O1 …)で付けると、頭皮トポグラフィ、前頭非対称、C3/C4 の側性化指数が使えるようになります。
- `time_s` 列 があれば、ツールがサンプル間隔の中央値からサンプリングレートを推定します。時間の列がない場合は、メッセージにレートを書いてください(「500 Hz で記録」)。
- `marker` 列 はイベントを表します。イベントのないサンプルは 0、イベント開始のサンプルは正の整数です。整数 1 つが条件コード 1 つです(例:1 = 標準、2 = 標的)。ERP と ERD/ERS には必要で、安静時と SSVEP の解析には不要です。
EDF・BDF や機器固有の形式なら、先に変換してください。Python の MNE で mne.io.read_raw_edf(path, preload=True) で読み込み、raw.to_data_frame() を使うと EEG が µV に換算された表になります。time 列の名前を time_s に変え、mne.events_from_annotations で注釈を整数コードにして、イベントのサンプルの marker 列に書き込み、CSV で保存します。EOG・ECG・トリガーのチャネルは、EEG として扱われたくなければ外しておきます。
2 通りの頼み方
/eeg に続けて質問を書くと、そのターンは直接 EEG ツールに渡ります。/analyze で記録をふつうの言葉で説明しても構いません。どちらの場合も、ファイルだけではわからないこと、つまり課題のパラダイム、各マーカーコードの意味、報告してほしい値を伝えてください。
最初のツールはほぼ必ず eeg_info です。チャネル、サンプリングレート、長さ、コードごとのイベント数、チャネルごとの振幅とフラットチャネルの確認、電源ノイズ比を報告します。電源ノイズが大きいかピーク間振幅が大きい場合、エージェントは他の解析より先に前処理を実行します。
安静時:クリーニング、帯域パワー、トポグラフィ
/eeg eeg_resting_10ch_250hz.csv は閉眼安静時の 10 チャネル記録(250 Hz)です。前処理(電源ノイズのノッチ、バンドパス、瞬目除去)を行い、チャネルごとの帯域パワーをアルファのトポグラフィとともに計算し、前頭アルファ非対称(F4 vs F3)を図付きで報告してください。
eeg_preprocess は、手順が見える決まったパイプラインです。
- 50 または 60 Hz のノッチ(高調波を含む)。周波数は自動で検出します。
- 1–40 Hz のゼロ位相バンドパス。
- 共通平均参照(任意)。
- FastICA による瞬目除去。
- 150 µV を超える 1 秒区間のマーク。
クリーニング後のデータは新しい _clean.csv として保存され、元のファイルはそのまま残ります。

eeg_bandpower はチャネルごとに Welch 法の帯域パワーを、デルタからガンマまで絶対値(µV²)と相対値(%)で計算します。個人のアルファピーク、theta/beta と theta/alpha の比、ln(右) − ln(左) で表した半球非対称も出します。eeg_topomap は帯域ごとの分布を標準 10–20 座標の上に描きます。

サンプル記録での結果。 サンプルは、10 Hz の後頭部アルファ、50 Hz の電源ノイズ、Fp1/Fp2 の瞬目 6 回、F3 よりわずかに大きい F4 のアルファで作りました。結果は次のとおりです。
- 電源ノイズ比は 37–58 から 0.0 に下がりました。
- ICA は前頭チャネルとの相関が 1.00 の成分を 1 つ除去しました。
- アルファピークは全チャネルで 10.0 Hz でした。
- 相対アルファは O2(59.5%)と O1(58.7%)で最大でした。
- F4 − F3 は +0.301 でした。
いずれもシミュレーションの値と一致します。
確認すること:
- ツール出力の ICA の行。成分をいくつ除去したか、理由が前頭相関か尖度かを見てください。
- 参照方式。非対称は参照によって変わります。そのため平均参照のファイルを解析しても、
eeg_bandpowerは元の参照で計算し直し、どの参照を使ったかを明記します。 - 解釈。エージェントは非対称を相対的な前頭活性としてだけ読みます。安静時の記録 1 本から性格や気分の特性を推測することはしません。
事象関連電位:オドボール P3
/eeg eeg_oddball_erp_250hz.csv は聴覚オドボールの記録です(Fz, Cz, Pz, Oz; 250 Hz; marker 1 = 標準、2 = 標的)。マーカーを基準にエポック化し、ベースライン補正して条件ごとに平均し、Pz の P3 の潜時と振幅を標的 − 標準の差波形とともに報告し、波形を描いてください。
eeg_erp は次の順に処理します。
- 0.1–30 Hz のフィルタ。
- マーカーを基準に −200〜800 ms のエポックを切り出し、刺激前ベースラインで補正。
- ±100 µV を超えるエポックの除外。
- 条件ごとの平均。
条件とチャネルごとに、N1、P2、N2、P3 のピーク潜時、ピーク振幅、区間平均を出します。残した試行数と除外した試行数、ベースラインのノイズ SD、P3 の SN 比も報告します。条件がちょうど 2 つなら差波形を加え、平均波形は図の隣に CSV で保存します。

得られた結果。 サンプルは標準 160 試行・標的 40 試行、100 ms の N1、300 ms の P3(Pz で標的 12 µV、標準 3 µV)で作りました。200 エポックはすべて残りました。
- 標的の P3 は Pz で 300 ms、10.15 µV でした。
- 標準は 284 ms、2.89 µV でした。
- Pz の差波形は +7.58 µV でした。
- N1 は約 104 ms に現れました。
潜時は正確です。振幅は 0.1–30 Hz のフィルタのため、予想どおりシミュレーション値より少し小さくなっています。
確認すること:
- 条件ごとの試行数と、除外されたエポック数。
- 成分の区間。区間は固定で、N1 70–150 ms、P2 150–250 ms、N2 200–350 ms、P3 250–600 ms です。それぞれの区間で最大のピークを選びます。パラダイム上、成分が別の位置に出るなら、選ばれたピークではなく平均波形の CSV を見てください。
- 方法の段落と記録された引数。レポートの文章はモデルが書きます。文章中のフィルタや区間がツール呼び出しに記録された値と違う場合、実際に実行されたのは記録のほうです。
運動イメージ:ERD/ERS
/eeg eeg_motor_imagery_erd_250hz.csv は運動イメージの記録です(C3, C4, Cz; 250 Hz; marker 1 = 右手イメージの手がかり、40 試行)。手がかり前のベースラインに対する μ 帯域(8–13 Hz)の ERD/ERS を計算し、チャネルごとにイメージ中の ERD % とその後のリバウンドを報告し、C3 と C4 の側性化を確認してください。
eeg_erders の処理は次のとおりです(Pfurtscheller & Lopes da Silva, 1999)。
- バンドパス。既定は μ 8–13 Hz で、任意の帯域も指定できます。
- 二乗してから手がかりを基準にエポック化します。
- 試行平均を取り、250 ms で平滑化します。
- ベースラインからの % 変化で表します。負の値が ERD、正の値が ERS です。
チャネルごとに ERD の最小値と ERS の最大値、その時刻、解析区間ごとの平均 % が出ます。C3 と C4 が両方あれば側性化指数も計算します。
得られた結果。 サンプルは、C3 の μ が約 −75% 下がり、C4 はそれより弱く下がり、手がかり後 3–4 秒にリバウンドが来るように作りました。このセッションは既定の区間(0.5–2.5 秒と 3–4 秒)を使いました。
- C3 の ERD 最小値は 0.75 秒で −74.7% でした。
- 区間平均は、C3 が −69.8%(イメージ中)と +72.0%(リバウンド)、C4 が −22.6% と +23.5% でした。
- 側性化指数は 0.51 で、C3 のほうが強く出ました。右手イメージで期待される向きです。
確認すること:
- 区間とベースライン。ツールの既定は −1〜5 秒のエポックと、0.5–2.5 秒・3–4 秒の区間です。エージェントがセッションによって別の区間を選ぶことがあり(英語のセッションは 0–2 秒と 2–4 秒を選びました)、その選択はレポートに書かれます。記録どうしで区間平均を比べるなら、プロンプトで区間を固定してください。
- エポックの端。最小値がエポックの最後のサンプルに来ているなら、端の効果です。
- 試行レベルの統計。結果は 1 本の記録の試行平均で、試行レベルの不確かさはありません。
SSVEP:どの周波数を注視していたか
/eeg eeg_ssvep_12hz_250hz.csv は 20 秒間の SSVEP 記録です(O1, Oz, O2, Cz; 250 Hz)。候補の点滅周波数は 8.57, 10, 12, 15 Hz でした。どの周波数を注視していたかを判定し、すべての候補の CCA ρ と SNR を報告し、4 秒窓ごとに判定を確認してください。
eeg_ssvep は 3–60 Hz のバンドパスのあと、候補周波数ごとに互いに独立した 2 つの方法で採点します。
- CCA:高調波を含む正弦・余弦の参照信号との正準相関(Lin et al., 2006)。
- SNR:その周波数のスペクトルパワーを近傍と比べた値。
2 つの方法が一致したかどうかも報告します。窓の長さを指定すると窓ごとに判定し直し、全体の判定との一致率を出します。

得られた結果。 サンプルは 24 Hz の高調波を持つ 12 Hz の刺激でした。判定は 12 Hz で、CCA ρ は 0.82、SNR は 22.9 dB でした。ほかの候補はすべて ρ ≤ 0.055 で、4 秒窓 5 つがすべて同じ判定となり、一致率は 100% でした。
確認すること: 勝った周波数だけでなく、候補の表全体を見てください。2 位との ρ の差が小さい場合や、CCA と SNR の答えが食い違う場合は、弱い判定です。
記録ごとの数値から統計へ
EEG ツールは一度に 1 本の記録を扱います。研究には参加者ごとに 1 行、たとえば参加者・群ごとの Pz の P3 振幅の表が必要です。ファイルごとにツールを実行するか、エージェントに値を 1 つの表にまとめてもらい、その表を統計スキルに渡してください。
/stats p3_by_participant.csv で患者群と対照群の Pz の P3 振幅を比較してください。前提を確認し、検定を選んだ理由を説明してください。
compare_groups はデザインを見極め、正規性と等分散を確認してから、ルールに従って検定を選びます。たとえば分散が異なれば Welch、小さく正規でない標本なら Mann–Whitney を使います。効果量と信頼区間に加えて、選択の理由を記した 判断の記録 を返します。参加者内で繰り返された条件(標的 vs 標準)は対応のある検定や反復測定デザインへ、試行レベルの入れ子データは混合モデルへ進めます。詳しくは 統計ガイド をご覧ください。
すべての文をたどれ、すべての図を再現できる
ターンが終わると、Neutropic は解析レポートに 文ごとの [n] 引用 を付けます。[n] はそのターンの解析ステップ 1 つ(ツール呼び出しとその出力)かデータファイルを指し、末尾の参考文献リストにその名前が載ります。意外な数値があれば、その数値が出たステップを開けば確認できます。

図や表にはそれぞれ、作ったツールと正確な引数が記録されます。成果物パネルで { } を押すと表示されます。クリーニング後のデータは新しいファイルとして保存されるので、元の記録が上書きされることはありません。詳しくは すべての文に引用を と デフォルトで再現可能 をご覧ください。

正直な限界
- 入力。 受け付けるのは表だけです。EDF・BDF・機器形式は変換が必要です。振幅は µV、サンプル間隔は一定と仮定しています。
- 瞬目除去。 独立した EOG チャネルは使わないため、前頭チャネル(Fp1/Fp2、AF*、F7/F8)が必要です。前頭チャネルがなければ瞬目は除去されません。しきい値を超えた区間はマークするだけで、切り取りはしません。
- トポグラフィ。 実測の電極位置ではなく、標準 10–20 座標を使います。認識できる 10–20 の名前が 3 つ以上必要で、それ以外のチャネルは図から外れます。
- ERP。 成分の区間は固定です。差波形は条件がちょうど 2 つのときだけ計算します。図には最初の 4 チャネルだけが表示され、CSV には全チャネルが入っています。
- ERD/ERS と SSVEP。 結果は試行平均または記録全体に基づくもので、試行レベルの統計はありません。SSVEP は正弦・余弦の参照信号を使う標準的な CCA で、候補周波数はユーザーが指定する必要があります。個人テンプレートやフィルタバンクの変種は含まれていません。
- レポート。 モデルがツールの出力をもとに書きます。数値はツールから来ますが、方法の文章は記録された引数と照らし合わせてください。
例 · 分野別スキル プロジェクトを開くと、安静時と ERP のセッションを見られます。自分の記録を添付して /eeg と入力して始めることもできます。EEG 以外の生理信号まで含めたガイドは 精神生理学ラボのための Neutropic をご覧ください。

