changeset 197:2788b2827670

simple cumulatie function distribution computation
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 08 Feb 2012 15:02:30 -0500
parents aeab0b88c9b6
children c91c8fd8bf1e
files python/utils.py
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/python/utils.py	Tue Dec 20 00:31:37 2011 -0500
+++ b/python/utils.py	Wed Feb 08 15:02:30 2012 -0500
@@ -69,6 +69,16 @@
     def nSamples(self):
         return sum(self.counts)
 
+def cumulativeDensityFunction(sample):
+    'Returns the cumulative density function of the sample of a random variable'
+    from numpy.core.multiarray import array
+    from numpy.lib.function_base import unique
+    from numpy.core.fromnumeric import sum
+    a = array(sample)
+    a.sort()
+    xaxis = unique(a)
+    counts = [sum(a <= x) for x in xaxis]
+    return xaxis, counts
 
 class EmpiricalDiscreteDistribution(EmpiricalDistribution):
     '''Class to represent a sample of a distribution for a discrete random variable