astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v5.2.1 »
- Astrostatistics Tools (`astropy.stats`) »
- Circular Statistics »
- circvar

# circvar

astropy.stats.circstats.circvar(data, axis=None, weights=None)

  Computes the circular variance of an array of circular data.

  There are some concepts for defining measures of dispersion for circular data. The variance implemented here is based on the definition given by [1], which is also the same used by the R package ‘CircStats’ [2].

  Parameters:
    data `ndarray` or `Quantity`

      Array of circular (directional) data, which is assumed to be in radians whenever `data` is `numpy.ndarray`. Dimensionless, if Quantity.

    axis `python:int`, optional

      Axis along which circular variances are computed. The default is to compute the variance of the flattened array.

    weights `numpy.ndarray`, optional

      In case of grouped data, the i-th element of `weights` represents a weighting factor for each group such that `sum(weights, axis)` equals the number of observations. See [1], remark 1.4, page 22, for detailed explanation.

  Returns:
    circvar `ndarray` or `Quantity` [:ref: ‘dimensionless’]

      Circular variance.

  Notes

  The definition used here differs from the one in scipy.stats.circvar. Precisely, Scipy circvar uses an approximation based on the limit of small angles which approaches the linear variance.

  References

  [1] (1,2)

  S. R. Jammalamadaka, A. SenGupta. “Topics in Circular Statistics”. Series on Multivariate Analysis, Vol. 5, 2001.

  [2]

  C. Agostinelli, U. Lund. “Circular Statistics from ‘Topics in Circular Statistics (2001)’”. 2015. <https://cran.r-project.org/web/packages/CircStats/CircStats.pdf>

  Examples

      >>> import numpy as np
      >>> from astropy.stats import circvar
      >>> from astropy import units as u
      >>> data = np.array([51, 67, 40, 109, 31, 358])*u.deg
      >>> circvar(data)
      <Quantity 0.16356352748437508>