This goal of this app is provide a graphical interface to:
- explore the time series data for the M5 Competition
- do error analysis for the Forecasting Accuracy competition
This app is based on Plotly's Dash Python framework.
This project uses pipenv
for python dependency management.
To install dependencies for this project, run:
$ git clone https://github.com/syltruong/dash-m5-viewer.git
$ cd dash-m5-viewer
$ pipenv install
Run
$ cd m5-viewer
$ pipenv run kaggle competitions download -c m5-forecasting-accuracy
$ unzip m5-forecasting-accuracy.zip -d data
$ rm m5-forecasting-accuracy.zip
and unzip them in the data/
directory
Run
$ pipenv run python index.py
Note that the first run will precompute some data objects, which are stored in data/.cache
.
Subsequent service start will check for presence of these data objects and load them if present, leading to faster starting time.
The app is currently made of three tabs:
In this tab, we remind the purpose of the challenge and the evaluation metric.
There are two interactive visualizations in this tab.
The first one is about plotting time series samples. The user can chose to filter and group according to various metadata fields.
The second is about looking at sales repartition: because the metric is dependent on sales importance, one may be interesting in having these proportions in mind.
This tab lets the user upload a prediction csv file and validate it against the last 28 days of the train dataset. Different error analysis visualizations are suggested.