🐴

馬の気持ちをデータで読み解く——RRIを使った自律神経分析のためのPythonライブラリhrv

2025/01/14に公開

突然ですが、皆さんは「馬の気持ち」って想像できますか? 彼らは言葉を話せませんが、その行動や息遣いからは様々な感情が伝わってきますよね。EQUTUMでは、そんな馬たちの「声にならない声」をデータで捉え、より深く理解し、活用できるようにしたいと考えています。

https://abel-inc.com/equtum

EQUTUMのプロダクトビジョンは 「すべての馬に、最適な選択を」。 このビジョンを実現するために、EQUTUMでは計測中に馬に取り付けている心拍センサーのデータを利用して、彼らの体のサインを読み解いていく試みをしています。

使っている心拍センサー

EQUTUMでは Polar H10 という製品を使って、馬たちの心臓がどんなリズムを刻んでいるのかを記録しています。
https://www.polar.com/ja/sensors/h10-heart-rate-sensor?srsltid=AfmBOopgR22b5b6kpG7sYfKmVk3If-DBl7yb1DEZwbagKV610ltfRo4o

心拍数だけではない、RRIからわかる情報

もちろん、ただ心拍数を測るだけではありません。今回注目するのは、RRI(R-R Interval) という、心臓の鼓動の間隔データ。このRRIを分析することで、心拍数の変動パターンがわかり、自律神経系の状態まで推測できます。

そこで活躍するのが、Pythonライブラリ hrv です。
このライブラリを使うと、取得したRRIデータから、LF/HF比といった専門的な指標を簡単に算出できます。LF/HF比は、交感神経と副交感神経のバランスを示す指標として知られており、今回の場合、馬の精神状態などの評価に役立ちます。

hrvライブラリを使ってみる

hrv ライブラリは、心拍変動解析のための機能が集まっていて、公式ドキュメントも充実しています。

🔗 hrvライブラリのドキュメント: https://hrv.readthedocs.io/en/latest/index.html

インストール

$ pip install hrv

実際のコード

from hrv.classical import frequency_domain
from hrv.rri import RRi
import numpy as np  # NumPyも必要なのでインポートしておきましょう

# サンプルのRRIデータ (ミリ秒単位)
rri_subset = [1448, 1485, 1498, 1470, 1464, 1460, 1438, 1436, 1438, 1443, 1431, 1484, 1442, 1518, 1493, 1455, 1457, 1489, 1455, 1503, 1484, 1485, 1480, 1485, 1465, 1442, 1501, 1534, 1503, 1501, 1513, 1502, 1500, 1480, 1470, 1412, 1409, 1451, 1479, 1479, 1567, 1571, 1567, 1558, 1522, 1502, 1490, 1478, 1473, 1469]

# RRiオブジェクトを作成
rri = RRi(rri_subset)

# 周波数領域解析を実行
results = frequency_domain(
    rri=rri,
    fs=4.0,  # サンプリング周波数 (Hz)
    method='welch',  # パワースペクトル密度推定方法
    interp_method='cubic',  # 補間方法
    detrend='linear',  # トレンド除去方法
    vlf_band=(0.00, 0.01),  # 超低周波帯域 (Hz)
    lf_band=(0.01, 0.07),  # 低周波帯域 (Hz)
    hf_band=(0.07, 0.6),   # 高周波帯域 (Hz)
)

print("results:", results)

出力結果

results: {
    'total_power': np.float64(469.30557134760915),	
    'vlf': np.float64(0.0),
    'lf': np.float64(123.37646061257585), 
    'hf': np.float64(345.9291107350333),
    'lf_hf': np.float64(0.3566524376928684),
    'lfnu': np.float64(26.289153196775572),
    'hfnu': np.float64(73.71084680322443)
    }

ここで注目したいのが lf_hf の値。
これは 交感神経 (LF) と副交感神経 (HF) のバランスを示すとされており、馬の精神状態を推測する一つの指標になります。

データが語る、馬の気持ち

こうした指標をEQUTUMのアプリ上でグラフや数値として可視化することで、調教師や厩舎スタッフのみなさんが馬のストレスや集中度合いなどをより深く理解できるようになります。

例えば、トレーニング中にLF/HF比が急に上昇した場合、馬がストレスを感じている可能性が高いです。
一方、落ち着いた状況ではHF成分が優勢になり、リラックス度合いを把握できます。
こうして、「馬の気持ち」を定量的にとらえる ことで、より適切なトレーニング強度の調整や健康管理が期待できます。

ある計測における自律神経分析結果グラフ

(株)ABELでは、今後も 「すべての馬に、最適な選択を」 というビジョンを実現すべく、新しい技術・プロダクト開発に取り組んでいきます。
馬の心拍変動解析はまだまだ奥深い分野ですが、HRV解析を通じて馬たちの声なき声を活かし、より良い環境づくりやトレーニングの最適化を目指していきたいと思います。

ABEL, Inc.

Discussion