Why put your ML results into a dashboard

Naïve question from a novice

While trying to perform a time-series analysis, there are many things to check. For instance, the above GIF shows me trying to scroll through the Matplotlib charts for each time-series for stationarity checks.

In the above use case, I’m evaluating 12 feature time-series for 12 cryptocurrencies and that amounts to 144 charts. Perhaps I am a little too ambitious to run the test for all the cryptocurrencies in one go. Then again I don’t see why I shouldn’t, since the steps for the analysis are pretty much the same. 

What would you do in this case? Would you run the notebook repeatedly or duplicate it once for each cryptocurrency? I chose to load my data into atoti and visualize the time-series using interactive dashboards.


Now I am able to put together my analysis within a common view and filter by the cryptocurrency that I want to dive in. Did I mention that I also loaded each differencing of the time-series into the cube? 

It’s interesting to see how the time-series becomes stationary with each differencing, represented by a different colored trace for each of the feature’s plot in the above GIF.

As a next step to my analysis, I ran the Granger causality test on the time-series for 50 lags to see which features can Granger-cause the returns of the cryptocurrency. Check out below a dashboard that I’ve built to quickly identify the features that I will use in my time-series forecasting for each cryptocurrency. 

I can run and save as many lags of the test results into atoti and apply filters and color coding the cells (in green above) to see the lags that were rejected. This means that I do not have to discard my test results prematurely.

By using the Quick page filter widget that comes with atoti, I can apply filters easily on the page and toggle around the cryptocurrencies compare the patterns revealed by the statistical analysis.

Lastly, I personally preferred the atoti’s charts in a dashboard over Matplotlib charts in a Jupyter notebook, namely due to the interactive aspect. I can zoom in literally on the charts that are of interest and mouse over to see the relevant values. 


In any case, I can always output my data from the atoti cube when needed by:

  • exporting tables to csv
  • downloading plots as png
  • programmatically querying from the cube into a Pandas dataframe


Check out my notebook and article on how I forecast the returns of different cryptocurrencies with Twitter attributes. 

Do share with me on how you manage your machine learning results!

Latest posts

Understanding Logs in Atoti
From the default log to how to configure additional logging Application logs are extremely important in any system! Most commonly, they are used to troubleshoot any issue that users may encounter while using an application. For instance, developers use them for debugging and the production support crew uses them to investigate outages. Not just that, in production, they are used to monitor an application’s performance and health. For instance, monitoring tools can pick up certain keywords to identify events such as “server down” or “system out of memory”. It can also serve as an audit trail to track user activity...
Atoti: Working with dates in Python
What is the most problematic data type you have ever dealt with when working with data? I would say dates! Depending on the locale, dates come in different formats such as YYYY-mm-dd, d/m/YYYY, d-mmm-yy etc. Not to mention, sometimes it comes with timestamps and time zones! We can let programs infer the date format or explicitly cast the data to date with a specific format e.g. in Python with Pandas DataFrame: What if we open the CSV file in Microsoft Excel, update it, and try to read it again? The above code snippet will throw out exceptions such as this:...
Understanding conditional statements in Atoti
When do we use filter, where and switch statements? We know that we can perform aggregations and multi-dimensional analysis with Atoti. Aggregation is not always as simple as 1 + 2. Sometimes we end up in an “if…else” situation, and that is where conditional statements come in. Let’s explore some examples with the XVA use case from the Atoti CE Notebook Gallery. Some definitions before moving on: Measures – we refer to metrics or quantifiable data that measure certain aspects of our goals. In the code snippets below, they are represented by measure[<name of metrics>]. Members of a level –...

Join our Community


    Like this post ? Please share

    Documentation
    Information
    Follow Us

    atoti Free Community Edition is developed and brought to you by ActiveViam. Learn more about ActiveViam at activeviam.com.