Simulating a stochastic differential equation
Stochastic Differential Equations (SDEs) model dynamical systems that are subject to noise. They are widely used in physics, biology, finance, and other disciplines.
In this recipe, we simulate an Ornstein-Uhlenbeck process, which is a solution of the Langevin equation. This model describes the stochastic evolution of a particle in a fluid under the influence of friction. The particle's movement is due to collisions with the molecules of the fluid (diffusion). The difference with the Brownian motion is the presence of friction.
The Ornstein-Uhlenbeck process is stationary, Gaussian, and Markov, which makes it a good candidate to represent stationary random noise.
We will simulate this process with a numerical method called the Euler-Maruyama method. It is a simple generalization to SDEs of the Euler method for ODEs.
How to do it...
- Let's import NumPy and Matplotlib:
>>> import numpy as np import matplotlib.pyplot as plt ...