sigma_clip

astropy.stats.sigma_clip(data, sigma=3, sigma_lower=None, sigma_upper=None, maxiters=5, cenfunc='median', stdfunc='std', axis=None, masked=True, return_bounds=False, copy=True, grow=False)[ソース]

提供されたデータに対してsigma-クロッピングを実行します。

データは反復され、各拒否は、中心値からの標準偏差が指定された数の値よりも小さいか、またはそれよりも大きい。

クロッピング(拒否)ピクセルとは、以下の位置のピクセルを意味する:

data < cenfunc(data [,axis=int]) - (sigma_lower * stdfunc(data [,axis=int]))
data > cenfunc(data [,axis=int]) + (sigma_upper * stdfunc(data [,axis=int]))

無効なデータ値(すなわちNaNまたはInf)は自動的に裁断される.

Sigmaクロッピングのオブジェクト指向インタフェースについては、参照されたい SigmaClip それがそうです。

注釈

scipy.stats.sigmaclip このような機能のサブセットを提供する.さらに、その入力データはマスク配列であってはならず、無効値(すなわちNaNまたはInf)を含むデータは処理されない。なお,中央関数として平均値を用いる.

もしあなたのデータが ndarray 無効値はなく,中央関数として平均値を用いることが望ましい axis=None 収束まで繰り返しました scipy.stats.sigmaclip ここの等価設定より約25%~30%速い (sigma_clip(data, cenfunc='mean', maxiters=None, axis=None) )。

パラメータ
data :配列のようなまたは MaskedArray配列のような

シグマ裁断をしたデータをお願いします。

sigma浮動、オプション

下限と上限を裁断するための標準偏差数。これらの制約は以下のようにカバーされている sigma_lower そして sigma_upper 入力すれば。デフォルト値は3です。

sigma_lower浮いているかないか、オプション

裁断制限下限として用いた標準偏差数.もし…。 None その価値は sigma 使っています。黙認する. None それがそうです。

sigma_upper浮いているかないか、オプション

裁断制限上限の標準偏差数として用いる.もし…。 None その価値は sigma 使っています。黙認する. None それがそうです。

maxiters完全型または無型、オプション

実行するシグマトリミングの繰り返しの最大回数または None 収束に達するまで裁断が行われる(すなわち、反復は最後の反復まで何も裁断されない)。その前に収束が実現すれば maxiters 反復が繰り返されると、裁断反復は停止される。デフォルト値は5である.

cenfunc{‘中央値’,‘平均値’}または呼び出し可能であり,オプションである.

クロッピング中心値を計算するための統計的または調整可能な関数/オブジェクト。呼び出し可能な関数/オブジェクトが使用される場合 axis キーワードは、NANを無視することができなければならない(例えば、 numpy.nanmean )を持っています axis キーワードは軸次元を削除した配列を返す.黙認する. 'median' それがそうです。

stdfunc{‘std’,‘MAD_std’}または呼び出し可能であり、オプションである

中心値の標準偏差を計算するための統計的または調整可能な関数/オブジェクト。呼び出し可能な関数/オブジェクトが使用される場合 axis キーワードは、NANを無視することができなければならない(例えば、 numpy.nanstd )を持っています axis キーワードは軸次元を削除した配列を返す.黙認する. 'std' それがそうです。

axisIntまたはintのないタプルは、オプションである

そのシグマに沿ってデータの1つ以上の軸を裁断しなければならない。もし…。 None スティッチングされたデータが使用される. axis 伝達することができます cenfunc そして stdfunc それがそうです。黙認する. None それがそうです。

maskedブル値、オプション

もし True そして次は MaskedArray マスクが存在する位置に戻る. True 裁断に用いる値。もし…。 False そして次は ndarray また,最小および最大切り出し閾値を返す.黙認する. True それがそうです。

return_boundsブル値、オプション

もし True また,最小および最大切り出し限界を返す.

copyブル値、オプション

もし True そして、そして data 配列をコピーする.もし…。 False そして masked=True すると,返されたマスク配列データは入力と同じ配列を含むことになる. data (もし data これは ndarray あるいは…。 MaskedArray )である。もし…。 False そして masked=False 入力データはその場で修正される.黙認する. True それがそうです。

grow :浮動または False オプションです。浮遊や

クロッピング制限を超えた画素をマスクする隣接画素の半径(適用可能なもののみ) axis 指定されていれば)。例えば、2 D画像の場合、値1は、各偏差画素の周囲の十字パターン内の最も近い画素をマスクし、値1.5も最も近い対角線の隣接画素を拒否することになり、以下同様である。

返品
resultアレイ式.

もし masked=True そして次は MaskedArray マスクが存在する位置に戻る. True トリミングのための値および入力マスクが存在する位置 True それがそうです。

もし masked=False そして次は ndarray 返されました。

もし return_bounds=True したがって、上の1つまたは複数のマスク配列に加えて、最小および最大トリミング限界が返される。

もし masked=False そして axis=None 出力配列はフラットな1 Dである. ndarray ここで、トリミングの値は削除されている。もし…。 return_bounds=True 戻りの最小と最大閾値はスカラーである.

もし masked=False そして axis 指定すれば出力する ndarray 入力と同じ形状を持つことになります data 含まれています np.nan 価値が削減されたところ。もし入力すれば data マスク配列であれば出力される. ndarray 他にも含まれています np.nan 入力マスクの位置 True それがそうです。もし return_bounds=True 戻り最小と最大クロッピング閾値は ndarray s.

注意事項

最適なパフォーマンスは、通常、設定によって cenfunc そして stdfunc 文字列の内蔵関数の1つとして指定する.一方のオプションが文字列に設定され、他方のオプションがカスタマイズされた呼び出し可能オブジェクトを有する場合、使用される場合がある bottleneck ソフトウェアパッケージをインストールしました。

実例.

この例は、ガウス分布からの乱数のデータセットを使用する。我々は,距離の中央値が2つのサンプル標準偏差を超えるすべての点を裁断した.結果はマスク配列であり、マスクは True 裁断のデータ:

>>> from astropy.stats import sigma_clip
>>> from numpy.random import randn
>>> randvar = randn(10000)
>>> filtered_data = sigma_clip(randvar, sigma=2, maxiters=5)

この例のクロッピングはサンプルが3シグマより大きい点に対して mean クリップは収束するまでマスクされていないものに戻る. ndarray データをコピーしません:

>>> from astropy.stats import sigma_clip
>>> from numpy.random import randn
>>> from numpy import mean
>>> randvar = randn(10000)
>>> filtered_data = sigma_clip(randvar, sigma=3, maxiters=None,
...                            cenfunc=mean, masked=False, copy=False)

この例sigmaは、1つの軸に沿ってクリップされる:

>>> from astropy.stats import sigma_clip
>>> from numpy.random import normal
>>> from numpy import arange, diag, ones
>>> data = arange(5) + normal(0., 0.05, (5, 5)) + diag(ones(5))
>>> filtered_data = sigma_clip(data, sigma=2.3, axis=0)

標準偏差が高いので、別の軸に沿って、何の点も裁断しないことに注意してください。