徐 文,陳 義,游 為
(1. 同濟大學測繪與地理信息學院,上海 200092; 2. 西南交通大學地球科學與
環境工程學院,四川 成都 610063)
Application of SVD Method in Ill-posed Problem
XU Wen,CHEN Yi,YOU Wei
?
奇異值分解法在病態問題中的應用
徐文1,陳義1,游為2
(1. 同濟大學測繪與地理信息學院,上海 200092; 2. 西南交通大學地球科學與
環境工程學院,四川 成都 610063)
Application of SVD Method in Ill-posed Problem
XU Wen,CHEN Yi,YOU Wei
摘要:用截斷奇異值分解法和修正奇異值分解法對大地測量病態問題進行了處理,并與最小二乘的結果進行了比較,最后將兩者方法進行結合同樣對病態方程進行了處理,得到了結合奇異值分解的解,并與截斷奇異值、修正奇異值分解的解以及真值進行比較,發現結合奇異值分解的解即修正奇異值截斷法比截斷奇異值和修正奇異值的解更加靠近于真值,修正奇異值截斷法相比于截斷奇異值和修正奇異值法對于病態方程抗干擾能力更強,更具有實際意義。
關鍵詞:病態方程;奇異值分解;截斷奇異值;修正奇異值
在測量平差中, 當誤差方程式的系數矩陣或常數向量有微小的誤差擾動時,就會引起解的劇烈波動,從而導致計算出來的結果與真值相差比較大,這種問題就稱為病態問題,對應的矩陣稱為病態矩陣。病態矩陣表現為矩陣的行列式等于或接近于零,或者矩陣的行或列向量存在近似的線性相關。矩陣奇異值分解是一種對誤差方程的系數矩陣直接進行分解來求取未知數最小二乘解的比較實用的解法。近年來病態問題的處理在大地測量的數據處理中得到了越來越廣泛的應用。在病態問題中,法方程式系數矩陣的條件數是誤差方程系數矩陣條件數的平方,對誤差方程式的系數矩陣進行處理有利于降低方程的病態性,使得未知數的估值更加接近于真值。在非病態方程的條件下,矩陣的奇異值分解算法和最小二乘算法所得到的結果一致。而在病態方程條件下, 對于相對較小的奇異值截斷去掉,或者對全部或部分奇異值進行修正,使得奇異值或者將二者相結合的方法相對更加緊湊,就可以達到減少均方根誤差、提高未知數的精度和可靠性的目的,從而獲得更為準確的解[1-2]。
一、病態方程的解法
定理1設m×n矩陣A∈Rm×n(Cm×n),矩陣A的秩rank(A)=r(r>0),r≤{m,n},則存在m階正交(酉)矩陣U和n階正交(酉)矩陣V,使得[3-4]

(1)
式中,Σ=diag(σ1,σ2,…,σr),且σ1≥σ2≥…≥σr>0,而σi(i=1,2,…,r)為矩陣A的非負奇異值。式(1)稱為矩陣A的奇異值分解式[1,3]。
1. 截斷奇異值分解
在病態方程問題中未知數的最小二乘解有較大波動的主要原因是:誤差方程式的系數矩陣有等于或接近于0的奇異值。一個最直接的做法就是去掉那些等于或接近于0的奇異值,用損失未知數的無偏性為代價來換取均方根誤差的減小。假設去掉接近于0的t-k個奇異值, 就可以得到截斷奇異值的解, 即
(2)
這其中的關鍵問題是如何選擇合適的截斷參數k,在有關文獻中關于截斷參數k的選擇方法有L曲線法、F假設檢驗法、極小化均方誤差法等。本文用L曲線法來求解截斷參數,求出截斷時所對應的奇異值所在的下標數值i,最后得到的截斷奇異值法的解為
(3)
式中,V1為矩陣V的前i列;D1為矩陣Σ的前i×i的矩陣;U1為矩陣U的前i列[1-2]。
2. 修正奇異值分解
奇異值分解中,相對較大的奇異值表示比較可靠和肯定的部分,而相對較小的奇異值則表示浮動較大、不那么可靠的部分。截斷奇異值分解法就是去掉那些相對較小奇異值,奇異值分解法還可以通過修正奇異值的方法,適當地增大那些接近于0 的奇異值,減小那些相對較大的奇異值,使得奇異值相對更加緊湊。楊文采提出了一種修正奇異值分解方法,設t為截斷奇異值法所保留的最小奇異值的限值, q為小于t的奇異值個數, 則相應的修正方案為[1]
(4)
得到修正后的奇異值法的未知數解為[2]
(5)
式中,Dλ=diag(λ1,λ2,…,λm)。
3. 修正奇異值截斷法
修正奇異值截斷法就是先對所有奇異值進行修正,根據式(4)、式(5)適當地增大那些接近于0 的奇異值,減小那些相對較大的奇異值,使得奇異值相對更加緊湊;然后再進行截斷,用損失未知數的無偏性為代價來換取均方根誤差的減小,使得更加接近于真值。
二、 病態方程算例
文獻[2]第五章中克服病態性的改進算法研究實例5.2對其矩陣的條件數為128 920,病態嚴重,5個未知數的真值為x=[11111]T,進行AATA處理[5],使其病態性更強,見表1。

