大気海洋統計データー解析

第６章

–1–

多変量時間領域解析その２：SVD 解析 ............................................................................................ 1

6.

6.1.

SVD 解析の方法............................................................................................................................ 16.2.

SVD の計算例................................................................................................................................ 26.3.

Matlab での SVD プログラム....................................................................................................... 4

6.4.

parallel formalism ........................................................................................................................... 4

6.5.

その他............................................................................................................................................. 5

6.6.

References ....................................................................................................................................... 5

6. 多変量時間領域解析その２：SVD 解析
SVD 解析（特異値分解解析）は，異なる二つの物理量（例えば SLP と SST）の間の関係を見出す手法である．標準的な SVD 解析では，二つの物理量の間の相互共分散行列を，行列の特異値分解を行うことによって，各々の物理量の特異ベクトルを得る．

6.1.

SVD 解析の方法

二つの物理量 A，B があり，物理量 A のデータは ZA ( N × PA )，他方は ZB ( N × PB )という配列にデータが格納されているとしよう．ここで N は時間サンプル数，PA(PB)は A (B)の空間グリッド数である．時間サンプルの数 N は二つの物理量で同じでなくてはならない．
相互共分散行列(cross-covariance matrix)は，

C = ZTA Z B(6.1)と定義される， ( PA × PB ) の配列である．この行列を特異値分解，

C = X ALXTB(6.2)

することによって，物理量 A（B）について特異ベクトル(singular vector) X A ( X B ) と，対角行列L とが求められる．L の成分は特異値(singular value)と呼ばれる．この X A , X B はその m 列目が，SVD 解析の第 m モードの空間構造を表現する．それぞれの物理量の時間係数を TA , TB を，

TA = Z A X A , TB = Z B X B(6.3)と定義する．また X A , X B が正規化された直交行列( X X A = X A X = X X B = X B X = E ,TA

TATBTBE は単位行列)であることから，

Z A = TA XTA , Z B = TB XTB(6.4)と表すことができる．
異なる物理量の時間係数については，

TAT TB = ( Z A X A ) ( Z B X B ) = XTA ZTA Z B X B = XTACX B = XTA X ALXTB X B
T∴ TAT TB = L
およびこの転置を取った(6.5)

大気海洋統計データー解析

第６章

–2–

TBT TA = L(6.6)

が成立する．L は対角成分だけがゼロではない行列なので，異なるモードについての物理量 A と物理量 B の時間係数は直交する．一方同じ物理量の時間係数は，モードが異なっても直交しないことに注意が必要である．SVD で得られる第一モードは，異なる物理量間の時間係数が最大の共分散を持つように選ばれる．
SVD 解析で時間関数が得られるならば，時間関数 TA, TB と元のデータ Z A , Z B との相関あるいは回帰マップを求めることで空間構造が得られる．この際 TA と ZA あるいは，TB と ZB というように同じ物理量について相関マップを求めたものを同質相関マップ(homogeneous correlationmap)と呼び，TA と ZB あるいは，TA と ZB のように異なる物理量について相関マップを求めたものを異質相関マップ(heterogeneous correlation map)と呼ぶ．同様に回帰マップについても，同質と異質の二つが得られる．通常異質か同質のどちらかのマップのみを示すことが多く，一般に異質の方が相関係数・回帰係数の値が小さいので，保守的に異質マップを示す方を推奨する．
EOF では，全分散つまり自己共分散行列の対角成分の和について，説明される分散の割合を評価した．SVD 解析では，相互共分散行列の各要素の２乗の総和，すなわちフロベニウスのノルムの二乗が，どれだけ各々のモードで説明されるかを評価する．付録で説明するように，行列のフロベニウスのノルムの二乗は，特異値の二乗和で与えられる．すなわち，
P1P2R

C F = ∑ ∑ c 2 ( p1 , p2 ) = ∑ lm2
2

p1 =1 p2 =1(6.7)

m =1である．そこで，相互共分散行列の２乗の総和が，あるモードで説明される寄与率を，二乗共分散寄与率(squared covariance fraction, SCF)と呼び，SCF (m) =lm2

lm2=R2CF∑ lr2(6.8)

r =1と定義する．また，最初のいくつかの SCF の和を累積二乗分散寄与率(cumulative squared covariancefraction, CSCF)と呼ぶ．

6.2.

SVD の計算例

SVD の結果を，１つのモードについて図示する方法で標準的なのは，下図のように，それぞれの空間パターンを二つのパネルに示し，時間関数を１パネルに示すことであろう．空間パターンは，異質回帰・異質相関・同質回帰・同質相関のいずれかのマップを用いる．筆者自身は異質マップを用いることが多い．これらの図の中に，SCF と時系列相互の相関係数，及び各々の物理量が他の物理量の時間関数でどれだけ説明されるか（下図では VARF, VARiance Fraction がそれ）を，示すとよいだろう．この表現方法は，元々この方法を提案したグループの論文(Wallace et al. 1992)に準拠している．

大気海洋統計データー解析

–3–

第６章

図 6.1. The first (left panels) and second (right panels) SVD mode of winter (Dec.–Feb.) 500
hPa height and spring (May–Mar.) SST over North Pacific for 1946−1993. (a,d)
Heterogeneous correlation map for 500 hPa height. (b,e) Heterogeneous correlation map for
SST. Contour intervals of correlation maps are 0.2 where the absolute correlation coefficientis smaller than 0.4 and 0.1 otherwise. Shading indicates grid points where the absoluteheterogeneous correlation is greater than 0.4. (c,f) Time series of the normalized expansion
coefficients for 500 hPa height (dashed curve) and SST (solid curve). (after Minobe and大気海洋統計データー解析

第６章–4–Mantua 1999)
6.3.

