大约

astropy.stats.circstd(data, axis=None, weights=None, method='angular')[源代码]

计算循环数据数组的循环标准差。

此处实施的标准偏差基于 [1], 这也是R包'CirStat'使用的相同方法 [2].

实现了两种方法:“角度”和“圆形”。前者定义为sqrt(2 * (1 - R)) and it is bounded in [0, 2* 圆周率]。后者被定义为sqrt(-2*ln(R))并且它在 [0,inf] .

在“CircStat”之后,用于获取标准偏差的默认方法是“angular”。

参数
data :ndarray或 Quantityndarray或

圆形(定向)数据的数组,假定在任何时候都以弧度表示 datanumpy.ndarray 。如果是数量,则必须是无量纲的。

axis可选的

计算循环方差的轴。默认值是计算展平数组的方差。

weights努比·恩达雷,可选

对于分组数据,第i个元素 weights 表示每个组的权重因子,以便 sum(weights, axis) 等于观察数。看到了吗 [3], 备注1.4,第22页,详细说明。

method可选的STR

用于估计标准差的方法:

  • “角度”:获取角度偏差

  • “循环”:获取圆偏差

返回
circstdndarray或

角度或圆形标准偏差。

工具书类

1

P、 贝伦斯。”CircStat:一个用于循环统计的MATLAB工具箱。统计软件杂志,第31卷,第10期,2009年。

2

C、 阿古斯蒂内利,U.Lund“循环统计专题(2001)”中的循环统计。2015<https://cran.r-project.org/web/packages/CircStats/CircStats.pdf>

3

S、 R.Jammalamadaka,A.SenGupta.“循环统计专题”。多元分析系列,第5卷,2001年。

实例

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

或者,使用“循环”方法:

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