Vous êtes sur la page 1sur 12

Singular Spectrum Analysis ( SSA ) Worked Example by Peter Urbani

Original
1
2
3
4
5
6
7
8
Mean

Data
3.00
2.00
1.00
2.00
3.00
2.00
1.00
2.00

Example as per

3.0
2.0
1.0
2.0
3.0

2.0
1.0
2.0
3.0
2.0

8
5
4
3
2

C Mat =
S Mat =
U Mat =
X - Hat =
Forecast
X1,X2,X3

2.0
3.0
2.0
1.0
2.0

3.50
Reconstructed

Forecast

3.00

16.00000
18.00000
16.00000
14.00000
16.00000

14.00000
16.00000
18.00000
16.00000
14.00000

16.00000
14.00000
16.00000
18.00000
16.00000

18.00000
16.00000
14.00000
16.00000
18.00000

S
80.42993
0
0
0
0
U
-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

0
5.570065
0
0
0

0
0
4
0
0

0
0
0
8.17804E-15
0

0
0
0
0
6.30512E-16

0.469053
-0.128442
-0.725937
-0.128442
0.469053

0.000000
0.707107
0.000000
-0.707107
0.000000

-0.754356
0.156349
-0.156349
0.156349
0.598007

-0.048742
0.511145
-0.511145
0.511145
-0.462403

U1
-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

0.469053
-0.128442
-0.725937
-0.128442
0.469053

0.000000
0.707107
0.000000
-0.707107
0.000000

-0.754356
0.156349
-0.156349
0.156349
0.598007

1.82
1.77
1.73
1.77
1.82
1.77
1.73
1.77

2.04
1.99
1.94
1.99
2.04
1.99
1.94
1.99

X - hat1 = U1 * U1' * X
2.26
2.04
2.20
1.99
2.14
1.94
2.20
1.99
2.26
2.04
2.20
1.99
2.14
1.94
2.20
1.99
Reconstructed
Check
X
TRUE
3.00
TRUE
2.00
TRUE
1.00
TRUE
2.00
TRUE
3.00
TRUE
2.00
TRUE
1.00
TRUE
2.00
3.00
2.00
1.00

1.0
2.0
3.0
2.0
1.0

2.50
C = X * X'
18.00000
16.00000
14.00000
16.00000
18.00000

2.00

N=
L=
K=
M=
No.Coeffs

http://strijov.com/sources/demo_ssa_forecast.php#2

=
=
=
=
=
=
=
=
=
=
=
=

X1
2.26
2.12
1.98
1.99
1.99
1.99
1.99
1.99
1.90
1.85
1.99

+
+
+
+
+
+
+
+
+
+
+
+

2.00
1.50
1.00
0.50
0.00
1

-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

U2
0.469053
-0.128442
-0.725937
-0.128442
0.469053

X - hat2 = U2 * U2' * X
0.74
-0.04
-0.20
0.01
-1.14
0.06
-0.20
0.01
0.74
-0.04
-0.20
0.01
-1.14
0.06
-0.20
0.01
X2
0.74
-0.12
-0.65
0.01
0.51
0.01
-0.49
0.01
0.43
0.15
0.01

0.000000
0.707107
0.000000
-0.707107
0.000000

-0.754356
0.156349
-0.156349
0.156349
0.598007

-0.82
0.23
1.27
0.23
-0.82
0.23
1.27
0.23

-0.04
0.01
0.06
0.01
-0.04
0.01
0.06
0.01

-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

0.469053
-0.128442
-0.725937
-0.128442
0.469053

X - hat3 = U3 * U3' * X
0.00
0.00
0.00
-1.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
-1.00
0.00
0.00
0.00
1.00

+
+
+
+
+
+
+
+
+
+
+
+

=MMULT( Xmat,TRANSPOSE( Xmat))


=SVD_D( C Mat )
=SVD_U( C Mat )
=(MMULT(MMULT( U Mat,TRANSPOSE( U Mat )), X Mat ))
=MMULT(TRANSPOSE(M - 1 prior datapoints),(MMULT(L - 1 eienvectors,TRANSPOSE(Last row eigenvectors))/(1-SUMSQ(Last row eigenvectors))))
etc are the diagonal averages of the above X-Hat Matrices

X3
0.00
0.00
-0.33
0.00
0.50
0.00
-0.50
0.00
0.67
0.00
-1.00

U3
0.000000
0.707107
0.000000
-0.707107
0.000000

-0.754356
0.156349
-0.156349
0.156349
0.598007

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
1.00
0.00
-1.00
0.00
1.00
0.00
-1.00
+
+
+
+
+
+
+
+
+
+
+
+

10

-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

11

