Stochastic Processes: Data Analysis and Computer Simulation

The course deals with how to simulate and analyze stochastic processes, in particular the dynamics of small particles diffusing in a fluid.

There is one session available:

18,626 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Jan 20
Ends Aug 4
Estimated 6 weeks
2–3 hours per week
Self-paced
Free

The motion of falling leaves or small particles diffusing in a fluid is highly stochastic in nature. Therefore, such motions must be modeled as stochastic processes, for which exact predictions are no longer possible. This is in stark contrast to the deterministic motion of planets and stars, which can be perfectly predicted using celestial mechanics.

This course is an introduction to stochastic processes through numerical simulations, with a focus on the proper data analysis needed to interpret the results. We will use the Jupyter (iPython) notebook as our programming environment. It is freely available for Windows, Mac, and Linux through the Anaconda Python Distribution.

The students will first learn the basic theories of stochastic processes. Then, they will use these theories to develop their own python codes to perform numerical simulations of small particles diffusing in a fluid. Finally, they will analyze the simulation data according to the theories presented at the beginning of course.

At the end of the course, we will analyze the dynamical data of more complicated systems, such as financial markets or meteorological data, using the basic theory of stochastic processes.

At a glance

• Institution: KyotoUx
• Subject: Physics
• Level: Intermediate
• Prerequisites:

Differential and integral calculus and Linear algebra at a 2nd year undergraduate level.

• Language: English
• Video Transcript: English

What you'll learn

Skip What you'll learn
• Basic Python programming
• Basic theories of stochastic processes
• Simulation methods for a Brownian particle
• Application: analysis of financial data

Syllabus

Skip Syllabus

Week 1: Python programming for beginners
- Using Python, iPython, and Jupyter notebook
- Making graphs with matplotlib
- The Euler method for numerical integration
- Simulating a damped harmonic oscillator
Week 2: Distribution function and random number
- Stochastic variable and distribution functions
- Generating random numbers with Gaussian/binomial/Poisson distributions
- The central limiting theorem
- Random walk
Week 3: Brownian motion 1: basic theories
- Basic knowledge of Stochastic process
- Brownian motion and the Langevin equation
- The linear response theory and the Green-Kubo formula
Week 4: Brownian motion 2: computer simulation
- Random force in the Langevin equation
- Simple Python code to simulate Brownian motion
- Simulations with on-the-fly animation
Week 5: Brownian motion 3: data analyses
- Distribution and time correlation
- Mean square displacement and diffusion constant
- Interacting Brownian particles
Week 6: Stochastic processes in the real world
- Time variations and distributions of real world processes
- A Stochastic Dealer Model I
- A Stochastic Dealer Model II
- A Stochastic Dealer Model III

Learner testimonials

Skip Learner testimonials

"A very high quality course. It covers physics, economy, python and a lot of mathematic."