表1 新的病態矩陣
對新的矩陣進行病態處理,分以下幾種情況進行討論:
1) 產生的10個隨機誤差為0.012 6、0.016 2、-0.014 9、0.016 5、0.005 3、-0.016 1、-0.008 9、0.001 9、0.018 3、0.018 6,將(-0.02,0.02)加入到系數矩陣與未知數的真值的乘積,即作為觀測誤差,一起作為觀測值。
2) 產生10個隨機數誤差0.031 1、-0.092 9、0.069 8、0.086 8、0.035 7、0.051 5、0.048 6、-0.021 6、0.031 1、-0.065 8,為(-0.1,0.1)。
3) 產生10個隨機數誤差0.251 3、-0.244 9、0.006 0、0.199 1、0.390 9、0.459 3、0.047 2、-0.361 4、-0.350 7、-0.242 5,為(-0.5,0.5)
由程序編寫得到的解見表2。

表2 由程序編寫得到的解
三、結束語
由Matlab進行程序的編寫后[3],在加入誤差較小時,病態矩陣的傳統平差解跟真值相差較大,即解的波動較大,符合病態方程的求解條件。同時,截斷奇異值后的解和修正奇異值后的解,以及結合二者的解更接近于真值一些,但是結合二者后的解即修
正奇異值截斷解比截斷、修正的解更接近于真值,也就是微小的擾動對于結合二者后的解法對于未知數的影響較小,即結合二者后的解法抗干擾的能力更強。加入的誤差越來越大時,截斷、修正奇異值的解抗干擾能力更弱一些,也就是結合二者的解更好一點,適用性更強。總體上來說,都是結合奇異值分解法(截斷奇異值分解法和新的修正奇異值分解法、結合二者的分解法)要比傳統的最小二乘方法要好,結合二者的分解法即修正奇異值截斷法要比截斷、修正分解法要好。
參考文獻:
[1]盧波. 病態方程的奇異值分解算法與比較[J]. 測繪信息與工程,2011;36(4):19-22.
[2]王振杰. 測量中不適定問題的正則化解法[M] . 北京: 科學出版社, 2006:86-131.
[3]王振方.基于奇異值分解的擬穩平差法[J].測繪通報,2008(5):30-32.
[4]崔希璋.廣義測量平差(新版)[M].北京:測繪出版社,2001.
[5]陳永春.MATLAB語言高級編程[M].北京:清華大學出版社,2004:100-120.
引文格式:徐文,陳義,游為. 奇異值分解法在病態問題中的應用[J].測繪通報,2016(1):62-63.DOI:10.13474/j.cnki.11-2246.2016.0015.
通信作者:陳義。E-mail: chenyi@tongj.edu.cn
作者簡介:徐文(1991—),男,碩士生,主要研究方向為測量數據處理。E-mail:2890923816@qq.com
收稿日期:2014-11-03
中圖分類號:P22
文獻標識碼:B
文章編號:0494-0911(2016)01-0062-02