biweight_location#
- astropy.stats.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 :
float
或 array_like ,可选PYTHON:FLOAT或NumPY:ARRAY_LIKE,可选 位置的初步猜测。如果
M
是标量值,则其值将用于整个数组(或沿每个数组使用axis
,如果指定)。如果M
是一个数组,那么它必须是一个包含每个数组的初始位置估计值的数组axis
输入数组的。如果None
(默认),则将使用输入数组的中值(或沿每个数组)axis
,如果指定)。- axis :
None
,int
,或tuple
的int
,可选PYTHON:NONE、PYTHON:INT或PYTHON:TUTPLE OF PYTHON:INT,可选 计算重锤位置的一个或多个轴。如果
None
(默认),然后将计算平坦输入数组的双权重位置。- ignore_nan : bool ,可选可选的布尔
是否忽略输入中的NaN值
data
.
- 返回:
工具书类
[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