BoxLeastSquares¶
- class astropy.timeseries.BoxLeastSquares(t, y, dy=None)[ソース]¶
ベースクラス:
astropy.timeseries.periodograms.base.BasePeriodogram
計算箱最小二乗周期図
この方法は光度学時系列データ集で凌日惑星或いは食双星を発見する常用ツールである。この実現は、中で紹介した“ボックス最小二乗(BLS)”に基づく方法である。 [1] そして [2].
- パラメータ
参考文献
- 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)[ソース]¶
与えられた交通モデルの記述的統計データを計算する
このような統計は一般的に通過候補者を検討するために使用される。
- パラメータ
- 返品
- 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
他のキーワードパラメータは,この周期グラフクラスの初期値設定項に渡される.
- 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
無効です。