前回の続き. Museをつかってベーシックな脳波解析に挑戦してみます.
脳波デバイス Muse S Athenaを購入した。そして今から、ヂを動かす。 | Futurismo
Claude codeをつかったバイブデータ分析に感動した
最近の流行に乗ってAIにデータ分析をやらせたい.
Claude codeを現在つかっているようだが、現時点(2025.10)では、NotebookEdit, NotebookReadというオプションツールがデフォルトであるようで、この権限を有効にすることで、Claude codeからJupiter notebookにアクセスできるようだ.
ベストプラクティスによると、Claude codeとJupiter notebookを VSCodeで開いてside-by-sideで並べるとよいとのこと1.
主なパラメータ: notebook_path: Notebookファイルの絶対パス cell_id: 編集対象のセルID cell_type: “code"または"markdown” edit_mode: “replace”、“insert”、“delete” new_source: 新しいセルの内容
使用例: 「3番目のセルのコードを修正して」「新しいmarkdownセルを追加して説明を入れて」「このセルを削除して」
試して見たところ、言語で指示するだけで、セル単位の編集ができて感動した. バイブデータ分析の時代が到来した!人間はよりメタ的な視点で分析をすることができる.

Mind Monitorでcsvデータを取得
Museデバイスから脳波データを取り出すには、Mind Monitorという別アプリを使う必要がある.
Mind MonitorとMuseを接続して、Recordingしてuploadする. 古い記事だとDropboxがアップロード先だが、今はいろいろアップロード先に指定できる. Google Driveもいける.
設定は、とりあえずこの2つの設定をしたらOKそう.
- Recording Interval: Constant
- Notch Frequency: 50Hz
PSD分析をするためには、設定の Recording Intervalを defaultの1SEcからConstantに変更する必要がある.
アプリを起動してspectrogramの画面を表示すると、50Hzあたりで真っ赤な線が入る. なんかの不具合かとおもったが、これは設定画面からのNotch Frequencyの調整で抑えることができるようだ. 関東は50Hz/関西は60Hzに設定するのがよさそうだが、試して見たところ、あまり変わらなかった. データ処理でなんとかするのがよさそう.
基本的な脳波解析をしてみる(AIが
基本的な脳波解析をしてみる.
バンドパワー時系列分析
Muse Monitorのcsvはデフォルトで4つのチャネルごとの5つのPSDをcolumnsに出力していくれるので、これをつかう.
TP9/AF7/AF8/TP10 x Delta/Theta/Alpha/Beta/Gamma

PSD-周波数分析
この記事2で行っているようなPSDと周波数の分析がしたかった. ここで効いてくるのがRecoding Intervalの設定. これをConstantに設定してないと、RAWからの計算ができない罠.
RAW_Delta/Theta/Alpha/Beta/Gamma

なお心なしかシータ波は相対的に高い気もするが、誤差の可能性もある. 詳しい分析もAIにあとで任せたい.
スペクトログラム
時間とともに周波数分布がどう変化するか.

瞑想指標
瞑想に役立ちそうな指標を調べてみる.
バンド比分析
- リラックス度: Alpha/Beta 比率(高いほどリラックス)
- 集中度: Beta/Theta 比率(高いほど集中)
- 瞑想深度: Theta/Alpha 比率(高いほど深い瞑想状態)
これは10秒間隔でリサンプリングするとノイズが減る気がした.

PAF分析
PAFはAlpha帯域(通常8-13 Hz)内で最大パワーを示す周波数. museでは、Peak Alphaという機能があるが、これは一般的にはPAFというものらしい.
Premiumに課金すると、この値がアプリで表示されるのだが、RAW EGGデータがあるとこれ算出できる?!
=
Peak Alpha Frequency (PAF)=
TP9: PAF = 8.30 Hz, Power = 15.59 μV²/Hz AF7: PAF = 8.30 Hz, Power = 10.05 μV²/Hz AF8: PAF = 8.30 Hz, Power = 10.86 μV²/Hz TP10: PAF = 8.30 Hz, Power = 9.02 μV²/Hz
Individual Alpha Frequency (IAF): 8.30 ± 0.00 Hz
考察: 実際にやってみて感じたこと
先に脳波解析をしてからその解析の意味を学ぶ
時系列データ分析はやったことがあるのだが、信号処理や脳波解析はドメイン知識が必要なので、はじめに学ぶ事柄がおおい. ただ、AIが生成したデータ分析を元に、なにをやっているの理解するのがよい勉強法だと思った.
さらには、主な分析手法を出力して、自分で基本的な教科書が作成できてしまうのが革新的. とはいっても、こういう行き当たりバッタリな勉強法をある程度すると体系的なドキュメントで学びたくもなってくる.
脳波解析の専門家の意見をその場で得ることができる
Claude codeをつかったデータ分析について確信的だと思ったのは、出力したグラフや指標を元に、「脳波解析の専門家の視点で解釈をお願いします」という依頼をすると、脳波解析の見地からアドバイスをくれる.
うわさだと現在のAIレベルは博士レベルらしい. とはいえ、実際の研究者から見ればまだまだ間違いも多いという話もきいた. しかし、だとすると、論文を検索してそれを元にアドバイスをくださいというと、アドバイスの根拠を示してくれる.
対話的LLMデータ解析 vs AI Agent駆動データ解析
さらにこれから掘り下げたいと思ったのは、AI駆動脳波解析の可能性.
AIを使った対話的脳波解析は、「セルフ・ニューロサイエンス」の時代を開く可能性があると思います。 従来は:専門家 → 測定 → 数週間の解析 → 結果レポートこれからは:自分で測定 → AI支援で即座に解析 → その場で解釈 → 次の実験
今回の分析はJupiter notebookを直接Claude codeで編集した. すると、今回の基本的な解析のほかに2つの分析を追加で行ったのだが、なんだかJupiter notebookが長くなってしまい、あまりよいベストプラクティスではなかった. 仮説ごとにnotbeookを分けたほうがよさそうだ.
ここから、Claude codeのようなLLMをつかった未来の脳波解析はどうなるんだろうか?と思った. EDAやレポートは人間が見やすくするためだが、Claude codeのようなCLI駆動たと今のようなNotebookは適切なのか?
また、Claude codeは使い捨てコードをあっという間に量産するので、適切にスクリプトをライブラリにないとメチャクチャになってしまう. LLMデータ解析プロジェクトのベストプラクティスノウハウが必要.
さらに、AI Agentのような一気通貫で分析レポートを生成するのか、それとも対話的に分析をするのかも大きな分かれ目だ. プログラミングでCladue codeをつかうとき、一発目はある程度自走させるが、そこからはちょいちょい細かい単位でやりとりしたほうがやりやすいというノウハウがある.
いろいろ思うことはあるが、きっとわたしが考えるよりも、もう本格的にデータ分析や研究をしている人たちの間でノウハウがありそうだ. それも調べてみよう(AIが.
ポエムくらいしか書くことがなくなった
呪文を唱えるとデータ分析できる時代が到来した. もはや魔法使いたちの魔法合戦の時代か.
このブログはもともと技術ブログとしてプログラミングの学習記録をかいているブログだったのだが、もうコードはほぼAIが生成する時代になると、ブログで書く内容は、もはやわたしの感想しかなくなってしまった.
感想すらAIに書いてもらったらサイコパスなので、そこは自分で一生懸命心を込めてキーボードを打鍵しようと思った.