【问题标题】:Convolution with BigQuery Window functions?与 BigQuery 窗口函数的卷积?
【发布时间】:2016-06-12 13:08:27
【问题描述】:

这是我能做的吗?我正在尝试交叉关联两个时间序列。

我认为窗口函数应该这样做,但不是 100% 确定如何在 SQL 中构造它。

【问题讨论】:

标签: google-bigquery


【解决方案1】:

就像一个可以玩的想法(更适合 cmets 但更容易在答案中呈现):

SELECT
  CORR(a, b) AS correlation,
  CORR(a, b1) AS cross_correlation_lag_1,
  CORR(a, b2) AS cross_correlation_lag_2,
  CORR(a, b3) AS cross_correlation_lag_3,
  CORR(a, b4) AS cross_correlation_lag_4,
  CORR(a, b5) AS cross_correlation_lag_5
FROM (
  SELECT 
    a.ts AS ts, 
    a.val AS a, 
    b.val AS b,
    LEAD(b.val, 1) OVER(ORDER BY b.ts) AS b1,
    LEAD(b.val, 2) OVER(ORDER BY b.ts) AS b2,
    LEAD(b.val, 3) OVER(ORDER BY b.ts) AS b3,
    LEAD(b.val, 4) OVER(ORDER BY b.ts) AS b4,
    LEAD(b.val, 5) OVER(ORDER BY b.ts) AS b5
  FROM time_series1 AS a
  JOIN time_series2 AS b
  ON a.ts = b.ts
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2013-12-17
    相关资源
    最近更新 更多