We start by making the fundamental assumption that the overall trajectory can be separated into discrete positions which, together, create a trajectory.
This discretization allows us to use a Hidden Markov model, which conveniently distinguishes the unknown positions of a bird \(X_t\) from some known observations \(Y_t\) which can be related to these positions (e.g., pressure or light measurement). Defining an HMM requires that we set:
- An observation model \(P(Y_t | X_t)\), which defines the likelihood of observing a measurement at a given position. This is exactly what our pressure likelihood map computed in the previous chapter does.
- A movement model \(P(X_t+1|X_t)\), defining the probability that a bird was able to fly a specific distance between two consecutive stationary periods.
- An initial state \(P(X_0)\), technically required but this does not constitute a strong constraint in our case.
Let’s say that our goal is to produce the probability map for each stationary period accounting for all pressure measurements while maintaining likely flights. This corresponds to the marginal probability map \(P(X_t=x_t|Y_0=y_0,...Y_t=y_t)\). If you are not familiar with the lower and capital case, \(X_t\) represents the random variable (i.e., the position of the bird at a stationary period \(t\)), while \(x_t\) is a specific value that \(X\) can take, in our case, the specific coordinates of pixels on the map.
Because the number of possible positions is limited (i.e., number of pixels on the map), we can solve the HMM exactly. This is in contrast to Markov Chain Monte Carlo (MCMC) algorithm, which does not assume any discretization of space but relies on an iterative approach to solve the model.
A graph is a convenient mathematical representation of a model which has states (nodes) and relations between these states (edges). Graphs are a general and fundamental mathematical tool, but here we use a specific graph structure corresponding to the HMM presented above: two states \(X\) and \(Y\) for each time step \(t\) (nodes), and an observation and movement model (relating \(X_t\) to \(X_t+1\) and \(Y_t\) to \(X_t\) respectively). All other relationships are assumed to be independent.
Typically in animal movement, the graph is only used to represent the random variable of the HMM, but in our case, we also use the concept of graph to store all discrete positions (i.e., pixels) of the bird at all timesteps, referred to as a trellis graphs.
You can think of the nodes as a full 3D grid of lat x lon x stationary period and the edges as all possible pairs of nodes between two consecutive stationary periods. As you can imagine, this results in a very high number of edges! The novelty of Nussbaumer et al. (2023) is to construct this graph using only the useful nodes and edges, thereby dramatically reducing the computational resources required.