BoxLeastSquares

class astropy.timeseries.BoxLeastSquares(t, y, dy=None)[ソース]

ベースクラス: astropy.timeseries.periodograms.base.BasePeriodogram

計算箱最小二乗周期図

この方法は光度学時系列データ集で凌日惑星或いは食双星を発見する常用ツールである。この実現は、中で紹介した“ボックス最小二乗(BLS)”に基づく方法である。 [1] そして [2].

パラメータ
tアレイのように

時間の順番を見る。

y :配列のようなまたは Quantity配列のような

時間に関する観測系列 t それがそうです。

dy :浮動、類似配列、または Quantity オプションです。浮動小数点型、配列に類似した、または

時間に関する観測誤差または観測誤差系列 t それがそうです。

参考文献

1

コワッチ、ザック、マゼイ(2002年)、A&A、391,369ページ(arxiv:Astro-ph/0206099)

2

ハートマンとバコス(2016年)、天文と計算、17,1(arxiv:1605.06811)

実例.

送信によりノイズデータが生成される:

>>> rand = np.random.default_rng(42)
>>> t = rand.uniform(0, 10, 500)
>>> y = np.ones_like(t)
>>> y[np.abs((t + 1.0)%2.0-1)<0.08] = 1.0 - 0.1
>>> y += 0.01 * rand.standard_normal(len(t))

ヒューリスティックに決定した周期グリッド上で輸送周期図を計算し、電力が最大の周期を見つける:

>>> model = BoxLeastSquares(t, y)
>>> results = model.autopower(0.16)
>>> results.period[np.argmax(results.power)]  
2.000412388152837

周期図は、ユーザが指定した期間メッシュ上で計算される。

>>> periods = np.linspace(1.9, 2.1, 5)
>>> results = model.power(periods, 0.16)
>>> results.power  
array([0.01723948, 0.0643028 , 0.1338783 , 0.09428816, 0.03577543])

入力が単位付きAstroPyの数であれば,単位を検証し,出力も適切な単位を持つ数となる:

>>> from astropy import units as u
>>> t = t * u.day
>>> y = y * u.dimensionless_unscaled
>>> model = BoxLeastSquares(t, y)
>>> results = model.autopower(0.16 * u.day)
>>> results.period.unit
Unit("d")
>>> results.power.unit
Unit(dimensionless)

方法要約

autoperiod \(継続時間[, minimum_period, ...] )

適切な周期メッシュを決定する

autopower \(継続時間[, objective, method, ...] )

ヒューリスティックに決定された周期集合上で周期図を計算する.

compute_stats \(期間、継続時間、輸送時間_時間)

与えられた交通モデルの記述的統計データを計算する

from_timeseries \(時系列[, ...] )

時系列オブジェクトから周期グラフを初期化する.

model (t_モデル,期間,継続時間,中継時間)

所与の期間、持続時間、および段階の交通モデルを計算する

power \(句点,継続時間[, objective, method, ...] )

1組の周期の周期図を計算する.

transit_mask (t,期間,継続時間,輸送時間_時間)

与えられたパラメータセットのどのデータ点が送信中であるかを計算する.

方法文書

autoperiod(duration, minimum_period=None, maximum_period=None, minimum_n_transit=3, frequency_factor=1.0)[ソース]

適切な周期メッシュを決定する

この方法は1組のヒューリスティックアルゴリズムを用いて周波数が均一な保守周期グリッドを選択する。このメッシュは、精度要件またはデータサンプリングによっては、いくつかのユーザの要求に対して細かすぎる可能性がある。グリッドを増やすことでグリッドをより粗くすることができます frequency_factor それがそうです。

パラメータ
duration浮動小数点型、配列に類似した、または

考慮される一連の持続時間。

minimum_period, maximum_period浮遊や

検索する最短/最長時間帯.提供されていなければ,以下のアノテーションにおける説明に従って計算する.

minimum_n_transits形が整っていて、オプションです

もし maximum_period 探索のための最長期間を計算する方法は、少なくとも任意のものがあると断言することである minimum_n_transits 検索期間の範囲内になります。注意してください。これは要求と minimum_n_transits 検査に必要なものです。デフォルト値は 3 それがそうです。

frequency_factor浮動、オプション

周波数間隔を制御する要因は、以下の注釈で説明される。デフォルト値は 1.0 それがそうです。

返品
period配列のような

これらのヒューリスティクスを用いて計算した1組の周期,その単位と t それがそうです。

注意事項

デフォルトの最小サイクルは、より短いサイクルに対してあまり感度がないので、最大持続時間の2倍に選択される。

デフォルト最長期間の計算方法は

maximum_period = (max(t) - min(t)) / minimum_n_transits

少なくとも以下の機能を持つ任意のシステムを確保する minimum_n_transits 探索周期の範囲内である.

周波数間隔は次式で与えられる

df = frequency_factor * min(duration) / (max(t) - min(t))**2

したがって,メッシュサイズを小さくすることでメッシュをより細かくすることができる. frequency_factor あるいは増加させることで frequency_factor それがそうです。

