Time-series in Julia (working list)

It would be nice to identify packages that can do time series decomposition as well. There are several methods described here and I only know of one implementation in Julia, which is STL decomposition that is implemented in Forecast (also linked in the last table above).

There’s a thread on the status of time series decomposition in Julia here.

3 Likes

GitHub stars I take it.

2 Likes

in the note column for completeness, either you include github stars of all packages you listed or none at all because having incomplete information may indicate to some that the package is not useful for those with missing stars because you failed to indicate it.

regarding discoverability of time-series packages or make it to have common API, i think it is not straightforward because each has specific application and their development is driven by addressing specific issues. this is the inductive part of development which is normal from the grassroot level. this is how typical open source packages like linux packages evolve. then you have redhat/debian/ubuntu that creates metapackage to weave together related packages similar to this: DebianScience - Debian Wiki

i’m sure rpm packages have meta-package too. debian uses debtags to discover related packages.

maybe, julia package system should also allow meta tagging and add support for searching tags in the package repl?

with easy discovery of related packages, we developers can take a look of the clusters our package belongs to and maybe check the common API we can adapt by organically or intentionally adapting some popular API in the cluster.

1 Like

Thanks Paulito.
I removed the Github stars bc I decided they are too noisy of an indicator of package quality.
For example ARCHModels.jl is one of the best packages I ever used (not just out of Julia packages), however it doesn’t have that many stars.

I created this table for myself a few times when I needed to use TS in Julia. I uploaded it here in case it’s useful to anyone else.

Anyone (including you :wink:) can easily copy-paste the table above & edit it to their heart’s content. Then they can post their edited table below.
(Many users have done this @ Styleforum, another community I used to be part of…)

1 Like

i wish julia package repl can search metadata of the package or its tags so that you can have ideas of what the package does. some package names are not obvious so tagging can help.

maintaining a manual table won’t scale well. it is better to really have some metadata for each package with certain important info.

Packages are not enough.
I found a lot of useful code on (non-package) GitHub repos, people’s websites, and journal data-code replication archives.
I have examples of all three above…

yeah. packages are not enough but if you have to google everytime you are in julia repl to discover packages and their description, it is not smooth sailing. with metadata including tags which are searchable in repl, you can get certain clusters of them based in their tags and makes discovery easy. also, many of these packages will reference papers and notes which can help you discover papers starting from discovering the package that references those papers.

1 Like

this person has good curation of julia packages. with metadata, you can create more info similar to what this person did: svaksha/Julia.jl - NotABug.org: Free code hosting

1 Like

you can create an automatic curation in julia to do this instead of doing it manually by datamining the metadata of packages. i think this person is using a webcrawler to discover and curate julia packages.

i created an issue in Pkg.jl: add support to search package tag/metadata/description for easy discoverability · Issue #2613 · JuliaLang/Pkg.jl · GitHub

hopefully, certain technology that allows searching of package metadata will be available in the future.

ok, seems Pkg3 will have these features.

Great list. Thanks for taking the time to put it together. You might want to add my package DependentBootstrap to the list. It’s actually a dependency of one of the packages you’ve already got on the list (ForecastEval).

2 Likes

Anything for estimating univariate TAR / STAR / SETAR models?

1 Like

RollingFunctions.jl is maintained. It has been reasonably stable for a while. Please reflect this in your annotation.

1 Like

@JeffreySarnoff

  1. thanks for bringing this up
  2. I can no longer edit the original post
  3. I deliberately created this list so it can be updated by the Julia community as needed.
    Please feel free to copy/paste & edit!

Hi there, I am going to open a new post tonight to announce it properly, but I have renamed TSAnalysis.jl to MessyTimeSeries.jl and released an additional package called MessyTimeSeriesOptim.jl for model estimation and validation.

EDIT

Here it is MessyTimeSeries.jl and MessyTimeSeriesOptim.jl.

2 Likes

Here is a link to FB’s Prophet:

Thank you @torfjelde

1 Like

thank you for this!

1 Like

Note that svaksha’s repo on NotABug is several years out of date - their curated Julia.jl list on Github and Gitlab are much newer and are kept in sync.

1 Like

You could convert this post into a GitHub repository where people could curate the list over time. Discourse is very limited in terms of updates.

Awesome initiative!

2 Likes

New time-series forecasting package:

4 Likes