0 minutes to go
  • 12 Participants
  • 17 Submissions
  • 5000 Prize
  • Competition Ends: Jan. 8, 2020, 3:59 p.m.
  • Server Time: 9:40 a.m. UTC

Automated Time Series Regression

Web Search and Data Mining (WSDM) 2020 will be held in Houston, Texas, USA from Feberary 03 to 07, 2020. AutoSeries is one of the competitions in main conference provided by 4Paradigm and ChaLearn.

Machine Learning has achieved remarkable success in time series-related tasks, e.g., classification, regression and clustering. For time series regression, ML methods show powerful predictive performances. However, in practice, it is very difficult to switch between different datasets without human efforts. To address this problem, Automated Machine Learning (AutoML) is proposed to explore automatic pipeline to train an effective ML model given a specific task requirement. Since its proposal, AutoML have been explored in various applications, and a series of AutoML competitions, e.g., Auto-ML Track at Kdd Cup, Automated natural language processing (AutoNLP) and Automated computer vision (AutoCV),  have been organized by 4Paradigm, Inc. and ChaLearn (sponsored by Google, Microsoft). These competitions have drawn a lot of attention from both academic researchers and industrial practitioners. 
 
In this challenge, we further propose the Automated Time Series Regression (AutoSeries) competition which aims at proposing automated solutions for time series regression task. This challenge is restricted to multivariate regression problems, which come from different time series domains, including air quality, sales, work presence, city traffic, etc.. Datasets are tabular data whose features are of three main types:  ID_Key, Main_Timestamp, other features and Label/Regression_Value. The combination of ID_Key features identifies a variable (a time series). There is only one Main_Timestamp feature that indicate the primary timestamp of the data table. Label/Regression_Value is the target that needs to predict. The provided solutions are expected to discover various kinds of information, e.g. time series correlation, when only raw data (time series features) and meta information are provided. There will have three kinds of datasets: public datasets, feedback datasets (corresponding to Feedback Phase) and private datasets (corresponding to Private Phase). Public datasets are provided to the participants for developing AutoSeries solutions offline. Afterward, solutions will be evaluated with feedback datasets without human intervention. The results of the private datasets determine the final ranking.
 
This is the first AutoSeries competition, and that focuses on time series regression this time, which poses new challenges to the participants, as listed below:
- How to automatically discover various kinds of information from other variables besides time feature?
- How to automatically extract useful features from different datasets of time series data?
- How to automatically handle relations among different time series?
- How to automatically handle both long and short time series data?
- How to automatically design effective neural network structures?
 
Additionally, participants should also consider:
- How to automatically and efficiently select appropriate machine learning model and hyper-parameters?
- How to make the solution more generic, i.e., how to make it applicable for unseen datasets?
- How to keep the computational and memory cost acceptable? 
 
Visit "Get Started" and follow the steps to participate.
 

Timeline 

UTC time

  • Nov 21st, 2019, 15:59: Beginning of the Feedback Phase, the release of public datasets. Participants can start submitting codes and obtaining immediate feedback in the leaderboard
  • Dec 23rd, 2019, 15:59: Real personal identification
  • Dec 30th, 2019, 15:59: End of the Feedback Phase
  • Dec 30th, 2019, 16:00: Beginning of the Check Phase
  • Jan 02nd, 2019, 15:59: Submission deadline of Check Phase
  • Jan 03rd, 2019, 15:59: End of the Check Phase
  • Jan 03rd, 2019, 16:00: Beginning of the Final Phase
  • Jan 05th, 2019, 16:00: Submission deadline of Final Phase
  • Jan 06th, 2019, 16:00: End of the Final Phase

Note that the CodaLab platform uses UTC time format, please pay attention to the time descriptions elsewhere on this page so as not to mistake the time points for each phase of the competition.

 

Prizes

  • 1st  Place: $2500
  • 2nd Place: $1500
  • 3rd Place: $1000
 

About

Please contact the organizers if you have any problem concerning this challenge.

Sponsors

Advisors

- Wei-Wei Tu, 4Pardigm Inc., China, (Coordinator, Platform Administrator, Data Provider, Baseline Provider, Sponsor) tuweiwei@4paradigm.com

