singular spectrum analysis demo with vba
DESCRIPTION
Spreadsheet demo of basic Singular Spectrum Analysis ( SSA ) calculation and vector forecast methodTRANSCRIPT
![Page 1: Singular Spectrum Analysis Demo With VBA](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/3.jpg)
#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
![Page 4: Singular Spectrum Analysis Demo With VBA](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/4.jpg)
0 2
![Page 5: Singular Spectrum Analysis Demo With VBA](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/5.jpg)
< 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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/6.jpg)
#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! + #VALUE!
#VALUE! = #VALUE! + #VALUE!#VALUE! = #VALUE! + #VALUE!#VALUE! = #VALUE! + #VALUE!
#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!#VALUE! #VALUE! = #VALUE! #VALUE! + #VALUE!
#VALUE!#VALUE!#VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE!#VALUE!#VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/7.jpg)
#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE!
![Page 8: Singular Spectrum Analysis Demo With VBA](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/8.jpg)
< 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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/9.jpg)
+ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! +
+ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! ++ #VALUE! +
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE! #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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/10.jpg)
#VALUE!#VALUE!#VALUE!#VALUE!
![Page 11: Singular Spectrum Analysis Demo With VBA](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/12.jpg)
#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!
#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!#VALUE!
#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #VALUE!#VALUE! #VALUE! #VALUE! #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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/13.jpg)
#VALUE!#VALUE!#VALUE!#VALUE!
![Page 14: Singular Spectrum Analysis Demo With VBA](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081412/544ec676b1af9f5e528b458f/html5/thumbnails/17.jpg)
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