[ANN] ForecastPlots: Collection of plot functionalities for time series analysis

ForecastPlots.lj has been created in the process of decoupling functionality from Forecast.jl. The package contains a collection of basic plots for time series analysis.

Some of these functionalities also return the data processed in order to display the plot (e.g. acf, ccf, pcf,…) and, when doing so, they have an optional plot flag in case only its numerical results are required.

This is the current list of plots:

  • acf : Auto-Correlation plot
  • candle : Candelstick plot for stock prices
  • ccf : Cross-Correlation plot
  • dplot : Decomposition plot for Data, Trend, Seasonality and Remainder
  • fplot : Multivariate forecasting plot with nested prediction intervals
  • pacf : Partial Auto-Correlation plot
  • splot : Seasonal plot similar to monthplot in R

15 Likes

I have loved the packages you have been creating lately @viraltux (Like SQLdf.jl etc.)! Out of curiosity, will these packages (forecast.jl and forecastplots) ever interoperate with GitHub - JuliaStats/TimeSeries.jl: Time series toolkit for Julia ? I know that TimeSeries.jl is undergoing some big overhauls so was curious if interop or merging between these packages was a consideration (ping @iblis17 )

5 Likes

Hi @TheCedarPrince! Glad to see that citizens of Gondor appreciate my packages!

That’s a good question and when I began working on the package I wondered how much integration it should have with DataFrames, TimeSeries or any other type working with time series.

The lack of integration with TimeSeries.jl – or any type other than Base Arrays – is by design; ForecastPlots.jl is meant to be an intermediate layer that either the end user or the end package (e.g. Forecast.jl… or even TimeSeries.jl for that matter) would use to finalize and tune its implementation for their specific needs.

I would agree though that if TimeSeries.jl becomes one day a de facto standard to handle time-series it would make sense to add such dependency, however, Forecast.jl began using TimeSeries.jl as default for its handling of time-series to eventually drop its dependency in favor of the combination DataFrames/Dates.

It is not clear to me what type(s) to handle time series in Julia will be the de facto standard in the future – if ever there is any – but I guess the future will tell.

2 Likes