Postgres 中 Harrell-Davis 分位数估计器的代码?

Code for the Harrell-Davis quantile estimator in Postgres?

我们正在重新审视如何审查大型数据集中可能的异常值。我们整理了一些IQR和fences、MAD(Median Absolute Deviation)、Double MAD的代码。这三个人听起来相当擅长处理包含很多变化的系列,但他们对系列中的不对称性很敏感。我们的价值观普遍存在偏差。

Doubled 证明 less 容易受到影响,因为它将分布一分为二,并对每一半进行 MAD 评分。因此,总体中值两侧的点不会扭曲中值另一侧的问题。据我了解,我所知道的来自这里:

https://eurekastatistics.com/using-the-median-absolute-deviation-to-find-outliers/

所有这些估计器都依赖于分位数,听起来 Harrell-Davis 分位数估计器提高了这些其他方法的质量:

https://aakinshin.net/posts/harrell-davis-double-mad-outlier-detector/

MAD、DoubleMad 和 Harrell-Davis 似乎广泛用于科学、学术界和统计领域。您可以在 R 中获得所有内容,但我们希望直接在 Postgres 中进行一些离群值检查。 (RDS 部署,无 R。)

这响铃了吗?有没有人在 Postgres 或任何其他 SQL 习语中看到过这样的代码?

而且,不要给人留下误解,我不是统计人员,将希腊公式转换为 SQL 代码的能力为零。但是,我可以在 SQL 习语和遵循基本概念之间进行翻译。

现在我知道为什么人们在 R 中做这种工作了:因为 R 非常适合这种工作。 如果以后有人遇到这个,去获取 R . 它是一种紧凑、易于使用、易于学习的语言,具有出色的 IDE.

如果您有一个可以安装 PL/R 的 Postgres 服务器,那就更好了。 PL/R 被编写为使用 DBIRPostgreSQL R 包与 Postgres 连接。意思是,您应该能够在 RStudio 中开发您的代码,然后在您的 Postgres 服务器中的 PL/R 中添加使其 运行 所需的包装位。

对于异常值,到目前为止,我对 univOutl(单变量异常值)很满意,它提供了 10 种常见和不太常见的方法。