biweight_midvariance

astropy.stats.biweight_midvariance(data, c=9.0, M=None, axis=None, modify_sample_size=False, *, ignore_nan=False)[ソース]

二重体の中国分散を計算する。

双権中国分散は分布分散を決定するロバスト統計量である.その平方根は規模(すなわち標準偏差)のロバストな推定器である。これは以下のスタッフによって提供されます。

ζbivar=n |ui|<1 (xiM)2(1ui2)4(|ui|<1 (1ui2)(15ui2))2

どこだ? x 入力データです M サンプル中央値(または入力位置)であり、 ui 以下の者が提供します。

Ui=(xiM)cmad

どこだ? c 同調定数であり MAD はい。 median absolute deviation それがそうです。双権中国分散同調定数 c 通常は9.0(デフォルト値)です。

もし MAD ゼロであればゼロに戻る.

For the standard definition of biweight midvariance, n is the total number of points in the array (or along the input axis, if specified). That definition is used if modify_sample_size is False, which is the default.

しかしもし modify_sample_size = True そして、そして n そのために指定された点 |ui|<1 (すなわち、未拒否値の総数)、すなわち

n=|ui|<1 1

これは、小さいサンプルサイズまたは大量の拒否値に対する値の方が真の分散に近いことをもたらす。

パラメータ
dataアレイ式.

配列の入力配列やオブジェクトに変換することができる. data はい一つです。 MaskedArray それがそうです。

c浮動、オプション

デュアル重み推定器の定数(デフォルト値=9.0)を調整する。

M浮動小数点または類似配列、オプション

位置推定。もし…。 M スカラ値である場合、その値は、配列全体(または各配列に沿って)に使用されるであろう axis 指定されていれば)。もし…。 M 配列であれば、各位置推定値を含む配列でなければならない axis 配列を入力します。もし…。 None (デフォルト)、入力配列の中央値(またはそれぞれに沿って)が使用される axis 指定されていれば)。

axis無、整数、または整数タプル、オプション

これに沿って双権中国分散の1つまたは複数の軸を計算する。もし…。 None (デフォルト)、平坦化された入力アレイの二重重み中間分散が計算される。

modify_sample_sizeブル値、オプション

もし False (デフォルト)、使用されるサンプルサイズは、配列内の(または入力に沿って)要素の総数である axis 指定されていれば)は,双権中国分散の基準に従って定義される.もし…。 True サンプルサイズは、任意の拒否値を補正するために減少され(すなわち、使用されるサンプルサイズは非拒否値のみを含む)、これは、小さいサンプルサイズまたは大量の拒否値に対して、より真の分散に近い値をもたらす。

ignore_nanブル値、オプション

入力中のNaN値を無視するかどうか data それがそうです。

返品
biweight_midvariance :浮動または ndarray浮遊や

入力データの両権は中国分散である.もし…。 axis はい。 None スカラーを返しますそうでなければ開始されます ndarray 返されます。

参考文献

1

Https://en.wikipedia.org/wiki/Robust_Measures_of_scale#the_biweight_midvariance

2

Beers,FlynnおよびGebhardt(1990;AJ 100,32)(https://ui.adsab.forforard.edu/abs/1990 AJ...100...32 B)

実例.

ガウス分布から乱数を生成し、この分布の双重み中国分散を返す:

>>>
>>> import numpy as np
>>> from astropy.stats import biweight_midvariance
>>> rand = np.random.default_rng(12345)
>>> bivar = biweight_midvariance(rand.standard_normal(1000))
>>> print(bivar)    
1.0484350639638342