- Isabelle Guyon, Universté Paris-Saclay, France, ChaLearn, USA, (Advisor, Platform Administrator) guyon@chalearn.org

- Qiang Yang, Hong Kong University of Science and Technology, Hong Kong, China, (Advisor, Sponsor) qyang@cse.ust.hk

Committee (alphabetical order)

- Chenshuo Liu, 4Paradigm Inc., China, (Admin) liuchenshuo@4paradigm.com

- Ling Yue, 4Paradigm Inc., China, (Admin) yueling@4paradigm.com

- Shouxiang Liu, 4Paradigm Inc., China, (Admin) liushouxiang@4paradigm.com

- Xiawei Guo, 4Paradigm Inc., China, (Admin) guoxiawei@4paradigm.com

- Zhen Xu, 4Paradigm Inc., China, (Admin) xuzhen@4paradigm.com

 

Organization Institutes

4paradigm chalean

About AutoML 

Previous AutoML Challenges:

First AutoML Challenge

AutoML@PAKDD2018

AutoML@NeurIPS2018

- AutoML@PAKDD2019

- AutoML@KDDCUP2019

- AutoCV@IJCNN2019

- AutoCV2@ECML PKDD2019

- AutoNLP@WAIC2019

- AutoSpeech@ACML 2019

 

About 4Paradigm Inc.

Founded in early 2015, 4Paradigm is one of the world’s leading AI technology and service providers for industrial applications. 4Paradigm’s flagship product – the AI Sage EE– is an AI development platform that enables enterprises to effortlessly build their own AI applications, and thereby significantly increase their operation’s efficiency. Using the AI Sage EE, a company can develop a data-driven “AI Core System”, which could be largely regarded as a second core system next to the traditional transaction-oriented Core Banking System (IBM Mainframe) often found in banks. Beyond this, 4Paradigm has also successfully developed more than 100 AI solutions for use in various settings such as finance, telecommunication and internet applications. These solutions include, but are not limited to, smart pricing, real-time anti-fraud systems, precision marketing, personalized recommendation and more. And while it is clear that 4Paradigm can completely set up a new paradigm that an organization uses its data, its scope of services does not stop there. 4Paradigm uses state-of-the-art machine learning technologies and practical experiences to bring together a team of experts ranging from scientists to architects. This team has successfully built China’s largest machine learning system and the world’s first commercial deep learning system. However, 4Paradigm’s success does not stop there. With its core team pioneering the research of “Transfer Learning,” 4Paradigm takes the lead in this area, and as a result, has drawn great attention of worldwide tech giants. 

About ChaLearn

ChaLearn is a non-profit organization with vast experience in the organization of academic challenges. ChaLearn is interested in all aspects of challenge organization, including data gathering procedures, evaluation protocols, novel challenge scenarios (e.g., competitions), training for challenge organizers, challenge analytics, result dissemination and, ultimately, advancing the state-of-the-art through challenges.

 

Quick start

Baseline, Starting kit, Public datasets can be downloaded here:

 

Baseline

This is a challenge with code submission. We provide one baseline above for test purposes.

To make a submission, download the starting kit and follow the readme.md file instruction. Click on the blue button "Upload a Submission" in the upper right corner of the page and re-upload it. You must click first the orange tab "Feedback Phase" if you want to make a submission simultaneously on all datasets and get ranked in the challenge. You may also submit on a single dataset at a time (for debug purposes). To check progress on your submissions goes to the "My Submissions" tab. Your best submission is shown on the leaderboard visible under the "Results" tab.

Starting kit

The starting kit contains everything you need to create your own code submission (just by modifying the file model.py) and to test it on your local computer, with the same handling programs and Docker image as those of the Codalab platform (but the hardware environment is in general different). 

The starting kit contains toy sample data. Besides that, 2 public datasets are also provided so that you can develop your solutions offline. These 2 public datasets can be downloaded from the link at the beginning.

Local development and testing:

You can test your code in the exact same environment as the Codalab environment using docker. You are able to run the ingestion program (to produce predictions) and the scoring program (to evaluate your predictions) on toy sample data.

