def _make(self, ep): project = "Minna Bluff" db = self.db with db.session_ctx(): prj = db.get_project(project) Ar40, Ar39, Ar38, Ar37, Ar36 = [], [], [], [], [] for dev in (("Eurotherm", "Furnace"), ("CO2")): for si in prj.samples: for li in si.labnumbers: self.debug("blanks for {},{}".format(si.name, li.identifier)) for ai in li.analyses: if ai.extraction.extraction_device.name in dev: bs = self._extract_blanks(ai) if bs is not None: r = make_runid(li.identifier, ai.aliquot, ai.step) # self.debug('blanks for {} {}'.format(r,bs)) Ar40.append(bs[0]) Ar39.append(bs[1]) Ar38.append(bs[2]) Ar37.append(bs[3]) Ar36.append(bs[4]) reg = WeightedMeanRegressor() print "blanks for {}".format(dev) for iso in (Ar40, Ar39, Ar38, Ar37, Ar36): ys, es = zip(*iso) reg.trait_set(ys=ys, yserr=es) print reg.predict()
def _mean_regress(self, scatter, r, fit): from pychron.core.regression.mean_regressor import MeanRegressor, WeightedMeanRegressor if hasattr(scatter, 'yerror') and fit=='weighted mean': if r is None or not isinstance(r, WeightedMeanRegressor): r = WeightedMeanRegressor() else: if r is None or not isinstance(r, MeanRegressor): r = MeanRegressor() self._set_regressor(scatter, r) # r.trait_setq(fit=fit) r.calculate() self._set_excluded(scatter, r) return r
def _mean_regress(self, scatter, r, fit): from pychron.core.regression.mean_regressor import MeanRegressor, WeightedMeanRegressor if hasattr(scatter, 'yerror') and fit == 'weighted mean': if r is None or not isinstance(r, WeightedMeanRegressor): r = WeightedMeanRegressor() else: if r is None or not isinstance(r, MeanRegressor): r = MeanRegressor() self._set_regressor(scatter, r) # r.trait_setq(fit=fit) r.calculate() self._set_excluded(scatter, r) return r
def setUp(self): n = 1000 ys = np.ones(n) * 5 # es = np.random.rand(n) es = np.ones(n) ys = np.hstack((ys, [5.1])) es = np.hstack((es, [1000])) # print es self.reg = WeightedMeanRegressor(ys=ys, errors=es)
def _make(self, ep): project = 'Minna Bluff' db = self.db with db.session_ctx(): prj = db.get_project(project) Ar40, Ar39, Ar38, Ar37, Ar36 = [], [], [], [], [] for dev in (('Eurotherm', 'Furnace'), ('CO2')): for si in prj.samples: for li in si.labnumbers: self.debug('blanks for {},{}'.format( si.name, li.identifier)) for ai in li.analyses: if ai.extraction.extraction_device.name in dev: bs = self._extract_blanks(ai) if bs is not None: r = make_runid(li.identifier, ai.aliquot, ai.step) # self.debug('blanks for {} {}'.format(r,bs)) Ar40.append(bs[0]) Ar39.append(bs[1]) Ar38.append(bs[2]) Ar37.append(bs[3]) Ar36.append(bs[4]) reg = WeightedMeanRegressor() print 'blanks for {}'.format(dev) for iso in (Ar40, Ar39, Ar38, Ar37, Ar36): ys, es = zip(*iso) reg.trait_set(ys=ys, yserr=es) print reg.predict()
def _mean_regress(self, scatter, r, fit): if hasattr(scatter, 'yerror'): if r is None or not isinstance(r, WeightedMeanRegressor): r = WeightedMeanRegressor() else: if r is None or not isinstance(r, MeanRegressor): r = MeanRegressor() self._set_regressor(scatter, r) r.trait_set(fit=fit, trait_change_notify=False) r.calculate() self._set_excluded(scatter, r) return r
def _mean_regress(self, scatter, r, fit): if hasattr(scatter, 'yerror'): if r is None or not isinstance(r, WeightedMeanRegressor): r = WeightedMeanRegressor() else: if r is None or not isinstance(r, MeanRegressor): r = MeanRegressor() self._set_regressor(scatter, r) r.trait_set(fit=fit, trait_change_notify=False) r.calculate() self._set_excluded(scatter, r) return r
def _get_regressor(self, fit, error_type, xs, ys, es): fit = fit.lower() if fit in ('linear', 'parabolic', 'cubic'): reg = WeightedPolynomialRegressor(fit=fit) elif fit in [ 'preceding', 'bracketing interpolate', 'bracketing average' ]: reg = InterpolationRegressor(kind=fit) elif fit == 'weighted mean': reg = WeightedMeanRegressor() else: print 'fit {} not valid'.format(fit) raise NotImplementedError mi = min(xs) xs = [xi - mi for xi in xs] reg.trait_set(error_type=error_type, xs=xs, ys=ys, yserr=es) reg.calculate() return reg