童 夢 丁國榮 余 楠 王文波
(武漢科技大學理學院 武漢 430065)
隨著生活條件和水平提高,糖尿病患者的年齡越來越小,尤其在發展中國家影響越來越廣泛,糖尿病也是引發死亡的主要原因[1]。從國際糖尿病聯盟(IDF)發布的消息來看,2017 年我國糖尿病患者人數已達1.14 億,居世界首位。到2019 年,國內糖尿病患者出現局部年輕化,人數增至4 億。目前主要通過血糖濃度來判斷是否患糖尿病,根據預測的血糖可以提前改變胰島素注射量或者通過改變運動量以及飲食等盡量避免異常血糖值的出現,使血糖濃度處于正常。
國內外學者提出各種方法來預測血糖濃度。Daskalaki等[2]運用機器學習的血糖預測方法,使用遞歸神經網絡(RNN)的血糖和胰島素信息,其模型優于自回歸(AR)模型和使用外部胰島素輸入的AR模型(ARX);Orieke等[3]提出了一種神經模糊模型,利用胰島素和膳食效應聯合預測Ⅰ型糖尿病患者的血糖水平。Orieke對模型的誤差網格分析顯示87.5%的預測落在了A 區域,而剩下的12.5%的預測落在了4h 預測窗口內的B 區域。Yang Jun 等[4]提出了自回歸綜合移動平均模型(ARIMA),該模型采用了模型階數的自適應識別算法。該辨識算法采用Akaike信息準則和最小二乘估計,自適應地確定模型的階數,同時估計出相應的參數。結果表明,該模型優于自適應單變量模型和ARIMA 模型。血糖預測時間的延長,可以為醫生和患者提供充足時間進行血糖濃度控制,提高糖尿病治療的效果。目前長短時記憶網絡在時間序列預測方面的效果較為良好,現已應用于預測股票價格、電力負荷預測、海洋表面溫度或者學習的生理模型血糖行為等。LSTM可以比其他網絡學習的更迅速和解決過去沒有用前反饋網絡算法解決的困難問題。成驍彬[5]提出了經驗模態分解與層疊式長短期記憶算法相結的模型,并運用該模型對短時風速進行預測。
由于血糖數據通常是非線性、非平穩的數據,通常需要對血糖數據進行預處理來降低其非平穩性。血糖預測方法有基于數據驅動的、生理模型的和結合數據和生理的預測方法,運用不同方法各有其優點和缺點。現階段已有許多預測方法出現在血糖濃度序列預測比如灰度預測[6]、徑向基函數預測[7]、ARIMA預測、神經網絡預測、支持向量機預測等,同時運用群體智能優化算法對預測模型參數進行優化,主要有粒子群算法、遺傳算法、蟻群算法、人工蜂群算法[8]、花朵授粉算法[9]和煙花算法[10]等。本文選取的是粒子群算法對LSTM 進行結構參數的優化。
本文結合上述文獻,針對血糖信號的特點,對血糖信號進行多尺度分解降低其非線性以及非平穩性的特點,提出一種基于變分模態分解和經粒子群優化長短時記憶網絡的血糖濃度序列預測模型(VMD-PSO-LSTM)。
變分模態分解(Variational Mode Decomposition,VMD)是由Dragomiretskiy 等在2014 年提出,VMD 是一種將信號分解轉化成為變分分解的模式,其分解的核心思想是構建和求解變分問題,對非平穩、非線性的信號有較好的效果[11~12]。
假設原始信號f是由K個固有模態分量(IMF)uk(t)組成。
式(1)中,相位φk(t)是不減函數;Ak(t)表示包絡函數。
設各IMF 的中心頻率是ωk,以各IMF 的和等于原始信號作為約束條件時,變分模態分解的分解過程步驟如下。
首先對各個IMF進行希爾伯特變換,并且得出uk(t)的解析信號,通過單邊譜將uk(t)的中心頻帶調制到相應的基頻帶上,可以通過乘以實現:
然后估計出各模態函數的帶寬,通過計算解調信號梯度的L2范數實現,最終將原問題變成求解有約束的變分問題,如式(3)。
其中K是將原信號分解成為K個IMF,δ(t)為狄拉克函數,*為卷積運算符。
通過引入Lagrange 乘法算子λ(t)和二次懲罰因子α的方法來求解上述有約束的變分問題的最優解,將原問題轉化為無約束變分問題。
最后,將上述問題運用乘子交替方向算法進行求解,通過求解得到的無約束模型的解,而原問題與它的無約束模型問題同解,由式(5)得到所有的IMF。
(ω)是通過當前剩余量進行Wiener 濾波器處理得到,中心頻率通過算法各分量功率譜的重心進行重新估計,并通過式(6)更新。
粒子群算法(Particle Swarm Optimization,PSO)是一種模擬鳥群覓食的進化算法,是由J.Kennedy和R. C. Eberhart 等開發的。PSO 是從初始的隨機解開始,通過不斷迭代尋找最優解,運用適應度函數來評價解的好壞。不斷更新局部最優和全局最優,最終到達停止條件的出求得的最優解。PSO 首先初始化得到一組隨機解,然后迭代不斷搜索當前空間最優的粒子,最終獲取最優解的過程。
在多維搜索空間中,如果一個群體是以m個粒子組成,在第t次迭代中,第i個粒子的位置和速度分別為Xi,t和Vi,t,粒子通過監督個體最優和全局最優這兩個最優解來更新自己的位置和速度。在找尋這兩個最優解的過程中。
粒子通過式(7)來更新下一時刻速度,通過式(8)來更新t+1時刻位置:
式(7)中:w為速度慣性因子;c1和c2為學習因子;rand 為[0,1]之間的隨機數;式(8)中λ為速度系數,本文取0.5。Vi,t被最大速度Vmax和最小速度Vmin限制。
由于循環神經網絡(RNN)容易出現梯度消失或者梯度爆炸的現象,存在著長期依賴關系,因此提出一種特殊的RNN,長短期記憶網絡(Long Short-Term Memory Networks,LSTM)。與RNN 相同,長短期記憶網路也是一種重復神經網絡模塊的鏈式形式[13]。在RNN 的基礎上,長短期記憶網絡的核心思想就是增加了一個單元狀態C(Cell state),并且通過輸入們和遺忘門這兩個門來控制單元狀態C。LSTM的結構如圖1所示。單個LSTM主要包括以下幾個步驟。

