2023-2024 / SPAT0002-1

Statistical methods and data analysis


20h Th, 30h Pr

Number of credits

 Master in space sciences (120 ECTS)5 crédits 


Valentin Christiaens, Maxime Fays, Guy Munhoven, Dominique Sluse


Maxime Fays

Language(s) of instruction

English language

Organisation and examination

Teaching in the first semester, review in January


Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

This course constitutes a practical introduction to the Python programming language as well as to numerical methods commonly used in astrophysics and space sciences. Moreover, it provides a practical overview of some development tools that are useful to implement or integrate those methods, and that also may help scientists to achieve their common tasks.

The course is divided into two main parts:

  • The Programming part presents an overview of development tools (Shell, IDE, language types and usage, system versioning control of type git), and an introduction to the Python language and its main scientific libraries (Numpy / Scipy / Matplotlib / Astropy).
  • The Numerical Methods part aims at introducing students to  a large variety of numerical methods. Depending of the students' interests and needs, several topics among the following will be studied: numerical methods of statistical classical or frequentist inference (i.e. Maximum Likelihood Estimation, confidence interval via Jackknife and bootstrapping, hypothesis test), Bayesian statistical inference (MCMC for confidence interval estimation, model selection), the calculation of Fourier transforms, the sampling theorem and the filtering of data. The presentation of those methods will take place together with actual problems and examples.

Learning outcomes of the learning unit

  • Understand the basic principles of a large variety of numerical methods currently used in space and astrophysical sciences.
  • Implementing a numerical solution and all the operations related to its execution and/or the exploitation of the results (input/output, visualization, etc).
  • Follow good practices in terms of project development and programing (lisibility, reproductibility, ...)

Prerequisite knowledge and skills

The student is expected to master basic programming concepts (such as loops, conditional loops, function, concept of object, ...) as covered, e.g., by the course "Introduction à la programmation (INFO0201-1)". A basic knowledge of statistics (probability calculation, conditional probabilities, concept of Bayesian inference) as covered by a lecture such as "Statistique des données expérimentales de la physique STAT0064-3" is also mandatory.

Planned learning activities and teaching methods

The course materials include Jupyter notebooks (http://jupyter.org) that contain, in addition to the theory, examples and small intereactive exercises that provide the students with a direct experience of the methods and concepts presented during the lecture. The practical classes are dedicated to the study of more advanced problems with the help of Python libraries that implement several of the algorithms teached during the lecture.

Mode of delivery (face to face, distance learning, hybrid learning)

Face-to-face course

Additional information:

Face-to-face course

Additional information:

In case teaching activities would be restricted on campus, lectures will also be broadcasted online. Connection information will be provided in due time.

Recommended or required readings

The lecture will be based on the following book as well as on various notebooks and existing online material:

Other useful references will be provided to the students during the lectures.

Exam(s) in session

Any session

- In-person

written exam ( open-ended questions ) AND oral exam

- Remote

written exam ( open-ended questions ) AND oral exam

Additional information:

Evaluation will be based upon

  • a written (notebook) + oral exam;
  • and/or the realization and presentation of a research and programming project (individually or in small groups)

> Face-to-face written and oral exam

> September/August session: face-to-face written (Notebook) + oral exam. If needed due to sanitary conditions, the students will be evaluated using Microsoft Teamns (or a similar tool). 

Work placement(s)

This course does not require any internship.

Organisational remarks and main changes to the course

Lectures (including tutorials) will be given during the fall term, starting on 18th September 2023. They are generally scheduled on Mondays and Wednesdays, from 16:00 to 18:00 in the PC room 2.25 (B5a build.). Please check out Celcat for the exact schedule and for possible last minute changes.


Dominique Sluse
University of Liège
Institut d'Astrophysique et de Géophysique (B5c build.)
17, allée du Six-Août
B-4000 Liège
Phone: (+32) (4) 366 9797  (D. Sluse)

eMail: dsluse@uliege.be

Association of one or more MOOCs

There is no MOOC associated with this course.

Items online

Notebooks used for the Lecture SPAT-0002
Jupyter notebooks used during the lectures (Ongoing ; Archives prior to 2023 also available but the content is partly different from the current lecture - no machine learning in the current verion)

Complementary support: 'Statistics, Data Mining and Machine Learning in Astronomy', Ivezic, Connolly, VanderPlas, and Gray, 2012 (Princeton University Press) (http://www.astroml.org/)