biweight_location#

astropy.stats.biweight.biweight_location(data, c=6.0, M=None, axis=None, *, ignore_nan=False)[源代码]#

计算重锤位置。

双权定位是确定分布中心位置的稳健统计。计算公式如下:

\[\zeta_{biloc}=M+\frac{\sum_{ |u_i| <1}\(x_i-M)(1-u_i^2)^2} {\SUM_{ |u_i| <1}\(1-u_i^2)^2}\]

在哪里? \(x\) 是输入数据, \(M\) 是样本中值(或输入初始位置猜测)和 \(u_i\) 计算公式:

\[u{i}=\frac{(x}i-M)}{c*MAD}\]

在哪里? \(c\) 调谐是否恒定且 \(MAD\)median absolute deviation . 双重定位调谐常数 c 通常为6.0(默认值)。

如果 \(MAD\) 为零,则返回中值。

参数:
data : array_likeNumpy:ARRAY_LIKE

可以转换为数组的输入数组或对象。 data 可以是 MaskedArray .

c : float ,可选Python:Float,可选

双权重估计器的调整常数(默认值=6.0)。

M : floatarray_like ,可选PYTHON:FLOAT或NumPY:ARRAY_LIKE,可选

位置的初步猜测。如果 M 是标量值,则其值将用于整个数组(或沿每个数组使用 axis ,如果指定)。如果 M 是一个数组,那么它必须是一个包含每个数组的初始位置估计值的数组 axis 输入数组的。如果 None (默认),则将使用输入数组的中值(或沿每个数组) axis ,如果指定)。

axis : Noneint ,或 tupleint ,可选PYTHON:NONE、PYTHON:INT或PYTHON:TUTPLE OF PYTHON:INT,可选

计算重锤位置的一个或多个轴。如果 None (默认),然后将计算平坦输入数组的双权重位置。

ignore_nan : bool ,可选可选的布尔

是否忽略输入中的NaN值 data .

返回:
biweight_location : floatndarrayPython :浮点或ndarray

输入数据的双权位置。如果 axisNone 然后返回一个标量,否则 ndarray 将被退回。

工具书类

[1]

比尔斯、弗林和格哈特(1990;AJ 100、32)(https://ui.adsabs.harvard.edu/abs/1990AJ….100…32B)

实例

从高斯分布生成随机变量,并返回分布的双权位置:

>>> import numpy as np
>>> from astropy.stats import biweight_location
>>> rand = np.random.default_rng(12345)
>>> biloc = biweight_location(rand.standard_normal(1000))
>>> print(biloc)    
0.01535330525461019