LombScargleMultiband#

class astropy.timeseries.LombScargleMultiband(t, y, bands, dy=None, normalization='standard', nterms_base=1, nterms_band=1, reg_base=None, reg_band=1e-06, regularize_by_trace=True, center_data=True, fit_mean=True)[源代码]#

基类:LombScargle

计算Lomb擦伤周期图。

此实现基于中提供的代码 [1][2]; 如果您在学术应用程序中使用此功能,将不胜感激。

参数:
tNumPy:类似数组或数量 [:ref: 'time']

观察时间顺序

y : array_likeQuantityNumPy:类似数组或数量

与时间t相关的观察序列

bands : array_likeNumpy:ARRAY_LIKE

与时间t相关联的通带标签序列,每个唯一标签定义单个数据带。

dy : floatarray_like ,或 Quantity ,可选PYTHON:FLOAT、NUMPY:ARRAY_LIKE或QUANTITY,可选

与时间t相关的观测误差或序列

normalization{,可选','型号','日志''

用于周期图的规范化。

nterms_base : int ,可选PYTHON:int,可选

用于所有频段通用的基本模型的频率项数。在快速算法的情况下,此参数作为 nterms 参数。

nterms_band : int ,可选PYTHON:int,可选

用于基本模型和每个单独波段之间的残差的频率项数

reg_base : floatNone (默认= None )PYTHON:FLOAT或PYTHON:NONE(默认值=PYTHON:None)

对基本模型参数使用的正则化量

reg_band : floatNone (默认值=1E-6)PYTHON:FLOAT或PYTHON:NONE(默认值=1E-6)

对波段模型参数使用的正则化量

regularize_by_trace : bool (默认= True )布尔值(缺省值=python:true)

如果为True,则正则化以法线矩阵的迹为单位表示

center_data : bool ,可选可选的布尔

如果为True,则通过减去输入数据的加权平均值来预先居中数据。

fit_mean : bool ,可选可选的布尔

如果为True,则在每个频率处包括恒定偏移作为模型的一部分。这可以产生更准确的结果,特别是在阶段覆盖不完整的情况下。只适用于“快速”方法

工具书类

[1]

Vanderplas,J.,Connolly,A.Ivezic,Z.和Gray,A。 天体物理机器学习简介 . 智能数据理解会议(2012年)

[2]

VanderPlas,J.和Ivezic,Z。 多波段天文时间序列的周期图 . ApJ 812.1:18(2015年)

属性摘要

available_methods 

方法总结

autofrequency([samples_per_peak, ...])

为数据确定合适的频率网格。

autopower([method, sb_method, ...])

在自动确定的频率下计算Lomb抖动功率。

design_matrix(frequency[, t_fit, bands_fit])

计算给定频率的设计矩阵

distribution \()

未实施

false_alarm_level \()

未实施

false_alarm_probability \()

未实施

from_timeseries(timeseries[, signal_column, ...])

从时间序列对象初始化多波段周期图。

model(t, frequency[, bands_fit])

计算给定频率下的Lomb擦伤模型。

model_parameters(frequency[, units])

计算给定频率下的最佳拟合模型参数。

offset([t_fit, bands_fit])

返回模型的偏移量数组

power(frequency[, method, sb_method, ...])

计算给定频率下的Lomb抖动功率。

属性文档

available_methods = ['fast', 'flexible']#

方法文件

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 : float ,可选Python:Float,可选

穿过典型峰值的所需样本的近似数量

nyquist_factor : float ,可选Python:Float,可选

如果未提供最大频率,则用于选择最大频率的平均奈奎斯特频率的倍数。

minimum_frequency : float ,可选Python:Float,可选

如果指定,则使用此最小频率,而不是根据基线大小选择的频率。

maximum_frequency : float ,可选Python:Float,可选

如果指定,则使用此最大频率,而不是基于平均奈奎斯特频率选择的频率。

return_freq_limits : bool ,可选可选的布尔

如果为True,则只返回频率限制,而不是完整的频率网格。

返回:
frequencyNdarray或数量 [:ref: 'frequency']

试探法确定的最优频点

autopower(method='flexible', sb_method='auto', normalization='standard', samples_per_peak=5, nyquist_factor=5, minimum_frequency=None, maximum_frequency=None)[源代码]#

在自动确定的频率下计算Lomb抖动功率。

参数:
method : str ,可选Python:字符串,可选

指定要使用的多频段Lomb Scarger实现。选项包括:

  • ‘灵活’:构造一个通用模型,并按个人构造一个偏移量模型

    乐队。对生成的模型应用正则化以限制复杂性。

  • ‘Fast’:每个频段分别通过LombScarger(单频段),

    在结尾处按权重合并周期图。速度取决于SB方法中选择的单波段方法。

sb_method : str ,可选Python:字符串,可选

指定要使用的单波段Lomb Scarger实现,仅在使用快速多波段方法的情况下使用。选项包括:

  • “auto”:根据输入选择最佳方法

  • “快速”:使用O [N对数N] 快速方法。请注意,这需要均匀分布的频率:默认情况下,将选中此选项,除非 assume_regular_frequency 设置为真。

  • “慢”:使用O [N^2] 纯python实现

  • “cython”:使用O [N^2] cython实现。这比method='slow'稍快,但内存效率要高得多。

  • “chi2”:使用O [N^2] chi2/线性拟合实施

  • “fastchi2”:使用O [N对数N] chi2实施。请注意,这需要均匀分布的频率:默认情况下,将选中此选项,除非 assume_regular_frequency 设置为真。

  • “scipy”:使用 scipy.signal.lombscargle ,这是个O [N^2] 用C编写的实现。请注意,这不支持异方差错误。

normalization{,可选','型号','日志''

如果指定,则重写实例化时指定的规范化。

samples_per_peak : float ,可选Python:Float,可选

穿过典型峰值的所需样本的近似数量

nyquist_factor : float ,可选Python:Float,可选

如果未提供最大频率,则用于选择最大频率的平均奈奎斯特频率的倍数。

minimum_frequencyPython:浮点或数量 [:ref: 'frequency'] ,可选

如果指定,则使用此最小频率,而不是根据基线大小选择的频率。应该是 Quantity 如果LombScarger的输入是 Quantity

maximum_frequencyPython:浮点或数量 [:ref: 'frequency'] ,可选

如果指定,则使用此最大频率,而不是基于平均奈奎斯特频率选择的频率。应该是 Quantity 如果LombScarger的输入是 Quantity

返回:
frequency, power : ndarray恩达雷

频率和Lomb抖动功率

design_matrix(frequency, t_fit=None, bands_fit=None)[源代码]#

计算给定频率的设计矩阵

参数:
frequency : floatPython :浮点

模型的频率

t_fit : array_likeQuantity ,或 Time (可选)NumPy:类似数组、数量或时间(可选)

时间(长度 n_samples ),在该位置计算模型。如果未指定,则使用输入数据的时间和不确定性。

bands_fit : array_like ,或 strNumPy:ARRAY_LIKE或PYTHON:STR

要用于拟合的波段必须是输入数据中波段的子集。

返回:
ndarray

模型在给定频率下的设计矩阵。它的形状应该是 (len(t)n_parameters )。

distribution()[源代码]#

未实施

false_alarm_level()[源代码]#

未实施

false_alarm_probability()[源代码]#

未实施

classmethod from_timeseries(timeseries, signal_column=None, uncertainty_column=None, band_labels=None, **kwargs)[源代码]#

从时间序列对象初始化多波段周期图。

如果通过了入库的时间序列,则使用入库中心的时间。另请注意,此方法在初始化周期图时自动删除NaN/未定义的值。

参数:
signal_column : listPython :列表

包含要使用的信号值的列的名称。

uncertainty_column : list ,可选Python:列表,可选

包含信号上的错误的列的名称。

band_labels : list ,可选Python:列表,可选

按索引匹配的每个乐队的标签。如果没有,则使用 signal_column 作为乐队的名字。

**kwargs

其他关键字参数传递给此周期图类的初始值设定项。

model(t, frequency, bands_fit=None)[源代码]#

计算给定频率下的Lomb擦伤模型。

特定频率下的模型是线性模型:模型=偏移量+点(设计矩阵,模型参数)

参数:
tNumPy:类似数组或数量 [:ref: 'time']

时间(长度 n_samples ),在该位置计算模型。

frequency : floatPython :浮点

模型的频率

bands_fit : listarray_likePYTHON:LIST或NUMPY:ARRAY_LIKE

适合模型的独特带子

返回:
y : np.ndarraynp.ndarray

该模型与输入次数相对应。将会有形状 (n_bandsn_samples)。

model_parameters(frequency, units=True)[源代码]#

计算给定频率下的最佳拟合模型参数。

这些参数描述的模型是:

\[y(t; f, \vec{\theta}) = \theta_0 + \sum_{n=1}^{\tt nterms_base} [\theta_{2n-1}\sin(2\pi n f t) + \theta_{2n}\cos(2\pi n f t)] + \theta_0^{(k)} + \sum_{n=1}^{\tt nterms_band} [\theta_{2n-1}^{(k)}\sin(2\pi n f t) +\]

在哪里? \(\vec{{\theta}}\) 此函数返回的参数数组。

参数:
frequency : floatPython :浮点

模型的频率

units : bool布尔

如果为True(默认),则返回带有数据单位的设计矩阵。

返回:
theta : np.ndarray (n_参数,)np.ndarray公司(n_参数,)

在给定频率下的最佳拟合模型参数。

offset(t_fit=None, bands_fit=None)[源代码]#

返回模型的偏移量数组

模型的偏移量数组是每个波段中y值的(加权)平均值。请注意,如果self.center_data为FALSE,则根据定义,偏移量为0。

参数:
t_fit : array_likeQuantity ,或 Time (可选)NumPy:类似数组、数量或时间(可选)

时间(长度 n_samples ),在该位置计算模型。如果未指定,则使用输入数据的时间和不确定性。

bands_fit : array_like ,或 strNumPy:ARRAY_LIKE或PYTHON:STR

要用于拟合的波段必须是输入数据中波段的子集。

返回:
offset : array数组
power(frequency, method='flexible', sb_method='auto', normalization='standard')[源代码]#

计算给定频率下的Lomb抖动功率。

参数:
frequencyNumPy:类似数组或数量 [:ref: 'frequency']

计算周期图的频率(不是角频率)。注意,为了使用method='fast',频率必须有规律地间隔。

method : str ,可选Python:字符串,可选

指定要使用的多频段Lomb Scarger实现。选项包括:

  • ‘灵活’:构造一个通用模型,并按个人构造一个偏移量模型

    乐队。对生成的模型应用正则化以限制复杂性。

  • ‘Fast’:每个频段分别通过LombScarger(单频段),

    在结尾处按权重合并周期图。速度取决于SB方法中选择的单波段方法。

sb_method : str ,可选Python:字符串,可选

指定要使用的单波段Lomb Scarger实现,仅在使用快速多波段方法的情况下使用。选项可在中找到 LombScargle

normalization{,可选','型号','日志''

如果指定,则重写实例化时指定的规范化。

返回:
power : ndarray恩达雷

指定频率下的Lomb抖动功率