You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于高精度时间序列提升低精度序列的时间精度?

高精度时间序列的低精度缺失值填补方案

我们有两个按asof合并的时间序列:一个是微/纳秒级高精度时钟序列(ts_us),另一个是仅毫秒级精度的序列(ts_ms)。已知两台时钟的同步精度约10微秒,时间漂移极低,需要填补ts_ms的缺失值,将其精度提升至与ts_us一致的近似微秒级。

示例数据

ts_usts_ms
01668276142.5553871668276142.555000
11668276142.563293nan
21668276142.579397nan
31668276142.5806171668276142.581000
41668276142.600136nan
51668276142.612303nan
61668276142.6250711668276142.625000
71668276142.636279nan
81668276142.653311nan
91668276142.6706041668276142.671000
101668276142.690874nan
111668276142.708148nan
121668276142.7241881668276142.724000

模拟初始合并DataFrame的代码

import pandas as pd 
import time

data = []
for x in range(100):
    ts = {'ts_us': time.time()}
    
    if x % 3 == 0:
        ts['ts_ms'] = round(time.time(), 3)
        
    data.append(ts.copy())
    time.sleep(1e-6)
    
df = pd.DataFrame(data)

方案对比与实现

1. 简单线性插值(pandas.interpolate)

df.interpolate(method='linear')是最直接的方案,因为已知时间漂移极低,线性插值的误差会控制在10微秒的同步精度范围内,完全满足需求。实现代码:

# 基于ts_us的时间轴做线性插值,填充前后缺失值
df['ts_ms_interpolated'] = df['ts_ms'].interpolate(method='linear', limit_direction='both')

优势:计算快、实现简单,无需额外依赖。

2. 时钟漂移线性拟合(更精准的确定性方案)

如果想进一步消除两台时钟间的微小漂移,可以用有效数据点拟合线性模型,再预测缺失值:

import numpy as np
from sklearn.linear_model import LinearRegression

# 提取有有效值的行
valid_mask = df['ts_ms'].notna()
X = df.loc[valid_mask, 'ts_us'].values.reshape(-1, 1)
y = df.loc[valid_mask, 'ts_ms'].values

# 拟合线性模型:ts_ms = a*ts_us + b
model = LinearRegression()
model.fit(X, y)

# 预测所有缺失值
df['ts_ms_drift_corrected'] = model.predict(df['ts_us'].values.reshape(-1, 1))

这种方法考虑了时钟间的系统漂移,比简单线性插值精度更高,尤其在数据跨度较大时效果更明显。

3. 概率性漂移估算(贝叶斯方法)

如果需要量化预测的不确定性,可以用贝叶斯线性回归建模,同时给出预测值的置信区间:

import statsmodels.api as sm

# 给特征添加截距项
X_sm = sm.add_constant(X)
# 贝叶斯线性回归拟合
model_bayes = sm.BayesGLS(y, X_sm)
results = model_bayes.fit()

# 预测所有值及置信区间
df['ts_ms_bayes_pred'] = results.predict(sm.add_constant(df['ts_us'].values.reshape(-1, 1)))
# 可获取模型参数的置信区间
param_conf_int = results.conf_int()

这种方案适合需要明确预测误差范围的场景,符合你提到的“概率性时间漂移估算”需求。

总结

  • 追求简单高效:线性插值完全够用,误差在同步精度范围内。
  • 追求更高精度:时钟漂移线性拟合是最优选择,平衡了精度与计算成本。
  • 需要概率性结果:贝叶斯线性回归能提供预测值的不确定性量化。

内容的提问来源于stack exchange,提问作者PavelP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 08:20:31