def test_rsquared_perfect_corr_is_1(self):
        """rsquared for perfect correlation should be 1"""
        res = of.rsquared(self.evaluation, self.evaluation)
        self.assertAlmostEqual(res, 1, self.tolerance)

        res = of.rsquared(self.evaluation, 2*self.evaluation)
        self.assertAlmostEqual(res, 1, self.tolerance)

        res = of.rsquared(self.evaluation, 0.5*self.evaluation)
        self.assertAlmostEqual(res, 1, self.tolerance)

        res = of.rsquared(self.evaluation, -self.evaluation)
        self.assertAlmostEqual(res, 1, self.tolerance)

        res = of.rsquared(self.evaluation, -2*self.evaluation)
        self.assertAlmostEqual(res, 1, self.tolerance)

        res = of.rsquared(self.evaluation, -0.5*self.evaluation)
        self.assertAlmostEqual(res, 1, self.tolerance)
Esempio n. 2
0
    return {'obs': pend_obs, 'sim': pend_sim, 'correcta': (pend_obs > 0) is (pend_sim > 0)}


algs_spotpy = {
    'fast': spotpy.algorithms.fast,
    'dream': spotpy.algorithms.dream,
    'cm': spotpy.algorithms.mc,
    'cmmc': spotpy.algorithms.mcmc,
    'epm': spotpy.algorithms.mle,
    'mhl': spotpy.algorithms.lhs,
    'as': spotpy.algorithms.sa,
    'sceua': spotpy.algorithms.sceua,
    'erop': spotpy.algorithms.rope,
    'caa': spotpy.algorithms.abc,
    'fscabc': spotpy.algorithms.fscabc,
    'bdd': spotpy.algorithms.dds
}

eval_funcs = {
    'ens': lambda o, s, f: spt_f.nashsutcliffe(o, s),
    'rcep': lambda o, s, f: -spt_f.rmse(o, s),
    'corresp': lambda o, s, f: spt_f.agreementindex(o, s),
    'ekg': lambda o, s, f: spt_f.kge(o, s),
    'r2': lambda o, s, f: spt_f.rsquared(o, s),
    'rcnep': lambda o, s, f: -spt_f.rrmse(o, s),
    'log p': lambda o, s, f: spt_f.log_p(o, s),
    'verosimil_gaus': lambda o, s, f: spt_l.gaussianLikelihoodMeasErrorOut(o, s),
    'tendencia': _anlz_tendencia
}
 def test_rsquared_random(self):
     res = of.rsquared(self.evaluation, self.simulation)
     self.assertAlmostEqual(res, 0.012212676098496588, self.tolerance)