Double ANN: SignalDecomposition.jl + TimeseriesSurrogates.jl

Because I have been posting a lot of announcements lately, and because I don’t want people to start hating me for unending spam, I will announce two new packages in JuliaDynamics in this post: SignalDecomposition.jl and TimeseriesSurrogates.jl ! Both packages provide tools about timeseries analysis and have a very common API and are in 1.0.

SignalDecomposition.jl allows one to decompose an input signal/timeseries into basic components. This is used for example to de-seasonalize a signal, or to do noise-reduction. TimeseriesSurrogates.jl is a package that creates surrogates. These are new timeseries created from the input timeseries that preserve some properties in the original timeseries and are used in hypothesis testing. Have a look at the docs for a more detailed information on surrogate timeseries!

Both packages have similar API: a function surrogate(s, method) or decompose(s, method) that makes surrogates / decomposes s via multiple dispatch on the method.

Hope they are useful!


Sweet animated logo :smiley:


It uses your method as well, so that should make you doubly happy :wink:

1 Like

for unending spam awesome packages.


Very nice! :+1:t2::pray:t2:

1 Like

Nice! Thanks for the announcement.

@Balinus, I have actually done some extentions of SignalDecomposition.jl in my private code, because I use it for climate data. E.g. I made it work with date times better, and also dispatch on DimensionalArrays. Maybe you are interested to talk about this.

Absolutely! This is an important aspect of climate analysis and I’ll certainly add this dep in ClimateTools. :grinning: