Equilibrium Research
Online ISSN : 1882-577X
Print ISSN : 0385-5716
ISSN-L : 0385-5716
Original articles
Differentiation between Peripheral and Non-Peripheral Vestibular Diseases by Machine Learning of Stabilometry
Masatsugu AsaiKei MasaniNaoko UedaHiromasa TakakuraTram Anh DoHideo ShojakuYuka Morita
Author information
JOURNAL FREE ACCESS FULL-TEXT HTML

2024 Volume 83 Issue 3 Pages 149-155

Details
Translated Abstract

Using machine learning, we attempted to differentiate between peripheral vestibular disorders (n = 466) and non-peripheral vestibular disorders (n = 254) based on the results of stabilometry. Six algorithms were used for machine learning: random forest, gradient boosting, support vector machine, logistic regression, k-nearest neighbor, and multilayer perceptron. Due to the large difference in the amount of data between the two groups, SMOTE (Synthetic Minority Over-sampling Technique) was used during learning to correct for the amount of data between the two groups.

The results were as follows. (1) The average value and standard deviation of accuracy for the six models were 0.64 and 0.05. Precision and recall were relatively good in the peripheral vestibular disorders group, but poor in the non-peripheral vestibular disorders group. (2) The accuracy rate of prediction of peripheral vestibular disorders by the three algorithms, RF, LR, and KNN, was as high as 90%, whereas their accuracy rate for predicting non-peripheral vestibular disorders was poor (53%).

The insufficient number of cases in the non-peripheral vestibular disease group appeared to have a large influence on the results. Therefore, we would like to collect more cases and repeat the analysis.

 緒言

めまい外来を行っていると,その原因が末梢前庭と非末梢前庭のどちらなのかわからないことがある。また温度刺激検査などの前庭機能検査で異常を認めても,不整脈,血圧異常,糖尿病,脳梗塞,更年期障害,精神科的疾患などの疾患が合併していれば,めまいの主原因を末梢前庭障害と考えてよいか迷うこともある。我々は,このような場合の診断支援に平衡機能検査の機械学習が使用できないか検討してきた。

めまい・平衡障害の診療分野では20年以上前1)から機械学習の研究が始まっており,既に100を超える報告がある2)。病巣の鑑別を試みた報告もある3)4)。我々も1009名のめまい患者の精密平衡機能検査データをもとに機械学習を行い,末梢前庭疾患と非末梢前庭疾患を鑑別する試みを行った5)。その結果80%程度の診断精度が得られた。この報告では16種類,44項目に及ぶ多数の検査データを学習に用いた。しかし機械学習は必ずしも多種類の検査を必要とするとは限らない。末梢前庭・非末梢前庭の両方の情報を包含し,かつ所要時間の短い検査に機械学習を利用できれば,患者の負担も少なく効率的である。その一つが重心動揺検査で,すでに機械学習と診断に関する報告もある6)~8)。報告例では高い診断精度が示されているが,急性前庭障害や小脳障害など対象疾患が限定的である。めまいの日常診療で遭遇する様々な病態に対処するには,多くの症例の蓄積が必要と感じた。そのうえで,めまい診療の経験を積んだ医師が機械学習モデルを利用すれば,臨床の場における価値は大きいと思われる。初診時のスクリーニングにも使用できるし,判断に迷った際の支援ツールとしても使用できるのではないかと考える。

以上の背景から,本研究では当科で精密平衡機能検査を行った際の重心動揺検査結果に対して機械学習を行い,末梢前庭障害群と非末梢前庭障害群の鑑別の精度を検討することを目的とした。

 方法

本研究は,ヘルシンキ宣言ならびに文部科学省・厚生労働省が定める「人を対象とする医学系研究に関する倫理指針」を遵守するとともに,「重心動揺検査におけるAI診断の有用性の研究」として富山大学附属病院倫理委員会の承認(R2020056)のもとに行った。患者背景および精密平衡機能検査データは,人を対象とする医学系研究に関する情報公開文書「めまい・難聴に対する精密平衡機能検査の有用性に関する調査研究(R2019003)」を富山大学附属病院ホームページに公開することにより,富山大学附属病院倫理委員会の許可を得て使用した。

対象:2020年7月から2022年12月までに,めまいを主訴に当科を紹介受診し精密平衡機能検査を行った患者のうち,重心動揺検査を100 Hzサンプリングで行った557名(20歳~90歳,男性237名,女性320名)を対象とした。診断名によって症例を選択することは行わず,全ての患者を対象とした。なお,557名中には経過観察目的などで複数回(2回~5回)の重心動揺検査を行った患者が存在するために,実際には延べ720症例を本研究の対象とした。この理由は同一患者でも病期により検査結果が変化するので,さまざまなデータを学習に利用するためである。720症例を末梢前庭障害群(PV群とする)466例,非末梢前庭障害群(nonPV群とする)254例の2群に分割した。PV群かnonPV群かは,当科の2名の医師(めまい診療経験40年程度のめまい相談医・専門会員)の診断名に基づいて決定した。対象症例の内訳は表1に示した。機械学習に用いた数は,例数の列に示した。PV群の466例中,温度刺激検査で一側または両側半規管麻痺を認めたのは376例で,90例では認めなかった。PV群の聴神経腫瘍はKoos分類9)IまたはIIに相当する症例はPV群とし,III,IVに相当する症例,開頭手術後症例,小脳失調所見のある症例は他の腫瘍とともに脳腫瘍としてnonPV群に分類した。PPPDの39症例中5症例では温度刺激検査でCPを認めたが,これだけで病態は説明できないためnonPV群とした。中枢性平衡障害は,脳MRI・MRAや脳CTでは原因病巣を指摘できないが,末梢前庭障害が否定され,視標追跡の異常(階段状,失調性),視運動性眼振の解発抑制,FFS(failure of fixation suppression)10),異常眼球運動などが認められた症例に対する病名である。

表1 対象症例

末梢前庭障害(PV) 例数 患者数 非末梢前庭障害(nonPV) 例数 患者数
耳性めまい 152 115 眩暈症 59 53
メニエール病 92 83 PPPD 39 28
前庭神経炎 73 40 起立性低血圧/起立性調節障害 27 26
両側前庭機能障害 27 21 心因性めまい 22 20
突発性難聴 27 19 中枢性平衡障害 13 12
良性発作性頭位めまい症 24 21 脳梗塞 19 12
聴神経腫瘍 15 15 脳腫瘍 16 12
遅発性内リンパ水腫 15 14 てんかん 11 3
中耳真珠腫・慢性中耳炎 11 10 椎骨脳底動脈循環不全 10 9
外傷性迷路振盪症 10 3 頸性めまい 9 6
上半規管裂隙症候群 10 3 脊髄小脳変性症 6 4
人工内耳術後 5 5 頭部外傷後遺症 6 2
外リンパ瘻 3 3 片頭痛 5 5
ハント症候群 2 2 先天性眼振 4 4
認知症 2 2
多発性硬化症 2 1
透析 1 1
動揺病 1 1
脳脊髄液漏出症 1 1
脳表ヘモジデリン沈着症 1 1
合計 466 354 合計 254 203

機器および計測値:重心動揺計は,ユニメック社(東京都府中市府中町3-3-9)のUM-HSTBを使用した。検査は閉脚閉足で開眼60秒,閉眼60秒間行った。重心動揺計の3センサーの出力電圧値と時間信号を,付属アンプとAD変換器経由で,サンプリング周波数100 Hzでコンピュータに取り込み,以前報告した重心動揺検査解析用ソフトウェア11)で解析した。

機械学習:本研究では,教師あり学習12)13)をおこなった。具体的には,外周面積などの重心動揺検査結果(以後,特徴量と記載)を使用して,患者がPVまたはnonPV(以後,正解ラベルと記載)のどちらに属するかを予測するモデルを作成した。モデルとは特徴量と正解ラベルの関係を表現する数式に相当する12)

