"The Mars Express Power Challenge focuses on the difficult problem of predicting the thermal power consumption. Three full Martian years of Mars Express telemetry are made available and you are challenged to predict the thermal subsystem power consumption on the following Martian year."
Competition website: https://kelvins.esa.int/mars-express-power-challenge/ [mirror]. Twitter: #MarsExpressPower.
Contents
Note: A subset of the data used in this competition, with just one and a half (Earth) years of telemetry, can be found on Kaggle.
This repository contains all the work I did for the 'Mars Express Power' competition. It consists of two files:
My final submission reached a RMSE of 0.089078627464354 on the public leaderboard, and later a RMSE of 0.088395630359812905 on the final leaderboard, allowing me to rank in 5th place in the competition. The file from that final submission is included here (lfs_submission_5b__rebuilt.csv), and can be regenerated as well by running the code in the Jupyter notebook.
See my post in the official forum (here) for an outline of the features I used.
I saw the competition as an opportunity to study and implement Echo State Networks (a type of Recurrent Neural Network). All my modelling effort was therefore spent on getting the most I could out of them, and them alone.
The Jupyter notebook's sections on "Parameter sweeps" and "Training ensembles" describe the steps taken to understand their behaviour, and to train them as accurately as possible.
The implemented echo_state_networks.py tries to follow scikit-learn's interface and naming conventions. See the "Parameter sweeps" section on the notebook for a description of its parameters.
- Jaeger, H. (2007). Echo state network. Scholarpedia, 2(9), 2330.
- Lukoševičius, M. (2012). A practical guide to applying echo state networks. In Neural networks: Tricks of the trade (pp. 659-686). Springer Berlin Heidelberg. [PDF]
- Principe, J. C., & Chen, B. (2015). Universal approximation with convex optimization: Gimmick or reality? IEEE Computational Intelligence Magazine, 10(2), 68-77.
The code shared here was written in Python 3 (3.4.4). It has the following dependencies:
- echo_state_networks.py:
- numpy, scipy, tqdm
- workbench.ipynb:
- numpy, scipy, matplotlib, seaborn, pandas, scikit-learn, tqdm
Most of the competition's top ranked players/teams have shared their code. You can find below links to their repositories.
Rank | Name | Score | Repository |
---|---|---|---|
1 | MMMe8 | 0.079163638689759466 | |
2 | redrock | 0.080301894079712499 | stephanos-stephani/MarsExpressChallenge |
3 | fornaxintospace | 0.081925542258189737 | fornaxco/Mars-Express-Challenge |
4 | Alex | 0.083848704280679837 | alex-bauer/kelvin-power-challenge |
5 | luis | 0.088395630359812905 | lfsimoes/mars_express__esn |
6 | w | 0.088993096282001347 | wsteitz/mars_express |
7 | trnka | 0.089866726592717425 | ktrnka/mars-express |
The competition led to the scientific publications listed below. The first, by the organizers, describes the problem. The second describes the winning team's approach. The third, again by the organizers, describes the operational model developed for the Mars Express Orbiter, based on insights gained through analysis of the different models submitted to the competition.
- Lucas, L., & Boumghar, R. (2017). Machine Learning for Spacecraft Operations Support - The Mars Express Power Challenge. In 2017 6th International Conference on Space Mission Challenges for Information Technology (SMC-IT) (pp. 82-87). IEEE. [available on ResearchGate]
- Breskvar, M., Kocev, D., Levatic, J. et al. (2017). Predicting Thermal Power Consumption of the Mars Express Satellite with Machine Learning. In 2017 6th International Conference on Space Mission Challenges for Information Technology (SMC-IT) (pp. 88-93). IEEE.
- Boumghar, R., Lucas, L., and Donati, A. (2018). Machine Learning in Operations for the Mars Express Orbiter. In 15th International Conference on Space Operations (SpaceOps 2018). AIAA 2018-2551.