李 冬 雙,滕 玉 浩,羅 文,4,俞 肇 元,4*
(1.江蘇省作物遺傳生理國家重點實驗室/江蘇省作物栽培生理重點實驗室,揚州大學農學院,江蘇 揚州 225009;2.江蘇省糧食作物現代產業技術協同創新中心,揚州大學,江蘇 揚州 225009;3.南京師范大學虛擬地理環境教育部重點實驗室,江蘇 南京 210023;4.江蘇省地理信息資源開發與利用協同創新中心,江蘇 南京 210023)
地理時空場是空間位置參照和時間參照與屬性域之間的連續映射,表征了空間和時間上的連續演化現象。多樣的地理要素及其時空演變使地理時空場表現出明顯異質性特點[1],這種異質性體現在維度異質性和分布異質性兩方面。其中維度異質性指時間維度、空間維度和屬性維度在長度上往往是不均等的,如對于長時間觀測序列,時間維上的數據長度則顯著大于空間維上的數據長度;分布異質性主要受空間、時間和屬性的不同影響,使地理數據在不同區域內呈現出分布不均勻性、空間非均勻性和時間非平穩性,從而表現出結構異質性特征[2]。異質性時空場數據的處理和分析已成為時空場數據分析的熱點[3]。
現有時空場數據模型主要包括時空立方體模型、點云模型和參數化模型3類[4]。時空立方體模型可看作是由一系列規則柵格堆疊而成的多維矩陣,該類數據模型在規則時空場表征上有優勢,但在時空場對象檢索、不同維度重組以及數據分析等方面的復雜度較高[5];點云模型類似于時空點對象,為包含多個屬性值的多維點集結構,該類模型可有效進行維度擴展和組合,但由于各質點間關系模糊、結構性差,不利于復雜的時空特征分析方法的構建[6];近年來,基于參數的場表達與分析在物理學、工程應用等領域得到較大發展[7,8],參數化模型多適用于結構規律性強、機理過程相對明確的時空場的表征,但地學時空場數據往往表現出顯著的多尺度疊加的異質性特征,機理過程不明確,導致參數化模型在地理時空場表達中應用不多[9]。上述3類時空場模型多立足于對現有空間數據模型的時域拓展,在高維數據表達以及異質性的時空數據分析支撐方面尚顯薄弱。
張量是矩陣的高維擴展,可用于多變量、多坐標系統對象的統一表達,是進行地理時空場數據組織的有效工具。張量結構的多維表達特性為時空場數據的表達提供了原生數學支撐。張量分解則通過對張量數據進行投影映射,利用線性或層次化的結構將高維時空場轉換成低維的張量、矩陣或向量[10,11],實現對時空場中數據特征的解析和提取,可以挖掘不同維度數據間整體的耦合作用關系,并有效支撐時空場數據的組織和特征分析,已廣泛應用于地理時空場數據特征提取、組織管理以及可視化分析等方面[12,13]。然而,經典的張量分解模型主要利用矩陣化方式進行降維,進而在降維矩陣上通過諸如矩陣分解等方法進行特征提取。準確的張量分解多依托于兩類假設:1)觀測數據在不同維度上的數據長度相對一致[14],該假設是為保證張量矩陣化后,不會因為矩陣在不同維度上數據長度差異過大導致矩陣分解獲得的特征存在明顯偏差;2)觀測數據的數值分布相對均一,不存在顯著的結構差異或突變[15],該假設可保證在張量矩陣化后,矩陣分解方法可提取出穩定的特征分量。但異質性的地理時空場數據多難以滿足上述兩類假設,影響張量在異質性地理時空場數據分析中的適用性[16]。
從數據投影和數據分塊的視角對此類數據進行局部拆分,進而利用張量算子建立從局部到整體的特征分析框架,是解決異質性張量特征分析問題的可行途徑。但數據的拆分不僅需要考慮原始時空場數據的組織管理,還需要考慮不同的數據投影或拆分結果,以及在張量分解過程中產生的過程數據的組織與管理。因此,從拆分的視角構建異質性時空場數據的張量數據模型易導致時空場數據模型構建的復雜性,需要在現有張量分析的基礎上,通過有效的數據組織和變換,建立適用于異質性時空場數據分析的張量模型。鑒于此,本文將張量引入異質性時空場數據模型設計,研究基于張量的異質性時空場數據的組織表達方法,結合不同類型的異質性時空場數據特點,基于面向對象設計不同類型的異質性時空場數據類、類中包含的屬性和操作以及不同類之間的邏輯關系,以期實現面向異質性時空場數據分析的張量模型構建;在此基礎上,以維度非對稱數據和結構異質數據特征提取為案例,分析所構建模型對支撐異質性時空場特征提取的優勢。
基于張量的時空場數據組織模型需要考慮時空場數據所具有的維度不規則和分布不規則的特性(圖1)。對于維度非對稱數據,其不僅具有常規時空場數據的多維特性,且各維度數據長度差異較大。因此,為能從多維度聯合解析,同時也能有效兼顧各維度的差異性,可以引入維度集合拆分的思路。對于給定的張量形式表達的時空場數據A∈RX×Y×T,其數據維度集合{X,Y,T}可拆分為不同的維度組合{X,Y},{X,T},{Y,T}。原始張量數據可以被投影到這些不同維度組合上,形成一系列的維度子空間進行數據組織。這些維度子空間不僅包含所有可能的維度組合,同時還可以從局部維度視角透視原始數據。由于這些維度子空間維度較低,且其各維度上的數據長度相較于原始數據更加均衡,因此,綜合不同維度子空間透視原始數據,可以削弱維度不規則對于數據整體特征揭示的影響。

