Skip to main content

“Stochastic Processes: Data Analysis and Computer Simulation”

This is the third round of the course as the self-paced format. The original version of the course was produced and operated from March 30, 2017 to May 11, 2017.

Instructors: Ryoichi Yamamoto & John J. Molina

See "Meet the Course Staff" section for more details.

Course Description

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.

What you'll learn

  • Basic Python programming
  • Basic theories of stochastic processes
  • Simulation methods for a Brownian particle
  • Application: analysis of financial data

Prerequisites

In addition to the knowledge of introductory physics, basic knowledge of linear algebra, calculus (differential and integral), and partial differential equations must be mastered beforehand.

Time commitment

2-3 hours per week

Lectures

Each course will be provided with short Lecture Videos by the instructor, Ryoichi Yamamoto (in all weeks) and John J. Molina (in week 6) along with a set of short Problems related to the contents of the Lecture Videos. By watching the videos and answering the Problems, we hope that all participants will gain practical skills to perform numerical simulations and conduct proper data analysis needed to interpret the results. We also hope that the participants will get some deep insights from real-world data, such as financial markets or meteorological data, using proper knowledge which will be obtained through the course. 

To get started, click on the "Course" tab at the top of the page. 

Discussion

You are invited to participate in the Discussion forum (See Forum Guidelines here)  to share ideas and ask questions to peers relating to each of the course’s contents. We hope this opportunity will lead to fruitful exchanges and discussion.

Assignments and Grading Criteria

To earn a certificate for the course, students must mark the score of 60% or more. Grading for the course is as below.

A: 85 -100%
B: 75 - 84%
C: 60 - 74%
F: Below 59%

Problems and Completion Checklist assigned every week, count for 48% (8% for Problems of each week) and 15% (4, 2, 2, 2, 2 & 3%, respectively) in total, respectively. During this course, learners are asked to work on three Homework assignments. The total of Homework counts for 37% (6, 7, 6, 6, 6 & 6%, respectively).

 Problems: 48%

       -Due date: End of the course

Completion Checklist: 15%

       -Due date: End of the course

Homework 1: 6%

       -Due date: End of the course

Homework 2: 7%

       -Due date: End of the course

Homework 3: 6%

       -Due date: End of the course

Homework 4: 6%

       -Due date: End of the course

Homework 5: 6%

       -Due date: End of the course

Homework 6: 6%

       -Due date: End of the course

If you are on the verified track and mark the passing score, certificates will be issued automatically by edX under the name of KyotoUx.

Please pay attention to due dates of each Problem, Homework, and so on. To avoid any kinds of unexpected troubles including the Internet disconnection, we strongly recommend all learners to submit them with time to spare.

Course Schedule

WeekTopicHomework
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
Yes
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
Yes
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

Yes
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
Yes
5

Brownian motion 3: Data analyses

  • Distribution and time correlation
  • Mean square displacement and diffusion constant
  • Interacting Brownian particles
Yes
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
Yes

This course will end on Thursday, August 1, 2019.