Movement matrices are calculated for all age classes from a base matrix and a gravity model formulation (Carruthers et al. 2016).
Arguments
- x
Base log-movement parameters. See details. Array
[a, r, r]
- g
Gravity model attractivity term. Tendency to move to region
r
. Matrix[a, r]
- v
Gravity model viscosity term. Tendency to stay in same region. Vector by
a
- na
Integer, number of ages
- nr
Integer, number of regions
- aref
Integer, reference age class
Details
Rows index region of origin and columns denote region of destination.
In log space, the movement matrix \(m_a\) for age class \(a\) from region \(r\) to \(r'\) is the sum of base matrix \(x\) and gravity matrix \(G\): $$m_{a,r,r'} = x_{a,r,r'} + G_{a,r,r'}$$
To essentially exclude movement from \(r\) to \(r'\), set \(x_{a,r,r'} = -1000\).
Gravity matrix \(G\) includes an attractivity term \(g\) and viscosity term \(v\):
$$G_{a,r,r'} = \begin{cases} g'_{a,r'} + v_a \quad & r = r'\\ g'_{a,r'} \quad & \textrm{otherwise} \end{cases} $$
Vector \(g'\) are offset terms relative to the value for the reference age class: $$g'_{a,r'} = \begin{cases} g_{a,r} \quad & a = a_{ref}\\ g_{a,r} + g_{a=aref,r} \quad & \textrm{otherwise} \end{cases} $$
The movement matrix in normal space is obtained by the softmax transformation: $$M_{a,r,r'} = \dfrac{\exp(m_{a,r,r'})}{\sum_{r'}\exp(m_{a,r,r'})}$$
If \(x\) and \(v\) are zero, then the movement matrix simply distributes the total stock abundance into the various regions as specified in \(g'\).
References
Carruthers, T.R., et al. 2015. Modelling age-dependent movement: an application to red and gag groupers in the Gulf of Mexico. CJFAS 72: 1159-1176. doi:10.1139/cjfas-2014-0471