圖1 基于張量的異質性時空場數據組織Fig.1 Tensor-based organization of heterogeneous spatial-temporal field data
對于結構異質時空場數據,其不僅具有常規時空場數據的多維特性,而且其各個局部結構差異較大,因此,需要有效兼顧數據整體的多維性和內部結構的差異性。借鑒數據劃分—合并的思想有助于降低數據內部分布的異質性。對于張量表達的時空場數據A∈RX×Y×T,可將其分割成大小一致的子張量塊{A1∈RX1×Y1×T1,A2∈RX2×Y2×T2,…,An∈RXn×Yn×Tn},構建子張量塊相似度度量ρi,i+1=similarity(Ai,Ai+1),similarity( )為相似度計算函數,由于數據的分量既可以是向量形式,也可以是矩陣形式,因此所使用的相似度計算函數可以分別采用余弦相似度和皮爾遜相關系數等實現,并結合相似性閾值(α)將子張量塊合并。張量塊的合并是一個迭代過程,合并的張量塊會根據判斷準則決定是否繼續與相鄰塊合并。具體而言,若ρi,i+1≥α,則Ai={Ai,Ai+1},即將子張量塊數據沿著某維度追加;若ρi,i+1<α,則Ai和Ai+1仍然組織為獨立的兩塊。基于上述規則對原始數據進行重組后,其每個局部子張量塊數據內部的特征相似,而相鄰子張量塊的特征差異較大。因此,可以在每個局部子張量上進行特征分析,而后合并獲得整體張量的特征結構。
以張量為基礎,構建具有靈活的維度運算特性和高維特征分析能力的張量算子,可以有效支撐張量的數據操作和運算。面向異質性時空場數據操作,本文構建了表1所示的張量數據操作算子,其中張量的維度拆分、數據投影和相似度計算等算子主要用于實現異質性時空場數據的子空間構建、張量分塊、張量合并等操作。考慮到高維相似度測算通常較為困難,本文設計的相似度算子首先利用張量分解得到低維特征分量,進而通過分量間相似度計算函數估計高維數據的相似度。數據投影算子類似于二維矩陣中的特征分解,對于高維數據,則可利用張量分解算子實現高維異質數據各維度特征的提取,進而利用張量重構算子實現對異質性時空場數據不同維度的透視[17]。相較于傳統的矩陣分析,基于張量分解的數據操作可以避免傳統方法中諸如數據向量化造成的維度災難[18]。通過在張量框架下構建異質性時空場數據的數據操作算子,可降低由時空場數據特性差異導致的數據操作復雜性。

