我一直在寻找一种在BigQuery中进行时间序列投影的好方法,并发现了这一方法,它可以很好地计算相关性和斜率:View Post。但是,将时间轴扩展到您的选择并没有帮助。
但是任何人都可以提出一个完整的解决方案,在这里我可以根据需要延长时间轴(x)并使用单个查询获得(Y)的预测?
任何帮助将不胜感激。
答案 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日以来的天数)创建带有日期的模型,如果不需要,则需要进行相应的修改。