Hurricane Joaquin

Tropical cyclones are heat engines fuelled by latent heat flux from tropical oceans to the atmosphere. The circulation structure of a fully developed tropical cyclone is highly organised. The structure extends to the top of the troposphere (where heat energy is radiated away to space). For this reason, vertical wind shear (associated with high winds aloft or jet streams) inhibits the formation of these storms or disrupts one that is already in place.

The video shows the evolution of the deadly category 4 Hurricane Joaquin. Isobars are shown on a background  of 250mb wind speeds (i.e. near top of troposphere). Joaquin develops from a tropical Atlantic depression North-East of the Bahamas on 28 September. It is evident the hurricane intensified in a region of low wind shear.

250mb wind speed


data handling/graphics: wgrib2, R, ggplot2, ffmpeg

hurricane physics: Kerry Emmanuel

Markov chains, hysteresis and logistic regression.

Logistic regression models the response of a binary variable to a covariate. The binary data produced by a two state Markov process coupled to an external covariate can be fit using logistic regression. Under what circumstances, if any, is this a valid approach?

At each time step i, the non-stationary Markov process is governed by a transition matrix

(1)   \begin{equation*}P_i=\left(\begin{array}{cc} p_i & 1-p_i \\ 1-q_i & q _i\end{array}\right)\end{equation*}

where 0 \leq p_i,q_i \leq 1P can be coupled to the external covariate x using logistic functions, which preserve the stochastic matrix property. For instance, choose:

(2)   \begin{eqnarray*} p_i &=& \frac{1}{1+e^{2\left(1+2x_i\right)}}\\ q_i &=& \frac{1}{1+e^{2\left(1-2x_i\right)}} \end{eqnarray*}

Also, assume that x varies harmonically with timescale (angular period) T i.e.

(3)   \begin{equation*} x_i= \sin \left( \frac{i}{T} \right) \end{equation*}

The graph below the expected response (a number between 1 & 2) as a function of x obtained by simulating 200 Markov chains of length 10^5 using Equations (1)-(3).


The striking feature is the appearance of an hysteresis loop. Hysteresis, where the mean response has separate branches for increasing and decreasing x, becomes pronounced when x varies rapidly (small T). On the other hand, when x varies slowly, the mean response collapses to a single branch.

What’s going on?

Starting from some initial state, a markov chain approaches it’s equilibrium distribution after a mixing time. The mixing time is longer when there are bottlenecks e.g.when q \simeq 1 in (1). When the covariate varies on a time-scale which is long compared to the mixing time, the system remains close to equilibrium at all times. Hysteresis is absent in this case. Conversely, when the covariate varies rapidly the transition matrix changes too quickly for the system to reach equilibrium. This leads to hysteresis.

Logistic regression is valid as long as the mixing time is short compared to the timescale over which the covariate varies. However, if the mixing time is long, multiple branches of the response are present. This aspect of Markov chain dynamics is missing from ordinary logistic regression. This conclusion generalises to the N-state/multinomial regression case.

Markov chain simulation

A good way simulate non-stationary Markov chains in R is to pass a list of transition matrices to a C++ function (MCsim1) using Rcpp. For example:

where “~/markov.cpp” contains: