Google BigQuery 中的时间序列投影

Time Series Projection in Google BigQuery

我一直在寻找一种在 BigQuery 中进行时间序列投影的好方法,并找到了这个方法,它可以很好地计算相关性和斜率:。但是延长时间线对你的选择没有帮助。

但是谁能提出一个完整的解决方案,我可以根据需要延长时间线 (x) 并使用单个查询获得 (Y) 的预测?

我们将不胜感激任何帮助。

基本思想是将模型规格左连接到生成的日期 table 并使用它:

WITH stats AS (
  SELECT * FROM UNNEST([
    STRUCT( 'a' AS model, 0.3 AS slope, 11 AS intercept ),
    STRUCT( 'b', 0.2, 7)
  ])
)

SELECT
  date,
  model,
  slope,
  intercept,
  UNIX_DATE(date) AS X,
  slope * UNIX_DATE(date) + intercept AS Y
FROM
  UNNEST(GENERATE_DATE_ARRAY(DATE('2018-05-01'),DATE('2018-07-01'))) AS date
  LEFT JOIN stats ON TRUE
ORDER BY date ASC

我没有重复统计部分,因为它已经回答了,但我创建了一个虚拟 table 用两个模型代替它,模型当然也可以是一个桶,那么你有左加入作为关键。

我还假设您使用 unix 日期(自 1970-01-01 以来的天数)创建了带有日期的模型,否则您需要相应地进行修改。