Stochastic Processes with Applications

This course presents a broad introduction to stochastic processes. The main focus is on their application to a variety of modeling situations and on numerical simulations, rather than on the mathematical formalism. After a brief resume of the main concepts in probability theory, we introduce stochastic processes and the concept of stochastic trajectory. We then broadly classify stochastic processes (discrete/continuous time and space, Markov property, forward and backward dynamics). The rest of the course is devoted to the most common stochastic processes: Markov chains, Master Equations, Langevin/Fokker-Planck equations. For each process, we present applications in physics, biology, and neuroscience, and discuss algorithms to
simulate them on a computer. The course include “hands-on” sessions in which the students will write their own Python code (based on a template) to simulate stochastic processes, aided by the instructor. These numerical simulations are finalized as homework and constitute the main evaluation of the course.

Prerequisites or Prior Knowledge

• Basic calculus: students should be able to calculate integrals, know what a Fourier transform is, and solve simple differential equations.

• Basic probability theory: students should be familiar with basic probability theory, e.g. discrete and continuous distributions, random variables, conditional probabilities, mean and variance, correlations. These concepts are briefly revised at the beginning of the course.

• Scientific programming: the students are expected to be already able to write, for example, a program to integrate a differential equation numerically via the Euler scheme and plot the results. Python is the standard language for the course. The students are required to install the Jupiter notebook system and bring their own laptop for the hands-on sessions.