朝、アプリを開くと今日の心拍変動が出ています。昨日より高い、低い。
その数字は、寝ているあいだか、起きた直後に記録された心臓の拍から、自動で計算されたものです。
ただ、その計算にはいくつもの選択が入っています。どこからどこまでを使うか。おかしな拍をどう扱うか。選び方を変えると、同じ記録から別の数字が出ます。
私の41日分で確かめたら、日によっては2倍違いました。
しかもその日は、数字がいちばん高く出た日でした。
そもそも、何のために測るのか
心拍変動というのは、心臓が打つ間隔のばらつきです。
脈は一定のリズムを刻んでいるように思えますが、1拍ごとの間隔はわずかに伸び縮みしています。その揺れの大きさをミリ秒で表したものが、心拍変動です。数字が大きいほど、間隔がばらついています。
この揺れは自律神経の働きを映すとされていて、体が休息側に傾いているときに大きく、緊張しているときや疲れが残っているときに小さくなる傾向がある、と一般に説明されています。睡眠不足や飲酒のあと、強い練習の翌朝などに下がりやすい、という話もよく見かけます。
そのため、多くのウェアラブルは朝の心拍変動を回復の目安として見せています。Ouraのコンディション、Whoopのリカバリー、Garminのボディバッテリー。名前は違っても、心拍変動は中身の主要な材料の1つです。今日は追い込んでよさそうか、休んだほうがよさそうか。その判断のために出している数字、ということになります。
ひとつ補っておくと、絶対値は個人差が大きく、他人と比べる数字ではありません。自分の平常値から上がったか下がったか、を見るのが一般的な使い方です。
つまりこの数字は、上下そのものに意味を持たせて使われています。だからこそ、その上下が本物かどうかが問題になります。
先に、持ち帰れることを3つ
この記事で分かったことを、読む人の側から書くとこうなります。
1つめ。最初の数十秒は捨てたほうがいい。41日のうち8日で、着けた直後に明らかにおかしな値が出ていました。それを含めて計算すると、ある日の数字は本来の17倍になります。
2つめ。1拍の読み違いで、その日の数字は2倍動く。4日で起きました。高い日の上位は、その1拍をどう扱うかで入れ替わります。
3つめ。測定器が1台しかなくても、処理が妥当かどうかは確かめられる。正しい値を知っている機器は必要ありません。心拍数との関係を見れば判定できます。方法は後半に書きます。
指輪や時計しか持っていない場合、アプリの画面からは生の記録が取り出せないので、この確認はできません。それでも1つ言えるのは、日々の上下をそのまま体調の変化として読まないほうがいい、ということです。1拍で2倍動きうる数字です。
何を測ったか
胸ベルトはPolar H10です。電極で心臓の電気信号を直接拾います。記録にはElite HRVというアプリを使いました。

