scipy.stats.circvar#
- scipy.stats.circvar(samples, high=6.283185307179586, low=0, axis=None, nan_policy='propagate')[source]#
Compute the circular variance for samples assumed to be in a range.
- Parameters
- samplesarray_like
Input array.
- highfloat or int, optional
High boundary for the sample range. Default is
2*pi
.- lowfloat or int, optional
Low boundary for the sample range. Default is 0.
- axisint, optional
Axis along which variances are computed. The default is to compute the variance of the flattened array.
- nan_policy{‘propagate’, ‘raise’, ‘omit’}, optional
Defines how to handle when input contains nan. ‘propagate’ returns nan, ‘raise’ throws an error, ‘omit’ performs the calculations ignoring nan values. Default is ‘propagate’.
- Returns
- circvarfloat
Circular variance.
Notes
This uses the following definition of circular variance:
1-R
, whereR
is the mean resultant vector. The returned value is in the range [0, 1], 0 standing for no variance, and 1 for a large variance. In the limit of small angles, this value is similar to half the ‘linear’ variance.References
- ..[1] Fisher, N.I. Statistical analysis of circular data. Cambridge
University Press, 1993.
Examples
>>> from scipy.stats import circvar >>> circvar([0, 2*np.pi/3, 5*np.pi/3]) 0.6666666666666665