表1 基于張量的數據操作Table 1 Tensor-based data manipulation
以張量算子為基礎,構建異質性時空場組織管理和時空分析的流程如圖2所示。在數據組織方面,將觀測到的異質性時空場數據,根據時空特征組織成高階張量的形式,依據不同異質性時空場的類型,構建出對應類型的組織模型;在數據操作方面,將張量分塊、合并等操作貫穿于整個數據組織和分析過程中,通過算子定義的方式實現各類張量操作的函數化和算子化,以適應不同類型時空場數據的操作;在數據分析方面,利用張量分解得到異質性時空場數據沿經度、緯度、時間的變化特征,利用張量積運算即可重構出經度與緯度、經度與時間、緯度與時間上的特征分布。

圖2 數據模型構建流程Fig.2 Data model building process
由于異質性時空場數據的張量表達在不同類型數據之間存在差異性,為簡化不同數據之間處理和操作的難度,利用面向對象思想中的封裝、繼承與多態等特性進行異質性時空場數據模型的構建。首先,由于異質性時空場數據的結構比較復雜,且涵蓋不同類型,需要根據規則化的數學描述對不同類型的異質性時空場數據進行完備的張量描述,其不僅能夠描述常規張量的特性,還應包含一些典型的異質性特征,以便后續在這個規范化的數學描述體系上架構分析方法。再者,考慮到異質性時空場數據的結構特殊性,常規的張量分析方法無法直接應用,一個可行的方法是利用算子構建,將異質性時空場數據盡可能地規則化,在此基礎上,考慮將其與常規張量分析方法相結合,構建適用于異質結構張量的數據分析方法。本文定義了數據模型中的類、類中包含的屬性和操作以及不同類之間的邏輯關系,即異質性時空場數據模型的UML(Unified Modeling Language)(圖3)。

圖3 異質性時空場數據的UML圖Fig.3 UML diagram of heterogeneous spatial-temporal field data
該數據模型中,異質性時空場數據模型通過基類TensorBase、文件操作類TensorIO、數據操作類TensorOP、數據分析類TensorAn與數據可視化類TensorVisual實現對時空場數據的傳輸、計算分析與可視化;繼承基類TensorBase,衍生出兩個子類,分別為維度非對稱張量類AsyTensor以及結構異質張量類HetTensor。其中,基類TensorBase通過眾多變量實現對異質時空場的描述,并聚合TensorIO、TensorOP、TensorAn與TensorVisual類實現對異質時空場的計算和分析,繼承基類的子類可以對方法進行繼承或重寫,為不同數據類型提供統一的接口;文件操作類TensorIO包含數據的讀入與輸出;數據操作類TensorOP貫穿于整個數據模型的建立過程中,包含張量重構、合并、連接等運算;數據分析類TensorAn定義了常用的特征提取方法,如張量Tucker分解、張量CP分解、主成分分析等,用于異質性時空場規則化之后的特征提取。子類AsyTensor以及HetTensor分別用于存儲維度非對稱和結構異質時空場數據,其不僅繼承或重寫了基類TensorBase的屬性與方法,還包含具有自身特點的方法,如非對稱數據的維度拆分方法dimDivision( )以及結構異質數據的數據合并方法tensorCombine( )等。最后利用數據分析類TensorAn中定義的方法,完成對異質性時空場數據的特征提取,并通過算子的重載以滿足不同類型張量分析的算法。具體實現流程(圖4)為:通過文件操作類TensorIO獲取數據,根據異質性類型,通過調用對應子類中的方法,將異質性時空場組織成規則的張量,進而通過TensorAn中定義的分析方法完成異質性時空場的特征提取。

