Singular Spectrum Analysis Demo With VBA

19
Singular Spectrum Analysis ( SSA ) Worked Example by Peter Urbani Original Data Example as per http://strijov.com/sources/demo_ssa_forecast.php#2 1 3.00 X 2 2.00 3.0 2.0 1.0 2.0 3 1.00 2.0 1.0 2.0 3.0 4 2.00 1.0 2.0 3.0 2.0 5 3.00 2.0 3.0 2.0 1.0 6 2.00 3.0 2.0 1.0 2.0 7 1.00 8 2.00 Mean 2.00 C = X * X' 18.00000 16.00000 14.00000 16.00000 18.00000 16.00000 18.00000 16.00000 14.00000 16.00000 N = 8 14.00000 16.00000 18.00000 16.00000 14.00000 L = 5 16.00000 14.00000 16.00000 18.00000 16.00000 K = 4 18.00000 16.00000 14.00000 16.00000 18.00000 M = 3 No.Coeffs 2 S #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! U #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! U1 U2 U3 U4 ### 0.469053 0.000000 -0.754356 ### 0.469053 0.000000 ### ### 0.469053 0.000000 ### ### 0.469053 0.000000 ### ### ### 0.707107 0.156349 ### ### 0.707107 0.156349 ### ### 0.707107 0.156349 ### ### 0.707107 0.156349 ### ### 0.000000 -0.156349 ### ### 0.000000 ### ### ### 0.000000 ### ### ### 0.000000 ### ### ### ### 0.156349 ### ### ### 0.156349 ### ### ### 0.156349 ### ### ### 0.156349 ### 0.469053 0.000000 0.598007 ### 0.469053 0.000000 0.598007 ### 0.469053 0.000000 0.598007 ### 0.469053 0.000000 0.598007 X - hat1 = U1 * U1' * X X - hat2 = U2 * U2' * X X - hat3 = U3 * U3' * X X - hat4 = U4 * U4' * X 2.26 2.04 1.82 2.04 0.74 -0.04 -0.82 -0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 -1.00 0.00 1.00 0.00 0.00 0.00 0.00 2.14 1.94 1.73 1.94 -1.14 0.06 1.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 1.00 0.00 -1.00 0.00 0.00 0.00 0.00 2.26 2.04 1.82 2.04 0.74 -0.04 -0.82 -0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 -1.00 0.00 1.00 0.00 0.00 0.00 0.00 2.14 1.94 1.73 1.94 -1.14 0.06 1.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 1.00 0.00 -1.00 0.00 0.00 0.00 0.00 Reconstructed Check X = X1 + X2 + X3 + X4 1 3.00 = 2.26 + 0.74 + 0.00 + 0.00 1 2.00 = 2.12 + -0.12 + 0.00 + 0.00 1 1.00 = 1.98 + -0.65 + -0.33 + 0.00 1 2.00 = 1.99 + 0.01 + 0.00 + 0.00 1 3.00 = 1.99 + 0.51 + 0.50 + 0.00 1 2.00 = 1.99 + 0.01 + 0.00 + 0.00 1 1.00 = 1.99 + -0.49 + -0.50 + 0.00 1 2.00 = 1.99 + 0.01 + 0.00 + 0.00 3.00 = 1.90 + 0.43 + 0.67 + 0.00 2.00 = 1.85 + 0.15 + 0.00 + 0.00 1.00 = 1.99 + 0.01 + -1.00 + 0.00 C Mat = =MMULT( Xmat,TRANSPOSE( Xmat)) S Mat = =SVD_D( C Mat ) U Mat = =SVD_U( C Mat ) X - Hat ==(MMULT(MMULT( U Mat,TRANSPOSE( U Mat )), X Mat )) Forecast =MMULT(TRANSPOSE(M - 1 prior datapoints),(MMULT(L - 1 eienvectors,TRANSPOSE(Last row eigenvectors))/(1-SUMSQ(Last row eigenvectors)))) X1,X2,X3 etc are the diagonal averages of the above X-Hat Matrices 1 2 3 4 5 6 7 8 9 10 11 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 Reconstructed Forecast L K

description

Spreadsheet demo of basic Singular Spectrum Analysis ( SSA ) calculation and vector forecast method

Transcript of Singular Spectrum Analysis Demo With VBA

Page 1: Singular Spectrum Analysis Demo With VBA

Singular Spectrum Analysis ( SSA ) Worked Example by Peter Urbani

Original Data Example as per http://strijov.com/sources/demo_ssa_forecast.php#21 3.00 X2 2.00 3.0 2.0 1.0 2.03 1.00 2.0 1.0 2.0 3.04 2.00 1.0 2.0 3.0 2.05 3.00 2.0 3.0 2.0 1.06 2.00 3.0 2.0 1.0 2.07 1.008 2.00

Mean 2.00 C = X * X'### ### ### 16.00000 18.00000### ### ### 14.00000 16.00000

N = 8 ### ### ### 16.00000 14.00000L = 5 ### ### ### 18.00000 16.00000K = 4 ### ### ### 16.00000 18.00000M = 3No.Coeff 2 S

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!U#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

