Introduction to DeepXF

Ajay Arunachalam
Analytics Vidhya
Published in
4 min readNov 10, 2021

Python library for building explainable forecasting/nowcasting models with few lines of code.

Hi, friends. In this blog post, we will quickly peek through the package “Deep-XF” that is useful for forecasting, nowcasting, time-series data analysis, filtering noise from signals, comparing two input signals, etc. The USP of this package is its bunch of add-on utility helper functions, and the model explainability module that can be used to interpret the black box model results be it the forecasting/nowcasting problem.

Image by Author: Intuitive representation of DeepXF package services

What is a Signal?

In engineering, the fundamental quantity of representing some information is called a “signal”. While in context to mathematical world, a signal is a function that simply conveys some information.

Examples of Signals

Some real-world examples of signals (not limited too) that come accross our day-to-day life includes Audio Signals, Pictures, Video Signals, Medical Signals (EEG, ECG, EMG), etc. While more scientific case specific includes SONAR & RADAR signals, Geophysical signals (seismic data, etc).

Classification of Signals

Image by Author: Classification of the signals from the communication engineering perspective

Signal vs. Time-series

  • In a time-series dataset, the to-be-predicted value (y) is a function of time [y = y (t) ]
  • A signal is more general version, where the dependent variable ‘y’ doesn’t have to be a function of time always, though it could be [y = y (t) ]; it can be function of spatial coordinates [ y = y (x, y) ] or it can be a function of distance from source [ y = y (r) ], etc. as an example.

Time-series revisited

Time Series data can be used for (not limited too)-

  • Descriptive Analysis— Patterns are identified in correlated data. In other words, the variations in trends and seasonality in the time series are identified.
  • Forecasting — The prediction from previous observations are performed for long/short term trends.
  • Nowcasting — The prediction from previous observations are performed for very short term trends.
  • Inventory Analysis— Effect performed by any event in time series data, is analyzed.
  • Quality Control — When the specific size deviates, it provides an alert.
  • Anomaly Detection — Identifies data points, events, and/or observations that deviate from a dataset’s normal behavior.

A closer look into DeepXF

`DeepXF` is an open source, low-code python library. `DeepXF` is a complex forecasting/nowcasting models building utility for time series data. One can automatically build interpretable deep forecasting/nowcasting models at ease with this `simple`, `easy-to-use` and `low-code` solution. Further, it also provides facility for time-series signal similarity tests with siamese neural network, and denoising of time-series signals using filters.

Some direct use-case applications suitable with this library includes “Explainable Forecasting” , “Explainable Nowcasting”, “time-series data analysis”, “Denoising Time-series Signals”, “Time-series Signal Similarity Test”, “time-series data preprocessing”, etc.

For installation & getting started check here.

PS: This package is still by large a work in progress, so always open to your comments and things that you feel could also be included. Also, if you want to be a contributor, you are always most welcome. Pls. get in touch, if you are interested to be a contribute.

The RNN/LSTM/GRU/BiRNN/BiLSTM/BiGRU are already part of the initial version roll-out, while the SNN, GNN, Transformers, GAN, CNN, etc. are work in progress, and will be added soon once the testing is completed.

CONTACT

You can reach me at ajay.arunachalam08@gmail.com; and connect through linkedin

References:-

https://simple.wikipedia.org/wiki/Forecasting

--

--

Ajay Arunachalam
Analytics Vidhya

AWS Certified Cloud Solution Architect; AWS Certified ML Specialist; Power BI Certified https://www.linkedin.com/in/ajay-ph-d-4744581a/