1. If you are new to docker, install docker from https://docs.docker.com/get-started/.

2. At the shell, change to the starting kit directory, run

 docker run -it -v "$(pwd):/app/codalab" vergilgxw/autotable:v3

3. Now you are in the bash of the docker container, run the local test program

  python run_local_test.py --dataset_dir=[path_to_dataset] --code_dir=[path_to_model_file]

It runs ingestion and scoring program simultaneously, and the predictions and scoring results are in sample_result_submissions and scoring_output directory. 

Submission

Interface

The interface is simple and generic: you must supply a Python model.py, whose API can be found in page "Evaluation" .

To make submissions, zip model.py and its dependency files (without the directory), then use the "Upload a Submission" button. Please note that you must click first the orange tab "Feedback Phase / Private Phase" if you want to make a submission simultaneously on all datasets and get ranked in the challenge. You may also submit on a single dataset at a time (for debug purposes). Besides that, the ranking in the public leaderboard is determined by the LAST code submission of the participants.

Running Environment

In the starting kit, we provide a docker that simulates the running environment of our challenge platform. Participants can check the python version and installed python packages with the following commands:

 python --version

 pip list

On our platform, for each submission, the allocated computational resources are:

  • CPU: 4 Cores
  • Memory: 16 GB

Challenge Rules

  • General Terms: This challenge is governed by the General ChaLearn Contest Rule Terms, the Codalab Terms and Conditions, and the specific rules set forth.
  • Announcements: To receive announcements and be informed of any change in rules, the participants must provide a valid email.
  • Conditions of participation: Participation requires complying with the rules of the challenge. Prize eligibility is restricted by Chinese government export regulations, see the General ChaLearn Contest Rule Terms. The organizers, sponsors, their students, close family members (parents, sibling, spouse or children) and household members, as well as any person having had access to the truth values or to any information about the data or the challenge design giving him (or her) an unfair advantage, are excluded from participation. A disqualified person may submit one or several entries in the challenge and request to have them evaluated, provided that they notify the organizers of their conflict of interest. If a disqualified person submits an entry, this entry will not be part of the final ranking and does not qualify for prizes. The participants should be aware that ChaLearn and the organizers reserve the right to evaluate for scientific purposes any entry made in the challenge, whether or not it qualifies for prizes.
  • Dissemination: The challenge is orgnized in conjunction with the WSDM 2020 conference.
  • Registration: The participants must register to Codalab and provide a valid email address. Teams must register only once and provide a group email, which is forwarded to all team members. Teams or solo participants registering multiple times to gain an advantage in the competition may be disqualified. One participant can only be registered in one team. Note that you can join the challenge until one week before the end of Feedback Phase. Real personal identifications will be required (notified by organizers) at the end of Feedback Phase to avoid deplicate accounts and award claim.
  • Anonymity: The participants who do not present their results at the challenge session can elect to remain anonymous by using a pseudonym. Their results will be published on the leaderboard under that pseudonym, and their real name will remain confidential. However, the participants must disclose their real identity to the organizers to join check phase and Final Phase and to claim any prize they might win. See our privacy policy for details.
  • Submission method: The results must be submitted through this CodaLab competition site. The number of submissions per day is 5. Using multiple accounts to increase the number of submissions in NOT permitted. In case of problem, send email to autoseries2020@4paradigm.com. The entries must be formatted as specified on the Instructions page.
  • Prizes: The top ranking participants in the Final Phase may qualify for prizes. To compete for prizes, the participants must make a valid submission on the Final Phase website (TBA), and fill out a fact sheet briefly describing their methods before the announcement of the final winners. There is no other publication requirement. The winners will be required to make their code publicly available under an OSI-approved license such as, for instance, Apache 2.0, MIT or BSD-like license, if they accept their prize, within a week of the deadline for submitting the final results. Entries exceeding the time budget will not qualify for prizes. In case of a tie, the prize will go to the participant who submitted his/her entry first. Non winners or entrants who decline their prize retain all their rights on their entries and are not obliged to publicly release their code.
  • Cheating: We forbid people during any phase to attempt to get a hold of the solution labels or read data violating provided API on the server (though this may be technically feasible). Generally, participants caught cheating in any sense will be disqualified. If you have questions concerning specific methods, please contact organizers by autoseries2020@4paradigm.com