圖4 異質性時空場數據分析步驟Fig.4 Steps for analysis of heterogeneous spatial-temporal field data
基于C++語言建模與構建分析系統,編寫基于張量的異質性時空場數據模型以及相關操作方法,構建系統底層API;GUI層基于Wxwidgets架構,并利用VTK(Visualization Tool Kit)實現基于張量的異質性時空場數據的可視化表達。為驗證本文提出的基于張量的異質性數據模型的優勢,選取NOAA(https://psl.noaa.gov/data/20thC-Rean/)發布的多氣候模型融合形成的氣象再分析氣候模式數據構建驗證實驗。NOAA再分析數據只是數據本身,實驗分別對維度非對稱數據和異質性數據進行建模,其對應數據模型中AsyTensor類和HetTensor類,并將基于張量的數據模型的分析方法與基于傳統時空數據模型的分析方法進行對比。
面向典型的異質性時空場數據,基于TensorIO讀取數據。依據輸入時空場的異質性類型,將原始數據組織成對應類型的子類張量,并調用子類中對應的方法完成數據的規則化,進而調用TensorAn中的方法完成特征提取,如張量CP分解tensorCP( )、張量Tucker分解tensorTucker( )等。
3.2.1 維度非對稱時空場數據分析 對于維度非對稱時空場數據,為便于構建不同維度組合下的子空間,應盡可能多選取數據集的維度數。本文選取包含經度維、緯度維、高度維和時間維的四維數據集(空間分辨率為2°×2°),并將其存儲為(經度×緯度×高度×時間)時空場數據Air1∈R180×90×24×756,該數據空間與時間維度上數據長度差異較大,存在明顯的維度非對稱性。維度非對稱時空場數據的特征提取方法(算法1)實現流程為:首先將原始時空場數據按照不同維度組合進行切片,然后計算切片數據的信息熵并進行數據降維,得到不同維度組合下的子空間,應用主成分分析等方法得到降維后各子空間數據的特征結果。
算法 1:維度非對稱時空場數據的特征提取方法
Input:Spatio-temporal field data (STField) with imbalanced dimensions,the dimensions that need to be analyzed.
Output:A series of features ofSTFieldfrom the dimensional perspectivesI,J...
1.slice=tensorSlice(STField,I,J…);//沿著給定的維度I,J…切割數據STField
2.entropy=getEntropy(slice);//計算切割后數據的信息熵
3.reduction=tensorReduction(STField,I,J…,entropy);//降低數據維度,使降維后數據只與給定的維度有關
4.feature=PCA(reduction);//對降維后數據應用主成分分析
5.returnfeature;
為驗證本文維度非對稱數據模型的優勢,將基于維度子空間組織的特征分解與直接基于原始數據的特征分解進行對比。其中,Air_Tucker與Air_CP分別為直接對原始數據進行張量Tucker分解與張量CP分解的結果,Air_PCwx為對基于維度子空間組織的張量分解結果。為驗證這些特征分量與厄爾尼諾南方濤動(ENSO)事件的對應性,選取表征ENSO事件強度的MEI(Multivariate ENSO Index)分別與所提特征分量進行對比,并計算對應的相關系數。從特征曲線對比看(圖5),本文方法提取的特征曲線在周期和走向上與MEI指數的對應性較好,Air_PCwx、Air_Tucker和Air_CP與MEI的相關系數分別為0.697、0.259和0.137,表明本文方法可以更精確地解析ENSO信號。但CP分解在2001年以后,曲線走向與MEI相比發生明顯偏差;Tucker分解在1950-1965年之間,較MEI指數呈現出較大的偏差。

圖5 不同方法的分解結果對比Fig.5 Decomposition result comparison of different methods
3.2.2 結構異質時空場數據分析 對于結構異質時空場數據,為便于數據塊切割,從簡單的三維數據進行嘗試。因此,選取的時空場數據集在高度上只取表層(空間分辨率為2.5°×2.5°),并將數據集存儲為(經度×緯度×時間)時空場數據Air2∈R144×73×365。由于該數據是多年平均數據,容易受全年不同時期的氣候事件影響,在時間上呈現出結構異質的特點。構建結構異質時空場數據的特征提取方法(算法2)實現流程為:首先將原始數據切割為一系列的數據塊,并計算相鄰塊之間的相關系數,根據相關系數結果和給定的閾值,將數據塊進行重組(圖6)。由于重組后數據塊的內部結果相對一致,因此在每個重組數據塊上應用張量分解可以很好地提取出該類數據的整體特征,同時也有助于消除由數據差異導致的估計偏差問題。

圖6 異質性時空場數據組織Fig.6 Organization of heterogeneous spatial-temporal field data
算法2:結構異質時空場數據的特征提取方法
Input:Spatio-temporal field data (STField)with heterogeneous structure
Output:A series of features of the sub-tensor block ofSTField
1.block1,block2,block3,…,blockn=tensorDivide(STField);//將數據STField切割為一系列的塊
2.p1,2,p2,3,…,pn-1,n=similarity(block1,block2,block3,…,blockn);// 計算相鄰數據塊之間的相似性
3.subTensor1,…,subTensorn=tensorCombine(block1,block2,…,blockn,p1,2,p2,3,…,pn-1,n);// 根據相似性重組數據塊
4.int i=0;//對重組后的數據塊單獨應用張量分解
5.whileiisthenumberofsubTensordo
6.feature=tuckerDecp(subTensori);
7.add feature tofeatrueList;
8.returnfeatrueList;
為驗證本文結構異質時空場數據模型的優勢,將基于張量塊數據模型的張量分解(簡稱為局部分解)和直接基于原始數據的張量分解(簡稱為整體分解)結果進行對比,并繪制這兩種分解結果在各維度上的相對誤差率如圖7所示。從誤差的整體比較看,局部分解結果在時空維度上的相對誤差率均小于全局分解的相對誤差率,說明基于所構建的分塊數據模型的張量分解可以顯著提高異質性變化顯著數據的特征估計的準確性,且誤差分布更平穩。

圖7 不同分解方法的相對誤差率對比Fig.7 Relative error rate comparison of different decomposition methods
從上述兩類典型的非規則時空場數據的分析流程看,相較于傳統張量分析,基于所構建數據模型的時空分析方法在原始張量分解基礎上,增加了數據切片、分塊、合并等復雜度較低的數據操作,此類操作的計算復雜度相較于張量分解過程中所涉及的大型矩陣的計算復雜度幾乎可以忽略不計。從時間復雜度上看,對維度非對稱張量計算復雜度影響較大的主要是子空間劃分的規則和規模。僅就本文所使用數據的分析結果看,Air1數據的維度非對稱張量分解雖較傳統的張量分解耗時多2.01 s,但對ENSO等復雜信號的揭示更加精確。 而對異質性時空場數據,其計算復雜度主要與數據分塊的模式(分塊數和分塊的大小)有關,其中數據分塊模式取決于數據的異質性特征,即依賴于具體的數據。在本文設計中,分塊模式需要根據相似度計算函數和相似性閾值確定。僅就本文所使用數據的分析結果看,Air2數據的最佳分塊數是5,總的分塊及分解時間為2.27 s,整體分解時間為5.88 s。整體效率的提升是由于切割之后的張量數據塊更小,每塊在張量分解時耗時更短。因此,分塊張量分解不僅對原始數據逼近得更加精確,而且比傳統張量分解耗時少。
本文針對現有張量分析在支撐異質性時空場數據所面臨的特征估計偏差等問題,利用張量結構對高維數據的支撐特性和張量算子的維度融合特性,從局部到整體的分析視角出發,建立了涵蓋張量子空間和張量塊結構的異質性時空場描述模型和操作算子。結合面向對象思想設計了不同類型的異質性時空場數據類、類中包含的屬性和操作以及不同類之間的邏輯關系,構建了異質性時空場數據模型。基于氣象再分析實驗案例表明,該數據模型可有效支撐異質性時空場數據的組織,而且在支撐時空場數據分析方面,比傳統張量方法的特征估計精度更高。
本文所提數據模型直接面向高維異質時空場數據,為異質性較強的時空統計方法的高維推廣提供了有利借鑒。在應用支撐上、可為機器學習、關系推斷和微弱信號的提取和濾波,以及更精細數據的時空分區、耦合關系計算和作用機制的計算等領域提供方法借鑒。未來繼續突破的工作包括:1)數據的異質性特征測度體系構建;2)地理時空場異質性類型的自動識別和分類;3)融合數據特征的異質性時空場數據的自動分塊策略構建。