モデルの作成はJupiter-lab v.3.3.2(Project Jupyter, https://jupyter.org/)上で行い,プログラミング言語Python v.3.9.12( Python Software Foundation, https://www.python.org/)とライブラリScikit-learn14) v.1.0.2,NumPy v.1.21.5,SciPy v.1.7.3,Pandas v.1.4.2,Matplotlib v.3.5.1を使用した。Scikit-learn14)で利用可能なRandom Forest13)~15),Gradient Boosting13)14)16),Support Vector Machine13)14)17),Logistic Regression13)14)18),K-Nearest Neighbor13)14),MultiLayer Perceptron13)14)の6種類のアルゴリズムを用いて訓練を行い,6つのモデルを作成した。各々のモデル名は前記アルゴリズムの頭文字などを用いて,順にRF,GB,SVM,LR,KNN,MLPとした。特徴量数は77で表2に示した。ロンベルグ率には,外周面積と総軌跡長を用いた。また特徴量同士を掛け合わせて作成する交互作用特徴量19)として,外周面積ロンベルグ率×総軌跡長ロンベルグ率を加えた。

表2 特徴量

特徴量 単位 開眼 閉眼
動揺中心(前後,左右) cm 2 2
面積(外周,実効値,矩形) cm2 3 3
総軌跡長 cm 1 1
単位面積軌跡長 1/cm 1 1
最大径(前後,左右) cm 2 2
標準偏差(前後,左右) 2 2
歪度(前後,左右) 2 2
尖度(前後,左右) 2 2
ロンベルグ率(外周面積,総軌跡長,外周面積×総軌跡長) 3
位置ベクトル(前,右前,右,右後,後,左後,左,左前) cm 8 8
速度べクトル(前,右前,右,右後,後,左後,左,左前) cm/s 8 8
パワースペクトル(前後3,左右3) cm 6 6
合計 77

機械学習の流れを図1の[a]~[f]に示した。訓練と評価のためのデータセットはcsvファイルで作成し([a]),1行目は77の特徴量名を記載し最後は正解ラベルとした。2行目以降に720例の値を入力した。正解ラベルにはPV群は0,nonPV群は1を入力した。前処理として,閉眼で1分の直立ができなかった9名分の閉眼値とロンベルグ率を,全被検者の平均値で補完した([b])。前処理後にデータセットを訓練用データ586例とテスト用データ134例に分割した([c])。複数回の検査を行った同一患者のデータは似ていることもあるので,訓練用データとテスト用データにまたがるとテスト結果が実際の予測性能よりも良くなる可能性がある。このため訓練用データまたはテスト用データの一方のみに,同一患者のデータが集まるようにした。なお訓練用データの内訳は,PVが373例,nonPVが213例となり160例の差のある不均衡データとなった。不均衡データを用いて学習するとモデルの予測性能を下げる原因となる20)。その対策としてSynthetic Minority Over-sampling Technique(SMOTE)21)により,nonPV群のデータ数をPV群と同数の373例に増加する方法を用いた([d])。また各々のアルゴリズムには,学習前に人が設定する必要のあるパラメータがいくつかある。パラメータの候補を複数個ずつ設定し,scikit-learn14)のGridSearchCVを用いて学習を行い,最良モデルを作成した([e])。以上の後,このモデルを使ってテストデータに対する予測性能の評価を行った([f])。

図1  機械学習の流れ

予測性能の評価22):機械学習ではテストデータが一方の群(例えばPV群)と予測された場合を陽性クラス(positive class),他方の群と予測された場合(例えばnonPV群)を陰性クラス(negative class)と呼び,それぞれの予測をPとNで表現する。この予測が正しいときT(Trueの略),間違いのときF(Falseの略)で表す。N,P,T,Fの組み合わせを用いることで,テストデータに対して予測した結果をTN,TP,FN,FPの4組に属する人数で得ることができる。この人数を使用して各モデルの予測性能をaccuracy(正解率),precision(適合率),recall(再現率)で評価した。accuracyは(TP + TN)/(TP + TN + FP + FN)で計算される。precisionはTP/(TP + FP)で計算され,Pと予測した時の正解率を表す。recallはTP/(TP + FN)で計算され,真のPのうちPと予測できた割合を表す。いずれの評価法も0から1の値をとり,1に近いほど予測性能が良いことを意味する。

統計:エクセル統計(BellCurve,東京都新宿区富久町10-5 NMF新宿EASTビル)を用いた。

 結果

表3にテスト用データに対する6モデルの予測性能を示した。これは図1[f]に相当する。6モデルのaccuracyの平均値は0.64,標準偏差(以後,SDと記載)は0.05であった。PV群のprecisionでは,平均値0.75(SD 0.04)であった。これはPVと予測したうちの75%が正解したことを意味する。recallの平均値は0.73(SD 0.12)であった。これは真のPV症例中の73%が予測できたことを意味する。しかしnonPV群では,precisionの平均値は 0.41(SD 0.06),recallの平均値は0.42(SD 0.19)と非常に悪い結果となった。

表3 6モデルの予測性能評価

最終モデル accuracy PV群 nonPV群
precision recall precision recall
RF 0.67 0.77 0.75 0.47 0.49
GB 0.62 0.73 0.72 0.38 0.39
SVM 0.69 0.71 0.94 0.45 0.12
LR 0.58 0.75 0.59 0.38 0.56
KNN 0.67 0.82 0.68 0.47 0.66
MLP 0.59 0.70 0.72 0.32 0.29
平均値 0.64 0.75 0.73 0.41 0.42
標準偏差(SD) 0.05 0.04 0.12 0.06 0.19

個々のモデルでは,accuracyが比較的良かったのはRFの0.67,SVMの0.69,KNNの0.67であった。PV群のprecisionは6モデルすべて0.7以上と良好で,recallもLRの0.59以外は概ね良好だった。しかしnonPV群のprecisionは6モデルすべて0.5未満と非常に悪かった。recallではLR 0.56,KN 0.66以外は0.5未満と非常に悪かった。

以上の結果を踏まえて,複数のモデルの予測結果を組み合わせることで,正解率を改善できないか検討した。図2のグラフは,accuracy,precision,recallが比較的安定していた3モデルRF,LR,KNNの予測を組み合わせた際の正解率を示す。3モデル全てがPVと予測した39例(PV3/nPV0)のうち90%は真のPV群で,2モデルがPVと予測した44例(PV2/nPV1)のうち73%は真のPV群であった。一方,2モデルがnonPVと予測した36例(PV1/nPV2)のうち真のnonPV群は47%,3モデル全てがnonPVと予測した15例(PV0/nPV3)でも真のnonPV群は53%にとどまった。

