functionSUB: Build dpCDFs through use of a noisy tree with bin merging.
Description
The function first creates a k-ary aggregate tree on the histogram bins.
It then utilizes epsilon1 in order to privately discover the best way to
prune sub-trees in order to reduce the L2 error due to the noise addition.
It then prunes the sub-trees of the original tree, and outputs it by utilizing epsilon2.
Finally, it utilizes this output to compute and release the private CDF.
Usage
functionSUB(eps, cdfstep, data, range, gran, K = 2, ...)
Arguments
eps
Epsilon value for Differential privacy control
cdfstep
The step sized used in outputting the approximate CDF;
the values output are [min, min + cdfstep], [min, min + 2 * cdfstep], etc.
data
A vector of the data (single variable to compute CDFs from)
range
A vector length 2 containing user-specified min and max to truncate the universe to
gran
The smallest unit of measurement in the data (one [year] for a list of ages)
K
This sets the degree of the underlying tree.
...
Optionally add additional parameters.
Value
A list with 2 vectors: one is the y coordinates of the DP-CDF, the other is the
abs values of the anlytically expected bounds for a similarly-constructed
DP-CDF, at 95 percent probability made without merging.