U1 U2 U3 U4### ### ### -0.754356 ### ### ### ### ### ### ### ### ### ### ### ###### ### ### 0.156349 ### ### ### ### ### ### ### ### ### ### ### ###### ### ### -0.156349 ### ### ### ### ### ### ### ### ### ### ### ###### ### ### 0.156349 ### ### ### ### ### ### ### ### ### ### ### ###### ### ### 0.598007 ### ### ### ### ### ### ### ### ### ### ### ###

X - hat1 = U1 * U1' * X X - hat2 = U2 * U2' * X X - hat3 = U3 * U3' * X X - hat4 = U4 * U4' * X2.26 2.04 1.82 2.04 0.74 -0.04 -0.82 -0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.002.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 -1.00 0.00 1.00 0.00 0.00 0.00 0.002.14 1.94 1.73 1.94 -1.14 0.06 1.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.002.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 1.00 0.00 -1.00 0.00 0.00 0.00 0.002.26 2.04 1.82 2.04 0.74 -0.04 -0.82 -0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.002.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 -1.00 0.00 1.00 0.00 0.00 0.00 0.002.14 1.94 1.73 1.94 -1.14 0.06 1.27 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.002.20 1.99 1.77 1.99 -0.20 0.01 0.23 0.01 0.00 1.00 0.00 -1.00 0.00 0.00 0.00 0.00

ReconstructedCheck X = X1 + X2 + X3 + X4

1 3.00 = 2.26 + 0.74 + 0.00 + 0.001 2.00 = 2.12 + -0.12 + 0.00 + 0.001 1.00 = 1.98 + -0.65 + -0.33 + 0.001 2.00 = 1.99 + 0.01 + 0.00 + 0.001 3.00 = 1.99 + 0.51 + 0.50 + 0.001 2.00 = 1.99 + 0.01 + 0.00 + 0.001 1.00 = 1.99 + -0.49 + -0.50 + 0.001 2.00 = 1.99 + 0.01 + 0.00 + 0.00

3.00 = 1.90 + 0.43 + 0.67 + 0.002.00 = 1.85 + 0.15 + 0.00 + 0.001.00 = 1.99 + 0.01 + -1.00 + 0.00

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

1 2 3 4 5 6 7 8 9 10 110.00

0.50

1.00

1.50

2.00

2.50

3.00

3.50

Reconstructed Forecast

L

K

Page 2: Singular Spectrum Analysis Demo With VBA

Example as per

F1 3 1.00 X2 2 0.00 #VALUE! #VALUE! #VALUE! #VALUE!3 1 -1.00 #VALUE! #VALUE! #VALUE! #VALUE!4 2 0.00 #VALUE! #VALUE! #VALUE! #VALUE!5 3 1.00 #VALUE! #VALUE! #VALUE! #VALUE!6 2 0.00 #VALUE! #VALUE! #VALUE! #VALUE!7 1 -1.008 2 0.00

Mean 2.00 C = X * X'#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

N = 8 Data points #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!L = 5 Window length #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!K = 4 No of lagged vector #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!M = 7 forecast lengthNo of Coef 6 Alpha Coeffs S

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

U#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

U4 < Using first 4 eigenvectors only#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!

X - hat = U4 * U4' * X#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! Note Forecast Step uses entire matrix >#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!

X =#VALUE!

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

Page 3: Singular Spectrum Analysis Demo With VBA

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

One step from X and Un matrices#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!

Some other examples to try-1 3-1 20 10 21 31 20 1

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

0.5

1

1.5

2

2.5

3

3.5

Reconstructed Forecast

Peter Urbani:Note Vector forecast can be performed on either the original or reconstructed data or each of the subcomponent X=Hat matrices

E75
Peter Urbani: Note Vector forecast can be performed on either the original or reconstructed data or each of the subcomponent X=Hat matrices
Page 4: Singular Spectrum Analysis Demo With VBA

0 2

Page 5: Singular Spectrum Analysis Demo With VBA

< Using just first 4 eigenvectors 1 at a time - Note could also be groups so long as contiguous and in descending eigenvalue orderU1#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

X - hat1 = U1 * U1' * X X - hat2 = U2 * U2' * X#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

Note Forecast Step uses entire matrix > #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

Check X = X1 + X2#VALUE! #VALUE! = #VALUE! + #VALUE!

Page 6: Singular Spectrum Analysis Demo With VBA

#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!

#VALUE! = #VALUE! + #VALUE!#VALUE! = #VALUE! + #VALUE!#VALUE! = #VALUE! + #VALUE!

#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!

#VALUE!#VALUE!#VALUE!

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE!#VALUE!#VALUE!

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

0.5

1

1.5

2

2.5

3

3.5

Reconstructed Forecast

Page 7: Singular Spectrum Analysis Demo With VBA

#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!

Page 8: Singular Spectrum Analysis Demo With VBA

< Using just first 4 eigenvectors 1 at a time - Note could also be groups so long as contiguous and in descending eigenvalue orderU2 U3

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

X - hat2 = U2 * U2' * X X - hat3 = U3 * U3' * X#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

+ X3 ++ #VALUE! +