出てくるのは、1拍ごとの間隔の記録です。ミリ秒の数字が、拍の数だけ並びます。心拍変動は、この並びから計算します。
毎朝、目が覚めたらそのまま寝た姿勢で胸ベルトを着け、4分だけ測ります。起き上がりません。それを41日続けました。
41日のうち1日は、まだ手順が定まっていなくて2分で止めていました。その日を除いた40日を使っています。
最初の1分は、捨てていました
4分測って、最初の1分は使いません。残り3分で計算します。
理由は、着けた直後は値が落ち着かないからです。安定するまで待つ、という話でした。
41日分を並べてみたら、別の理由でも効いていました。
捨てていた区間に、おかしな拍が集まっていました
拍の間隔が前の拍から2割以上変わった箇所を、おかしな拍として数えました。心臓がそこまで急に変わることはないので、拾い損ねか、余計に拾ったかのどちらかです。
41日のうち12日に見つかりました。そのうち8日は、すべて最初の18秒以内です。
| 日付 | 見つかった値(ミリ秒) | 何秒のところか |
|---|---|---|
| 08-08 | 2083 / 5933 | 2.1〜9.8秒 |
| 08-12 | 368 / 2576 | 10.8〜14.2秒 |
| 08-23 | 370 / 333 | 9.2〜10.3秒 |
| 08-26 | 484 / 1963 | 1.3〜4.0秒 |
| 09-07 | 1725 | 6.1秒 |
| 09-09 | 668 / 2571 | 4.0〜7.3秒 |
| 09-10 | 1030 | 18.0秒 |
| 09-11 | 527 / 978 | 5.5〜14.3秒 |
平均が900ミリ秒前後ですから、5933は6倍以上、333は3分の1です。着けた直後に電極がまだ馴染んでいない、と読むのが素直だと思います。
捨てるかどうかで、その日の数字はこれだけ変わります。
| 日付 | 4分ぜんぶ | 最初の1分を捨てた場合 |
|---|---|---|
| 08-08 | 449.2 | 25.9 |
| 08-12 | 184.1 | 36.1 |
| 08-26 | 124.0 | 34.0 |
| 09-09 | 164.3 | 22.8 |
449という数字は、ありえない値です。捨てなければ、この日だけとんでもない記録が残っていました。
最初の1分を捨てるのは安定を待つためだと思っていましたが、着けた直後のノイズを落とす役もしていた、ということになります。
ただし、41日のうち8日の話です。装着直後という限られた場面でもあります。
それでも残る日が、4日ありました
おかしな拍が、捨てる区間の外に出た日があります。
処理としては、前後の値の真ん中で埋めました。1拍だけ差し替えて、あとはそのままです。
| 日付 | 区間内のおかしな拍 | そのまま | 埋めた場合 | 差 |
|---|---|---|---|---|
| 08-19 | 2 | 63.4 | 28.5 | +122% |
| 08-23 | 2 | 65.7 | 37.0 | +78% |
| 09-08 | 5 | 60.2 | 34.2 | +76% |
| 09-01 | 1 | 55.0 | 54.2 | +1% |
1拍か2拍の扱いで、その日の数字が2倍になります。
高かった日が、入れ替わります
40日を高い順に並べると、こうなります。
| 順位 | そのまま | 埋めた場合 |
|---|---|---|
| 1 | 08-23(65.7) | 09-03(62.6) |
| 2 | 08-19(63.4) | 09-01(54.2) |
| 3 | 09-03(62.6) | 08-30(49.6) |
| 4 | 09-08(60.2) | 08-11(46.6) |
| 5 | 09-01(55.0) | 09-12(46.0) |
そのままの並びで上位4日のうち、3日が入れ替わりで消えます。
心拍変動がいちばん高かった日はどれか、という問いに、処理の仕方だけで別の答えが出ます。調子が良かった日を数字から探そうとすると、ここで別の日を指すことになります。
引っかかった拍が、全部効くわけではありません
09-01は、区間内に1拍見つかっているのに、埋めても1%しか動きません。
この日の値は1251ミリ秒でした。その日の平均が975なので、28%の逸脱です。2割という線をぎりぎり超えただけで、周りから飛び抜けてはいません。
効くかどうかは、どれだけ外れているかと、そこだけ孤立しているかで決まります。おかしな拍として数えられたことと、直す必要があることは、別です。自分の記録で見るときも、引っかかった数を数えるより、飛び抜けた1つを探すほうが早いと思います。
後半に出る型も、ありました
09-08は、5拍が174.8秒、183.1秒、191.5秒、213.4秒、233.8秒に散らばっています。
値は1101から1166ミリ秒で揃っていて、その日の平均919に対しておよそ1.2倍です。1拍取りこぼしたときに出る形が、測定の後半に繰り返し出ています。
08-23も似た形で、231.7秒に1385ミリ秒が出ています。
着けた直後の接触不良とは、出る場所も形も違います。最初の1分を捨てても消えません。原因は確かめていません。
では、どちらが正しいのか
ここで手が止まりました。
そのままの数字と、埋めた数字と、2つあります。どちらが本当かを確かめるには、正しい値を知っている別の機器が必要です。それはありません。
医療用の心電計を借りてくれば分かりますが、持っていません。
それで、別の方法を使いました。
心拍数との関係で、決めました
心拍変動と心拍数が逆に動くことは、よく知られています。心拍数が高い日は心拍変動が低く、その逆もそうです。
40日分で、その関係の強さを測りました。
| 処理 | 心拍数との相関 |
|---|---|
| そのまま | −0.399 |
| 埋めた場合 | −0.659 |
埋めると関係がはっきり出て、埋めないと崩れます。
埋めた数字のほうが、もともと知られている動き方に沿っています。これを根拠にして、埋めるほうを採ることにしました。
この手は、機器が1台しかなくても使えます。正しい値を知っている機器ではなく、同じ機器から出てくる2つの数字の関係を見ているだけだからです。処理のやり方を2通り試して、既知の関係に近づくほうを採る。それだけです。
心拍変動は心拍数の裏返しだ、という話ではありません。この40日で、心拍数から説明がつくのは4割ほどです。残りは別のものです。
もう1つの裏づけがありました
同じ41日を、指輪型のセンサーと突き合わせた記録が別にあります。そちらでも同じ向きの結果が出ました(Oura Ringと胸ベルトで心拍変動を41日比べました)。
| 処理 | 指輪の数値との一致 |
|---|---|
| そのまま | 0.362 |
| 埋めた場合 | 0.430 |
埋めると、別の機器との一致も上がります。
心拍数との関係と、別の機器との一致。根拠が2つあって、どちらも同じほうを指しています。
同じことを自分の記録で確かめるには
1拍ごとの間隔が書き出せる場合だけです。胸ベルトと記録アプリの組み合わせなら、たいてい書き出せます。
指輪や時計は、アプリの画面からは取り出せないのが普通です。ただ、経路が無いとは限りません。Oura は開発者向けの窓口を通したら、5分ごとの値まで取れました。他の機種は確かめていません。
- 最初の30秒から1分を見る。前後から明らかに飛んでいる値がないか。あれば、その区間を外した場合の数字と比べる。
- 解析に使う区間の中を見る。周りから飛び抜けた拍が1つでもあれば、前後の真ん中で埋めて、数字がどれだけ動くか比べる。1つで足ります。
- 迷ったら、心拍数との関係を見る。同じ日の心拍数と並べて、処理あり・処理なしのどちらが逆相関に近づくか。40日分ほどあれば向きが見えます。
生の記録が取り出せない場合。確認はできませんが、日々の上下をそのまま体調の変化として読まない、という使い方はできます。とくに、極端に高い日や低い日が1日だけ出たときは、体のほうではなく拍の読み違いを疑う価値があります。
分からなかったこと
埋め方そのものが、選んだ結果です。
2割を超えたら前後の真ん中で埋める、という決め方をしました。この線を1割にすれば、引っかかる拍は増えます。3割にすれば減ります。真ん中で埋めるのではなく、その拍を抜いてしまう方法もあります。
どれを選ぶかで、また数字が変わります。今回はこの決め方を41日すべてに同じように当てはめました。それ以上のことは言えません。
09-08や08-23の後半に出た取りこぼしの原因も、分かっていません。ベルトの乾きか、ずれか、別の何かか、確かめていません。
この数字は私のものです
ここに出した値は、私の40日分の記録です。
着けた直後におかしな拍が出るかどうかは、体格や電極の馴染み方で変わるはずです。同じことを確かめたい方は、ご自分の記録で見てください。
最初の1分を捨てる、という手順は最初から決めていました。理由も分かっていたつもりでした。41日分を並べてみたら、思っていたのとは別の理由でも効いていた、というだけの話です。

