Apache Age(图形扩展名)是PostgreSQL数据库的强大图形扩展名。它提供了丰富的统计和数学功能,以有效地分析和操纵数据。
在上一篇博客文章中,我们探索了apache Click here to read中percentileCont()
函数的功能和语法。
今天,我们将深入研究Apache Age提供的另一个基本功能,即percentileDisc()
函数。此功能还用于计算数据集中的百分位数。让我们详细探讨此功能,并了解如何以及何时使用它。
什么是百分位数?
在我们深入研究功能的细节之前,让我们简要了解百分位数的概念。百分位数是一种统计度量,它指示特定值在数据集中的相对位置。它代表了数据集中给定观测值的百分比下降的值。例如,第75个百分位数(也称为第三四分位数)表明数据集中的75%的值低于该特定值。
百分比功能
Apache Age中的percentileDisc()
功能使用圆形方法并计算到百分位数的最接近值。它从数据集中返回代表最接近所请求百分位数的数据点的值。与percentileCont()
不同,它不会执行任何插值。该函数返回一组给定值的百分位数,其百分比从0.0到1.0。
该功能还需要两个参数(表达式和百分位数)并返回浮点。
查询语法
给定此数据集
demo=# SELECT * FROM cypher('percentile', $$
demo$# CREATE (:Person {name: 'Paul', age: 20}), (:Person {name: 'Mark', age: 22}),
demo$# (:Person {name: 'Peter', age: 42}), (:Person {name: 'Bob', age: 12}),
demo$# (:Person {name: 'Robin', age: 30}), (:Person {name: 'Grace', age: 24}),
demo$# (:Person {name: 'Martha', age: 32}), (:Person {name: 'Keith', age: 28})
demo$# $$) AS (a agtype);
a
---
(0 rows)
demo=# SELECT * FROM cypher('percentile', $$
demo$# MATCH (n:Person)
demo$# RETURN percentileDisc(n.age, 0.5)
demo$# $$) as (percentile_disc_age agtype);
percentile_disc_age
---------------------
24.0
(1 row)
在这种情况下,返回财产年龄中的50个百分点。
要注意的事情:
- 百分位参数是0到1之间的数字值 代表所需的百分位数。例如,0.5代表50个百分位数(中位数)。
- 如果百分位数属于两个数据点,则此功能从最接近所请求的百分位数的数据集返回值。
-
percentileDisc()
函数返回数据集中存在的离散值,而不是插值估计值。
用例
- 当您需要在数据集中找到给定百分位数的数据集中最接近的实际值时,
percentileDisc()
函数是合适的。 - 在处理离散或分类数据时,通常使用
percentileDisc()
函数,而线性插值没有意义。
结论
重要的是要掌握percentileCont()
和percentileDisc()
在apache时代的函数之间的差异,因为这对于准确的百分位计算至关重要。尽管percentileCont()
函数通过线性插值提供了连续的估计,但percentileDisc()
函数返回数据集的最接近实际值。选择适当的功能取决于数据的性质以及分析中所需的精度水平。通过考虑数据集的特征和所需结果,您可以有效利用这些功能从数据中获得有意义的见解。
参考
- The Aggregation functions in Apache AGE
- Mastering the percentileCont Function in Apache AGE
- 访问Apache Age网站:https://age.apache.org/
- 访问Apache Age Github:https://github.com/apache/age
- 访问apache时代查看器github:https://github.com/apache/age-viewer