Class NoisyHistogram

java.lang.Object
dk.alexandra.fresco.stat.anonymisation.NoisyHistogram
All Implemented Interfaces:
dk.alexandra.fresco.framework.builder.Computation<List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,​dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>

public class NoisyHistogram
extends Object
implements dk.alexandra.fresco.framework.builder.Computation<List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,​dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>
Compute a differentially private histogram for a dataset.
  • Constructor Summary

    Constructors 
    Constructor Description
    NoisyHistogram​(List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>> buckets, List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>> data, double epsilon)
    Given a list of upper bounds for buckets and a list of samples, this computation computes a differentially private histogram for the given buckets.
  • Method Summary

    Modifier and Type Method Description
    dk.alexandra.fresco.framework.DRes<List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>> buildComputation​(dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric builder)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NoisyHistogram

      public NoisyHistogram​(List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>> buckets, List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>> data, double epsilon)
      Given a list of upper bounds for buckets and a list of samples, this computation computes a differentially private histogram for the given buckets. The last bucket contains all samples larger than the last upper bound.
      Parameters:
      buckets - Soft upper bounds for buckets
      data - List of samples
      epsilon - The privacy parameter
  • Method Details

    • buildComputation

      public dk.alexandra.fresco.framework.DRes<List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>> buildComputation​(dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric builder)
      Specified by:
      buildComputation in interface dk.alexandra.fresco.framework.builder.Computation<List<dk.alexandra.fresco.framework.DRes<dk.alexandra.fresco.framework.value.SInt>>,​dk.alexandra.fresco.framework.builder.numeric.ProtocolBuilderNumeric>