Lecture 16: MatLab 2 Edition

advertisement
Environmental Data Analysis with MatLab
2nd Edition
Lecture 16:
Orthogonal Functions
SYLLABUS
Lecture 01
Lecture 02
Lecture 03
Lecture 04
Lecture 05
Lecture 06
Lecture 07
Lecture 08
Lecture 09
Lecture 10
Lecture 11
Lecture 12
Lecture 13
Lecture 14
Lecture 15
Lecture 16
Lecture 17
Lecture 18
Lecture 19
Lecture 20
Lecture 21
Lecture 22
Lecture 23
Lecture 24
Lecture 25
Lecture 26
Using MatLab
Looking At Data
Probability and Measurement Error
Multivariate Distributions
Linear Models
The Principle of Least Squares
Prior Information
Solving Generalized Least Squares Problems
Fourier Series
Complex Fourier Series
Lessons Learned from the Fourier Transform
Power Spectra
Filter Theory
Applications of Filters
Factor Analysis
Orthogonal functions
Covariance and Autocorrelation
Cross-correlation
Smoothing, Correlation and Spectra
Coherence; Tapering and Spectral Analysis
Interpolation
Linear Approximations and Non Linear Least Squares
Adaptable Approximations with Neural Networks
Hypothesis testing
Hypothesis Testing continued; F-Tests
Confidence Limits of Spectra, Bootstraps
Goals of the lecture
further develop Factor Analysis
and introduce
Empirical Orthogonal Functions
review of the last lecture
example
Atlantic Rock Dataset
chemical composition for several thousand rocks
Rocks are a mix of minerals, and …
rock 3
rock 1
rock 2
rock 4
mineral 1
mineral 2
mineral 3
rock 5
rock 6
rock 7
…minerals have a well-defined
composition
rocks contain elements
simpler
rocks contain minerals
and
minerals contain elements
samples
rocks contain elements
simpler
factors
samples
rocks contain minerals
and
factors
minerals contain elements
the sample matrix, S
N samples by M elements
e.g.
sediment samples
rock samples
word element is used in the abstract sense and may
not refer to actual chemical elements
the factor matrix, F
P factors by M elements
e.g.
sediment sources
minerals
note that there are P factors
a simplification if P<M
the loading matrix, C
N samples by P factors
specifies the mix of factors for each sample
the key question
how many factors are needed to
represent the samples?
and what are these factors?
singular value decomposition
the methodology for
answer these questions
the matrix of P mutually-perpendicular
vectors, each of length M
sample matrix
the matrix of P
mutuallyperpendicular
vectors, each of
length N
diagonal matrix Σ,
of P singular values
the matrix of factors, F
the matrix of loadings, C.
since C depends on Σ,
the samples contains more of
the factors with large singular
values than of the factors with
the small singular values
in MatLab
plot of M singular values, sorted by size
singular values, s(i)
singular values,
Sii
s(i)
5000
4000
3000
2000
1000
0
1
2
3
4
5
index,
index, i i
6
7
8
use it to discard near-zero singular values
singular values, s(i)
singular values,
Sii
s(i)
5000
4000
3000
2000
1000
0
1
2
3
4
5
index,
index, i i
6
7
8
discard, since close to zero
and to determine the number P of factors
singular values, s(i)
singular values,
Sii
s(i)
5000
4000
P=5
3000
2000
1000
0
1
2
3
4
5
index,
index, i i
6
7
8
Atlantic Rock Dataset
graphical representation of factors 2 through 5
SiO2
TiO2
Al2O3
FeOtotal
MgO
CaO
Na2O
K2O
f2
f2
f3
f3
f4
f4
f5
f5
f2p
f3p
f4p
f5p
factor loadings C2 through C4 plotted in 3D
C4
C3
C2
factors 2 through 4 capture most of the variability of the rocks
end of review
Part 1: Creating Spiky Factors
can we find “better” factors
that those returned by svd()
?
mathematically
S = CF = C’ F’
with F’ = M F and C’ = M-1 C
where M is any P×P matrix with an inverse
must rely on prior information to choose M
one possible type of prior
information
factors should contain mainly just a
few elements
example of minerals
Mineral
Composition
Quartz
SiO2
Rutile
TiO2
Anorthite
CaAl2Si2O8
Fosterite
Mg2SiO4
spiky factors
factors containing mostly just a few elements
How to quantify spikiness?
variance as a measure of spikiness
modification for factor analysis
modification for factor analysis
depends on the square, so positive and
negative values are treated the same
f(1)= [1, 0, 1, 0, 1, 0]T
is much spikier than
f(2)= [1, 1, 1, 1, 1, 1]T
f(2)=[1, 1, 1, 1, 1, 1]T
is just as spiky as
f(3)= [1, -1, 1, -1, -1, 1]T
“varimax” procedure
find spiky factors without changing P
start with P svd() factors
rotate pairs of them in their plane by angle θ
to maximize the overall spikiness
f’A
fB
f’B
q
fA
determine θ by maximizing
after tedious trig the solution can be
shown to be
and the new factors are
in this example A=3 and B=5
now one repeats for every pair of factors
and then iterates the whole process several
times
until the whole set of factors is as spiky as
possible
example: Atlantic Rock dataset
A)
B)
SiO2
TiO2
Al2O3
FeOtotal
MgO
CaO
Na2O
K2O
f2
f3
f4
f5
f2p
f3p f4p f5p
f2 f3 f4 f5 f’2f’3 f’4f’5
Part 2: Empirical Orthogonal Functions
row number in the sample matrix could be
meaningful
example: samples collected at a succession of times
time
column number in the sample matrix could
be meaningful
example: concentration of the same chemical element at a
sequence of positions
distance
S = CF
becomes
S = CF
becomes
distance dependence
time dependence
S = CF
becomes
each loading: a
temporal pattern of
variability of the
corresponding factor
each factor:
a spatial pattern
of variability of
the element
S = CF
becomes
there are P
patterns and
they are sorted
into order of
importance
S = CF
becomes
factors now called
EOF’s (empirical
orthogonal functions)
example
sea surface temperature in the Pacific Ocean
CAC Sea Surface Temperature
29N
latitude
equatorial Pacific
Ocean
29S
124E
longitude
290E
sea surface temperature
(black = warm)
the image is 30 by
84 pixels in size,
or 2520 pixels
total
to use svd(), the image must be
unwrapped into a vector of length 2520
399 times
2520 positions in the equatorial Pacific ocean
“element” means
temperature
singular values, Sii
singular values
index, i
singular values, Sii
singular values
index, i
no clear cutoff for P, but the first 10 singular values are
considerably larger than the rest
using SVD to approximate data
S=CMFM
With M EOF’s, the data is fit exactly
S=CPFP
With P chosen to exclude only zero
singular values, the data is fit exactly
S≈CP’FP’
With P’<P, small non-zero singular
values are excluded too, and the data is
fit only approximately
A) Original
B) Based on first 5 EOF’s
Download