圖1 LSTM的結構圖
首先遺忘門計算公式如式(9)所示。
其次對輸入門來說,確定的是更新的信息,計算式(10)、(11)所示。
更新從t-1 時刻到t時刻的細胞的狀態的計算公式為式(12)。
最后一步是這一層網絡的輸出信息,LSTM 最終預測結果的輸出ht,是由輸出門和單元狀態共同確定。計算公式如式(13)以及式(14)。
為了更好的評價和比較各個模型預測的結果,本文選取平均絕對誤差(Mean Absolute Error,MAE)、均方根誤差(Root Mean Squared Error,RMSE)和克拉克誤差網格分析法(Clarke Error Grid Analysis,CEGA)作為性能評價指標,各個評價指標的計算方法如下:
克拉克誤差網格分析法利用笛卡爾圖來評價血糖預測方法的準確度。CEGA中橫縱坐標軸都是[0,400],分為如圖2所示的A、B、C、D、E五個區域。

圖2 克拉克網格分析
在克拉克網格分析中,預測效果較好的點位于A區域,其次落在B區域,在臨床上落在區域A和區域B 是可以接受的預測值,預測效果最差的點落在E區域。
由于血糖信號的特點,一般的預測方法難以提高血糖濃度的預測精度以及模型的準確性[14~15]。根據前文提出的方法,本節在此基礎上進行改進,基于變分模態分解方法對非平穩血糖時間序列信號進行處理以及PSO 算法對LSTM 結構參數的優化,本文提出一種基于VMD 和PSO-LSTM 的血糖濃度預測模型。
基于VMD-PSO-LSTM的血糖濃度預測流程如下:
1)獲取血糖濃度序列。利用CGM 連續采集糖尿病患者的血糖序列。
2)基于VMD 方法將血糖序列分解成5 個相對平穩的IMF分量{IMF1,…,IMF5} 。
3)分別對各固有模態分量分別建立PSO-LSTM預測模型。對患者血糖值序列的第i個固有模態函數IMFi,通過粒子群算法對LSTM 參數尋優,利用優化后的LSTM 對IMFi進行預測,獲得各分量的預測結果。
4)患者血糖最終預測值等于PSO-LSTM 模型預測得到各分量預測值的和。
5)將VMD-PSO-LSTM預測值分別與實際值和其他預測模型進行對比,通過本文提出的性能評價指標分析驗證所提方法的精確性。
VMD-PSO-LSTM 預測血糖濃度的流程圖如圖3所示。

