LombScargle¶
- class astropy.timeseries.LombScargle(t, y, dy=None, fit_mean=True, center_data=True, nterms=1, normalization='standard')[ソース]¶
ベースクラス:
astropy.timeseries.periodograms.base.BasePeriodogram
Lomb-Scarger周期図を計算する.
ここでのこれらの実装は,提供されたコードに基づいている. [1] そして [2]; 学術アプリケーションでこの機能を使用する場合は、これらの著作を引用してください。
- パラメータ
- t配列のような
時間の順序を見る
- y :配列のようなまたは
Quantity
配列のような 時間tに関連する観測系列
- dy :浮動、類似配列、または
Quantity
オプションです。浮動小数点型、配列に類似した、または 時間tに関する観測誤差または観測誤差系列
- fit_meanブル値、オプション
Trueである場合、モデルの一部として一定のオフセットが各周波数に含まれる。これは、特に位相カバレッジが不完全な場合には、より正確な結果を生成することができる。
- center_dataブル値、オプション
Trueであれば,入力データの重み付き平均値を減算することでデータをあらかじめ中心にしておく.FIT_Mean=FALSEであれば,これは特に重要である.
- nterms形が整っていて、オプションです
フーリエフィッティングに用いる項数
- normalization{‘Standard’,‘Model’,‘log’,‘PSD’},オプション
周期図の規格化に用いる.
参考文献
- 1
トップページ--定期刊行物の主な分類--定期刊行物の詳細紹介--定期刊行物の題録とダイジェスト--定期刊行物の詳細なダイジェスト内容 Astar ML概要:天体物理学における機械学習 それがそうです。知的データ理解会議論文集(2012年)
- 2
ファンデルプラスJ&Ivezic Z 多帯域天文時系列の周期図 それがそうです。APJ 812.1:18(2015年)
実例.
ノイズのある周期的なデータを生成する:
>>> rand = np.random.default_rng(42) >>> t = 100 * rand.random(100) >>> y = np.sin(2 * np.pi * t) + rand.standard_normal(100)
自動決定された周波数メッシュ上でLomb-Scarger周期図を計算し、最大電力の周波数を見つける:
>>> frequency, power = LombScargle(t, y).autopower() >>> frequency[np.argmax(power)] 1.0007641728995051
ユーザが指定した周波数グリッドでLomb-Scarger周期図を計算する:
>>> freq = np.arange(0.8, 1.3, 0.1) >>> LombScargle(t, y).power(freq) array([0.0792948 , 0.01778874, 0.25328167, 0.01064157, 0.01471387])
単位を有する星取り量が入力されている場合には、単位が検証され、出力も適切な単位を有する数となる。
>>> from astropy import units as u >>> t = t * u.s >>> y = y * u.mag >>> frequency, power = LombScargle(t, y).autopower() >>> frequency.unit Unit("1 / s") >>> power.unit Unit(dimensionless)
ここのLomb-Scargerべき乗は常に無単位の量です \(\chi^2\) 各周波数での最適適合周期モデル。
属性要約
方法要約
autofrequency
\([samples_per_peak, ...] )データのために適切な周波数メッシュを決定する。
autopower
\([method, method_kwds, ...] )Lomb-自動決定された周波数でのScarger電力を計算する.
design_matrix
\(頻度[, t] )与えられた周波数の設計行列を計算する
distribution
\(電源[, cumulative] )ゼロダミーでの期待周期グラフ分布.
false_alarm_level
\(FALSE_アラーム_確率[, ...] )与えられた仮想警告確率での最大レベル。
false_alarm_probability
\(電源[, method, ...] )周期グラフの極大値の虚警告確率をゼロダミーする.
from_timeseries
\(時系列[, ...] )時系列オブジェクトから周期グラフを初期化する.
model
\(t,頻度)Lomb-Scargerモデルは与えられた頻度で計算される.
model_parameters
\(頻度[, units] )与えられた周波数での最適なモデルパラメータを計算する.
offset
\()戻りモデルのオフセット
power
\(頻度[, normalization, method, ...] )与えられた周波数でのLomb-Scarger電力を計算する.
属性文書
- available_methods = ['auto', 'slow', 'chi2', 'cython', 'fast', 'fastchi2', 'scipy']¶
方法文書
- autofrequency(samples_per_peak=5, nyquist_factor=5, minimum_frequency=None, maximum_frequency=None, return_freq_limits=False)[ソース]¶
データのために適切な周波数メッシュを決定する。
この仮定は、ピーク幅が観測ベースラインによって駆動され、ベースラインが振動周期よりもはるかに大きい場合、これは一般に良い仮定であることに留意されたい。もしあなたが検索する時間帯があなたの観測ベースラインよりも長い場合、これはうまく実行されないかもしれない。
ベースラインが大きくても,返される最大頻度は“平均ナイキスト頻度”の概念に基づいており,不規則にサンプリングされたデータには役に立たない可能性があることに注意されたい。最大頻度は,Nyquist_factorパラメータやMAXIMUM_FREQUENCEパラメータで調整することができる.
- パラメータ
- samples_per_peak浮動、オプション
典型的なピークにわたる必要なサンプル数の近似値
- nyquist_factor浮動、オプション
MAXIMUM_FREQUENCEが提供されていない場合、最大頻度の平均ナイキスト頻度の倍数を選択するために使用される。
- minimum_frequency浮動、オプション
指定された場合、ベースラインサイズに応じて選択された周波数ではなく、この最小周波数が使用される。
- maximum_frequency浮動、オプション
指定された場合、この最大頻度は、平均ナイキスト周波数に基づいて選択された頻度ではなく使用される。
- return_freq_limitsブル値、オプション
Trueである場合、周波数メッシュ全体に戻ることなく、周波数制限のみが返される。
- 返品
- frequencyNdarrayまたは
ヒューリスティックで決定した最適帯域
- autopower(method='auto', method_kwds=None, normalization=None, samples_per_peak=5, nyquist_factor=5, minimum_frequency=None, maximum_frequency=None)[ソース]¶
Lomb-自動決定された周波数でのScarger電力を計算する.
- パラメータ
- method文字列、オプション
使用するLomb Scargerを指定して実現する.オプションには:
‘AUTO’:入力に応じて最適な方法を選択する
“Fast”:Oを使用 [N対数N] 迅速な方法。これには均一な間隔の頻度が必要であることに注意されたい:デフォルトの場合、このオプションが選択されない限り
assume_regular_frequency
Trueに設定します。‘low’:Oを使用する [N^2] 純粋なpython実現
“cython”:Oを使用 [N^2] Cythonが実現した。これはmethod=‘low’よりもやや速いが,メモリ効率ははるかに高い.
“chi 2”:Oを用いる [N^2] CHI 2/線形フィッティングにより実現
‘fast chi 2’:Oを使用する [N対数N] CHI 2は実現する.これには均一な間隔の頻度が必要であることに注意されたい:デフォルトの場合、このオプションが選択されない限り
assume_regular_frequency
Trueに設定します。‘scipy’:使用
scipy.signal.lombscargle
これはOです [N^2] Cで書かれた実現です。これは非均一性エラーをサポートしていないことに注意してください。
- method_kwdsDICT、オプション
Lomb-Scarger手法の他のキーワードに渡す
- normalization{‘Standard’,‘Model’,‘log’,‘PSD’},オプション
指定すれば,インスタンス化時に指定された正規化を書き換える.
- samples_per_peak浮動、オプション
典型的なピークにわたる必要なサンプル数の近似値
- nyquist_factor浮動、オプション
MAXIMUM_FREQUENCEが提供されていない場合、最大頻度の平均ナイキスト頻度の倍数を選択するために使用される。
- minimum_frequency浮遊や
指定された場合、ベースラインサイズに応じて選択された周波数ではなく、この最小周波数が使用される。たぶん
Quantity
もしLombScargerの入力がQuantity
それがそうです。- maximum_frequency浮遊や
指定された場合、この最大頻度は、平均ナイキスト周波数に基づいて選択された頻度ではなく使用される。たぶん
Quantity
もしLombScargerの入力がQuantity
それがそうです。
- 返品
- 周波数·電力Ndarray
周波数とLomb-Scarger電力
- distribution(power, cumulative=False)[ソース]¶
ゼロダミーでの期待周期グラフ分布.
これは、ガウス雑音を有する不変信号のゼロ仮定の下で、周期グラフ電力の所望の確率分布または累積確率分布を計算する。これはピークの予想分布とは異なることに注意されたい;この点については参照されたい
false_alarm_probability()
方法です。- パラメータ
- powerアレイ式.
分布の周期図のべき乗を計算する.
- cumulativeブル値、オプション
Trueであれば累積分布を返す.
- 返品
- distnp.ndarray
提供された電力に関連する確率密度または累積確率。
- false_alarm_level(false_alarm_probability, method='baluev', samples_per_peak=5, nyquist_factor=5, minimum_frequency=None, maximum_frequency=None, method_kwds=None)[ソース]¶
与えられた仮想警告確率での最大レベル。
これは,最大ピークの指定された虚警告確率に対応する周期グラフレベルの推定を与え,ガウス雑音の不変データを持つゼロ仮説を仮定する.
- パラメータ
- false_alarm_probabilityアレイ式.
仮想警告確率(0<FAP<1)。
- maximum_frequency浮いている.
周期図の最大周波数.
- method{‘baluev’,‘Davies’,‘naive’,‘bootstrap’},オプション
使用する近似方法;デフォルト値=“baluev‘である.
- method_kwdsDICT、オプション
他はメソッドに特化したキーワードである.
- 返品
- powernp.ndarray
虚警告確率に対応する周期グラフピーク高を指定する.
注意事項
最大ピークの真の確率分布は解析的に決定できないため,ここでの各手法はこの値の近似値を提供する.利用可能な方法は、
“baluev”(デフォルト):エイリアス確率の上限がなく,Baluev(2008)を用いた方法 [1].
“デイビス”:バルーエフ(2008)のデイビス上界 [1].
“素朴”:推定された独立頻度有効数に基づく近似確率.
Bootstrap“:入力データのbootstrap再サンプリングに基づく近似確率。
また,正規化=‘PSD’については,指定された誤差を用いて構築された周期図の分布しか計算できないことに注意されたい.
参考文献
- false_alarm_probability(power, method='baluev', samples_per_peak=5, nyquist_factor=5, minimum_frequency=None, maximum_frequency=None, method_kwds=None)[ソース]¶
周期グラフの極大値の虚警告確率をゼロダミーする.
これは、周期マップ内の最大ピークの高さが与えられた場合、ガウス雑音を有する不変データのゼロ仮定に基づいて、虚警告確率の推定値を与える。
- パラメータ
- powerアレイ式.
周期図値。
- method{‘baluev’,‘Davies’,‘naive’,‘bootstrap’},オプション
使用する近似方法。
- maximum_frequency浮いている.
周期図の最大周波数.
- method_kwdsDICT、オプション
他はメソッドに特化したキーワードである.
- 返品
- false_alarm_probabilitynp.ndarray
虚警確率
注意事項
最大ピークの真の確率分布は解析的に決定できないため,ここでの各手法はこの値の近似値を提供する.利用可能な方法は、
“baluev”(デフォルト):エイリアス確率の上限がなく,Baluev(2008)を用いた方法 [1].
“デイビス”:バルーエフ(2008)のデイビス上界 [1].
“素朴”:推定された独立頻度有効数に基づく近似確率.
Bootstrap“:入力データのbootstrap再サンプリングに基づく近似確率。
また,正規化=‘PSD’については,指定された誤差を用いて構築された周期図の分布しか計算できないことに注意されたい.
参考文献
- classmethod from_timeseries(timeseries, signal_column_name=None, uncertainty=None, **kwargs)¶
時系列オブジェクトから周期グラフを初期化する.
入庫された時系列を通過する場合は、入庫センターの時間を使用します。また,周期グラフを初期化する際には,NaN/未定義の値を自動的に削除することに注意されたい.
- パラメータ
- signal_column_name応力.応力
使用する信号値を含む列の名前。
- 不確定度 :文字列または浮動小数点数または
Quantity
オプションです。文字列や浮動小数点または 信号上のエラーを含む列の名前、またはエラーの値(スカラーである場合)に使用される。
- **kwargs
他のキーワードパラメータは,この周期グラフクラスの初期値設定項に渡される.
- model(t, frequency)[ソース]¶
Lomb-Scargerモデルは与えられた頻度で計算される.
特定周波数でのモデルは線形モデル:MODEL=オフセット+点(DESIGN_MATRIX,MODEL_PARAMETERS)
- パラメータ
- t配列のような
時間(長さ)
n_samples
)は、この位置でモデルを計算する。- frequency浮いている.
モデルの周波数
- 返品
- ynp.ndarray
入力時間に対応するモデル適合(長さを持つことになる
n_samples
)。
- model_parameters(frequency, units=True)[ソース]¶
与えられた周波数での最適なモデルパラメータを計算する.
これらのパラメータが記述したモデルは以下のとおりである.
\[y(t; f, \vec{\theta}) = \theta_0 + \sum_{n=1}^{\tt nterms} [\theta_{2n-1}\sin(2\pi n f t) + \theta_{2n}\cos(2\pi n f t)]\]どこだ? \(\vec{{\theta}}\) この関数が返すパラメータ配列.
- パラメータ
- frequency浮いている.
モデルの周波数
- unitsブルル.
True(デフォルト値)であれば,データユニットを含む設計行列を返す.
- 返品
- thetaNp.ndarray(n_Parameters,)
与えられた周波数での最適適合モデルパラメータ。
- offset()[ソース]¶
戻りモデルのオフセット
モデルのずれ量はy値の(重み)平均値である.Self.center_dataがfalseであれば,定義よりオフセット量は0となることに注意されたい.
- 返品
- offsetスカラー.
- power(frequency, normalization=None, method='auto', assume_regular_frequency=False, method_kwds=None)[ソース]¶
与えられた周波数でのLomb-Scarger電力を計算する.
- パラメータ
- frequency配列のような
周期図の周波数(角周波数ではない)を評価する.Method=‘fast’を用いるためには,頻度はルール間隔でなければならないことに注意されたい.
- method文字列、オプション
使用するLomb Scargerを指定して実現する.オプションには:
‘AUTO’:入力に応じて最適な方法を選択する
“Fast”:Oを使用 [N対数N] 迅速な方法。これには均一な間隔の頻度が必要であることに注意されたい:デフォルトの場合、このオプションが選択されない限り
assume_regular_frequency
Trueに設定します。‘low’:Oを使用する [N^2] 純粋なpython実現
“cython”:Oを使用 [N^2] Cythonが実現した。これはmethod=‘low’よりもやや速いが,メモリ効率ははるかに高い.
“chi 2”:Oを用いる [N^2] CHI 2/線形フィッティングにより実現
‘fast chi 2’:Oを使用する [N対数N] CHI 2は実現する.これには均一な間隔の頻度が必要であることに注意されたい:デフォルトの場合、このオプションが選択されない限り
assume_regular_frequency
Trueに設定します。‘scipy’:使用
scipy.signal.lombscargle
これはOです [N^2] Cで書かれた実現です。これは非均一性エラーをサポートしていないことに注意してください。
- assume_regular_frequencyブル値、オプション
Trueであれば,入力頻度の形式をfreq=f 0+df*np.arange(N)とする.メソッドが“”auto“”または“”fast“”の場合にのみ引用される.“”
- normalization{‘Standard’,‘Model’,‘log’,‘PSD’},オプション
指定すれば,インスタンス化時に指定された正規化を書き換える.
- fit_meanブル値、オプション
Trueである場合、モデルの一部として一定のオフセットが各周波数に含まれる。これは、特に位相カバレッジが不完全な場合には、より正確な結果を生成することができる。
- center_dataブル値、オプション
Trueであれば,入力データの重み付き平均値を減算することでデータをあらかじめ中心にしておく.FIT_Mean=FALSEであれば,これは特に重要である.
- method_kwdsDICT、オプション
Lomb-Scarger手法の他のキーワードに渡す
- 返品
- powerNdarray
周波数でのLomb-Scargerパワーの指定