「Heart Rate Modeling and Prediction Using Autoregressive Models and Deep Learning」の紹介

こんにちは、ストラテジックアライアンス部のStaffiniです。
2020年10月から、東京大学の大学院工学系研究科バイオエンジニアリング専攻で客員研究員として、計算疫学やヘルスケアのためのAIアプリケーション等を研究しています。

今回は、心拍数に対する異なる予測モデルを用いて分析を行い、『Sensors』 というジャーナルで2021年12月にパブリッシュされた論文「Heart Rate Modeling and Prediction Using Autoregressive Models and Deep Learning(自己回帰モデルとディープラーニングによる心拍数のモデリングと予測)」(https://www.mdpi.com/1424-8220/22/1/34 )を紹介します。

初めに

生理的機能の時系列は多くの要因に影響されて、急激に変化することもあるため、非線形性/非定常性だと思われています。その結果、心拍時系列は予測や取り扱いが困難とされることが多くあります。しかし、心拍変動の振る舞いは、心血管疾患や呼吸器疾患、気分障害などの基礎疾患を示すこともあります。このような特定の疾患の予防と制御のためには、心拍変動の正確なモデリングと信頼性の高い予測を用いて、良いパフォーマンスを発揮する適切なモデルを特定することが重要です。

長年にわたり、多くの研究が正確な心拍数予測のための様々なモデルを提案してきました。例えば、[1]は線形自己回帰(AR)モデルや線形自己回帰移動平均(ARMA)モデルの性能を非線形モデルやバイリニアモデルと比較し、予測には非線形手法を用いるべきと提案しました。ここでも、より最近の研究([2]-[3])ではフィードフォワードニューラルネットワークを検討し、[4]では心拍予測にAdam最適化アルゴリズムで学習したLSTMモデルを提案しています。これらの最近の研究は、高い粒度でデータを収集していましたが、単一のモデルを提案しており、単一の参加者と短い時間での検証のみでした。

このブログで紹介されている論文[5]では、粒度を低く(分単位のbeats per minute (BPM) 予測)しましたが、複数のモデルを比較し、12人の条件の異なる参加者で結果を検証しました。

論文の内容

この論文の参加者は東京にある5つの会社から募集されました。本研究では、対象者は介入群に属する者のみとしました。参加者には、心拍数をBPMで計測するウェアラブルデバイスFitbit Versa(Fitbit Inc.)を提供し、24時間装着してもらい、またライフスタイルや過去・現在の病歴に関するモバイルアプリを用いたアンケートにも回答してもらいました。母集団の分布をより正確に把握して、モデルのパフォーマンスをより良く評価するために、異なる特徴や心拍数行動を持つ12名の参加者を選びました。

現在までの疾患数、喫煙/飲酒習慣、運動習慣に関する情報は、研究開始時に実施したモバイルアプリベースの自己報告式アンケートによって抽出されました。一部、参加者が常時デバイスを装着していなかったため、記録されなかった心拍数の欠損値は、等間隔の時間グリッドを得るために、欠損データを線形補間しました。また、欠損値の補完を埋め込むコストを最小限にするため、欠損値が少ないことを12人の参加者を選択する基準としました。さらに、予測モデルの学習に用いたデータは、10日間に計測されたデータに限定しました(参加者1人あたり合計14,400回の観測)。興味がある方は、元の論文[5]に参加者の選び方とウェアラブルデバイスについての詳細な説明がありますのでご覧ください。

表1は、年齢、性別、病歴、喫煙/飲酒習慣、運動習慣を含む参加者の特徴をまとめたものです。
表1: 参加者の特徴。

収集したデータは、トレーニングとテストセットに80:20の割合で分割されました(すなわち、最初の8日間のデータをトレーニングに、最後の2日間のデータをテストに使用しました)。そして、分単位の心拍数予測に対して、複雑さを増す3つの異なるアーキテクチャ(AR、LSTM、ConvLSTM)のパフォーマンスを比較しました。

AR(自己回帰モデル)
次数{p}のARプロセスは、時刻{t}の時系列の値{X_t}を、その前の{p}個の実現値{X_{t-1}},{X_{t-2}},{...},{X_{t-p}}を用いて、以下の式に従ってモデル化します。

{X_t = \beta_0 + \sum_{i=1}^{p}\beta_i X_{t-i} + \varepsilon_t .}

ここで{\beta_0}はモデルの切片、{\beta_1, ..., \beta_p}は遅行値の係数、{\varepsilon_{t}\sim WN(0,\sigma^2_{\varepsilon})}であります。関心のある変数の実現値{X_t}は、{p}個の過去の実現値とノイズ項の線形結合を用いてモデル化されるので、ARプロセスは線形時系列のモデル化に特に有用です。

ARプロセスの適切な次数{p}を見つけるために、自己相関関数(ACF)や偏自己相関関数(PACF)の分析がよく使われます。我々の場合、検討したすべての参加者について、{p=3}が適切であることが確認されました。

LSTM(長・短期記憶)
LSTM [6]はRecurrent Neural Network(RNN)の一種で、情報の流れを制御できるメモリセルが存在するため、特に時系列予測などのシーケンス予測問題に適しているとされます。具体的には、各LSTMセルには、忘却ゲート(どの情報を破棄するかを決める)、入力ゲート(入力からどの値を用いて記憶状態を更新するかを決める)、出力ゲート(入力とメモリセルから何を出力するかを決める)の3つのゲートが存在します。ある時間ステップ{t}における方程式は以下の通りであります。

{F_t = \sigma(W_F x_t + U_F h_{t-1} + b_F),}
{I_t = \sigma(W_I x_t + U_I h_{t-1} + b_I),}
{\tilde{C_t} = tanh(W_C x_t + U_C h_{t-1} + b_C),}
{O_t =\sigma(W_O x_t + U_O h_{t-1} + b_O),}
{C_t = F_t \circ C_{t-1} + I_t \circ \tilde{C_t},}
{h_t = O_t \circ tanh(C_t).}

ここで、{F_t, I_t, O_t}はそれぞれ忘却ゲート、入力ゲート、出力ゲート、{\tilde{C_t}}はセル入力活性化ベクトル、{C_t}はセル状態、{h_t}は LSTM セルの出力ベクトル、{x_t}は LSTM セルへの入力ベクトルです。{W_., U_., b_.}はそれぞれ学習過程で調整する重み行列とバイアスベクトルのパラメータ、{\sigma}はシグモイド活性化関数、{\circ}は要素ワイズ積を表します。
データの複雑さと非線形性をよりよくモデル化するために、LSTMの層を互いに積み重ねることができます。この論文では、3層のLSTMアーキテクチャを使用しました。最初の隠れ層には 50 個のセルが含まれ、2 番目には 25 個、3 番目には 10 個のセルが含まれます。オーバーフィッティングを回避するため、各隠れ層の後にDropout[7]を適用しました(学習中に各セルをランダムにドロップする0.3の確率を適用しました)。また、Dropoutは最大ノルム正則化と組み合わせて、各隠れ層の重みとバイアスの両方のノルムが3以下になるように制約しました。この論文はシングルステップ予測に焦点を当てているので、出力層は単一の完全連結ニューロンから構成されています。最適化アルゴリズムとして、Adam [8]を使用して、学習率は0.001であり、これは実際にうまく機能することが示されています。隠れ層の活性化関数としては、LSTMで用いられる標準的な活性化関数であり、高速に収束できることが多い双曲線正接(tanh)を用いました。重みの初期化方式として、深層ネットワークによく効くGlorot uniform initializer[9]を各層に適用しました。モデルは2000エポック学習して、文献でしばしば示唆されるオーバーフィッティングを避けるための正則化の別の形態として早期停止を採用しました。

ConvLSTM(畳み込み長・短期記憶)
ConvLSTM [10]はLSTMアーキテクチャのバリエーションで、入力から状態、状態から状態への遷移に畳み込み演算を用いて、問題を時空間シーケンス予測問題として捉え直したものです。与えられた時間ステップ{t}におけるConvLSTMのセル方程式は以下の通りです。

{F_t = \sigma(W_F \ast x_t + U_F \ast h_{t-1} + V_F \circ C_{t-1} + b_F),}
{I_t = \sigma(W_I \ast x_t + U_I \ast h_{t-1} + V_I \circ C_{t-1} + b_I),}
{\tilde{C_t} = tanh(W_C \ast x_t + U_C \ast h_{t-1} + b_C),}
{O_t =\sigma(W_O \ast x_t + U_O \ast h_{t-1} + V_O \circ C_t + b_O),}
{C_t = F_t \circ C_{t-1} + I_t \circ \tilde{C_t},}
{h_t = O_t \circ tanh(C_t).}

ここで、すべての定義はLSTMの説明と同じです。演算子{\ast} は畳み込み演算を表して、{V_.}は学習に用いる別の重み行列です。
我々は2層のConvLSTMアーキテクチャを検討して、第1隠れ層は50セル、第2隠れ層は25セルとしました。出力層は1つの完全連結ニューロンで構成されました。LSTMのアーキテクチャと同じで、最適化アルゴリズムにAdam、隠れ層の活性化関数にtanh、重みの初期化スキームにGlorot uniform initializerを使用しました。ConvLSTMはLSTMと同じエポック数で学習して、早期停止を適用しました。

モデルの性能評価には、損失関数としては平均絶対誤差(MAE)と、大きな誤差をより大きく罰する二乗平均平方根誤差(RMSE)を選択しました。

{MAE =\frac{1}{n}\sum_{i=1}^{n}\left | \widehat{y_i} - y_i \right |,}
{RMSE =\sqrt{\frac{1}{n}\sum_{i=1}^{n}(\widehat{y_i} - y_i)^2.}}

ここで、{\widehat{y_i}}{y_i}はそれぞれ、{n}個の観測値に対する予測された心拍数値と真の心拍数値です。
ニューラルネットワークは、学習時に確率的な要素(重みの初期化など)を内在していることから、その結果は実行のたびに変化します。そのため、各ディープラーニングアルゴリズムは、各参加者について50回実行されました。
表2は、各モデルについて50回実行した平均値(および括弧内の標準偏差)を示しています。太字は、参加者ごとの最良の結果を示しています。
表2: 各モデルのMAEとRMSE。
表で報告された結果は、最もパフォーマンスの良いモデルがAR(3)モデルであることを示しています。結果はモデル間でほぼ同じでしたが、対応なし{t}検定により、12人の参加者全員について、MAEとRMSEに統計的に有意な差があることが確認されました(p < 0.01)。また、検出力分析により、対象者全員について高い統計的検出力(90%以上)が確認されました。
図1は、参加者1のテストセットにおいて、3つのモデルによって生成された分ごとのHR予測を示しています。
図1。参加者1名の予測結果。

考察

表2の結果から、3つのアーキテクチャ(AR(3)、LSTM、ConvLSTM)は同様の性能を示しましたが、線形ARモデルによる予測はLSTMとConvLSTMよりも統計的に有意に優れていることが分かりました。

得られた結果は、3つの考察を浮き彫りにしました。まず、{t}分の心拍数値は過去 3 分間の心拍数値と相関があって、この情報のみで正確に予測できます。他の参加者(無作為抽出)のデータを追加解析したところ、ACF/PACFプロットにおいて同じパターンが観察されました。第二に、分単位の心拍数予測は、計算負荷の高いツールを必要とせず、比較的容易にユーザーから心拍数情報を収集するウェアラブルデバイス(Fitbitなど)から抽出したデータを用いて行うことができます。第三に、より複雑なモデルは、わずかに悪い心拍数予測を生成しました。これは、1つ目の考察と一致して、心拍数の分単位の変化が合理的に線形過程とみなせることを示しています。

結論

この論文の目的は、分単位の心拍数予測に用いる3つの時系列予測モデルを比較して、心拍数行動のモデル化および予測の点で最も優れた性能を持つアーキテクチャを特定することであった。年齢、性別、ライフスタイルにかかわらず、個人の1分間の心拍数は、過去3分間の心拍数値に大きく依存して、1分ごとの心拍数変動は合理的に線形過程とみなせることが示唆されました。これらの知見は、ウェアラブルデバイスに比較的単純なモデルを実装することで、ユーザーに有用な情報を提供して、心拍数値の異常を監視して病気の発症リスクに対応できることを示唆しています。

最後に

この論文の拡張として、同じ3つのモデルを用いて、より長い期間(例えば、次の10分間)、多段階の予測を行って、モデルの相対的なパフォーマンスが変化するかどうかを観察することを検討しています。さらに、調査を進めることで、よりパフォーマンスの高いモデルが特定されられるかもしれません。

最後に、ALBERTでは一緒に切磋琢磨できるデータサイエンティストを募集しています!興味をお持ちいただいた方は、こちら(https://www.albert2005.co.jp/saiyo/?place=blog0711)までお問い合わせください。

参考文献

[1] Christini, D.J.; Bennett, F.H.; Lutchen, K.R.; Ahmed, H.M.; Hausdroff, J.M.; Oriol, N. “Application of linear and nonlinear time series modeling to heart rate dynamics analysis”. IEEE Trans. Biomed. Eng. 1995, 42, 411–415.

[2] Yuchi, M.; Jo, J. “Heart Rate Prediction Based on Physical Activity Using Feedforward Neural Network”. In Proceedings of the 2008 International Conference on Convergence and Hybrid Information Technology, Daejeon, Korea, 28–30 August 2008; pp. 344–350.

[3] Xiao, F.; Chen, Y.; Yuchi, M.; Ding, M.; Jo, J. “Heart Rate Prediction Model Based on Physical Activities Using Evolutionary Neural Network”. In Proceedings of the Fourth International Conference on Genetic and Evolutionary Computing, Washington, DC, USA, 13–15 December 2010; pp. 198–201.

[4] Luo, M.; Wu, K. “Heart rate prediction model based on neural network”. IOP Conf. Ser. Mater. Sci. Eng. 2020, 715, 012060.

[5] Staffini, A.; Svensson, T.; Chung, U.-I.; Svensson, A.K. “Heart Rate Modeling and Prediction Using Autoregressive Models and Deep Learning”. Sensors 2022, 22, 34.

[6] Hochreiter, S.; Schmidhuber, J. “Long short-time memory”. Neural Comput. 1997, 9, 1735–1780.

[7] Srivastava, N.; Hinton, G.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R. “Dropout: A simple way to prevent neural networks from overfitting”. J. Mach. Learn. Res. 2014, 15, 1929–1958.

[8] Kingma, D.P.; Ba, J. “Adam: A Method for Stochastic Optimization”. arXiv 2014, arXiv:1412.6980. Available online: https://arxiv.org/abs/1412.6980

[9] Glorot, X.; Bengio, Y. “Understanding the difficulty of training deep feedforward neural networks”. J. Mach. Learn. Res. 2010, 9, 249–256.

[10] Shi, X.; Chen, Z.; Wang, H.; Yeung, D.Y. “Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting”. arXiv 2015, arXiv:1506.04214. Available online: https://arxiv.org/abs/1506.04214

Staffini

ストラテジックアライアンス部所属。予測モデルの構築が好きです。コーヒーなしでは生きられないです。