Google BigQuery中的时间序列投影

时间:2018-08-09 10:01:24

标签: time google-bigquery time-series regression projection

我一直在寻找一种在BigQuery中进行时间序列投影的好方法,并发现了这一方法,它可以很好地计算相关性和斜率:View Post。但是,将时间轴扩展到您的选择并没有帮助。

但是任何人都可以提出一个完整的解决方案,在这里我可以根据需要延长时间轴(x)并使用单个查询获得(Y)的预测?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

基本思想是将模型规格加入生成的日期表中并使用它:

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

我没有重复统计部分,因为它已经被回答了,但是我创建了一个虚拟表,其中有两个模型将其替换,该模型当然也可以是一个存储桶,那么您必须在该表上保留联接钥匙。

我还假设您使用unix日期(1970年1月1日以来的天数)创建带有日期的模型,如果不需要,则需要进行相应的修改。