沈 彧,陳慶奎
(上海理工大學 光電信息與計算機工程學院,上海200093)
E-mail:chenqingkui@usst.edu.cn
不良的生活規(guī)律嚴重危害著老年人的身體健康,同時成為產生疾病的主要因素.如何在養(yǎng)老照護的過程中對老年人的日常行為進行風險評估成為當下養(yǎng)老問題的關鍵環(huán)節(jié).目前,老人日常行為的數(shù)據多采用各類傳感器進行收集,傳感時序數(shù)據構成的時間序列成為研究老人行為風險的依據.
時間序列是一種常見的數(shù)據類型,由一系列按照時間順序排列的、從觀測對象獲取到的觀測值組成.時間序列數(shù)據存在于許多應用領域,例如計算生物學、醫(yī)學診斷分析、經濟學等[1-4].時間序列的相似性度量用來衡量不同時間序列之間的相互關系,從中挖掘有用信息并將其結果用于分類、聚類、模式識別等方面[5-7],是時間序列領域中的研究熱點,也是研究其他相關任務的基礎.
時間序列相似性度量方法的性能將直接影響后期數(shù)據挖掘的效果.目前常用的時間序列相似度度量分別是歐式距離(ED)與動態(tài)時間彎曲(DTW)[8],ED應用廣泛且計算簡單,但只能度量長度相同的時間序列,且對形態(tài)變化過于敏感;DTW由Berndt等[9]提出并將其應用到時間序列數(shù)據挖掘領域中.這種方法不僅可以實現(xiàn)不等長時間序列間的度量,而且對于時間序列的偏移、振幅變化等情況具有較強的魯棒性.雖然動態(tài)時間彎曲擁有上述優(yōu)勢,但仍存在局限性.動態(tài)時間彎曲計算距離的時間復雜度為O(n2),對于處理海量的高維時間序列來說,計算成本過高.此外,動態(tài)時間彎曲在匹配過程返回全局最優(yōu)匹配路徑,往往會忽略時間序列局部的形態(tài)特征,造成一定的不合理匹配[10].
針對上述問題,該領域的學者提出了大量基于DTW的改進方法.Sakoe等人[11]提出通過形成對稱的窗口來限制匹配路徑的搜索范圍,窗口寬度由參數(shù)決定,一般為時間序列長度的一定比例;類似地,Itakura[12]等人提出了平行四邊形的彎曲窗口,進一步縮小了允許路徑彎曲的范圍,從而提升了計算效率;Jeong等人[13]提出了WDTW,在計算時對參考點和測試點之間的相位差較高的點進行懲罰,以防止異常值導致的最小距離失真,但如何根據不同情況確定權重是一個難題.
現(xiàn)實情況下老人的行為監(jiān)測序列往往是多維度的,如何對多元時間序列進行相似性挖掘具有重要的實際意義.目前針對多元時間序列的DTW算法主要分為兩類.一類對多元時間序列分段擬合,對每個擬合段求取總誤差作為DTW的一個元素,再應用DTW算法進行累積距離的計算;另一類則對每一維時間序列應用差分、歸一化處理后分別計算各維度的距離,按一定的方式擬合計算累積距離得到最終計算結果.
本文的目標是設計一個具有適用于評判老人生活狀態(tài)的多元時間序列相似性度量,從而完成對老人疾病風險的評估,為養(yǎng)老機構提供決策輔助.為更精準地對老人的日常行為進行風險評估,本文首先對DTW算法進行改進,提出多元分段加權時間序列度量方法(Multi Segment Weighted Dynamic Time Warping,MSW-DTW),然后依據相似性度量方法提出老人風險評估模型,最后通過實驗對所提方法進行有效性分析.
定義1.時間序列:時間序列(time series,簡稱TS)是指一系列數(shù)值xt(j)按照時間先后順序排序而形成的序列,其中t(t=1,2,…,n)表示第t個時間點,j(j=1,2,…,m)表示第j個屬性變量,xt(j)表示t時刻第j個屬性的數(shù)值.當m=1時,是一元時間序列(UTS),當m>1時,為多元時間序列(MTS).
定義2.時間序列數(shù)據集:給定一個時間序列數(shù)據集D={T1,T2,…,Tn}(n=1,2,…,m),其中m為TS的個數(shù).
定義3.動態(tài)時間彎曲:動態(tài)時間彎曲(DTW)算法是一種模式匹配算法[14],通過利用動態(tài)規(guī)劃的方法尋找兩條時間序列之間的最優(yōu)彎曲路徑,序列中的點根據坐標去匹配另一條序列中最具有相同特征的點,最優(yōu)彎曲路徑的累加和即為所有匹配的數(shù)據點之間的距離和.
從數(shù)據集D中選定兩條時間序列X=(x1,x2,…,xm)和Y=(y1,y2,…,yn),其中m和n分別是兩條時間序列的長度.根據兩條時間序列構造成1個m×n的距離矩陣Dm×n:
(1)
在距離矩陣中,dij元素是通過xi和yj坐標距離的計算得到的,其計算過程為:
dij=‖xi-yj‖ω
(2)
當ω=2即為歐式距離.
兩條時間序列間的DTW距離是通過距離矩陣尋找到累積距離最小的彎曲路徑:Pbest={p1,p2,…,pU},pk(k
在路徑搜索過程中,DTW受到以下3個約束:
1)路徑的邊界性:p1=(1,1),pU=(m,n)
2)路徑的單調性:給定pk=(i,j),pk+1=(i′,j′),有i′≥i,j′≥j
3)路徑的連續(xù)性:給定pk=(i,j),pk+1=(i′,j′),有i′≤i+1,j′≤j+1
公式(3)展示了DTW算法的初始條件,式(4)展示了DTW算法的遞推關系:
(3)
(4)
其中γ(xi,yi)為匹配序列上兩點xi,yj的成本,常用歐式距離計算,迭代計算直至序列尾端后得到最小累積代價,為了得到最優(yōu)彎曲路徑,再反向尋找彎曲路徑,直到i=j=1時,尋找過程結束,最終得到完整的彎曲路徑.
由于老人的傳感監(jiān)測數(shù)據頻次不一,狀態(tài)監(jiān)測序列長度不一,而歐氏距離只能計算等長時間序列間的距離,而動態(tài)時間彎曲除了可以計算等長時間序列間的距離,還能計算不等長時間序列間的距離,因此對于老人狀態(tài)監(jiān)測序列需要應用動態(tài)時間規(guī)整的思路進行計算.
定義4.離散小波變換:小波變換能夠通過對信號在頻域和時域上的局部變換有效提取信號的時頻信息.離散小波變換(DWT)[15]是小波變換的一種,將連續(xù)的小波離散化,對基本小波的尺度和平移進行離散化,通過基函數(shù)表示原始信號.在圖像處理[16]中,常采用二進小波作為小波變換函數(shù),即使用2的整數(shù)次冪進行劃分.離散小波的基本函數(shù)有兩種類型:尺度函數(shù)(φ)和細節(jié)函數(shù)(ψ),分別如公式(5)和公式(6)所示:
φj,k=φ(2jt-k),∑φ(t)dt=1
(5)
ψj,k=ψ(2jt-k),∑ψ(t)dt=0
(6)
其中j是分解級別指數(shù),k=1,2,…,L表示濾波器的大小,將輸入的時間序列T={t1,t2,…,tN}和濾波器的系統(tǒng)函數(shù)卷積得到兩個卷積的結果得到的兩個結果分別進行系數(shù)為2的下采樣得到兩個分量.從低通濾波器獲得的分量稱為近似分量cj,k,從高通濾波器獲得的分量稱為細節(jié)分量dj,k.
(7)
(8)
其中Lj=(2j-1)(L-1),近似分量cj,k與原始時間序列數(shù)據的局部平均值成比例,因此近似分量與原時間序列數(shù)據有相同的趨勢;細節(jié)系數(shù)dj,k與時間方向上的時間序列數(shù)據的局部波動值成比例,表示原始時間序列數(shù)據的方向變化.
本文使用Haar小波函數(shù)作為基函數(shù)來識別時間序列的趨勢及其細節(jié)波動.Haar小波函數(shù)相對簡單且計算速度快,是使用最廣泛的基函數(shù),其具體定義如公式(9)和公式(10)所示:
(9)
(10)
其中ψ(t)是細節(jié)函數(shù)(母小波),φ(t)是尺度函數(shù)(父小波).與其他小波變換相比,DWT具有許多優(yōu)勢.比如,原始小波變換無法將原始時間序列數(shù)據與比例系數(shù)部分進行比較,因為分解之前的原始時間序列的長度與分解之后的比例系數(shù)部分的長度不同.但是,由于DWT進行的是恒定變換,不會損壞原始時間序列數(shù)據中的模式.而且與原始的小波變換不同,它還可以處理不同的樣本大小.因此,通過使用DWT,可以提取具有與原始時間序列相同長度的系數(shù),從而能夠計算原始時間序列數(shù)據和相同長度的轉換數(shù)據之間的殘差,可以為評判變換結果是否有效提供依據.
DTW能在某些約束條件下找到全局最優(yōu)對齊方式.但是它忽略了時間序列的局部形態(tài)信息,而時間序列的局部形態(tài)信息正是老人生活規(guī)律的有效反映,因此DTW在老人生活狀態(tài)監(jiān)測序列上的應用存在很大局限.因此,本文提出了分段加權動態(tài)時間規(guī)整算法(SW-DTW),通過離散小波變換將時間序列分解為尺度部分和細節(jié)部分,并對細節(jié)部分進行基于局部極值的預處理,在盡可能保存形態(tài)信息的同時降低算法的時間消耗,同時在匹配的過程中根據匹配點之間的相位差異進行加權.
3.1.1 時間序列分解
由于老人的行為監(jiān)測序列復雜度較高,難以準確地進行動態(tài)匹配,因此本文在進行距離計算之前對監(jiān)測序列進行分解,以便實現(xiàn)合理的局部對齊路徑.
給定一條一元時間序列,使用Haar小波變換分解得到尺度部分和細節(jié)部分,尺度部分為時間序列卷積通過低通濾波器得到,反映了原序列的大致形態(tài)和整體趨勢;而細節(jié)部分為時間序列卷積通過高通濾波器得到,表示序列在細節(jié)上的波動.根據DWT的性質,對尺度部分進一步分解能夠得到更加詳細的尺度部分與細節(jié)部分,并且這個過程可以一直持續(xù)下去,但是多維分解會大大增加算法的時間復雜度,因此本文僅采用一次分解,圖1示出了時間序列的一次分解過程.
圖1 離散小波變換分解時間序列Fig.1 Discrete wavelet transform to decompose time series
在一般的信號處理中,對于每個層級的得到的濾波結果都會進行下采樣(down-sampling)處理,而使尺度部分和細節(jié)部分能夠涵蓋盡量多的信息,本文對濾波分解的初始結果沒有進行直接采樣,因此原序列的長度與尺度部分、細節(jié)部分的長度相等.
3.1.2 基于局部極值的處理
經分解后的尺度部分體現(xiàn)了時間序列數(shù)據的變化趨勢,整體較為平滑;而細節(jié)部分體現(xiàn)了細節(jié)信息,整體波動較大,難以進行準確地動態(tài)匹配,因此在進行距離計算之前,需要對細節(jié)部分進行處理.為了能更準確地保留形態(tài)特征,我們依據兩部分序列的交點來分割時間序列,而不是傳統(tǒng)的固定步長式的分段方式,此做法的優(yōu)點是能夠將時間序列的波峰、波谷、拐點進行物理劃分,從而獲得更好的曲翹路徑.
如圖2所示,在具體實現(xiàn)過程中,使用原時間序列與尺度部分的交點作為時間段點,這些點也是細節(jié)序列部分數(shù)值符號發(fā)生改變的點.細節(jié)部分本身就是原序列與尺度部分的差值,這樣劃分讓細節(jié)部分在每段區(qū)間保持同正或同負,在分段區(qū)間內形成峰或者谷,讓序列局部結構更加清晰,便于后續(xù)擬合.
圖2 序列分段示意圖Fig.2 Sequence segment diagram
時間序列的形狀通常取決于局部的極大值與極小值,因此提取序列的極值特征可以捕獲時間序列的整體形狀,利用時間序列的局部極值特征對整體序列進行規(guī)整,能夠保留時間序列本身的形狀特征,在保留大部分特征信息的情況下提升運行效率.
圖3示出了擬合結果,可見使用局部極值進行擬合能夠保持時間序列趨勢的變化,同時序列在時間序列的一些常見失真(例如縮放和移位)情況下也能保持健壯.整個檢測局部極值的處理過程是按線性順序進行的,并且在內存消耗方面是恒定的,保證了處理的高效率.
圖3 細節(jié)部分擬合效果Fig.3 Fitting effect of details
3.1.3 加權動態(tài)匹配
DTW距離通過動態(tài)規(guī)劃找到了曲翹路徑,能夠使得兩個時間序列之間的全局距離最小,但是往往在匹配的過程中會忽略局部形態(tài)結構,造成局部過度彎曲的情況.圖4展示了對一組老人運動量監(jiān)測序列的匹配情況,圖4(a)為DTW匹配結果,圖4(b)為SW-DTW匹配結果,圖中方框標出的是代表相似生活規(guī)律的序列片段.由圖可見,圖4(a)中兩條序列相似的形態(tài)片段在匹配過程中并未對應,可見DTW很難識別這種相似的行為規(guī)律.
圖4 序列匹配結果Fig.4 Sequence matching result
假設p,q分別為P,Q時間序列上的點,本文在此給出自適應懲罰函數(shù)wp-q的定義:
(11)
其中|p-q|表示p與q點之間的相位差,wmax是權重參數(shù)的上限值,l是時間序列的長度,f是控制值域的正參數(shù),控制對非合理匹配的懲罰力度,x表示發(fā)生單點重復匹配的次數(shù).
在匹配開始之前,建立兩個零矩陣A=(aij)l*l,B=(bi,j)l*l在規(guī)劃最佳路徑時,使用矩陣不斷記錄對應序列在當前點發(fā)生單點重復匹配的次數(shù),例如在最佳匹配路徑DTW(s,t)上,序列P上的ps被重復匹配了as,t次,序列Q上的qt被重復匹配了bs,t次.無論匹配點的之間的相位差多大,原始DTW對于所有匹配點之間的計算都是直接使用基距離.
為了減少不合理匹配,本文定義了懲罰函數(shù)(3.1)對基距離進行加權,減少異常匹配引起的最小距離失真.時間序列的相鄰點構成了局部形態(tài),往往包含重要的結構信息,因此SW-DTW的核心思想是對于未發(fā)生大量單點重復匹配的相鄰點施加較小的懲罰值,否則將施加較大的權重.因此,兩個序列之間的最佳距離定義為所有可能路徑上的最小加權路徑,遞推關系式如公式(12)所示:
(12)
SW-DTW包括3個步驟:離散小波分解、局部極值提取、相似性距離計算,其時間復雜度TC(SW-DTW)等于每個步驟的時間復雜度之和.
一維離散小波變換的時間消耗是線性的,因此第一部分的時間復雜度是O(n);局部極值提取的具體過程是從第一個點到最后一個點遍歷原始時間序列,并檢測局部極值,它花費的時間與原始時間序列的長度成線性關系,時間復雜度為O(n);相似性距離的計算分為尺度部分的計算和細節(jié)部分的計算.尺度部分計算的時間復雜度為O(n2),而細節(jié)部分經過降維,長度變?yōu)閘(l?n),尺度部分計算的時間復雜度為O(l2).
TC(SW-DTW)=O(n)+O(n)+O(n2)+O(l2)=O(n2)
(13)
由公式(13)可知,SW-DTW的計算復雜度在近似表示的長度上為二次量級,與DTW相近.
由于實際環(huán)境中,老人的監(jiān)測數(shù)據是隨機缺失的,某個時刻的某一項監(jiān)測數(shù)據可能存在缺失情況,將多維時間序列轉化為一維時間序列會產生對應監(jiān)測參數(shù)錯位的情況,加之計算每一維對應時間序列的累積誤差更能說明兩條時間序列的相似性,故本文采用的對一元時間序列相似度進行加權累加的方法來完成對多元時間序列相似度的計算.
就拿診后服務來說,門診患者服務中心的熱線電話涵蓋診后咨詢、解難答疑等就醫(yī)相關服務,如有特殊需求的患者,還可提供醫(yī)護人員專業(yè)上門服務。同時,利用門診微信公眾號,定時向患者推送門診信息,包括患者健康宣教、門診動態(tài)、社區(qū)醫(yī)療等,每月開展一次健康知識小講堂活動,對群眾關注的熱點、常見病等進行宣教,提高群眾預防保健意識,促進健康。
本文相關專家意見確定了描述老人生活狀態(tài)的五個屬性,分別是運動量(SP)、飲食量(DI)、睡眠量(SL)、服藥量(P)和排泄次數(shù)(TO).這些因素對老人的健康有著不同程度的影響,因此在計算多元時間序列距離之前還需要確定合適的權重.
3.3.1 照護屬性權重定義
變量間相關性是指在MTS中,一個變量的特征在其余變量中也可能有所體現(xiàn).在對MTS進行相似性度量時,如果未考慮到變量間的相關性,可能會造成大量信息丟失,使度量結果不準確.因此,對于具有變量相關性的MTS,需要消除MTS變量間的相關性,將2個MTS序列轉換至同個維度空間,保持同構性.
為消除老人狀態(tài)屬性間的相關影響,本文通過主成分分析法(PCA)計算得到相關系數(shù)矩陣及其特征向量和特征值,再根據主成分的方差貢獻率計算得到權重,權重計算的具體過程如下:
1)對原始老人監(jiān)測數(shù)據進行清洗和標準劃處理
2)計算相關系數(shù)矩陣
3)計算相關系數(shù)矩陣的特征向量與特征值
特征向量A可以表示為:
(14)
將計算得到的特征值按照從大到小的順序排列,依次為λ1,λ2,…,λn.
4)選擇主成分并計算其貢獻率,主成分表示如公式(15)所示:
Mi=a1iSP+a2iDI+…+aniTO,i=1,2,…,n
(15)
每個主成分中老人狀態(tài)屬性的系數(shù)是相關系數(shù)矩陣特征向量的列,其中各主成分的貢獻率如公式(16)所示:
(16)
5)計算各個狀態(tài)屬性的權值.設主成分有n(n≦5)個,則運動量、飲食量、睡眠量、服藥量和排泄次數(shù)的權重值如公式(17)所示:
(17)
3.3.2 多元時間序列累積距離計算
對于不同的老人,其生活狀態(tài)監(jiān)測屬性對相似性度量的影響不同,本文采用加權累加的方式進行多元時間序列的相似性度量.
將老人的多元生活狀態(tài)監(jiān)測時間序列表示為X={{S1(1),S2(1),…,Sn(1)},…,{S1(t),S2(t),…,Sn(t)}},其中n為老人狀態(tài)屬性的數(shù)量,t為時間序列的長度.
(18)
其中:對于i=1,2,…,t,j=1,2,…,t′,用dk(i,j)表示r(A(1:i),B(1:j)).而最終的多元序列累加距離用r來表示,即:
(19)
依據MSW-DTW算法,本文提出一種疾病風險評估模型.在歷史數(shù)據中,將發(fā)生就診行為的老人序列作為正例,將未發(fā)生就診行為的老人序列作為負例.對待評估老人監(jiān)測序列進行K近鄰搜索,根據搜索結果計算出待評估老人的風險得分.
對老人進行風險評估存在兩個問題:1)由于老人的身體狀態(tài)會發(fā)生階段性的變化,因此對于老人的風險評估具有時效性;2)序列長度過長導致計算量增大,運行緩慢.因此本文構造滑動窗口來對長序列進行分割,并對歷史數(shù)據進行分割,將分割后的時間段內存在就診行為的子序列放入正例集,不存在就診行為的子序列放入負例集,如圖5所示.
圖5 老人疾病風險評估模型Fig.5 Elderly disease risk assessment model
設定一老人狀態(tài)監(jiān)測序列的長度為t,具體表示為X={{S1(1),S2(1),…,Sn(1)},…,{S1(t),S2(t),…,Sn(t)}},滑動窗口的寬度為w,原序列被劃分為{X1,X2,…,Xm}.當i=m時,Xi的長度小于等于m,其余情況下Xi的長度均為w,后續(xù)實驗中w取經驗值30.
風險評估模型分為序列相似性挖掘和風險得分計算兩部分.模型中的訓練集為有標記的歷史數(shù)據,其中存在疾病風險的老人樣本被標記為正例,身體健康的老人樣本被標記為負例.具體步驟如下:
1)對輸入的待評估子序列進行K近鄰搜索
2)將搜索得到的k個近鄰與待評估子序列的相似度距離加入候選集,并按照距離由小到大排序為1,2,…,k
3)候選集內的子序列進行投票得到該老人的風險得分,風險得分的計算過程如公式(20)所示.
(20)
其中ci為控制參數(shù),當?shù)趇個近鄰為正例時,ci為1,當?shù)趇個近鄰為負例時,ci為-1;di為排序順序為第i的序列與待評估序列之間的相似度距離.
在相似度查詢中,相似度距離越近的序列,說明其代表的老人與待評估序列代表的老人擁有更相似的生活規(guī)律,更可能擁有相近的健康狀況.因此利用相似性距離和合理地進行加權,同時避免了單點噪聲對評價結果的影響,使得評價得到的風險得分更加準確.
實驗環(huán)境為Windows 7 SP1,512GB 硬盤,8GB 安裝內存,Intel Core i7-6770,主頻為3.40 GHz.
本文采用YP,PT,XH這3組數(shù)據集進行實驗(有疾病風險的老人序列為正例,無疾病風險的老人序列為負例).實驗數(shù)據為來自不同地區(qū)養(yǎng)老機構的真實數(shù)據,每個數(shù)據集包含500~800的老人狀態(tài)監(jiān)測序列樣本,時間跨度從2018年9月~2020年12月,數(shù)據維度包括運動量、飲食量、睡眠量、服藥量和排泄次數(shù).為方便后續(xù)計算,所有數(shù)據均經過清洗并標準化.
本文實驗分為兩部分,第1部分實驗的目的是驗證本文提出的多元時間序列相似性度量的有效性;第2部分實驗來驗證風險評價模型的合理性.
實驗1采用K近鄰與留一交叉驗證法,具體如下:對具有n個樣本的 MTS 老人數(shù)據集,分別以第i(i=1,2,…,n)個樣本作為待匹配樣本,然后采用某種相似性度量方法找出與待匹配樣本最相似的k個樣本(k分別取1、5和10)并統(tǒng)計準確率;實驗2對不同實例的風險得分與就診次數(shù)進行比對,從而檢驗風險評估方法的可行性.
定義1.平均絕對偏差(Mean absolute deviation)
兩個翹曲路徑之間的差之和除以原始時間序列的長度而獲得的值定義為平均絕對偏差:
(21)
定義2.偏差率(Error rate)
將算法的近似變形路徑距離與最佳變形路徑距離相差多少來測量近似DTW算法的精度,稱為偏差率:
(22)
Dist表示采用實驗方法計算得到的序列間距離,OptimalDist表示使用原始DTW規(guī)劃得到的最佳匹配路徑的距離.如果近似算法找到的扭曲路徑的距離等于最佳扭曲路徑的距離,則誤差為零,如果近似曲翹路徑與最佳曲翹距離的差值大于最佳曲翹距離,則誤差將超過100%.
定義3.準確率(Accuracy)
數(shù)據集中正例樣本和負例樣本分類正確的樣本的總數(shù)占整體樣本數(shù)量的百分比,公式表示為:
(23)
其中TP+TN為預測對的總樣本數(shù),P+N代表總樣本數(shù).
為了驗證所提出的時間序列相似性度量的有效性和可行性,先運用本文提出的SW-DTW及FlatDTW[17]、ShapeDTW[18]、AC-DTW[19]分別在 3 個數(shù)據集的各個維度進行實驗,統(tǒng)計各一元相似性度量方法運行的偏差率和運行時間;隨后再運用本文提出的MSW-DTW與PLR-DTW[20]、CPCA-SWDTW[21]、MSN-WDTW[22]分別在 3 個數(shù)據集上進行相似性匹配,統(tǒng)計各算法進行k近鄰搜索的準確率.
4.2.1 參數(shù)影響
在評估性能之前,應先考慮本文所提出相似性度量中的參數(shù).圖6展示了在確定參數(shù)a的情況下,檢驗算法的偏差率隨參數(shù)f的變化情況.
圖6 f值對錯誤率的影響Fig.6 Effect of f to the error rates
在f值較小時,隨著f值的增加,偏差率降低,因為相位差小的匹配點之間被賦予了較大的權重,因此算法更傾向于選擇距離更近的候選序列.但是,當f值較大時,偏差率與f值呈正相關.因為當f值過大時,算法對于有相位差的非垂直匹配賦予了過大的懲罰系數(shù),使得算法逐漸靠近歐氏距離測度,而喪失了DTW的動態(tài)彎曲特性.因此,SW-DTW應根據應用使用不同的f值來調整每個點的相位差的補償水平.為了保證算法的性能,選擇f=0.5用于后續(xù)實驗.
4.2.2 結果與分析
在計算多元時間序列相似度之前需要計算各個屬性的一元時間序列相似度,因此首先將本文提出的一元時間序列相似性度量SW-DTW與FlatDTW,ShapeDTW,AC-DTW在各維度上進行序列相似度計算,并對比匹配路徑的準確度.在計算過程中,當算法動態(tài)匹配生成的翹曲路徑和人工標注的準確匹配路徑的距離越小時,則平均絕對偏差將具有越小的值,算法的性能越好,反之亦然.
如表1所示,在多次實驗中,SW-DTW與人工標注的Ground Truth之間的平均絕對誤差小于其余3種方法,AC-DTW與ShapeDTW的實驗結果較為接近,而FlatDTW的偏差較大.這是由于SW-DTW采用離散小波變換,能對復雜序列進行分解,幫助算法更加準確地依據形態(tài)特征進行匹配,同時懲罰函數(shù)使得SW-DTW能夠適應復雜的時間序列形態(tài),有效提升匹配過程的準確性.
表1 與Ground Truth之間的平均絕對偏差Table 1 Mean absolute deviation from Ground Truth
為了更精確地比較算法運行的準確率,采用偏差率來評價各個屬性的相似性度量結果.同時為了進一步控制變量,令四種算法在相同的評估區(qū)域百分比下運行.評估區(qū)域百分比指的是在算法評估路徑中的單元格占全分辨率的所有單元格的百分比,使用這種方法可以比較四種算法在消耗相等計算資源的情況下的運行準確率.
表2示出了各算法進行相似度計算的平均偏差率,可以看出SW-DTW的偏差率在大部分情況下均低于其余算法.在較低的評估區(qū)域百分比下,ShapeDTW和SW-DTW的運行準確率要明顯高于AC-DTW和FlatDTW,而結合運行的穩(wěn)定性來看,SW-DTW還要略優(yōu)于ShapeDTW.SW-DTW的主要優(yōu)勢是對時間序列進行了分解,加強了評估區(qū)域對于序列結構的擬合程度.
表2 不同評估區(qū)域百分比下的偏差率Table 2 Deviation rate under different assessment area percentages
所有算法完成相似度計算的平均執(zhí)行時間如表3所示,總體來看FlatDTW的執(zhí)行效率最高.由于SW-DTW采取分段擬合將序列分為兩部分,距離的計算也分為了整體部分的計算和細節(jié)部分的計算,因此SW-DTW的處理短序列的執(zhí)行效率低于其余算法;但在長序列的實驗中,SW-DTW的執(zhí)行效率優(yōu)于AC-DTW與ShapeDTW,略遜于FlatDTW,可見分段擬合對動態(tài)匹配過程的效率提升效果十分明顯.
表3 相似性搜索平均搜索時間對比Table 3 Similarity search average search time comparison
MSW-DTW與PLR-DTW,CPCA-SWDTW,MSN-WDTW進行K近鄰搜索的分類準確率如表4所示.其中,MSW-DTW在所有情況下相似性搜索準確率均高于91%.在k=1時,CPCA-SWDTW、MSN-WDTW 與 MSW-DTW這3種方法的準確率較為接近.但在k=5,10的情況下,MSW-DTW的表現(xiàn)要好于另外兩種方法.與另外兩種方法相比,MSW-DTW雖然對細節(jié)部分進行了降維,但極大保留了局部的形態(tài)特征,并有效減少了不合理匹配的發(fā)生.因此,從總體上看,MSW-DTW 的整體準確率最高.
如表4所示,隨著k值的增加,導致近似誤差增加,平均準確率均有所下降;但若k值過小,整體算法的抗噪聲能力不足,容易出現(xiàn)過擬合的情況.因此在老人的風險評估過程中,k值取居中的5.
表4 相似性搜索平均準確率對比Table 4 Comparison of average accuracy of similarity search
將YP數(shù)據集的兩位老人作為輸入樣本進行實例分析,監(jiān)測數(shù)據維度包括運動量、飲食量、睡眠量、服藥量、排泄次數(shù),時間跨度從2020年1月~2020年12月,選擇2018年9月~2019年12月的歷史數(shù)據作為訓練集.由于風險評價的準確性難以界定,采用2020年1月~2020年12月的就診次數(shù)作為驗證.
如圖7(a)所示,1號老人的全年風險得分均大于0,全年就診次數(shù)較多.在風險得分較高的1月、5月、6月、11月,當月的就診次數(shù)明顯多于其余月份,尤其在風險得分最高的6月與11月,該老人出現(xiàn)了數(shù)次住院的情況;如圖7(b)所示,2號老人的風險得分大多為負,僅在4月和9月出現(xiàn)了風險得分為正數(shù)的情況,2號老人的整體風險得分低于1號老人,而全年的就診次數(shù)明顯少于1號老人,僅在2月,4月,9月與11月各發(fā)生一次就診.整體而言,風險得分與老人就診的次數(shù)呈正相關,風險得分更高的老人更有可能發(fā)生就診,證明利用多元時間序列相似度的對老人進行風險評估是合理可行的.
圖7 2020年樣本老人風險得分與就診次數(shù)Fig.7 Risk score and number of visits for the sample elderly in 2020
本文提出了一種基于多元時間序列相似性度量的老人疾病風險評估模型,用于評價老人的身體狀況.適用于一元序列的SW-DTW將時間序列經過離散小波變換分解為表示整體趨勢的部分和表示局部細節(jié)的部分,利用局部極值對細節(jié)部分進行重構以達到維度縮減的目的,設立一種加權函數(shù),根據時間序列點之間的距離系統(tǒng)地分配權重;MSW-DTW則采用對不同維度的一元相似性距離進行加權累加的方法得到結果.在此基礎上,對老人序列進行近鄰搜索,將近鄰的距離加權計算得到老人的風險得分.實驗結果表明,該模型能夠準確評價老人的身體狀況,具有對老人的突發(fā)疾病風險進行預測的巨大潛力.然而,如何在盡量避免損失局部信息、保持相似性匹配的準確性的同時,進一步降低維度、提高計算效率還有待進一步研究.