図2  RF,LR,KNの予測結果を組み合わせた際のテスト用データの正解率

テスト用データ数は134例(PV群;91例,nonPV群;43例)。横軸はPVと予測したモデル数/nonPVと予測したモデル数,括弧内に例数を表す。(例)棒グラフ左端のPV3/nonPV0(n = 39)は,39例に対して3モデルがPVと予測し,nonPVと予測したモデルは0であったことを示す。棒グラフ中の90は39例中90%が真のPVであり,10は10%が真のnonPVであったことを示す。

図3は異なるデータで機械学習を行った場合に,accuracyがどれくらい変動するか検討した結果である。図1[c]でデータセットを訓練用データとテスト用データに分割する際に,データの組み合わせが毎回変更されるようにして訓練とテストを10回繰り返した際のaccuracyについて,平均値,平均値±SE(標準誤差),平均値±2SD(標準偏差)を示す。括弧内の数値は,平均値+2SDと平均値-2SDの差(d2SDとする)を表す。標準誤差はどのモデルも安定しているが,d2SDは最小のSVMでも0.12とかなり変動があった。d2SDが最大のGBに至っては0.22と変動が大きかった。

図3  予測性能評価10回反復の結果

accuracyの平均値,平均値±SE(標準誤差),平均値±2SD(標準偏差)を示した。グラフ中の( )の数値はd2SD = [(平均値+2SD) − (平均値-2SD)]を示す。

 考察

本研究の目的は,重心動揺検査の機械学習を行うことで,末梢前庭障害群と非末梢前庭障害群の鑑別にどの程度の精度を得られるか検討することにあった。我々の機械学習モデル,評価法,対象とは異なるが,重心動揺の機械学習で疾患鑑別をおこなった報告はいくつか見られる。Krafczykら6)は,artificial neural networkにより,normal subject,postural phobic vertigo,anterior lobe cerebellar atrophy,primary orthostatic tremor,acute unilateral vestibular neuritisの5群の鑑別を行った結果,全体のsensitivity(recallと同義),specificity(特異度;TN/(TN + FP))ともに0.93と報告した。Ahmadi7)らは,acute unilateral vestibulopathy,distal sensory polyneuropathy,anterior lobe cerebellar atrophy,downbeat nystagmus syndrome,primary orthostatic tremor,Parkinson’s disease,phobic postural vertigo,healthy controlsを対象に機械学習を行いaccuracyが82.7%と述べた。これらの報告と比べて我々の結果は,かなり悪かった。主な原因は,少数例も含めて利用できる非末梢前庭障害例のデータを使用した結果,学習が不十分になったためと推察した。図3においてd2SDが最大で0.22(22%),最小でも0.12(12%)変動していた。このように訓練用データ,テスト用データが変わるたびに予測性能が大きく変動するのは,学習量の不足を示唆している。

我々は単独のモデルでは臨床で利用しがたいと考えたので,図2のようにRF,LR,KNNの3モデルの結果を合わせて判定する方法を試みた。これは精密平衡機能検査の機械学習による予測性能の向上に役立った経験5)に基づく。この方法によると,3モデルとも末梢前庭と予測した場合の正解率が90%と高く,この一点については診断支援に使えるのではないかと感じた。

今後,予測モデルの精度を向上させるために脊髄小脳変性症やパーキンソン病など,いわゆる明確な中枢性疾患を数多く加えて非末梢前庭障害例数を増加することは必須であるが,技術的な面の検討も必要と思われる。本研究では77と多くの特徴量を使用したが,不要な特徴量もあったのではないかと考える。成書には特徴量数を削減することで予測性能が改善することがあるとの記載もある23)。さらに検討を重ねていきたい。

 結語

機械学習を用いて,めまい患者の重心動揺検査結果から,末梢前庭障害群と非末梢前庭障害群を鑑別する試みを行った結果,以下の結論を得た。

(1)6モデルの平均値ではaccuracy 0.64で良いとは言えなかった。precision,recallについては,末梢前庭障害群では比較的良好であったが,非末梢前庭障害群では悪かった。

(2)3つのモデルの結果を合わせて判定することで,末梢前庭障害群に対する予測確率を最良で90%まで改善することができた。しかし非末梢前庭障害群に対する予測性能は改善できなかった。

(3)今回の結果は,非末梢前庭障害群の学習不足の影響が大きいと思われた。さらに多くの症例を収集して再検討したい。

利益相反に該当する事項はない。

文献
 
© 2024 Japan Society for Equilibrium Research
feedback
Top