22
EOF and SVD

EOF and SVD

Embed Size (px)

DESCRIPTION

EOF and SVD. Synthetic Example. Generate gridded data from three pressure patterns (think of it like a time series) Mean field is 1012mb Input patterns are orthogonal to each other. EOF Analysis of Synthetic Data. First 3 EOFs explain all the variance in the data - PowerPoint PPT Presentation

Citation preview

Page 1: EOF and SVD

EOF and SVD

Page 2: EOF and SVD

Synthetic Example

• Generate gridded data from three pressure patterns (think of it like a time series)

• Mean field is 1012mb• Input patterns are orthogonal to each other

Page 3: EOF and SVD

EOF Analysis of Synthetic Data

• First 3 EOFs explain all the variance in the data• Data can be completely reconstructed using

only 3 patterns and 3 time series• EOF method correctly finds the right number

of independent patterns that make up the variability of the field

Page 4: EOF and SVD
Page 5: EOF and SVD

EOF Analysis of Synthetic Data

• The anticyclonic pattern is correctly reproduced

• But zonal and meridional patterns are not– We get eigenvectors that are a combination of

these• So even when the EOF method is applied on

orthogonal input fields, we do not necessarily get EOFs that resemble the data

Page 6: EOF and SVD

Rotate with varimax function (see Appendix of EOF and SVD packet)

• Form a “truncated eigenvector basis from first three eigenvectors already obtained”– In this case use all 3, but could use only a few

• Now perform varimax rotation– This time we get the 3 types of input height fields

Page 7: EOF and SVD

EOF Examples

• Analysis of 40 years of SST in South Atlantic– Monthly SST anomalies from equator to 50S over

a 2x2 grid from 1983-1992• Three leading EOF modes account (in total) for

47% of the monthly SST variance– EOF1: 30%– EOF2: 11%– EOF3: 6%

Page 8: EOF and SVD

EOF shown as homogenous correlation map

Page 9: EOF and SVD

Temporal variations of each eigenvector, represented by expansion coefficients

Page 10: EOF and SVD

EOF1

• Mono-pole pattern over entire domain

• Square of correlation represents the variance explained LOCALLY

• PC is dominated by mixture of interannual and decadal fluctuations

Page 11: EOF and SVD

EOF2

• Out of phase relationship between temperature anomalies north and south of ~25S

• PCs consist of interannual and lower frequency oscillations

Page 12: EOF and SVD

EOF3

• Three alternating signs of signal

• PCs consist of mostly interannual timescales

Page 13: EOF and SVD

SVD Example

• Monthly anomalies of SST and SLP analyzed together over the same spatial and temporal grid as in the EOF example

• The SVD analysis will identify only the modes of behavior in which the SST and SLP variations are strongly coupled

• Together the 1st 3 modes account for 89% of the total square covariance

• SCF=Squared Covariance Fraction• r: Correlation Coefficient between the

expansion coefficients of both variables• Indicates strength of coupling• Parentheses are 95% significance levels

Page 14: EOF and SVD

Spatial Pattern 1 and Time Series for Pattern 1

• Strengthening and weakening of the subtropical anticyclone• Accompanied by

fluctuations in a north-south dipole structure in ocean temperature• Both time series are

dominated by interdecadal oscillations

Page 15: EOF and SVD

Spatial Pattern 2 and Time Series for Pattern 2

• East-west displacements of the subtropical anticyclone center• Accompanied by large

SST fluctuations over a broad region off the coast of Africa• Low frequency

interannual oscillations

Page 16: EOF and SVD

Spatial Pattern 3 and Time Series for Pattern 3

• North-south displacements of the subtropical anticyclone• Accompanied by large

SST fluctuations over a latitudinal band in the central South Atlantic ocean• High frequency

interannual oscillations

Page 17: EOF and SVD

Examples from Model Data (CCSM3)

• From project last year using model data from CCSM3 on ENSO

• First thing to do is read in data:

clear all%read in datalat=[-87.8638, -85.0965, -82.3129, -79.5256,-76.7369, -73.9475, -71.1578,-68.3678,...-65.5776, -62.7874, -59.997, -57.2066,-54.4162, -51.6257, -48.8352,-46.0447,...-43.2542, -40.4636, -37.6731, -34.8825,-32.0919, -29.3014, -26.5108,-23.7202,...-20.9296, -18.139, -15.3484, -12.5578,-9.76715, -6.97653, -4.18592, -1.39531,...1.39531, 4.18592, 6.97653, 9.76715, 12.5578,15.3484, 18.139, 20.9296, 23.7202,26.5108,...29.3014, 32.0919, 34.8825, 37.6731, 40.4636,43.2542, 46.0447, 48.8352, 51.6257,54.4162,...57.2066, 59.997, 62.7874, 65.5776, 68.3678,71.1578, 73.9475, 76.7369, 79.5256,82.3129,...85.0965, 87.8638];lon=[0:2.8125:357.1875];%get slpfid=fopen('slp.dat','rb');slpall=fread(fid,'float');slp=reshape(slpall,[128 64 600]);%change 600 based on your timeslp=permute(slp,[2 1 3]);fclose(fid);clear sstall%get sstfid=fopen('sst.dat','rb');sstall=fread(fid,'float');sst=reshape(sstall,[128 64 600]);%change 600 based on your timesst=permute(sst,[2 1 3]);fclose(fid);clear sstall

Page 18: EOF and SVD

Example using seasonal analysis

%to get seasons slpDJF(:,:,1)=(slp(:,:,1)+slp(:,:,2))./2;c=13;for yr=2:50 slpDJF(:,:,yr)=(slp(:,:,c-1)+slp(:,:,c)+slp(:,:,c+1))./3; c=c+12;endc=1;for yr=1:50 slpMAM(:,:,yr)=(slp(:,:,c+2)+slp(:,:,c+3)+slp(:,:,c+4))./3; slpJJA(:,:,yr)=(slp(:,:,c+5)+slp(:,:,c+6)+slp(:,:,c+7))./3; slpSON(:,:,yr)=(slp(:,:,c+8)+slp(:,:,c+9)+slp(:,:,c+10))./3; c=c+12;end

Page 19: EOF and SVD

Compute EOFs

%to calculate EOFscoslat3d=ones(64,128,50);for j=1:length(lat) coslat3d(j,:,:)=cos(lat(j)*pi/180);endX=reshape(slpDJF.*sqrt(coslat3d),[64*128 50]);

%remove time meanfor i=1:(64*128) X(i,:)=X(i,:)-mean(X(i,:));endX2=permute(X,[2 1]);

[COEFF,SCORE,latent,tsquare]=princomp(X2);

explained = latent/sum(latent(:)) .*100;explained(1:4)

[COEFF,SCORE] = princomp(X) returns SCORE, the principal component scores; that is, the representation of X in the principal component space. Rows of SCORE correspond to observations, columns to components.

[COEFF,SCORE,latent] = princomp(X) returns latent, a vector containing the eigenvalues of the covariance matrix of X.

[COEFF,SCORE,latent,tsquare] = princomp(X) returns tsquare, which contains Hotelling's T2 statistic for each data point.

Page 20: EOF and SVD

Compute EOFs (Continued)

%for EOF 1eof1=reshape(COEFF(:,1),[64 128]);pc1=SCORE(:,1);%for EOF 2eof2=reshape(COEFF(:,2),[64 128]);pc2=SCORE(:,2);%for EOF 3eof3=reshape(COEFF(:,3),[64 128]);pc3=SCORE(:,3);%for EOF 4eof4=reshape(COEFF(:,4),[64 128]);pc4=SCORE(:,4);

Page 22: EOF and SVD

Some More Examples

• http://mpo581-hw3-eofs.wikispaces.com/Assignment