0.469053
-0.128442
-0.725937
-0.128442
0.469053

X - hat4 = U4 * U4' * X
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
X4
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.000000
0.707107
0.000000
-0.707107
0.000000

U4
-0.754356
0.156349
-0.156349
0.156349
0.598007

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

Example as per

http://strijov.com/sources/demo_ssa_forecast.php#2

F
1
2
3
4
5
6
7
8
Mean

N=
L=
K=
M=
No of Coefficients

3
2
1
2
3
2
1
2

1.00
0.00
-1.00
0.00
1.00
0.00
-1.00
0.00

2.00

8
5
4
7
6

Data points
Window length
No of lagged vectors
forecast length
Alpha Coeffs

X
3.0
2.0
1.0
2.0
3.0

2.0
1.0
2.0
3.0
2.0

1.0
2.0
3.0
2.0
1.0

2.0
3.0
2.0
1.0
2.0

C = X * X'
18.00000
16.00000
14.00000
16.00000
18.00000

16.00000
18.00000
16.00000
14.00000
16.00000

14.00000
16.00000
18.00000
16.00000
14.00000

16.00000
14.00000
16.00000
18.00000
16.00000

18.00000
16.00000
14.00000
16.00000
18.00000

S
80.42993
0
0 5.570065
0
0
0
0
0
0

0
0
4
0
0

0
0
0
8.18E-15
0

0
0
0
0
6.31E-16

8.968274 2.360099

9.04E-08

2.51E-08

0.000000
0.707107
0.000000
-0.707107
0.000000

-0.754356
0.156349
-0.156349
0.156349
0.598007

-0.048742
0.511145
-0.511145
0.511145
-0.462403

U
-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

0.469053
-0.128442
-0.725937
-0.128442
0.469053

U4
-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

< Using first 4 eigenvectors only


0.469053 0.000000 -0.754356
-0.128442 0.707107 0.156349
-0.725937 0.000000 -0.156349
-0.128442 -0.707107 0.156349
0.469053 0.000000 0.598007

X - hat = U4 * U4' * X
3.0
2.0
2.0
1.0
1.0
2.0
2.0
3.0
3.0
2.0
2.0
1.0
1.0
2.0
2.0
3.0
X=
3.00
2.00
1.00

1.0
2.0
3.0
2.0
1.0
2.0
3.0
2.0

2.0
3.0
2.0
1.0
2.0
3.0
2.0
1.0

Note Forecast Step uses entire m

2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

3.000000
2.000000
1.000000
2.000000
3.000000
2.000000
1.000000
2.000000
3.000000
2.000000
1.000000
2.000000
3.000000
2.000000
1.000000

One step from X and Un matrices


3.00
3.00
2.00
2.00
1.00
1.00
2.00
2.00
3.00
3.00
2.00
2.00
1.00
1.00
2.00
2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

http://strijov.com/sources/demo_ssa_forecast.php#2

3.5
3

2.5
2
1.5
1
0.5

Reconstructed

Forecast

0
1

Some other examples to try


-1
3
-1
2
0
1
0
2
1
3
1
2
0
1
0
2

10 11 12 13 14 15

< Using just first 4 eigenvectors 1 at a time - Note could also be groups so long as con
U1
-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

0.469053
-0.128442
-0.725937
-0.128442
0.469053

0.000000
0.707107
0.000000
-0.707107
0.000000

-0.754356
0.156349
-0.156349
0.156349
0.598007

X - hat1 = U1 * U1' * X
2.26
2.04
2.20
1.99
2.14
1.94
2.20
1.99
2.26
2.04
Note Forecast Step uses entire matrix >
2.20
1.99
2.14
1.94
2.20
1.99

1.82
1.77
1.73
1.77
1.82
1.77
1.73
1.77

2.04
1.99
1.94
1.99
2.04
1.99
1.94
1.99

Check
TRUE
TRUE
TRUE

X
3.00
2.00
1.00

=
=
=
=

X1
2.26
2.12
1.98

+
+
+
+

-0.456684
-0.444734
-0.432784
-0.444734
-0.456684
X - hat2 = U2 * U2' * X
0.74
-0.20
-1.14
-0.20
0.74
-0.20
-1.14
-0.20
X2
0.74
-0.12
-0.65

TRUE
TRUE
TRUE
TRUE
TRUE

2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

=
=
=
=
=
=
=
=

1.99
1.99
1.99
1.99
1.99
1.90
1.85
1.99

TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE

3.00
2.00
1.00
2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

=
=
=
=
=
=
=
=

2.26
2.12
1.98
1.99
1.99
1.92
1.91
2.04

2.26
2.12
1.98
1.99
1.99
1.92
1.91
2.04