Dataset

This page describes the datasets used in AutoSeries challenge. 12 datasets are prepared for this competition. 2 public datasets, which can be downloaded, are provided to the participants so that they can develop their AutoSeries solutions offline. Besides that, another 5 feedback datasets are also provided to participants to evaluate the public leaderboard scores of their AutoSeries solutions. Afterward, their solutions will be evaluated with 5 private datasets without human intervention. 
 
Note that this challenge is restricted to time sereis regression problems, which come from different domains. 
 
 

Data

Each dataset containes 5 files: train.data, test.data, test.solution, test_time.data, info.yaml

train.data

This is the training data including target variable (regression target). Its column types could be read from info.yaml.
There are 3 data types of features, indicated by "num", "str", and "timestamp", respectively:
• num: numerical feature, a real value
• str: string or categorical features
• timestamp: time feature, an integer that indicates the UNIX timestamp

test.data

This is the test data including target variable (regression target). Its column types could be read from info.yaml.

test.solution

This is the test solution (extracted from test.data).

test_time.data

This is the UNIQUE test timestamp (extracted from test.data).

info.yaml

For every dataset, we provide an info.yaml file that contains the important information (meta data).

Here we give details about info.yaml
• time_budget : the time budgets for different methods in user models
• schema : stores data type information of each column
• is_multivariate: whether there are multiple time series.
• is_relative_time: DEPRECATED, not used in this challenge.
• primary_timestamp: UNIX timestamp
• primary_id: a list of column names, identifying uniquely the time series. Note that if is_multivatriate is False, this will be an empty list.
• label: regression target

 

Example:

Screen-Shot-2019-11-21-at-21-10-18

 
 

Dataset Credits

We thank the following sources for providing excellent datasets:
 

Evaluation

Protocols

This challenge has three phases. The participants are provided with public datasets which can be downloaded, so that they can develop their AutoSeries solutions offline. Then, the code will be uploaded to the platform and participants will receive immediate feedback on the performance of their method at another 5 feedback datasets. After Feedback Phase terminates, we will have another Check Phase, where participants are allowed to submit their code only once on private datasets in order to debug. Participants won't be able to read detailed logs but they are able to see whether their code report errors. Last, in the Private Phase, Participants’ solutions will be evaluated on 5 private datasets. The ranking in Private Phase will count towards determining the winners.

Code submitted is trained and tested automatically, without any human intervention. Code submitted on Feedback (or Private) Phase runs on all 5 feedback (or private) datasets in parallel on separate compute workers, each one with its own time budgets.

Running process

The flow diagram of the running processe is shown in Figure 1. 

test

Figure 1. The flow diagram of ingestion program.

The procedure in Figure 1 can be described as follows:

  1. The program trains a model with the training dataset, and save the model.
  2. In each iteration of predicting, the ingestion program loads the model and sends the test samples with the next timestamp and the user program will predict the labels of them. 
  3. In the next iteration of predicting, the samples and their true labels with the last timestamp will also be sent to the user program.
  4. After each iteration, the user program can choose to update the model. After updating, the user program can choose to continue predicting or update the model again.
  5. The procedure ends when all test samples are predicted.

Figure 2 illustrates the predict method. Here \(X^{t}, Y^{t}\) are the samples and true labels in test dataset with timestamp t. \(\tilde Y^t\) is the predicted labels. \(\mathbb{I}_{update}^t\) indicates whether the program needs to update. 

Figure 3 shows the update method. In this sub-procedure, the user program can update the model with training data and all historical data in test dataset.

Figure 2. The predict method. X, Y are samples and labels. 

Figure 3. The update method.

Interface of the user program

(For more details, please check the ingestion program in starting kit)

