next up previous
Next: Colored Noise Up: APC591 Tutorial 7: A Previous: A Standard Wiener Process

White Noise

White noise $\eta(t)$ is the formal derivative of a Wiener process $W(t)$ (this is a formal derivative because $W$ has probability one of being nondifferentiable). White noise has the properties

For example, consider the stochastic differential equation

\begin{displaymath}
\frac{dx}{dt} = \epsilon \eta(t) = \epsilon \frac{dW}{dt}.
\end{displaymath} (1)

Here $\epsilon \eta(t)$ represents the noise, and since

\begin{displaymath}
\langle \epsilon \eta(t) \epsilon \eta(s) \rangle = \epsilon^2 \delta(t-s),
\end{displaymath}

we interpret $\epsilon$ as the r.m.s. noise strength. Multiplying equation (1) by $dt$,
\begin{displaymath}
dx = \epsilon dW.
\end{displaymath} (2)

Let

\begin{displaymath}
t_j = j dt.
\end{displaymath}

Then
\begin{displaymath}
\int_{t_{j-1}}^{t_j} dx = \epsilon \int_{t_{j-1}}^{t_j} dW,
\end{displaymath} (3)

so

\begin{displaymath}
x(t_j) = x(t_{j-1}) + \epsilon (W(t_j) - W(t_{j-1})).
\end{displaymath}

Finally, defining $x_j \equiv x(t_j)$ and $dW_j \equiv W(t_j) - W(t_{j-1})$,
\begin{displaymath}
x_j = x_{j-1} + \epsilon dW_j.
\end{displaymath} (4)

This is easily programmed in Matlab, and for $\epsilon=1$ gives a Wiener process such as that shown in Figure 1.

In general, for the stochastic differential equation

\begin{displaymath}
\frac{dx}{dt} = f(x(t)) + g(x(t)) \eta(t),
\end{displaymath} (5)


\begin{displaymath}
dx = f(x(t)) dt + g(x(t)) dW,
\end{displaymath}


\begin{displaymath}
\underbrace{\int_{t_{j-1}}^{t_j} dx}_{x_j - x_{j-1}} = \unde...
...ce{\int_{t_{j-1}}^{t_j} g(x(t)) dW}_{\approx g(x_{j-1}) dW_j}.
\end{displaymath}

Thus,
\begin{displaymath}
x_j \approx x_{j-1} + f(x_{j-1}) dt + g(x_{j-1}) dW_j.
\end{displaymath} (6)

This is known as the Euler-Maruyama Method for solving stochastic differential equations.

For example, suppose that we want to solve the formal equation

\begin{displaymath}
\frac{dx}{dt} = \lambda x + \mu x \eta(t),
\end{displaymath} (7)

or equivalently,
\begin{displaymath}
dx = \lambda x(t) dt + \mu x(t) dW.
\end{displaymath} (8)

Note that this equation can be solved exactly, with
\begin{displaymath}
x(t) = x(0) \exp \left( (\lambda - \frac{1}{2} \mu^2) t + \mu W(t) \right).
\end{displaymath} (9)

The following program em_simple.m is a slight modification of the program em.m from the article by Higham; it numerically solves equation (8) and compares to the exact solution.

%EM  Euler-Maruyama method on linear SDE
%
% SDE is  dX = lambda*X dt + mu*X dW,   X(0) = Xzero,
%      where lambda = 2, mu = 1 and Xzero = 1.
%
% Discretized Brownian path over [0,1] has dt = 2^(-8).
% Euler-Maruyama uses timestep dt.

randn('state',100)
lambda = 2                        % problem parameters
mu = 1; 
Xzero = 1;
T = 1; 
N = 2^8; 
dt = 1/N;         

dW = sqrt(dt)*randn(1,N);         % Brownian increments
W = cumsum(dW);                   % discretized Brownian path 

Xtrue = Xzero*exp((lambda-0.5*mu^2)*([dt:dt:T])+mu*W); 
plot([0:dt:T],[Xzero,Xtrue],'m-'), hold on

Xem = zeros(1,N);                 % preallocate for efficiency

Xem(1) = Xzero + dt*lambda*Xzero + mu*Xzero*dW(1);

for j=2:N
   Xem(j) = Xem(j-1) + dt*lambda*Xem(j-1) + mu*Xem(j-1)*dW(j);
end

plot([0:dt:T],[Xzero,Xem],'b--*'), hold off
xlabel('t','FontSize',12)
ylabel('x','FontSize',16,'Rotation',0,'HorizontalAlignment','right')

emerr = abs(Xem(end)-Xtrue(end))

Text version of this program


This produces Figure 2:

Figure 2: True solution (solid line) and approximate solution (dashed line with asterisks) for equation (8).
\begin{figure}\begin{center}
\leavevmode
\epsfbox{figure_em.eps}\end{center}\end{figure}


next up previous
Next: Colored Noise Up: APC591 Tutorial 7: A Previous: A Standard Wiener Process
Jeffrey M. Moehlis 2001-12-06