Page 9: Singular Spectrum Analysis Demo With VBA

+ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! +

+ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! +

#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

Page 10: Singular Spectrum Analysis Demo With VBA

#VALUE!#VALUE!#VALUE!#VALUE!

Page 11: Singular Spectrum Analysis Demo With VBA

U4#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!

X - hat4 = U4 * U4' * X#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!

X4#VALUE!

Page 12: Singular Spectrum Analysis Demo With VBA

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!

#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!

Page 13: Singular Spectrum Analysis Demo With VBA

#VALUE!#VALUE!#VALUE!#VALUE!

Page 14: Singular Spectrum Analysis Demo With VBA

Online SVD CalculatorOnline SVD CalculatorOpen source SVD VBAOpen source SVD VBAOpen source SVD VBA

Various SSA software implementations in Matlab and RSSA ExamplesSingular Spectrum Analysis - MultiTaper Method (SSA-MTM) Toolkit'Caterpillar'-SSACaterpillar'-SSA ExamplesCommercial Excel Add-In XLCyclesCommercial Excel Add-In IpredictCommercial Excel Add-In ApaLibNETR implemantation of SSA

Separation and Reconstruction in Singular Spectrum AnalysisOn the choice of parameters in Singular Spectrum AnalysisSingular Spectrum Analysis: Methodology and Comparison Empirical Orthogonal Functions and Statistical Weather PredictionVarious papers on SSAOld and New Spectral Techniques for Economic Time SeriesA Review of Some Modern Approaches to the Problem of Trend ExtractioAnalysis of Time Series Structure: SSA and related techniquesSingular Spectrum Analysis: A New Tool in Time Series Analysis Various papers on SSAChange-Point Detection in Time SeriesComparison of recurrent and vector forecastingOn the choice of a linear reccurent formula for the SSA forecastThe “Caterpillar”-SSA approach to time series analysis and its automatizaPredicting Daily Exchange Rate with Singular Spectrum Analysis

Page 15: Singular Spectrum Analysis Demo With VBA

Source:LAPACKNISTMATRIX.XLARNCALGLIB

Theodore AlexandrovVadim StrijovMichael GhilNina GolyandinaNina GolyandinaRick Gibbs

Andreas SteinerAnton Korobeynikov

Atikur KhanNina GolyandinaHossein HassaniEdward LorenzAnatoly ZhigljavskyLisa SellaTheodore AlexandrovGolyandina, Nekrutin and ZhigljavskyElsner and TsonisTheodore AlexandrovValentina MoskvinaAndrey PepelyshevAndrey PepelyshevAlexandrov and GolyandinaHassani, Soofi and Zhigljavsky

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

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

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

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

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

Recalling that C = X * X' = E L E' = (U * S * V ' ) * (V * S * U') = U * S^2 * U' we can see by comparison of coefficients that U = E and S = sqrt(L) (element-wise) and that now computing V is trivial by simple matrix algebra. So we have the SVD cheaply "by the back door".

Page 16: Singular Spectrum Analysis Demo With VBA

http://www.math.uni-bremen.de/~theodore/ssawiki/pmwiki.php?n=Main.Software

http://technical-analysis-addins.com/singular-spectrum-analysis.phphttp://www.ipredict.it/Methods/PrincipalComponentAnalysis.aspx

http://www.buseco.monash.edu.au/ebs/pubs/wpapers/2011/wp23-11.pdfhttp://www.citebase.org/fulltext?format=application%2Fpdf&identifier=oai%3AarXiv.org%3A1005.4374http://mpra.ub.uni-muenchen.de/4991/2/MPRA_paper_4991.pdf

http://www.cf.ac.uk/maths/subsites/zhigljavskyaa/publics.htmlhttp://www.de.unito.it/web/member/segreteria/WP/2008/9_WP_Sella.pdf

http://www.amazon.com/Singular-Spectrum-Analysis-Tool-Time/dp/1441932666/ref=sr_1_1?s=books&ie=UTF8&qid=1348533996&sr=1-1&keywords=singular+spectrum+analysishttp://www.pdmi.ras.ru/~theo/autossa/english/publications.htm

http://ssa.cf.ac.uk/pepelyshev/pepelyshev_ssa_forecast.pdfhttp://ssa.cf.ac.uk/pepelyshev/pepelyshev_choice_LRF.pdfhttp://www.pdmi.ras.ru/~theo/autossa/files/AutoSSA-slides-EN.pdfhttp://slb.cf.ac.uk/maths/subsites/zhigljavskyaa/pdfs/SSA/exchange%20rates.pdf

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

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

Recalling that C = X * X' = E L E' = (U * S * V ' ) * (V * S * U') = U * S^2 * U' we can see by comparison of coefficients that U = E and S = sqrt(L) (element-wise) and that now computing V is trivial by simple matrix algebra. So we have the SVD cheaply "by the back door".

Page 17: Singular Spectrum Analysis Demo With VBA

http://www.amazon.com/Singular-Spectrum-Analysis-Tool-Time/dp/1441932666/ref=sr_1_1?s=books&ie=UTF8&qid=1348533996&sr=1-1&keywords=singular+spectrum+analysis