last day (15 days later) » 

2:08 PM
1
A: reconstruction of time series in SSA

werediverI'm interested in SSA and the related techniques and I made an implementation which may be useful to you. Take a look at this Scilab code: https://gist.github.com/werediver/9785544 Scilab language is pretty similar to Matlab and the code should be easy to port. Now to your questions and your cod...

 
thanks very much,but it seems a bit confusing for me,i have left and right singular vectors,so next what i should do?
 
The left singular vector presents orthonormal basis of the column space of the trajectory matrix. SSA operates on the column space of the trajectory matrix only so you can discard the right singular vector.
 
but what about my code?how can i fix this error?
from theory point of view i dont need it,i need code just
 
You did not mentioned any errors in your originl question. If you need just a working code you can take mine implementation and adapt it to Matlab (should be very easy). Or at least read it and take the parts you need. I see from your profile you're mature in math, but I don't see from your question that you don't need a detailed description of SSA algorithm so I provided you with a couple of links, hope this will help.
 
aa it is old question right,please see this stackoverflow.com/questions/23106669/…
that is what i have tried ,but get error,so please help me to fix this error
 
2:08 PM
@dato, the gist I referred to in my post is derived from the ssa.m and is (I believe) well debugged. Unfortunately, I have troubles running GNU Octave on this machine (and I have no Matlab) so I can't help you to debug Matlab implementation. If you decide to try my code, I can answer your questions on it. Note that 'ssa.m' is not "official", it's just a user-provided content.
 
please help me with your code,how should i transform it into matlab?i spent whole day without get solution,it is bad
 
2:26 PM
i am here
ok
let say like this
generally i dont know mathematically how they are doing diagonal averaging
somehow i know
but most important for me is reconstruction
because i am working on spectral resolution
 
I've managed to run GNU Octave on this machine. Will try to adapt the mentioned code to this system... (it's much closer to Matlab than Scilab is).
I think you know that singular spectrum has no relation to frequency spectrum (lets say to PSD). But just in case.
 
no
it is naother
another think
what i am saying
but
anyway
 
Do you speak russian?
 
code itself it important for me
no
 
Ok.
 
2:29 PM
just english
 
Give me 10 minutes.
 
Well, I'm back.
The simplest use case:

> ssa(1:10, 4, 1:2)
ans =

1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
7.0000
8.0000
9.0000
10.0000
 
ok thanks
but one question
1:10
it is
just signal right
 
Right. Dirty example :)
This is Basic SSA decomposition with L=4 and partial reconstruction from components 1 to 2.
 
2:42 PM
thanks my friend
 
You can also use ssa_decompose() to analyse decomposition and make a decision how to reconstruct the signal back.
Hope this will help you.
 
yes
you know
after that
i can take time
to learn code itself
SSA
if we choose window lentg correctly
length
is very great tool
correctly,because it can effectively denoise
 
Yes, I've played with Basic SSA for some time. Looks good for denoising, but you should carefully choose L and I.
 
actually yes
i am working on PHD
on this topic
if i have finished everything successfully
i will discuss with you some kind of details ok
?
the point is that
what is difference between
 
Surely. But I should note that I am "just" a software engineer and far not as mature in math as you seems to be. DSP as applied math is closer to me.
 
2:48 PM
original and reconstructed series
?
less noise or?
no i am not mathematican
i am also supposing programming and mathematics together
in future
so question yes
we have original and reconstructed
they have same values
what is difference
 
SSA decomposes the original signal in a separable components (if it's possible). They are ranked by the variation contribution. If you'll discard the components with low variance and if you will call such a components a "noise", then yes, the reconstructed time series will have less noise.
 
Ah, you're talking about my example?
 
but same value right
yes
 
1:10 --> 1:10?
 
2:51 PM
exactly
 
That's simple, I reconstruct the time series with first two components and it turns out that it's enough to reconstruct the time series perfectly.
Just a particular case.
 
i see
in reality it could be
partially reconstructed
 
Try to generate some "noisy" sinusoids and reconstruct it with a few first components.
The outcome should look like denoising.
 
for noisy sinusoids
AR model is not prefered right
 
What we should do with AR model?
 
2:54 PM
i mean
it is not good
to use AR model
with non sttaionary
stationary noise data right
thanks for help
 
Unfortunately, most of the methods at all works best with stationary time series. SSA claims to handle non stationary somehow.
 
thanks
see you
please
 
Bye.
 
with stackoverflow
upload this answer
 
Ok, I'll do.
 
3:33 PM
I've updated the code because of a possible bug in adiag() function (introduced while porting from Scilab). Please, grab it once again from the same page ( gist.github.com/werediver/10886388 ).
 

last day (15 days later) »