一種基于平行因子的多維數據分析方法
【技術領域】
[0001] 本發明屬于信號分析技術領域,涉及一種多維數據分析方法,尤其涉及一種基于 平行因子的快速可擴展的多維數據分析方法。
【背景技術】
[0002] 高密度多模式的多維數據分析在科學研究和實際的應用中都有重要的研究意義, 如多元神經信號。如何在信號的空間域、時間域和頻率域無損失的捕獲信號的特征是一個 亟待解決的問題[文獻1]。為了分析大規模數據的特性,[文獻2]提出了一種主成分分 析法(PCA,principalcomponent analysis)方法,通過統計學的知識將信號的高維數據映 射到一個低維空間來分析信號的特性。另外,[文獻3]提出一種獨立成分分析法(ICA, independent componentanalysis)方法,在提取神經信號的特征上取得了不錯的效果。 但是上述的一些方法都是基于雙通道數據來分析的,只能分析時間-空間域信號,或者時 間-頻率域信號,而不能被應用到多通道的神經信號分析中。因此,由于神經信號的特殊 性,神經信號通常是多通道高維度的,傳統的雙通道處理方法并不能有效解決神經信號的 分析問題。
[0003] 為了有效解決三維或者更高維度的多維數據分析,[文獻4]提出了一種平行因子 分析(PARAFAC,Parallel Factor Analysis)算法,也被稱為典范分解算法(CPD,Canonical Polyadic Decomposition)。平行因子算法相比于傳統的PCA和ICA方法,不僅具有更好的 穩定性和唯一性,并且能夠處理更高維度的數據。近年來,平行因子分析算法被廣泛用于腦 電圖數據(EEG, electroencephalography)分析,并取得了不錯的效果[文獻5]。然而,平 行因子的算法復雜度高達〇 (η2),在面對大規模超高維度的多維數據分析時,處理速度非常 緩慢,難以滿足實際應用中實時的需求[文獻6]。
[0004] 上述的一些方法有些無法解決高維數據分析問題,有些方法時間復雜度很高,難 以滿足很多實際應用中的實時性的要求。因此亟待發明一種快速的可擴展的多維數據分析 方法。
[0005] [文獻 1]F. Estienne,Ν. Matthi js,D. L. Massart,Ρ. Ricoux,and D. Leibovici, "Multi-way modelling of high-dimensionality electroencephalographicdata,y, Chemo metrics and Intelligent Laboratory Systems, 58(1):59-72, 2001..
[0006] [文獻 2]K. Pearson, "On lines and planes of closest fit to systems of points inspace, ',Philosophical Magazine, vol. 2, no. 6, pp. 559-572, 1901.
[0007] [文獻 3]P. Comon, "Independent Component Analysis, a new concept ? "Signa !Processing, vol. 36, no. 3, pp. 287-314, 1994.
[0008] [文獻 4] R. Bro and H. A. L. Kiers, "A new efficient method for determining thenumber of components in PARAFAC models, " Journal ofChemometrics, vol. 17, pp. 274-286, 2003.
[0009] [文獻 5]F. Miwakeichi,E. Mart nez-Montes,P. A. Vald6s_Sosa,N. Nishiyama,H. Mizuhara and Y.Yamaguchij "Decomposing EEG Data into Space - time -frequency Components using Parallel Factor Analysis, ^ NeuroImagej vol. 22, no. 3, pp. 1035-1045, 2004.
[0010] [文獻 6] J. Wang and X. Li, "Characteristics of evoked potential Multiple EEGrecordings in patients with chronic pain by means of parallel factoranalysis," Computational and Mathemetical Methods in Medicine, 2012.
【發明內容】
toon] 為了解決上述技術問題,本發明提供了一種基于平行因子的快速可擴展的多維數 據分析方法。
[0012] 本發明所采用的技術方案是:一種基于平行因子的多維數據分析方法,其特征在 于,包括以下步驟:
[0013] 步驟1 :三維模式主成分分析;
[0014] 輸入一組三維數據X,數據大小為IX JXK ;通過Tucker3模型將初始的數據分解 為NXNX 2的一個矩陣G,也就是兩個大小為NXN的矩陣;并且矩陣G的計算公式如下:
[0015] Χ = 1·Τ,(Ζ?ν)
[0016] U,V,和Z分別是Tucker3模型中X矩陣的因子矩陣,Tucker3模型是一種三維PCA 方法;?表示克羅內克積,即:
[0017]
[0018] 其中pn,p12, P21,P22等分別表示矩陣P、Q中的每個元素;
[0019] 步驟2 :矩陣的特征值和特征向量求解;
[0020] 即在得到矩陣G后,對G進行特征值和特征向量求解,其計算方式如下:
[0021]
[0022] 其中,Φ,Ψ,和Θ分別是矩陣G的因子矩陣,f表示矩陣不同的元素序號,F是元 素總的數目;
[0023] Θ表示Khatri-Rao積操作,其計算方式如下:
[0024]
[0025] 步驟3 :Khatri_Rao積的GPGPU(通用計算圖形處理器)處理;
[0026] 根據Khatri-Rao積的定義,兩個二維數組A和B的Khatri-Rao積為: Α(Μ,Κ) ΘΒ(Ν,Κ) =C(MXN,K),其中M、N、K分別表示矩陣的大小;A、B、C是在得到G之后 計算其特征值和特征向量三個維度所需要的矩陣內因子,其中A、B、C三個矩陣內因子分別 表示了多維數據時間域維度、空間域維度、頻率域維度的信息;
[0027] 步驟4 :矩陣的內因子計算;
[0028] 初始化步驟3中的A、B、C三個矩陣:
[0029] A = UX Φ ;
[0030] B = VX Ψ ;
[0031] C = ZX Θ ;
[0032] 其中X表示向量的外積;
[0033] 步驟5 :設置基于自協方差最小二乘法(ALS,Autocovariance Least-Squares)的 平行因子算法終止條件,包括算法迭代的最大次數MI,算法的最大誤差Λ ;然后開始平行 因子算法處理,計算最優的A,B,C ;
[0034] 步驟6 :更新因子矩陣A ;
[0035] 其中A的更新方法如下:
[0036] Z=(C11OB11);
[0037] A1= XixjkZ(ZtZ) S
[0038] 其中i表示當前迭代次數,C11和B11分別表示上一次(i-1)更新的結果; X (I,J,K)三個維度不同模式的因子數量定義為Wl、W2、和W3,其中W 1表示第一個維度模式 U(Lw1)中因子的數量,W2表示第二個維度模式V(J,W 2)中因子的數量,《3表示第三個維度 模式Z(K,W3)中因子的數量,其中每個因子的權重都是由G( Wl,w2, W3)來決定的;
[0039] 步驟7 :更新因子矩陣B ;
[0040] 其中B的更新方法如下:
[0041] Z=(C11OA1);
[0042] B1= XjxikZ(ZtZ) S
[0043] 其中i表示當前迭代次數,C1 i表示上一次(i-Ι)更新的結果,A 1表示最新更新的 結果;
[0044] 步驟8 :更新因子矩陣C ;
[0045] 其中C的更新方法如下:
[0046] Z=(A1OB1);
[0047] C1= XkxijZ(ZtZ) S
[0048] 其中i表示當前迭代次數,心和B i分別表示最新更新的結果;
[0049] 步驟9 :計算適配誤差;
[0050] 計算矩陣因子更新后的適配誤差,其計算方式如下:
[0051] δ J= (I X-A ; (CiO B i)T Il 2
[0052] 并判斷下述兩個條件是否都滿足;
[0053] 條件 一 :δ r δ ; A Λ ;
[0054] 條件二:i〈MI;
[0055] 如果上述兩個條件同時滿足,則順序執行下下述步驟10 ;
[0056] 如果上述兩個條件不是同時滿足,則回轉執行所述的步驟6 ;
[0057] 步驟10 :ALS算法達到全局最優或者已經達到了最大迭代次數,算法結束,輸出最 優的矩陣因子A = A;、B = Bi和C = C i<3
[0058] 作為優選,步驟1中所述的克羅內克積,是對三維數據進行克羅內克積處理,分別 包含J#(G0S))和i3)(Ci)S)),其中X表示初始的輸入矩陣,X(1)表示矩陣X第i個 通道的數據,i取1、2或3 ;C和B分別表示兩個要進行