每个频率都重新拟合常数
把每个观测写成常数、余弦、正弦与误差之和。固定频率后,三个未知系数都线性出现;余弦和正弦一起允许任意初相位。误差独立且为高斯时,给定标准误差的逆方差给出权重。
如果拍摄漏掉了一部分相位,样本均值就可能偏离源的真实均值。只减一次样本均值,再强迫波通过零,可能把真信号压下去。让常数随每个试探频率重新拟合,就得到广义的、或叫浮动均值的 Lomb–Scargle 拟合。
时间用天,频率用每天周数。浏览器拟合归一化线性强度,真实教程拟合 I 波段星等。两者都能作数值正弦拟合,振幅却表示不同物理量。
对应阅读:Zechmeister & Kürster, generalized Lomb–Scargle, arXiv v1 · VanderPlas, Understanding the Lomb–Scargle Periodogram, arXiv v1
先消常数,再解两个方程
导数描述微调一个系数时,误差量会怎样变化。光滑最小值处,一阶变化为零。残差平方求导,得到两倍残差,再乘被微调项前面的负系数;让各项加权和为零,就得到拟合方程。
把逆方差权重归一,让总和为一。用 Y、C、S 表示数据、余弦、正弦的加权均值。对常数求导并令其为零,得到常数等于数据均值,减掉两个拟合三角项的均值。
代回原式,就把两条三角函数列都中心化。CC、SS 是加权离差平方,CS 是交叉乘积,YC、YS 是中心化数据与这两列的交叉乘积。对余下两个系数求导,就得到一对二元一次方程。
第一式乘 SS,第二式乘 CS,再相减,就能消去 b、解出 a。交换消元顺序便得到 b。若行列式为零,表示这些采样在该频率上没提供独立的两个分量,程序会跳过这个试探点。
对应阅读:Zechmeister & Kürster, generalized Lomb–Scargle, arXiv v1 · VanderPlas, Understanding the Lomb–Scargle Periodogram, arXiv v1
把拟合改善画成周期图
先用相同权重拟合一个恒定参考。在每个频率,把最佳正弦、余弦、常数模型的残差平方和,与恒定参考比较,再把改善除以参考值。标准功率就在零到一之间:零表示没改善,一表示样本被完美配出。
功率 0.9,不代表周期有九成概率正确。点很少时,灵活的正弦也能在噪声上取得很大改善;频率搜得更多,碰巧遇到高峰的机会也更多。
有限时间跨度会形成宽度大致为跨度倒数的频率结构。网格应在这段宽度里放几个点,真实教程取五分之一,并保存完整网格。上下界是按问题声明的选择,不能由平均间隔 Nyquist 规则包办。
对应阅读:Astropy 8.0.2 Lomb–Scargle documentation · VanderPlas, Understanding the Lomb–Scargle Periodogram, arXiv v1
校准整个搜索的最大值
重跑的零假设,是恒定源加上独立高斯误差,大小采用原来给出的误差。每个真实时刻抽一个噪声值,把全部声明频率搜一遍,保存最高功率,再重复很多次。这样得到的最大值分布,同时包含观测窗口和搜索范围的作用。
数一数有多少零假设最大值,至少与实测最大值一样高。B 次试验、K 次超过时,下面的有限蒙特卡洛秩给出非零结果,即使一次也没超过。数值分辨约为试验次数的倒数;短模拟不能保证任意稀有的尾概率。
用另一批独立噪声测试阈值。实测教程先用 4096 次零假设搜索校准百分之五阈值,再用 1024 次新搜索验证。完整与稀疏时刻的实际验证误警报率为 4.39%、4.49%。检查针对声明的独立高斯模型;红噪声或共享标定误差,需要另换零假设。
对应阅读:Astropy 8.0.2 Lomb–Scargle documentation · VanderPlas, Understanding the Lomb–Scargle Periodogram, arXiv v1
例题:更高的峰,反而更弱的证据
固定 OGLE 首季有二十五个测量,最高功率 0.6418,高斯零假设尾秩为 0.004882。每三点只保留一点,剩九点后,功率升至 0.8992,尾秩却升至 0.2060。
稀疏模型配出了更多所选样本,九个噪声样本却也很容易在宽搜索里配出漂亮结果。只比峰高、不按采样重新校准,就会把意思读反。两套真实时刻分别模拟零假设,并使用同一个明确的搜索网格。
下方合成浏览器例子作另一种受控比较。已知源周期,可以直接给每夜一次的混叠贴上正确标签。
| 观测计划 | 曝光数 | 最强周期(天) | 闪光触发数 |
|---|---|---|---|
| 每夜一次 | |||
| 每夜三次 | |||
| 抖动与缺口 | |||
| 漏掉闪光 | |||
| 拍到闪光 |
对应阅读:OGLE-IV LMC RR Lyrae official data README · Zechmeister & Kürster, generalized Lomb–Scargle, arXiv v1 · Astropy 8.0.2 Lomb–Scargle documentation
选错混叠与没探测到,分开数
误警报率问噪声多常被认作探测,没告诉我们真信号多常漏掉、或周期认错。要回答后两个问题,需要在相同时刻注入指定信号与新噪声,运行不变的搜索及阈值,再与已知输入比较。
真实教程做 128 次合成星等正弦注入,半振幅 0.1 星等,相位随机,频率分布在每天 0.3 到 4.8 周。恢复频率距离输入小于一个基线倒数,算作正确。二十五点计划中,112 次越过阈值,其中 36 次选中正确频率附近,76 次选成其他混叠;十六次没过阈值。
这些计数对应指定信号族、振幅、频率范围与误差模型。换一类源,要另做注入实验。即使还没定好源种群,这项区分仍然有用:探测阈值与周期识别规则回答不同问题。
对应阅读:VanderPlas, Understanding the Lomb–Scargle Periodogram, arXiv v1 · Astropy 8.0.2 Lomb–Scargle documentation