comparison trafficintelligence/utils.py @ 1088:0680387a89bb

added basic saving capability to empirical distribution
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 14 Nov 2018 12:30:50 -0500
parents 8734742c08c0
children 10205bd0e0b7
comparison
equal deleted inserted replaced
1087:9cc51a2d3c46 1088:0680387a89bb
142 for v, p in zip(values, probabilities): P(X<=v)=p''' 142 for v, p in zip(values, probabilities): P(X<=v)=p'''
143 assert probabilities[0]==0 143 assert probabilities[0]==0
144 super(EmpiricalContinuousDistribution, self).__init__(**kwargs) 144 super(EmpiricalContinuousDistribution, self).__init__(**kwargs)
145 self.values = values 145 self.values = values
146 self.probabilities = probabilities 146 self.probabilities = probabilities
147 147
148 def save(self, filename):
149 import yaml
150 with open(filename, 'w') as out:
151 yaml.dump([self.values, self.probabilities], out)
152
153 @staticmethod
154 def load(filename):
155 import yaml
156 with open(filename) as f:
157 values, probabilities = yaml.load(f)
158 return EmpiricalContinuousDistribution(values, probabilities)
159
148 def _cdf(self, x): 160 def _cdf(self, x):
149 if x < self.values[0]: 161 if x < self.values[0]:
150 return self.probabilities[0] 162 return self.probabilities[0]
151 else: 163 else:
152 i=0 164 i=0