apache / datasketches-java

A software library of stochastic streaming algorithms, a.k.a. sketches.
https://datasketches.apache.org
Apache License 2.0
893 stars 209 forks source link

This extends the usability of the Kolmogorov-Smirnov test #535

Closed leerho closed 6 months ago

leerho commented 6 months ago

from the Classic DoublesSketch to KllDoublesSketch and the KllFloatsSketch.

In order to do this I needed to add "getNormalizedRankError(boolean) to the root interface QuantilesAPI. All of the sketches (except REQ) had this anyway. In REQ I just throw an unsupported operation exception, because it makes no sense for REQ.

This also means the KolmogorovSmirnov class and its test move to the "quantilescommon" package.

jmalkin commented 6 months ago

I don't think it's that it makes no sense for REQ, but it won't be able to share code nicely. With classic quantiles and KLL we can share an API since error is constant over the sketch. For REQ we'd need a point-specific error estimate.

Completely out of scope of this PR though.