quantilesGK
quantilesGK
도입 버전: v23.4
Greenwald-Khanna 알고리즘을 사용하여 수치 데이터 시퀀스에 대해 서로 다른 여러 레벨의 분위수(quantile)를 동시에 계산합니다.
이 함수는 quantileGK와 유사하게 동작하지만, 단일 패스로 여러 분위수 레벨을 계산할 수 있어 개별 분위수 함수를 각각 호출하는 것보다 더 효율적입니다.
Greenwald-Khanna 알고리즘은 데이터 스트림에서 분위수를 매우 효율적으로 계산하는 데 사용되는 알고리즘입니다. 이 알고리즘은 2001년에 Michael Greenwald와 Sanjeev Khanna에 의해 소개되었습니다. 입력 크기를 n이라 할 때, 이 알고리즘은 O(log n)의 공간과 항목당 O(log log n)의 시간만 사용하므로 매우 효율적입니다. 또한 제어 가능한 정확도로 분위수 값을 근사하여 제공하므로 정확성도 매우 높습니다.
구문
매개변수
accuracy— 분위수의 정확도입니다. 양의 정수 상수입니다. 값이 클수록 오차가 작습니다. 예를 들어accuracy인자를 100으로 설정하면, 계산된 분위수는 높은 확률로 최대 1% 이하의 오차만을 가집니다. 계산된 분위수의 정확도와 알고리즘의 계산 복잡도 사이에는 트레이드오프가 있습니다.UInt*level— 분위수의 수준입니다. 0부터 1 사이의 하나 이상의 상수 부동소수점 수입니다.Float*
인수
expr— 숫자 데이터 타입, Date 또는 DateTime을 결과로 내는 컬럼 값에 대한 표현식입니다.(U)Int*또는Float*또는Decimal*또는Date또는DateTime
반환 값
지정된 수준에 대한 분위수 배열을, 수준이 지정된 것과 동일한 순서로 반환합니다. Array(Float64) 또는 Array(Date) 또는 Array(DateTime)
예시
GK 알고리즘을 사용하여 여러 분위수를 계산하기
더 높은 정밀도의 분위수