sql - BigQuery : how can I run a binomial test? 中的统计测试

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

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

是否有可用的 UDF?

最佳答案

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

假设您种植的草莓由兼职 worker 采摘到盒子里。平均每 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    

关于sql - BigQuery : how can I run a binomial test? 中的统计测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38778863/

相关文章:

php - 创建连接表问题!

sql - 我如何着手处理新闻文章在主要、特色和类别区域方面的转移?

sql - 即使数据存在于 vb.net 中的 SqlDataReader 中,也无法尝试读取数据

linux - 目录统计命令行界面?

sql - 第一个非空值(有序)聚合函数 (GBQ)

SQL 查询查找基于日期的数据的本地最大值、最小值

python - 统计:优化python中的概率计算

r - 在 R 中计算 AR(2) 过程的相关系数

sql - BigQuery中的WITH

sql - 根据bigquery中的条件合并记录