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_like 或
Quantity
NumPy:类似数组或数量 与时间t相关的观察序列
- bands : array_likeNumpy:ARRAY_LIKE
与时间t相关联的通带标签序列,每个唯一标签定义单个数据带。
- dy :
float
, array_like ,或Quantity
,可选PYTHON:FLOAT、NUMPY:ARRAY_LIKE或QUANTITY,可选 与时间t相关的观测误差或序列
- normalization{,可选','型号','日志''
用于周期图的规范化。
- nterms_base :
int
,可选PYTHON:int,可选 用于所有频段通用的基本模型的频率项数。在快速算法的情况下,此参数作为
nterms
参数。- nterms_band :
int
,可选PYTHON:int,可选 用于基本模型和每个单独波段之间的残差的频率项数
- reg_base :
float
或None
(默认=None
)PYTHON:FLOAT或PYTHON:NONE(默认值=PYTHON:None) 对基本模型参数使用的正则化量
- reg_band :
float
或None
(默认值=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年)
属性摘要
方法总结
autofrequency
([samples_per_peak, ...])为数据确定合适的频率网格。
autopower
([method, sb_method, ...])在自动确定的频率下计算Lomb抖动功率。
design_matrix
(frequency[, t_fit, bands_fit])计算给定频率的设计矩阵
distribution
\()未实施
未实施
未实施
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,则只返回频率限制,而不是完整的频率网格。
- samples_per_peak :
- 返回:
- 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
。
- method :
- 返回:
- frequency, power :
ndarray
恩达雷 频率和Lomb抖动功率
- frequency, power :
- design_matrix(frequency, t_fit=None, bands_fit=None)[源代码]#
计算给定频率的设计矩阵
- 参数:
- frequency :
float
Python :浮点 模型的频率
- t_fit : array_like ,
Quantity
,或Time
(可选)NumPy:类似数组、数量或时间(可选) 时间(长度
n_samples
),在该位置计算模型。如果未指定,则使用输入数据的时间和不确定性。- bands_fit : array_like ,或
str
NumPy:ARRAY_LIKE或PYTHON:STR 要用于拟合的波段必须是输入数据中波段的子集。
- frequency :
- 返回:
ndarray
模型在给定频率下的设计矩阵。它的形状应该是 (
len(t)
,n_parameters
)。
- classmethod from_timeseries(timeseries, signal_column=None, uncertainty_column=None, band_labels=None, **kwargs)[源代码]#
从时间序列对象初始化多波段周期图。
如果通过了入库的时间序列,则使用入库中心的时间。另请注意,此方法在初始化周期图时自动删除NaN/未定义的值。
- model(t, frequency, bands_fit=None)[源代码]#
计算给定频率下的Lomb擦伤模型。
特定频率下的模型是线性模型:模型=偏移量+点(设计矩阵,模型参数)
- 参数:
- tNumPy:类似数组或数量 [:ref: 'time']
时间(长度
n_samples
),在该位置计算模型。- frequency :
float
Python :浮点 模型的频率
- bands_fit :
list
或 array_likePYTHON:LIST或NUMPY:ARRAY_LIKE 适合模型的独特带子
- 返回:
- y :
np.ndarray
np.ndarray
该模型与输入次数相对应。将会有形状 (
n_bands
,n_samples
)。
- y :
- 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}}\) 此函数返回的参数数组。
- 参数:
- 返回:
- theta :
np.ndarray
(n_参数,)np.ndarray公司(n_参数,) 在给定频率下的最佳拟合模型参数。
- theta :
- offset(t_fit=None, bands_fit=None)[源代码]#
返回模型的偏移量数组
模型的偏移量数组是每个波段中y值的(加权)平均值。请注意,如果self.center_data为FALSE,则根据定义,偏移量为0。
- 参数:
- t_fit : array_like ,
Quantity
,或Time
(可选)NumPy:类似数组、数量或时间(可选) 时间(长度
n_samples
),在该位置计算模型。如果未指定,则使用输入数据的时间和不确定性。- bands_fit : array_like ,或
str
NumPy:ARRAY_LIKE或PYTHON:STR 要用于拟合的波段必须是输入数据中波段的子集。
- t_fit : array_like ,
- 返回:
- offset :
array
数组
- offset :
- 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抖动功率
- power :