【问题标题】:Time Series Projection in Google BigQueryGoogle BigQuery 中的时间序列投影
【发布时间】:2019-01-16 17:56:50
【问题描述】:

我正在寻找一种在 BigQuery 中进行时间序列投影的好方法,并找到了这个方法,它可以很好地计算相关性和斜率:View Post。但这无助于将时间线延长至您的选择。

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

任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

    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 日以来的天数)创建了带有日期的模型,否则您需要相应地进行修改。

    【讨论】:

    • 嗨@Martin Weitzmann,抱歉延迟回复;但不能感谢你的精彩回答。交叉连接可以解决问题。两个问题:(a)你写了“在这里添加你的计算”——你的意思是什么计算? (b) 我想将查询的第一部分扩展到多重回归;你能帮我修改统计部分吗?现在每个人似乎都相信 BigQuery ML 可以解决所有预测问题。但在大多数情况下,这也使用 LR 创建训练模型。我可能是错的,但 BQML 技术对于简单的预测工作似乎有点过头了。
    • 很高兴为您提供帮助,您可以考虑接受答案(单击答案旁边的复选标记,将其从灰色切换为已填充)。广告 (a): 是剩余的,我删除了它 (b) 最好向社区提出一个新问题,这会使这里的答案有些膨胀,并且不适合这个问题
    • 发布了一个新问题。这里:[stackoverflow.com/questions/51798133/…
    猜你喜欢
    • 2021-02-21
    • 1970-01-01
    • 2022-07-07
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 2023-01-27
    • 1970-01-01
    相关资源
    最近更新 更多