時系列データの異常検知 - 心電図の異常検知

AIゆめ
時系列データの異常検知は、本ページのように心電図から異常を検知したり、製造業における様々なサンプリングデータから異常を検知したりする目的などに活用できるでしょう。多様なAI技術を備えていますので、製造業・非製造業に拘わらず、「自社の問題解決に応用できるのではないか?」と思われた方は、
ネオラクス・メール送信フォームからお気軽にご相談ください。AI技術を用いて、世の中にある様々な問題の解決に貢献して行きたいと思います。
時系列データの異常検知 - Autoencoderモデル
Autoencoderモデルについては、
時系列データの異常検知 - マロッタバルブの異常検知のページと全く同じモデルを使用する。このページと異なる点は、データの特殊性から、フィルターサイズ(kerasのカーネルサイズ)として使用していた28を7に戻した点のみである。なお、離散化した時間ステップ数は、前記ページでは\(T=64,128,256\)の3種類で比較したが、本ページでは\(T=128\)に固定する。なお、訓練データが豊富にあるので、訓練データ数10,000と20,000についても比較した。
時系列データの異常検知 - 心電図データ
公開データのファイル'qtdbsel102.txt'には、「心室性期外収縮(premature ventricular contraction)」を含む45,000行のデータが含まれている。心室性期外収縮のデータは5,000行以前に含まれているため、以下の2ケースで機械学習を行い、心室性期外収縮が予測できるか評価を行った。
- 訓練データ数10,000(5,000行~14,999行)、評価データ数3,000(15,000行~17,999行)
- 訓練データ数20,000(5,000行~24,999行)、評価データ数6,000(25,000行~30,999行)
訓練データ数20,000のケースにおける訓練データと評価データを図1、図2に示す。

図1 訓練データ(訓練データ数20,000)

図2 評価データ(評価データ数6,000)
時系列データの異常検知 - 機械学習の状況
訓練データ数10,000と20,000に関する機械学習の進行状況を図3、図4に示す。どちらも過学習は起こっておらず、良好な学習状況であると言える。

図3 機械学習の進行状況(訓練データ数10,000)

図4 機械学習の進行状況(訓練データ数20,000)
時系列データの異常検知
平均絶対誤差のヒストグラム
訓練データ数10,000と20,000における学習データと異常を含む評価データについて、予測値との平均絶対誤差(MAE:Mean Absolute Error)のヒストグラムの比較を図5、図6に示す。学習データの予測値とのMAEに比較して、評価データの予測値とのMAEの差(図の赤丸の部分)が大きいほど、異常を顕著に把握することができていることを意味している。訓練データ数が多くなると、ヒストグラムの裾野が正規分布に近い形状になることを除いて両者に大きな差異はないようである。

図5 学習データのMAE(左)と評価データのMAE(右)との比較(訓練データ数10,000)

図6 学習データのMAE(左)と評価データのMAE(右)との比較(訓練データ数10,000)
心電図の異常波形の検知

図7 心臓専門医によって心室性期外収縮(premature ventricular contraction)が指摘されている心電図
図8、図9は、訓練データ数10,000と訓練データ数20,000について、評価データ波形学習データのMAE上限閾値(しきいち)を超えるような異常値を示す評価データ波形の位置を赤塗りで示す。どちらのケースも、2900付近で微妙な差異を捉えているものの、図7に示す心室性期外収縮の波形部分を見事に捉えていることがわかる。2900付近での微妙な差異は、図10に示す通り異常判断閾値の調整により除去することが可能である。

図8 学習データのMAE上限閾値を超える異常値を示す評価データ波形(赤塗りの部分:訓練データ数10,000)

図9 学習データのMAE上限閾値を超える異常値を示す評価データ波形(赤塗りの部分:訓練データ数20,000)

図10 異常判断閾値を5%アップした時の異常値を示す評価データ波形(訓練データ数10,000)