Files
2nd/10_Wiki/Topics/Computer_Science_and_Theory/Theta-Gamma Coupling.md
T
2026-05-10 22:08:15 +09:00

6.0 KiB
Raw Blame History

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-theta-gamma-coupling Theta Gamma Coupling 10_Wiki/Topics verified self
TGC
Theta-Gamma-PAC
none A 0.85 applied
neuroscience
oscillation
pac
memory
eeg
2026-05-10 pending
language framework
python mne-tensorpac

Theta Gamma Coupling

매 한 줄

"매 theta phase 가 매 gamma amplitude 의 modulate". TGC 의 phase-amplitude coupling (PAC) 의 specific form — 4-8 Hz theta 의 cycle 안 에 30-100 Hz gamma 의 burst 의 nested. 1995 Lisman-Idiart hippocampus 의 working-memory 의 mechanism 의 제안 — 2026 에 EEG biomarker, BCI, Alzheimer 의 study 의 활발.

매 핵심

매 정의

  • Theta: 4-8 Hz, hippocampus / cortex 의 dominant slow rhythm.
  • Gamma: 30-100 Hz (low 30-60, high 60-100), local processing.
  • Coupling form: theta phase φ(t) 의 deterministic gamma envelope A(t).
  • Modulation Index (MI, Tort): 매 normalized KL divergence — phase-binned amplitude vs uniform.

매 mechanism

  • Lisman-Idiart: theta 1 cycle 안 ~7 gamma cycle → 매 ~7±2 working memory items (Miller).
  • CA1 / CA3: place-cell sequence 의 theta phase 안 의 ordered firing.
  • Cross-region: hippocampal theta → entorhinal gamma → memory encoding.

매 measurement

  • Phase: Hilbert transform → instantaneous phase φ(t) of theta-filtered signal.
  • Amplitude: Hilbert envelope of gamma-filtered signal.
  • MI (Tort 2010): 매 most popular — bin phase, average amp per bin, KL vs uniform.
  • Other: PLV (Phase-Locking Value), GLM-PAC, Mean Vector Length.

매 응용

  1. Working memory capacity biomarker.
  2. Alzheimer's — TGC 의 reduction.
  3. Schizophrenia — disrupted PAC.
  4. BCI / cognitive enhancement (tACS at theta).
  5. Anesthesia depth monitoring.

💻 패턴

1. MNE — load EEG + filter

import mne
raw = mne.io.read_raw_fif("subj.fif", preload=True)
raw.filter(l_freq=1, h_freq=120)
theta = raw.copy().filter(4, 8)
gamma = raw.copy().filter(30, 80)

2. Hilbert phase + amplitude

import numpy as np
from scipy.signal import hilbert
theta_phase = np.angle(hilbert(theta.get_data()))
gamma_amp = np.abs(hilbert(gamma.get_data()))

3. Modulation Index (Tort)

def modulation_index(phase, amp, n_bins=18):
    bins = np.linspace(-np.pi, np.pi, n_bins+1)
    mean_amp = np.array([
        amp[(phase >= bins[i]) & (phase < bins[i+1])].mean()
        for i in range(n_bins)
    ])
    p = mean_amp / mean_amp.sum()
    H = -np.sum(p * np.log(p + 1e-12))
    return (np.log(n_bins) - H) / np.log(n_bins)  # 매 normalized KL

4. tensorpac (full library)

from tensorpac import Pac
p = Pac(idpac=(2, 0, 0), f_pha=(4, 8, 1, 0.5), f_amp=(30, 100, 5, 2))
xpac = p.filterfit(sf=1000, x=signal)  # MI matrix (phase × amp)
p.comodulogram(xpac.mean(-1))

5. Surrogate test (statistical sig)

# 매 phase 의 shuffle → 매 surrogate MI 의 distribution → p-value
def surrogate_pac(phase, amp, n_perm=200):
    obs = modulation_index(phase, amp)
    shuffles = []
    for _ in range(n_perm):
        shift = np.random.randint(len(phase))
        shuffles.append(modulation_index(np.roll(phase, shift), amp))
    p = (np.array(shuffles) >= obs).mean()
    return obs, p

6. Comodulogram (full freq scan)

phase_freqs = np.arange(2, 12, 1)
amp_freqs = np.arange(20, 120, 5)
comod = np.zeros((len(phase_freqs), len(amp_freqs)))
for i, fp in enumerate(phase_freqs):
    for j, fa in enumerate(amp_freqs):
        ph = np.angle(hilbert(bandpass(x, fp-1, fp+1)))
        am = np.abs(hilbert(bandpass(x, fa-5, fa+5)))
        comod[i, j] = modulation_index(ph, am)

7. tACS protocol (cognitive enhancement, 2026)

매 theta-frequency tACS (6 Hz) over fronto-parietal sites
→ 매 working memory performance 의 ↑ (effect size ~0.3, replicated mixed)

8. tensorpac with MNE epochs

from tensorpac import EventRelatedPac
erp = EventRelatedPac(f_pha=(4, 8, 1, 0.5), f_amp=(30, 100, 5, 2))
erp_pac = erp.filterfit(sf=1000, x=epochs.get_data())

매 결정 기준

상황 Approach
Standard PAC quantification Tort MI (idpac=(2,...))
Phase consistency only PLV
Full freq exploration Comodulogram
Statistical significance Surrogate (200+ perm)
Event-related EventRelatedPac (epoch-wise)
Software tensorpac > custom (validated)

기본값: MNE filter → Hilbert → Tort MI → surrogate p-value → comodulogram visualization.

🔗 Graph

🤖 LLM 활용

언제: explanation of TGC mechanism, pipeline draft, paper interpretation, hypothesis discussion. 언제 X: 매 actual signal processing — 매 MNE / tensorpac 의 사용.

안티패턴

  • MI without surrogate: 매 spurious — 매 baseline MI 의 always non-zero.
  • Filter bandwidth too narrow: 매 amp envelope 의 unresolvable — 매 amp band ≥ 2× phase freq 의 필요.
  • Volume conduction: 매 EEG 의 같은 source 의 두 sensor 의 false PAC — 매 source-localized analysis 의 권장.
  • Single-channel claim: 매 within-channel PAC 의 weak — 매 cross-region 의 더 의미있음.
  • TGC = causation: 매 correlate of cognition 의 X causation — manipulation (tACS, opto) 의 필요.
  • Aggregating over subjects naively: 매 individual differences 의 huge — 매 within-subject 의 normalize.

🧪 검증 / 중복

  • Verified (Tort et al. 2010 J Neurophysiol, Canolty & Knight 2010 TICS, Lisman-Idiart 1995).
  • 신뢰도 A.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — TGC mechanism, MI/tensorpac patterns, surrogate stats.