Matlab での SVD プログラムMatlab では SVD の計算は EOF 同様非常に容易である．
% データの設定
tlng=100; spsz̲a=3; spsz̲b=5;
common̲tsrs=randn(tlng,1);%物理量 A, B で共通の時系列z̲a=randn(tlng,spsz̲a)+common̲tsrs*[0.5 1 0.5]; %z̲b=randn(tlng,spsz̲b)+common̲tsrs*[1 0.5 0 ‑0.5 ‑1];% z̲a=randn(tlng,spsz̲a)+common̲tsrs*[1 0 0];% z̲b=randn(tlng,spsz̲b)+common̲tsrs*[1 0 0 0 0];% SVD の計算
crscov=z̲a'*z̲b;% 相互共分散行列の計算[x̲a,s,x̲b]=svds(crscov,3);% 特異値分解の実行t̲a=z̲a*x̲a;% 物理量 A についての時間係数の計算

t̲b=z̲b*x̲b;% 物理量 B についての時間係数の計算

corr̲PCs =crr(t̲a,t̲b,'mat')% 結果の表示とチェック
tdm=1:1:tlng;
plot(tdm,t̲a(:,1),tdm,t̲b(:,1),tdm,common̲tsrs)
corr̲PCs =crr(t̲a,common̲tsrs,'mat')corr̲PCs =crr(t̲b,common̲tsrs,'mat')

6.4.

dual formalism

SVD についても dual formalism によって，空間のグリッド数よりも時間のサンプル数が少ない場
合には，高速に計算することが可能である．この計算方法は，Kuroda (1998)が提案した．以下ではこの手法を概観しよう．
まず，(6.4)から X A が直交行列であるから，Z A ZTA = TA XTA ( TA XTA ) = TA XTA X ATAT = TATATT(6.9)

この式に右から TB をかければ，(Z Z ) T = T (T T ) = T L(6.10)(Z Z ) T = T L(6.11)

A

T
A

B

T
A

A

B

A

同様に，
B

T
B

A

B

大気海洋統計データー解析

第６章–5–(−1)−1

したがって，(6.10)に右から L をかけて得られる TA = Z A Z A TB L を(6.11)に代入して，T( Z Z )( Z Z ) T = T L
BT
B

A

T
A

2

B

B

(6.12)

を得る．また同様に(6.11)の TB を(6.10)に代入すれば，( Z Z )( Z Z ) T = T L
ATABTB

2AA(6.13)となる．(6.12)(6.13)で SVD 解析の時間係数を求めることができる．行列 Z A の大きさ ( N × PA ) は，行列 Z B の大きさは ( N × PB ) であるので，(6.12)(6.13)はどちらも大きさ N の行列の固有値問題である．すなわち，通常の計算方法では， PA × PB の大きさの特異値分解を計算する必要があるのに対し，dual formalism では N × N の大きさの固有値問題を２回計算すればよい．
ただし多くの SVD の応用においては，空間構造自体（特異ベクトル）ではなく，同質あるいは異質の相関・回帰マップを示すので，特異ベクトル自体を求める必要は必ずしもない．もし空間パターン X A , X B を求めるのであれば，dual formalism では時間関数から空間構造を得る必要がある．上で注意したように同質な時間関数は直行しないので，この操作は EOF の互いに直行する時間関数から空間パターンを得るよりは，少々やっかいである．空間構造の求め方は次のように導出できる．まず，(6.4)の Z A = TA X A から，T

XTA = TA−1Z A(6.14)

TA−1 = L−1TBT(6.15)XTA = L−1TBT Z A∴XTA = ZTATB L−1(6.16)XTB = ZTB TAL−1(6.17)(6.6)からなのでが得られる．また，同様に，となる．(6.16) (6.17)から空間構造（特異ベクトル）を求めることができる．
6.5.

その他

SVD も EOF と同様，空間関数が直行するという特徴をもっている．この特徴が強く結果に影響していないかどうかを確認するために，領域を変更して SVD を計算することは有効であろう．また，Cheng and Dunkerton (1995)は回転 EOF と同様な，回転 SVD を提案している．
SVD 解析の問題点については，Newman and Sardeshmukh (1995)が論じている．
6.6.

References

Bretherton, C. S., C. Smith, and J. M. Wallace, 1992: An intercomparison of methods for finding coupledpatterns in climate data. J. Climate, 5, 541-560, 1992.
Björnsson H. and S. A. Venegas, 1997: A Manual for EOF and SVD Analyses of Climate Data, Centre for
Climate and GlobalChange Research, Report No. 97-1, pp. 52, 1997.

大気海洋統計データー解析

–6–

第６章

Cheng, X. and T. J. Dunkerton, 1995: Orthogonal rotation of spatial patterns derived from singular value
decomposition analysis. J. Climate, 5, 541-560.
Kuroda, Y. 1998: An effective SVD calculation method for climate analysis. J. Meteor. Soc. Japan, 76,649-655.
Minobe, S., and N. Mantua, 1999: Interdecadal modulation of interannual atmospheric and oceanic
variability over the North Pacific, Progress in Oceanography, 43, 163-192.
Newman, M., and P. D. Sardeshmukh, 1995: A caveat concerning singular value decomposition. J. Climate,8, 352-360, 1995.
Wallace, J. M., C. Smith, and C. S. Bretherton, 1992: Singular value decomposition of wintertime sea
surface temperature and 500-mb height anomalies, J. Climate, 5, 562-576.