biweight_midvariance¶
- astropy.stats.biweight.biweight_midvariance(data, c=9.0, M=None, axis=None, modify_sample_size=False, *, ignore_nan=False)[ソース]¶
二重体の中国分散を計算する。
双権中国分散は分布分散を決定するロバスト統計量である.その平方根は規模(すなわち標準偏差)のロバストな推定器である。これは以下のスタッフによって提供されます。
\[\zeta_{bivar} = n \ \frac{\sum_{|u_i| < 1} \ (x_i - M)^2 (1 - u_i^2)^4} {(\sum_{|u_i| < 1} \ (1 - u_i^2) (1 - 5u_i^2))^2}\]どこだ? \(x\) 入力データです \(M\) サンプル中央値(または入力位置)であり、 \(u_i\) 以下の者が提供します。
\[U_{i}=\frac{(x_i−M)}{c*mad}\]どこだ? \(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 ifmodify_sample_size
isFalse
, which is the default.しかしもし
modify_sample_size = True
そして、そして \(n\) そのために指定された点 \(|u_i| < 1\) (すなわち、未拒否値の総数)、すなわち\[n = \sum_{|u_i| < 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
それがそうです。
- 返品
参考
参考文献
- 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