巫義銳,汪浩航,魏大保,馮 鈞
(河海大學(xué)計算機(jī)與信息學(xué)院,江蘇 南京 211100)
如何提取水文數(shù)據(jù)間的非線性映射關(guān)系,準(zhǔn)確高效地提供數(shù)據(jù)驅(qū)動模型的模擬結(jié)果,是人工智能技術(shù)在水文領(lǐng)域?qū)嵗难芯繜狳c。然而,在實際應(yīng)用中,原始水利數(shù)據(jù)的樣本量往往不能滿足人工智能模型的數(shù)據(jù)需求。因此,如何提高數(shù)據(jù)的精細(xì)化程度以擴(kuò)充數(shù)據(jù)信息,提升人工智能模型的性能,成為智慧水利研究者關(guān)心的話題。
基于水文數(shù)據(jù)的時空本征特性,本文擬構(gòu)建細(xì)粒度的時空場景,用以擴(kuò)充數(shù)據(jù)信息。例如,水華管理主題中的污染因素復(fù)雜多樣,包括氮、磷含量等,擬構(gòu)建不同水華場景,重點監(jiān)測該場景中導(dǎo)致水華發(fā)生的關(guān)鍵污染因素,總結(jié)數(shù)據(jù)特征,提取場景模式,提高水華預(yù)測的準(zhǔn)確性。基于上述分析,本文將場景定義為表征流域典型變化趨勢的關(guān)鍵要素數(shù)據(jù)集。步驟如下:(a)對原始數(shù)據(jù)進(jìn)行事件化分割;(b)通過水利數(shù)據(jù)間關(guān)聯(lián)關(guān)系建模,提取場景要素特征;(c)基于特征選擇方法,提取關(guān)鍵特征以初始化場景;(d)場景聚類以提取場景模式,構(gòu)建高效的場景模式庫。
水利大數(shù)據(jù)多為時序數(shù)據(jù),本文通過時序分割、時序特征提取、時序聚類技術(shù)構(gòu)建時空場景模式庫。以下主要介紹這3項技術(shù)的相關(guān)工作。
a. 多元時間序列分割技術(shù)。該技術(shù)具有數(shù)據(jù)結(jié)構(gòu)多變、各元數(shù)據(jù)之間關(guān)系錯綜復(fù)雜、計算量大等特點。多元時間序列分割方法可分為基于模糊聚類與基于動態(tài)規(guī)劃的多元時間序列分割。Wang等[1]提出了基于Gath-Geva聚類算法的多元時間序列分割方法,將數(shù)據(jù)時間信息作為額外的變量加以考慮,并引入最小信息長度原則,實現(xiàn)了精準(zhǔn)的多時序分割。Guo等[2]利用動態(tài)規(guī)劃算法,提高分割斷點的查詢速度,減少了多元時序分割計算的時間復(fù)雜度。Bankó 等[3]基于閾值自回歸模型,實現(xiàn)了多變量時間序列的同步分割,并將其應(yīng)用于水文氣象數(shù)據(jù)集。
b. 時序特征提取技術(shù)。該技術(shù)可分為基本統(tǒng)計方法和基于變換的特征提取技術(shù)。前者提取統(tǒng)計特征來表征原有時序數(shù)據(jù),常見的時域統(tǒng)計特征值有均值、方差、極值、過零點、邊界點等[4],頻域統(tǒng)計特征值包括功率譜、功率密度比、中值頻率、平均功率頻率等。后者則意圖強(qiáng)調(diào)適合任務(wù)的特性部分,可分為時頻、線性、模型變換。時頻變換包括快速傅立葉變換、短時傅立葉變換、倒譜系數(shù)等,線性變換包括PCA、線性判別式分析等。模型變換使用智能算法描述時間序列本征特征,進(jìn)而提取模型系數(shù)為特征向量。例如對于水文領(lǐng)域的平穩(wěn)時間序列,研究者常使用ARMA模型(自回歸滑動平均模型)及滑動平均模型(MA)或組合-ARMA模型等進(jìn)行擬合[5]。
c. 時序聚類技術(shù)。該技術(shù)可分為3類,分別為基于原始數(shù)據(jù)、基于特征和基于模型的時間序列聚類算法。第一類方法直接將傳統(tǒng)的聚類算法應(yīng)用于時間序列數(shù)據(jù)?;贙-means聚類方法,Huang等[6]使用DTW距離度量方式對時間序列的平滑子空間進(jìn)行聚類。第二類方法先從原始序列中提取具有代表性的特征,再通過聚類算法對特征序列進(jìn)行聚類分析。嵇敏等[7]通過正交函數(shù)將高維時間序列轉(zhuǎn)換到低維空間,并結(jié)合函數(shù)度量實現(xiàn)模糊C均值聚類,其中C指聚類中心個數(shù)。第三類方法可大致分為2種方法[8]:統(tǒng)計學(xué)習(xí)方法(如ARMA)[9]和人工神經(jīng)網(wǎng)絡(luò)方法(如SOM)[10]。該類方法能夠挖掘時間序列數(shù)據(jù)的隨機(jī)性以及潛在的數(shù)據(jù)規(guī)律,但算法建模復(fù)雜,計算量大。
構(gòu)建場景模式庫的技術(shù)路線如圖1所示。首先通過多元時序分割技術(shù),從原始時序數(shù)據(jù)中提取出相關(guān)的多元時序數(shù)據(jù),并挖掘各元數(shù)據(jù)間的相關(guān)性,形成場景要素數(shù)據(jù)。場景要素定義為組成場景的數(shù)據(jù)類型集合。由于多元時序場景數(shù)據(jù)難以計算,使用混合特征提取技術(shù)提取時空特征,實現(xiàn)信息降維和增強(qiáng)。最后,對時空特征數(shù)據(jù)進(jìn)行聚類,構(gòu)建場景模式庫。
圖1 時空多特征流域場景模式庫構(gòu)建技術(shù)路線Fig.1 Technical route of watershed scene pattern library construction via spatio-temporal multiple features
多元時序分割技術(shù)的目的是從原始時序數(shù)據(jù)中提取出相關(guān)事件的多元時序數(shù)據(jù)。如某站點發(fā)生了一次水質(zhì)富營養(yǎng)化事件,由于水質(zhì)富營養(yǎng)化事件的復(fù)雜性,各元數(shù)據(jù)變化會呈現(xiàn)異步發(fā)生規(guī)律。基于水利事件的異步特征,該技術(shù)首先對各元數(shù)據(jù)進(jìn)行一元時序分割,獲取具有事件特征的各元分割數(shù)據(jù);而后使用距離度量公式依次度量各二元分割數(shù)據(jù),從中關(guān)聯(lián)相似和相關(guān)的分割數(shù)據(jù),劃分分割組;最后合并具有交集的分割組,獲取多元時序異步分割數(shù)據(jù)。將多元時序序列定義為
(1)
式中:X——某站點所測的多元時序數(shù)據(jù);xi——第i個屬性對應(yīng)的時序數(shù)據(jù)。
2.1.1 一元時序分割
定義一元時序數(shù)據(jù)的分割結(jié)果如下:
S(xi)={si,k|k∈[1,l(xi)]}
(2)
其中si,k=
式中:S(xi)——第i個屬性時序數(shù)據(jù)分割,結(jié)果是一個分割段集合;si,k——第i個屬性時序數(shù)據(jù)中的第k個分割段;l(xi)——第i個屬性時序數(shù)據(jù)分割數(shù)目;l(k)——第k時序段中間數(shù)據(jù)的位置;w——時序分割段的長度。如算法一所示,采用極值點方式,提取一元時序分割段。該算法中,len(xi)表示xi所代表時序數(shù)據(jù)的長度。所提取特征點的值需為極值,且大于閾值。
算法一一元時序分割。 輸入:一元時序數(shù)據(jù)xi閾值:threshold;輸出:S(xi)。步驟如下:
Result={}
k=1
forj=1 to len(xi)do
ifxi,j>threshold andxi,j>xi,j-1andxi,j>xi,j+1do//尋找特征點
l(k)=j
Result.append(si,k)//存儲含有特征點的分割段
k++
end if
end for
S(xi)← Result
[ResultS(xi)]
2.1.2 相似度量方式
時序數(shù)據(jù)之間度量方式主要分為2種:相關(guān)性和相似性[11-12]。相關(guān)性一般采用皮爾遜相關(guān)系數(shù)公式,相似性則采用DTW距離度量公式。皮爾遜相關(guān)系數(shù)只能度量線性相關(guān)性,同時要求所輸入的數(shù)據(jù)維度相同。DTW距離公式可以度量非等長的時序數(shù)據(jù),但是只能度量正相關(guān)時序數(shù)據(jù)間的距離,在負(fù)相關(guān)數(shù)據(jù)上,其度量性能較差。本文所處理的水文時序數(shù)據(jù)存在負(fù)相關(guān),且輸入維度不同,因此提出將兩者相結(jié)合的新度量方式:
(3)
式中:E(·)——期望函數(shù);ρ(·)——2個等長時序序列的相關(guān)性。
當(dāng)輸入數(shù)據(jù)呈正相關(guān)時,分子等價于直接使用DTW公式度量時序數(shù)據(jù)間的距離;當(dāng)輸入數(shù)據(jù)呈負(fù)相關(guān)時,在分子中,先將輸入數(shù)據(jù)Y進(jìn)行一次軸對稱變換,將輸入數(shù)據(jù)之間的負(fù)相關(guān)轉(zhuǎn)變成正相關(guān),然后使用DTW距離度量。在分母中,當(dāng)輸入數(shù)據(jù)越趨向于正相關(guān)和負(fù)相關(guān)時,分母的值就越大,距離值越小,相似性越大,分母加一的作用是防止分母出現(xiàn)為零的情況。
2.1.3 多元時序分割
如算法二所示,通過一元時序分割和改進(jìn)的相似度量公式對多元時序數(shù)據(jù)進(jìn)行分割。
算法二基于改進(jìn)相關(guān)度量方式的多元異步時序分割。輸入:多元原始時間序列X;輸出:多元異步分割數(shù)據(jù)集MultiSegSet步驟如下:
SegSet={}
第一步:fori=1 to len(X)do //一元時序分割
SegSet[i]=S(xi)
end for
//利用度量公式獲取相鄰兩元之間相似的分割數(shù)據(jù)集
第二步:fori=1 to len(X)-1 do
//分割數(shù)據(jù)集之間度量
SegCorr[i]=Correlation(SegSet[i],SegSet[i+1])
end for
//合并校正相鄰兩元的分割時序,組合成多元異步分割數(shù)據(jù)
第三步:fori=1 to len(X)-1 do
MultiseSet=MergeSeg(MultiSeg,SegCorr[i])
eng for
Return MultiSegSet
//挖掘兩個分割數(shù)據(jù)集中的關(guān)聯(lián)分割段
function Correlation(SegSet[i],SegSet[j])
Result={}
forxin SegSet[i] do//遍歷第一個分割數(shù)據(jù)集
Min=inf;temp=null
foryin SegSet[j]do//遍歷第二個分割數(shù)據(jù)集
if Uion(x,y)!=null and DTWCorr(x,y)do// 關(guān)聯(lián)條件
//挖掘相似距離最小的分割段
Min=DTWCorr(x,y)
temp=y
end if
end for
Result. append(
end for
return Result
//MX→
function MergeSeg(MX,MY)//返回合并分割段
Result={}
//threshold = 0.5 合并條件,保持上下連接性
if Union(mxn,my1)>threshold do
Result.append(
end if
return Result
算法二中,Correlation(·)函數(shù)功能為挖掘2個分割數(shù)據(jù)集中的關(guān)聯(lián)分割段,其輸入為2個一元時序分割集,輸出是關(guān)聯(lián)分割數(shù)據(jù)集。MergeSeg(·)函數(shù)合并具有相同分割段的關(guān)聯(lián)分割段,最后得到多元時序分割數(shù)據(jù),輸入的第一個參數(shù)為已經(jīng)進(jìn)行多個關(guān)聯(lián)分割數(shù)據(jù)集合并的結(jié)果,第二個參數(shù)為只含有2個分割數(shù)據(jù)集的關(guān)聯(lián)分割段,其中mxi和myj為一元時序分割段,和si,k結(jié)構(gòu)是相同的,在這里為了更方便敘述,因而使用新的符號進(jìn)行代替。
基于多元時序分割技術(shù)獲取的不同場景,挖掘與構(gòu)造場景數(shù)據(jù)特征[13]。綜合2種特征提取方式構(gòu)建混合特征提取。首先。采用傅里葉變換方式,將數(shù)據(jù)從時域空間變換到頻域空間;然后,利用統(tǒng)計方法從頻域幅度值中提取特征。選取均值、標(biāo)準(zhǔn)差、最大值、最小值、過零點數(shù)這5個特征數(shù)值用于統(tǒng)計特征構(gòu)建。
(9)
式中:X(r) ——頻率為r時的幅度值,因此X=
通過時序特征提取技術(shù),可以將各個站點各個時間區(qū)內(nèi)的數(shù)據(jù)進(jìn)行特征提取,大大減少了冗余數(shù)據(jù),縮短數(shù)據(jù)的規(guī)模,有利于數(shù)據(jù)進(jìn)行聚類[14],挖掘其相似場景以及場景之間的相關(guān)性,從而構(gòu)建場景模式庫,由于目前提取的特征為數(shù)值本身特征,而忽略數(shù)據(jù)的時空信息,因而在聚類之前,進(jìn)行時空特征提取,綜合混合特征和時空特征,使用傳統(tǒng)K-means算法[15]對數(shù)據(jù)進(jìn)行聚類,構(gòu)建時空場景模式庫。
多特征時空場景模式庫主要分為3個步驟:第一步,對樣本中的場景數(shù)據(jù)進(jìn)行混合特征提取;第二步,對場景數(shù)據(jù)進(jìn)行時空特征提??;第三步,對特征數(shù)據(jù)進(jìn)行歸一化,使用K-means聚類算法對特征數(shù)據(jù)進(jìn)行聚類,聚類后的特征數(shù)據(jù)所對應(yīng)的場景數(shù)據(jù)為場景模式庫。
算法三基于多特征的K-means聚類算法。輸入:樣本集MultiSegSet={MultiSeg1,MultiSeg2,…,MultiSegm}和聚類簇數(shù)k;輸出:簇劃分。步驟如下:
//對樣本數(shù)據(jù)提取混合特征
MultiMixFeatureSet={MixFeature1,MixFeature2,…,MixFeaturem}
//對樣本數(shù)據(jù)提取時空特征
STFeatureSet={STFeature1,STFeature2,…,STFeaturem}
//合并混合特征和時空特征并歸一化
FeatureSet={Feature1,Feature2,…,Featurem}
從FeatureSet中隨機(jī)選擇k個樣本作為初始均值向量(u1,u2,…,uk)
repeat
令Ci=?(1≤i≤k)
fori=1,2,…,mdo
//計算樣本featurej與各均值向量ui(1≤i≤k)的距離(歐氏距離):
根據(jù)距離最近的均值向量確定featurej的簇標(biāo)記:λj=argmini∈{1,2,…,k}dji
將樣本xj劃入相應(yīng)的簇:Cλi=Cλi∪{featurej}
end for
fori=1,2,…,kdo
else
保持當(dāng)前均值向量不變
end if
end for
Until當(dāng)前均值向量均未更新
returnS={C1,C2,…,Ck}
試驗使用引江濟(jì)太水量水質(zhì)數(shù)據(jù),該數(shù)據(jù)包含207個水質(zhì)測站所測的數(shù)據(jù)。每個站點水質(zhì)監(jiān)測的場景要素數(shù)據(jù)為:水溫、透明度、溶解氧(DO)、pH、電導(dǎo)率、化學(xué)需氧量(COD)、總磷(TP)、氨氮等,其中某些湖泊站點包含葉綠素濃度、浮游植物等指標(biāo)。選擇2008年貢湖水廠所監(jiān)測的總氮(TN)、總磷以及透明度數(shù)據(jù)進(jìn)行試驗。
先用一元時序分割技術(shù)對各個場景要素數(shù)據(jù)進(jìn)行一元分割,后使用滑動窗口對分割數(shù)據(jù)采樣,防止數(shù)據(jù)存在缺失和冗余情況發(fā)生,再使用改進(jìn)的相關(guān)度量方式度量各場景要素數(shù)據(jù)間關(guān)系,最后合并具有相關(guān)關(guān)系數(shù)據(jù),實現(xiàn)多場景要素關(guān)聯(lián)及多元時序分割。在本試驗中,采用基于動態(tài)規(guī)劃(MDS)的和基于Gath-Geva模糊聚類(MFS)的多元時序分割方法作對比試驗。在基于動態(tài)規(guī)劃的多元時序分割試驗中,設(shè)置分割階數(shù)為7。在基于模糊聚類的多元時序分割試驗中,設(shè)置聚類個數(shù)為2。
圖2展示了人工分割多元時序的理想結(jié)果,其中TN、TP以及透明度數(shù)據(jù)的變化具有一定的滯后性。此外可發(fā)現(xiàn)分割段中的TN和TP具有一定相似性,透明度則和TN分割段成負(fù)相關(guān)關(guān)系。圖3是本文使用的多元分割方法,可看到時序被分割成6段,且每段各元數(shù)據(jù)在不同時刻分割。該結(jié)果仍具有缺陷,例如在TP分割段中,第4、5和6段重合,與實際情況不符,該方法仍需要改進(jìn)。圖4是基于模糊分類的多元分割結(jié)果。分割段中各元數(shù)據(jù)都在同一時刻進(jìn)行分割,但該方法將時序分割過多段數(shù),存在分割段長度過小,如第5、6、7段,分割段過長,如第8、9段。同時無法發(fā)現(xiàn)分割段各元之間的明顯關(guān)系。圖5是基于動態(tài)規(guī)劃的多元分割結(jié)果,主要分割成6段,其中某一段分割過小,在實際中舍去;從分割結(jié)果上看出,該方法依然存在基于模糊聚類的多元分割方法的缺陷。
圖2 多元時序人工分割Fig.2 Experimental results of multivariate time series by manual segmentation method
圖3 基于本文所提方法的多元時序分割Fig.3 Experimental results of multivariate time series by proposed method
圖4 基于Gath-Geva模糊聚類的多元時序分割Fig.4 Experimental results of multivariate time series by MFS
圖5 基于動態(tài)規(guī)劃方法的多元時序分割Fig.5 Experimental results of multivariate time series by MDS
本文進(jìn)行了所提方法、基于動態(tài)規(guī)劃以及基于Gath-Geva模糊聚類多元時序分割方法對比試驗。本文采用人工分割時序段作為標(biāo)準(zhǔn)分割段,采用交并比(IoU)評估試驗結(jié)果。由于各試驗分割段數(shù)不同,因而采用平均值的方式反映整體分割效果,如表1所示。
表1 3種多元時序分割方法評估結(jié)果Table 1 Evaluation results of three different segmentation methods for multivariate time series %
由表1可知,本文方法在TN和透明度方面明顯優(yōu)于其他2種分割方法,在TP方面比MFS方法差。其主要原因在于多個多元時序分割段在TP場景要素上發(fā)生時序段重合,這與標(biāo)準(zhǔn)分割段相差較遠(yuǎn),大大降低了試驗分割效果。從整體上看,所列3種分割方法的性能均待提升。MFS和MDS無法提供更加細(xì)粒度的分割時序段,其分割時序段過長,導(dǎo)致性能下降。同時,這兩種方法都是同步分割,多元時序分割段的斷點在同一時刻,與人工分割具有理念差異。本文所提方法在貢湖水廠2008年的3個場景數(shù)據(jù)上的分割效果優(yōu)于其他2種方法,但仍需提高分割效果。
水利場景搭建是一個復(fù)雜的過程。通過分析太湖流域各站點數(shù)據(jù)以及引江濟(jì)太工程調(diào)水?dāng)?shù)據(jù),發(fā)現(xiàn)單時序分割技術(shù)具有其相應(yīng)的局限性,進(jìn)而利用多元時序分割技術(shù)對各站點數(shù)據(jù)進(jìn)行關(guān)聯(lián)分割,然后利用特征提取與選擇技術(shù)構(gòu)建時序水文特征,最后,從特征中挖掘出場景的規(guī)律。