2.26
2.12
1.98
1.99
1.99
1.92
1.91
2.04

0.74
-0.12
-0.65
0.01
0.51
0.08
-0.41
-0.04

0.00
0.00
-0.33
0.00
0.50
0.00
-0.50
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

2.26
2.20
2.14
2.20
2.26
2.20
2.14
2.20

2.04
1.99
1.94
1.99
2.04
1.99
1.94
1.99

1.82
1.77
1.73
1.77
1.82
1.77
1.73
1.77

2.04
1.99
1.94
1.99
2.04
1.99
1.94
1.99

3.00
2.00
1.00
2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

3.00
2.00
1.00
2.00
3.00
2.00
1.00
2.00
3.00
2.00
1.00

2.26
2.12
1.98
1.99
1.99
1.99
1.99
1.99
1.90
1.85
1.99

+
+
+
+
+
+
+
+

0.01
0.51
0.01
-0.49
0.01
0.43
0.15
0.01

+
+
+
+
+
+
+
+

0.74
-0.12
-0.65
0.01
0.51
0.08
-0.41
-0.04

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.74
-0.20
-1.14
-0.20
0.74
-0.20
-1.14
-0.20

0.74
-0.12
-0.65
0.01
0.51
0.01
-0.49
0.01
0.43
0.15
0.01

t a time - Note could also be groups so long as contiguous and in descending eigenvalue order
U2
U3
0.469053 0.000000 -0.754356
-0.456684 0.469053 0.000000
-0.128442 0.707107 0.156349
-0.444734 -0.128442 0.707107
-0.725937 0.000000 -0.156349
-0.432784 -0.725937 0.000000
-0.128442 -0.707107 0.156349
-0.444734 -0.128442 -0.707107
0.469053 0.000000 0.598007
-0.456684 0.469053 0.000000
X - hat2 = U2 * U2' * X
-0.04
0.01
0.06
0.01
-0.04
0.01
0.06
0.01

-0.82
0.23
1.27
0.23
-0.82
0.23
1.27
0.23

-0.04
0.01
0.06
0.01
-0.04
0.01
0.06
0.01
+
+
+
+

X - hat3 = U3 * U3' * X
0.00
0.00
0.00
-1.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
-1.00
0.00
0.00
0.00
1.00
X3
0.00
0.00
-0.33

-0.754356
0.156349
-0.156349
0.156349
0.598007

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
1.00
0.00
-1.00
0.00
1.00
0.00
-1.00
+
+
+
+

-0.04
0.01
0.06
0.01
-0.04
0.01
0.06
0.01

-0.82
0.23
1.27
0.23
-0.82
0.23
1.27
0.23

+
+
+
+
+
+
+
+

0.00
0.50
0.00
-0.50
0.00
0.67
0.00
-1.00

+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+

0.00
0.00
-0.33
0.00
0.50
0.00
-0.50
0.00

+
+
+
+
+
+
+
+

-0.04
0.01
0.06
0.01
-0.04
0.01
0.06
0.01

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
-0.33
0.00
0.50
0.00
-0.50
0.00
0.67
0.00
-1.00

0.00
-1.00
0.00
1.00
0.00
-1.00
0.00
1.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
1.00
0.00
-1.00
0.00
1.00
0.00
-1.00

0.469053
-0.128442
-0.725937
-0.128442
0.469053

0.000000
0.707107
0.000000
-0.707107
0.000000

U4
-0.754356
0.156349
-0.156349
0.156349
0.598007

X - hat4 = U4 * U4' * X
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

-0.456684
-0.444734
-0.432784
-0.444734
-0.456684

X4
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

Online SVD Calculator


Online SVD Calculator
Open source SVD VBA
Open source SVD VBA
Open source SVD VBA
Various SSA software implementations in Matlab and R
SSA Examples
Singular Spectrum Analysis - MultiTaper Method (SSA-MTM) Toolkit
'Caterpillar'-SSA
Caterpillar'-SSA Examples
Commercial Excel Add-In XLCycles
Commercial Excel Add-In Ipredict
Commercial Excel Add-In ApaLibNET
R implemantation of SSA

Separation and Reconstruction in Singular Spectrum Analysis


On the choice of parameters in Singular Spectrum Analysis
Singular Spectrum Analysis: Methodology and Comparison
Empirical Orthogonal Functions and Statistical Weather Prediction
Various papers on SSA
Old and New Spectral Techniques for Economic Time Series
A Review of Some Modern Approaches to the Problem of Trend Extraction
Analysis of Time Series Structure: SSA and related techniques
Singular Spectrum Analysis: A New Tool in Time Series Analysis
Various papers on SSA
Change-Point Detection in Time Series
Comparison of recurrent and vector forecasting
On the choice of a linear reccurent formula for the SSA forecast
The Caterpillar-SSA approach to time series analysis and its automatization
Predicting Daily Exchange Rate with Singular Spectrum Analysis