The participant should construct a Model class in their model.py file. The interface and its description can be found in Figure 4. In Model class, 6 methods should be defined: __init__, train, predict, update, save, load. 

  • __init__: in this method user can get meta information and timestamps about test dataset. test_timestamp is the main timestamp column of the test datasets. The samples with these timestamps (or part of them) need to be predicted, and the timestamps that need to be predicted are in pred_timestamp with a unique operation. 
  • train: train the models. 
  • predict: predict the samples with next timestamp in test dataset. You should NOT update the model in this method. 
  • update: update the model. 
  • save: save the model.
  • load: load the model.

Important remark about competition rules

  • Participants can only use data passed by ingestion program.
  • Participants can only train model in train method, and update model in update method.

Figure 4. The interface of user program. There are 6 methods that should be defined: __init__, train, predict, update, save and load. 

Time budgets

train, predict, update, save and load are all running with their limited time budgets. The time budgets can be found in info.yaml for each dataset. For train, save and load, each call of the method has its own time budget. For predict and update, all calls of a method share its time budget, i.e. the total running time of all calls of predict can not exceed the time budget of predict, and similar for update.

Metrics

For each dataset, we compute Root-Mean-Square Error (RMSE) as the evaluation metric for this competition. Participants will be ranked according to RMSE per dataset. After we compute the RMSE for all 5 datasets, the overall ranking is used as the final score for evaluation and will be used in the leaderboard. It is computed by averaging the ranks (among all participants) of RMSE obtained on the 5 datasets.

FAQs

Can organizers compete in the challenge?

No, they can make entries that show on the leaderboard for test purposes and to stimulate participation, but they are excluded from winning prizes.

Are there prerequisites to enter the challenge?

No, except accepting the TERMS AND CONDITIONS.

Can I enter any time?

No, you can join the challenge until one week before the end of Feedback Phase. After that, we will require real personal identification (notified by organizers) to avoid duplicate accounts.

Where can I download the data?

You can download "public datasets" only from the Instructions page. The data on which your code is evaluated cannot be downloaded, it will be visible to your code only, on the Codalab platform.

How do I make submissions?

To make a valid challenge entry, click the blue button on the upper right side "Upload a Submission". This will ensure that you submit on all  datasets of the challenge simultaneously. You may also make a submission on a single dataset for debug purposes, but it will not count towards the final ranking.

Do you provide tips on how to get started?

We provide a starting kit in Python with step-by-step instructions in "README.md".

 

Are there prizes?

Yes, a $4000 prize pool.

  1st place 2nd place 3rd place
Prize $2000 $1500 $500

Do I need to submit code to participate?

Yes, participation is by code submission.

When I submit code, do I surrender all rights to that code to the SPONSORS or ORGANIZERS?

No. You just grant to the ORGANIZERS a license to use your code for evaluation purposes. You retain all other rights.

If I win, I must submit a fact sheet, do you have a template?

Yes, we will provide the fact sheet in a suitable time.

What is your CPU/GPU computational configuration?

On our platform, for each submission, allocated computational resource is:

  • CPU: 4 cores
  • Memory: 16GB
  • No GPU provided

The PARTICIPANTS will be informed if the computational resources increase. They will NOT decrease.

Will there be a private round on separate datasets?

YES. The ranking of participants will be made from a private blind test made by evaluating a SINGLE SUBMISSION made on the private submission site. The submission will be evaluated on 5 new private datasets in a completely "blind testing" manner. The private test ranking will determine the winners.

What is my time budget?

Each execution must run in its own time budget for each dataset (provided in the metafile info.yaml).

Does the time budget correspond to wall time or CPU time?

Wall time.

My submission seems stuck, how long will it run?

In principle no more than its time budget. We kill the process if the time budget is exceeded. Submissions are queued and run on a first time first serve basis. We are using several identical servers. Contact us if your submission is stuck for more than 24 hours. Check on the leaderboard the execution time.

How many submissions can I make?

5 times per day. This may be subject to change, according to the number of participants. Please respect other users. It is forbidden to register under multiple user IDs to gain an advantage and make more submissions. Violators will be DISQUALIFIED FROM THE CONTEST.

Do my failed submissions count towards my number of submissions per day?

Yes. Please contact us if you think the failure is due to the platform rather than to your code and we will try to resolve the problem promptly.

