In my opinion, the only definition related to directional variance that is in some sense 'natural' or 'canonical' is the mean resultant length. I would even argue the same in the circular data setting, as I don't particularly find $(1-R)$ appealing even in that setting.
What is 'natural' or 'canonical' is (for me) mostly determined by whether the definition leads to simple equations. From this perspective, the mean resultant length wins by a landslide, as it is ubiquitous in formulae relating to the distribution of the parameters (e.g. for the von-Mises-Fisher), as well as many other computations in directional statistics. Situations where the directional variance (in whichever formulation) would simplify the equations are really rare.
From that perspective, the directional variances, as well as the circular standard deviation (which also doesn't have a 'natural' definition), are simply arbitrary measures of spread. They can sometimes be useful to compare the spread in different samples. However, their interpretation requires the user to be familiar with the scale and behaviour of these measures (e.g. what does it mean if the value doubles?).
As a result, I recommend thinking about it as follows:
- Measure of location:
- Linear: mean
- Directional: mean direction
- Measure of dispersion:
- Linear: variance/standard deviation measures spread
- Directional: mean resultant length measures precision
So to map this to the direct question, my two cents would be:
- Directly expose the mean resultant length as
scipy.stats.mean_resultant_length.
- Directly expose the mean direction
scipy.stats.mean_direction which returns a unit vector in the mean direction (arguably you could simplify to a scalar angle in the circular case).
- Don't return the mean resultant length from the mean direction function. Instead, implement
scipy.stats.resultant_vector, which is $R\boldsymbol{\mu}$, and/or scipy.stats.mean_resultant_vector, which is $\bar{R}\boldsymbol{\mu} = \frac{R}{n} \boldsymbol{\mu}.$
- Optionally provide 'additional' measures of spread such as both the directional variances, but don't focus on these in formulations or documentation, and don't use them in calculations in directional statistics functions in
scipy.