Source:
LAPACK
NIST
MATRIX.XLA
RNC
ALGLIB
Theodore Alexandrov
Vadim Strijov
Michael Ghil
Nina Golyandina
Nina Golyandina
Rick Gibbs

http://www.bluebit.gr/matrix-calculator/calculate.aspx
http://metamerist.com/excanvas/example23a.htm
http://digilander.libero.it/foxes/matrix.zip
http://www.rnfc.org/rhapsody/math/
http://www.alglib.net/matrixops/general/svd.php

Andreas Steiner
Anton Korobeynikov

http://www.math.uni-bremen.de/~theodore/ssawiki/pmwiki.php?n=Main.Software
http://strijov.com/sources/demo_ssa_forecast.php#2
http://www.atmos.ucla.edu/tcd/ssa/
http://www.gistatgroup.com/cat/programs.html
http://www.gistatgroup.com/cat/examples/ex_1_8.html
http://technical-analysis-addins.com/singular-spectrum-analysis.php
http://www.ipredict.it/Methods/PrincipalComponentAnalysis.aspx
http://www.apalibnet.com/XLL.aspx
http://cran.r-project.org/web/packages/Rssa/index.html

Atikur Khan
Nina Golyandina
Hossein Hassani
Edward Lorenz
Anatoly Zhigljavsky
Lisa Sella
Theodore Alexandrov
Golyandina, Nekrutin and Zhigljavsky
Elsner and Tsonis
Theodore Alexandrov
Valentina Moskvina
Andrey Pepelyshev
Andrey Pepelyshev
Alexandrov and Golyandina
Hassani, Soofi and Zhigljavsky

http://www.buseco.monash.edu.au/ebs/pubs/wpapers/2011/wp23-11.pdf
http://www.citebase.org/fulltext?format=application%2Fpdf&identifier=oai%3AarXiv.org
http://mpra.ub.uni-muenchen.de/4991/2/MPRA_paper_4991.pdf
http://www.o3d.org/abracco/Atlantic/Lorenz1956.pdf
http://www.cf.ac.uk/maths/subsites/zhigljavskyaa/publics.html
http://www.de.unito.it/web/member/segreteria/WP/2008/9_WP_Sella.pdf
http://www.census.gov/srd/papers/pdf/rrs2008-03.pdf
http://www.amazon.com/dp/1584881941
http://www.amazon.com/Singular-Spectrum-Analysis-Tool-Time/dp/1441932666/ref=sr
http://www.pdmi.ras.ru/~theo/autossa/english/publications.htm
http://www.cardiff.ac.uk/maths/subsites/stats/changepoint/
http://ssa.cf.ac.uk/pepelyshev/pepelyshev_ssa_forecast.pdf
http://ssa.cf.ac.uk/pepelyshev/pepelyshev_choice_LRF.pdf
http://www.pdmi.ras.ru/~theo/autossa/files/AutoSSA-slides-EN.pdf
http://slb.cf.ac.uk/maths/subsites/zhigljavskyaa/pdfs/SSA/exchange%20rates.pdf

The trajectory matrix X is the restricte


But since X usually has more column
IF we have an SVD routine to hand, w

If we only have a simple symmetric ei


= X * X' which is SQUARE and SYMM
L * E^(-1) and in fact, due to symmetr

Recalling that C = X * X' = E L E' = (U


coefficients that U = E and
algebra. So we have the SVD cheaply

php?n=Main.Software

1/wp23-11.pdf
&identifier=oai%3AarXiv.org%3A1005.4374

WP_Sella.pdf

Time/dp/1441932666/ref=sr_1_1?s=books&ie=UTF8&qid=1348533996&sr=1-1&keywords=singular+spectrum+analysis

xchange%20rates.pdf

tory matrix X is the restricted (Hankel) circulant of which we require the SVD, X = U * S * V'.
usually has more columns than rows, we cannot form the SVD directly.
e an SVD routine to hand, we can simply compute the SVD of X' as X' = V * S * U'

have a simple symmetric eigensolver. In which case, we form the (minimal) covariance matrix C
hich is SQUARE and SYMMETRIC. The important point is SQUARE. We can now write C = E *
and in fact, due to symmetry, C = E * L * E'.

C = X * X' = E L E' = (U * S * V ' ) * (V * S * U') = U * S^2 * U' we can see by comparison of


U = E and S = sqrt(L) (element-wise) and that now computing V is trivial by simple matrix
So we have the SVD cheaply "by the back door".

Vous aimerez peut-être aussi