What happens if I exceed my time budget?

This should be avoided. In the case where a submission exceeds the time budget for a particular task (dataset), the submission handling process (ingestion program in particular) will be killed when time budget is used up and the prediction made will be used for evaluation. In the other case where a submission exceeds the total compute time per day, all running tasks will be killed by CodaLab and the status will be marked 'Failed' and a score of -1.0 will be produced.

The time budget is too small, can you increase it?

No, sorry, not for this challenge.

What metric are you using?

RMSE is used per dataset. More info on evaluation can be found at "Get Started - Evaluation".

Which version of Python are you using?

The code was tested under Python 3.6.9. We are running Python 3.6.9 on the server and the same libraries are available.

Can I use something else than Python code?

Yes. Any Linux executable can run on the system, provided that it fulfills our Python interface and you bundle all necessary libraries with your submission.

Do I have to use TensorFlow?

No. 

Which docker are you running on Codalab?

vergilgxw/autotable:v3.

How do I test my code in the same environment that you are using before submitting?

When you submit code to Codalab, your code is executed inside a Docker container. This environment can be exactly reproduced on your local machine by downloading the corresponding docker image. 

What is meant by "Leaderboard modifying disallowed"?

Your last submission is shown automatically on the leaderboard. You cannot choose which submission to select. If you want another submission than the last one you submitted to "count" and be displayed on the leaderboard, you need to re-submit it.

Can I register multiple times?

No. If you accidentally register multiple times or have multiple accounts from members of the same team, please notify the ORGANIZERS. Teams or solo PARTICIPANTS with multiple accounts will be disqualified.

How can I create a team?

We have disabled Codalab team registration. To join as a team, just share one account with your team. The team leader is responsible for making submissions and observing the rules.

How can I destroy a team?

You cannot. If you need to destroy your team, contact us.

Can I join or leave a team?

It is up to you and the team leader to make arrangements. However, you cannot participate in multiple teams.

Can I cheat by trying to manipulate training/test in save/load functions?

No. Please note that you can only train/predict in the train/predict methods. save/load methods are reserved for saving/loading models only. If we discover that you are trying to cheat in this way you will be disqualified. All your actions are logged and your code will be examined if you win.

Can I give an arbitrary hard time to the ORGANIZERS?

ALL INFORMATION, SOFTWARE, DOCUMENTATION, AND DATA ARE PROVIDED "AS-IS". UPSUD, CHALEARN, IDF, AND/OR OTHER ORGANIZERS AND SPONSORS DISCLAIM ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR PURPOSE, AND THE WARRANTY OF NON-INFRIGEMENT OF ANY THIRD PARTY'S INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL ISABELLE GUYON AND/OR OTHER ORGANIZERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF SOFTWARE, DOCUMENTS, MATERIALS, PUBLICATIONS, OR INFORMATION MADE AVAILABLE FOR THE CHALLENGE. In case of dispute or possible exclusion/disqualification from the competition, the PARTICIPANTS agree not to take immediate legal action against the ORGANIZERS or SPONSORS. Decisions can be appealed by submitting a letter to the CHALEARN president, and disputes will be resolved by the CHALEARN board of directors. See contact information.

Where can I get additional help?

For questions of general interest, THE PARTICIPANTS should post their questions to the forum.

Other questions should be directed to the organizers.

Feedback Phase

Start: Nov. 21, 2019, 3:59 p.m.

Description: Please make submissions by clicking on following 'Submit' button. Then you can view the submission results of your algorithm on each dataset in corresponding tab (Dataset 1, Dataset 2, etc).

Datasets:

Color Label Description Start
Dataset 1 None Nov. 21, 2019, 3:59 p.m.
Dataset 2 None Nov. 21, 2019, 3:59 p.m.
Dataset 3 None Nov. 21, 2019, 3:59 p.m.
Dataset 4 None Nov. 21, 2019, 3:59 p.m.
Dataset 5 None Nov. 21, 2019, 3:59 p.m.

Competition Ends

Jan. 8, 2020, 3:59 p.m.

You must be logged in to participate in competitions.

Sign In