Mercurial Hosting > traffic-intelligence
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 |