autopower(duration, objective=None, method=None, oversample=10, minimum_n_transit=3, minimum_period=None, maximum_period=None, frequency_factor=1.0)[ソース]

ヒューリスティックに決定された周期集合上で周期図を計算する.

このメソッド呼び出し BoxLeastSquares.autoperiod() 期間を決めてグリッドを決めて BoxLeastSquares.power() 周期図を計算する。パラメータに関する文書は,これらの方法を参照されたい.

compute_stats(period, duration, transit_time)[ソース]

与えられた交通モデルの記述的統計データを計算する

このような統計は一般的に通過候補者を検討するために使用される。

パラメータ
period浮遊や

凌日の時期。

duration浮遊や

乗り継ぎの継続時間です。

transit_time :浮動または Quantity あるいは…。 Time浮遊や

中継局の中継時間を参考にする.

返品
statsディクト!

いくつかの記述的な統計データを含む辞書:

  • depth :深さおよび不確実性(2つの要素を持つタプルとして

    値)はベンチマークモデルの深さにある.

  • depth_odd 深さと深さに関する不確実性

    周期は基準周期の2倍のモデルである.

  • depth_even 深さと深さに関する不確実性

    周期は基準周期の2倍であり,位相が1軌道周期ずれたモデルである。

  • depth_half :以下のパラメータを持つモデルの深さと不確実性

    基準期間の半分です。

  • depth_phased :以下の属性を持つモデルの深さと不確実性

    基準周期と位相オフセットは半周期である.

  • harmonic_amplitude :最適正弦波の振幅

    モデルです。

  • harmonic_delta_log_likelihood :ログの違い

    正弦波モデルと経緯計モデルの間の可能性。もし…。 harmonic_delta_log_likelihood ゼロより大きい場合には、正弦波モデルが好ましい。

  • transit_times :すべてのトランジットの途中時間

    ベースラインです。

  • per_transit_count :カウントは

    ベースラインに含まれるユニークな中継ごとのデータ点.

  • per_transit_log_likelihood :値は

    ベースラインに含まれるすべてのユニークな通過の可能性を記録する。

classmethod from_timeseries(timeseries, signal_column_name=None, uncertainty=None, **kwargs)

時系列オブジェクトから周期グラフを初期化する.

入庫された時系列を通過する場合は、入庫センターの時間を使用します。また,周期グラフを初期化する際には,NaN/未定義の値を自動的に削除することに注意されたい.

パラメータ
signal_column_name応力.応力

使用する信号値を含む列の名前。

不確定度 :文字列または浮動小数点数または Quantity オプションです。文字列や浮動小数点または

信号上のエラーを含む列の名前、またはエラーの値(スカラーである場合)に使用される。

**kwargs

他のキーワードパラメータは,この周期グラフクラスの初期値設定項に渡される.

model(t_model, period, duration, transit_time)[ソース]

所与の期間、持続時間、および段階の交通モデルを計算する

パラメータ
t_model アレイのように Quantity あるいは、あるいは Timeアレイのように

モデルの時間を計算する。

period浮遊や

凌日の時期。

duration浮遊や

乗り継ぎの継続時間です。

transit_time :浮動または Quantity あるいは…。 Time浮遊や

中継局の中継時間を参考にする.

返品
y_model :配列のようなまたは Quantity配列のような

タイムズ紙はこのモデルを評価した。 t_model 単位は y それがそうです。

power(period, duration, objective=None, method=None, oversample=10)[ソース]

1組の周期の周期図を計算する.

パラメータ
period配列のような

電力の周期を計算すべきだ

duration浮動小数点型、配列に類似した、または

テストの継続時間セット

objective{‘可能性’,‘SNR’},オプション

最適なマッチング段階、持続時間、および深さのスカラを見つけるために最適化されるべきである。これは…。 'likelihood' (デフォルト)最適化モデルの対数尤度、または 'snr' 中継深度の信号対雑音比を最適化するために使用される。

method{“速い”、“遅い”},オプション

周期図を計算するための計算方法。これは主にテストの目的で、ほとんどのユーザーは最適化を使いたいと思っています 'fast' メソッド(デフォルト)は,Cythonで実現する. 'slow' 暴力的な方法でテストに使われています 'fast' 方法です。

oversample形が整っていて、オプションです

継続時間ごとに使用すべきボックス数。これは大きな値を用いて位相フィッティングの時間分解能を設定する oversample より細かいメッシュとより高い計算コストを生成します

返品
resultsBoxLeastSquaresResults

周期図の結果は BoxLeastSquaresResults 物体です。

賃上げをする
ValueError

もし oversample 0より大きい整数ではありません objective あるいは…。 method 無効です。

transit_mask(t, period, duration, transit_time)[ソース]

与えられたパラメータセットのどのデータ点が送信中であるかを計算する.

パラメータ
t_model配列のような

マスクの時間を評価すべきである.

period浮遊や

凌日の時期。

duration浮遊や

乗り継ぎの継続時間です。

transit_time :浮動または Quantity あるいは…。 Time浮遊や

中継局の中継時間を参考にする.

返品
transit_maskアレイ式.

ブール配列は True 中継点と中継点を指示する False 外の場所を指示して輸送します。