pub fn then_alp_queryable<K, CI, CO>(
    scale: CO,
    total_limit: CI,
    value_limit: Option<CI>,
    size_factor: Option<u32>,
    alpha: Option<u32>
) -> PartialMeasurement<MapDomain<AtomDomain<K>, AtomDomain<CI>>, Queryable<K, CO>, L1Distance<CI>, MaxDivergence<CO>>
where K: 'static + Hashable, CI: 'static + Integer + InfCast<CO> + ToPrimitive, CO: 'static + Float + InfCast<Float> + InfCast<CI>, Float: InfCast<CO>, (MapDomain<AtomDomain<K>, AtomDomain<CI>>, L1Distance<CI>): MetricSpace,
Expand description

Measurement to release a queryable containing a DP projection of bounded sparse data.

The size of the projection is O(total * size_factor * scale / alpha). The evaluation time of post-processing is O(beta * scale / alpha).

size_factor is an optional multiplier (defaults to 50) for setting the size of the projection. There is a memory/utility trade-off. The value should be sufficiently large to limit hash collisions.

Citations

Arguments

  • scale - Privacy loss parameter. This is equal to epsilon/sensitivity.
  • value_limit - Upper bound on individual values (referred to as β). Entries above β are clamped.
  • total_limit - Either the true value or an upper bound estimate of the sum of all values in the input.
  • size_factor - Optional multiplier (default of 50) for setting the size of the projection.
  • alpha - Optional parameter (default of 4) for scaling and determining p in randomized response step.