Measurement to release a queryable containing a DP projection of bounded sparse data.
Usage
make_alp_queryable(
input_domain,
input_metric,
scale,
total_limit,
value_limit = NULL,
size_factor = 50L,
alpha = 4L,
.CO = NULL
)
Arguments
- input_domain
undocumented
- input_metric
undocumented
- scale
Privacy loss parameter. This is equal to epsilon/sensitivity.
- total_limit
Either the true value or an upper bound estimate of the sum of all values in the input.
- value_limit
Upper bound on individual values (referred to as β). Entries above β are clamped.
- 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.
- .CO
undocumented
Details
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.
make_alp_queryable in Rust documentation.
Citations:
ALP21 Differentially Private Sparse Vectors with Low Error, Optimal Space, and Fast Access Algorithm 4
Supporting Elements:
Input Domain:
MapDomain<AtomDomain<K>, AtomDomain<CI>>
Output Type:
Queryable<K, CO>
Input Metric:
L1Distance<CI>
Output Measure:
MaxDivergence<CO>