# complex eof - jackson school of 2015-03-31¢ complex eof ! conventional eof analysis...

Post on 23-Mar-2020

1 views

Embed Size (px)

TRANSCRIPT

Complex EOF Conventional EOF analysis allows the detection of standing oscillation.

For propagating oscillation, such as waves, they often show up as 2 or more separate EOFs, instead of one mode of variation.

For large data with unknown dominant frequency and spatial scales, cross-spectral analysis is less informative, especially for regional, non- stationary phenomena characterized by short lived, irregularly occurring and episodes or propagating wave signals. CEOF is more suitable tool.

A scalar field x j,t can be represented by

x j,t = aj ω

∑ (ω)cos ωt( )+ bj (ω)sin(ωt)

A propagating feature can be described by

Xj,t = ω

∑ aj (ω)cos ωt( )+ bj (ω)sin(ωt) xj,k

"

# $ $

%

& ' ' + i bj (ω)cos ωt( )− aj (ω)sin(ωt)

x̂ j,k

"

#

$ $

%

&

' '

=x j,t + ix̂ j,t where x j,t is the original data, x̂ j,k is the quadrature function or Hilbert transform. It's amplitude is the same as x j,t, but phase is advanced by π /2.

Horel 1984

Examples of Hilbert transformation: Hilbert transforms does not act as a low-pass filter upon the data It contains as much energy due to noise as original data and it may redistribute the noise to different part of the time series.

Original data

Hilbert transform

Vector form of the Complex time series

One can use apply eigen-analysis to the correlation between the jth and kth location to [X*j(t)] in a similar way of conventional EOF, namely,

After subtract mean and normalize by standard deviation, we obtain

correlation matrix: rj,k = [Xj (t) *Xk (t)]t = ejnekn

*

n=1

N

∑

where e jn is the eigenvector and ejn * is the eigenvector in complex conjugation

apply eigen analysis to rj,k in a similar way as regular EOF,

Xj (t) = [ej,n *

n=1

N

∑ Zn (t)]

ejn * =[X j (t)*Pn(t)]= sjne

iθ jn where sjn is the magnitude of the correlation and

eiθ jn is the phase of the correlation. Pn(t)=Tn(t)eiφn (t ) is the PC.

State vectors

§ Start from a data set p(x,t) § Hilbert transform to get a complex data

set P(x,t)=p(x,t)+i p(x,t) § Get covariance matrix

C(x,x’)= § Get real eigenvalues λn , complex

eigenvectors Bn(x), and associated principal components An(t)

§ Spatial phase and amplitude functions θn(x)=arctan[ImBn (x)/ReBn (x)] Sn(x)=[Bn(x)B*n(x)]0.5

§ Temporal phase and amplitude function φn(t)=arctan[ImAn (t)/ReAn (t)] Rn(x)=[An(t)A*n(t)]0.5

Basic steps

Barnett (1983, 1984)

Matlab code

http://jisao.washington.edu/vimont_matlab/Stat_Tools/ complex_eof.html

Hilbert transform

covariance matrix

Calculate eigenvalues (lamda) and eigenvectors (loadings)

Spatial phase and amplitude functions

Amplitude Phase

Amplitude Phase