Empirical Cumulative Distribution Function
If you can use Mathematica 9, WeightedData
does the trick:
(* "Measured" cumulative probability data { {cum_prob, position}, ... } *)
cum = {CDF[NormalDistribution[], #], #} & /@
RandomVariate[UniformDistribution[{-3, 3}], 100];
cumSorted = SortBy[cum, #[[2]]&] // Transpose;
(* Weighted data. Weights correspond to "histogram step sizes." *)
weighted = WeightedData[cumSorted[[2]],
Differences[Prepend[cumSorted[[1]], 0]]];
(* Various distributions and probability functions can take weighted data *)
empirical = EmpiricalDistribution[weighted];
smooth = SmoothKernelDistribution[weighted];
(* CDFs. empirical and smooth are first-class citizens of the distribution land! *)
DiscretePlot[{CDF[empirical, x], CDF[smooth, x]}, {x, -3, 3, .01}]
EDIT: EmpiricalDistribution
does also support (presumably already before version 9) following weighted data: EmpiricalDistribution[weights -> values]
.
Disclaimer: don't base your nuclear reactor safety on this. I'm not a mathematician.