圖3 VMD-PSO-LSTM流程圖
在實驗中,利用VMD 對血糖序列進行5 層分解。PSO-LSTM 模型結構由輸入層、隱藏層和輸出層組成,本文選取的損失函數為預測的均方誤差。LSTM 的內部參數采用Adam 算法進行訓練,訓練次數設置為200 次,訓練目標取0.0001,該模型將隱藏層神經元數,LSTM 的時間窗口大小設置為LSTM網絡模型超參數運用粒子群算法進行優化。
為了減少人為因素對模型的影響,根據血糖序列的具體情況,對超參數的取值范圍設置如下:指定隱藏層單元個數取值范圍[1,300],時間窗口大小取值范圍[1,30]。同時設置粒子群粒子個數為30,最大迭代次數取值為30,學習因子c1=c2=2。速度慣性因子w=0.8,速度系數λ=1。適應度函數選取的是LSTM網絡的均方誤差。
為了更好地驗證本文所提方法的有效性,本文將PSO-LSTM 和VMD-LSTM 預測模型對同樣的血糖濃度時間序列數據進行預測,各個模型的預測對比圖結果如圖4,預測誤差對比圖如圖5所示。

圖4 各個模型的預測結果對比圖

圖5 各個模型的預測誤差對比圖
在克拉克網格誤差分析中,對各個模型運用相對誤差大小進行校驗相對誤差大小,其計算需要用到測量真實值和預測值,該方法是一種通過直觀的比較每個點來實現的檢驗方法。根據本文的研究,它通過比較的就是各個時刻患者血糖的預測值和它的真實值之間的誤差。 血糖預測VMD-PSO-LSTM 模型的相對誤差為ε(i),計算方法如式(17)。
則平均相對誤差計算公式如式(18):
模型的預測精度為p,且p=(1-)×100%
各個預測模型的評價指標對比如表1。

表1 各個預測模型的評價指標
實驗結果顯示,本文所提方法的MAE和RMSE的均小于PSO-LSTM 和VMD-LSTM 模型的誤差,預測精度高于PSO-LSTM 和VMD-LSTM 模型的預測精度,證明了本文方法能夠很好地預測血糖濃度時間序列,是一種比較好的預測模型。
本文針對血糖濃度序列的特點,提出一種VMD 與PSO 優化LSTM 相結合的短期血糖濃度預測模型。首先利用VMD 方法將通過CGMS 獲取的患者的血糖濃度時間序列分解成5 個固有模態函數,從而降低血糖時間序列的非線性和非平穩性;然后對各個IMF分量分別用經PSO優化的LSTM模型來預測,最后將預測后的各子序列疊加得到最終預測結果。
通過實驗對比PSO-LSTM 和VMD-LSTM 方法,結果表明:VMD-PSO-LSTM 的平均絕對誤差和均方誤差都最小,并且所有的點都落在克拉克網格的A 區域,預測精度最高,證明了本文所提出的方法是一種比較好的預測模型。