【问题标题】:Statistical tests in BigQuery: how can I run a binomial test?BigQuery 中的统计测试:如何运行二项式测试?
【发布时间】:2016-12-11 06:10:09
【问题描述】:

在 BigQuery 中拥有高级统计功能会很有用。如何获得贝叶斯可信区间和二项式检验?

是否有可用的 UDF?

【问题讨论】:

标签: sql statistics google-bigquery user-defined-functions


【解决方案1】:

您可以为此写UDFs。实际上并没有那么复杂,尽管调试它们可能有点混乱。这是我为二项式检验和贝叶斯可信区间编写的一些 UDF 的link,下面是您如何使用它们的简短演示。如果您使用 Web 界面,请不要忘记将它们粘贴到 UDF 编辑器中,您可以通过按查询文本框右上角的按钮找到该编辑器。

假设您种植的草莓由兼职工人采摘到盒子中。平均每 100 个盒子中就有 1 个被客户拒绝,因为它含有太多的坏浆果。你决定给最好的拣货员一个奖金,但意识到用原始拒绝率比较它们会给那些箱子很少的拣货员带来不公平的优势(因为 10 个箱子中的 0 次拒绝并不一定比 100 个箱子中的 1 次拒绝更好) )。相反,您使用binomial test 来计算谁最有可能比平均水平更好:

SELECT
   id,
   pvalue
 FROM
   binomial_test(
     SELECT
       *
     FROM
       (SELECT "Jim" AS id,  234 AS total, 0 AS observed, 1/100 AS probability),
       (SELECT "Bob" AS id, 1478 AS total, 3 AS observed, 1/100 AS probability),
       (SELECT "Sue" AS id,  482 AS total, 1 AS observed, 1/100 AS probability)
   )
Row  id   pvalue     
1    Jim  0.09519969035921706    
2    Bob  2.408837505151057E-4   
3    Sue  0.04620667666995042    

【讨论】:

  • 看起来您缺少函数输入中的概率字段...
  • @DavidBrophy:现已修复。
猜你喜欢
  • 2020-05-22
  • 2019-02-10
  • 2020-09-22
  • 2018-08-02
  • 2021-09-09
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 2021-11-13
相关资源
最近更新 更多