def pi_setup():
    PI = PredictionIntervals()
    results = gf.setup_pseudo_results()
    DS = gf.basic_data_structure()
    PI.setup_prediction_interval_calculation(results=results,
                                             data=DS,
                                             modelfunction=gf.predmodelfun)
    return PI, results
 def setup_complex_pi(cls):
     PI = PredictionIntervals()
     results = gf.setup_pseudo_results()
     results['s2chain'] = None
     DS = gf.basic_data_structure()
     PI.setup_prediction_interval_calculation(results=results,
                                              data=DS,
                                              modelfunction=gf.predmodelfun)
     PI.generate_prediction_intervals(sstype=0,
                                      nsample=500,
                                      calc_pred_int=False,
                                      waitbar=False)
     return PI
 def test_generate_credible_intervals(self):
     PI = PredictionIntervals()
     results = gf.setup_pseudo_results()
     results['s2chain'] = None
     DS = gf.basic_data_structure()
     PI.setup_prediction_interval_calculation(results=results,
                                              data=DS,
                                              modelfunction=gf.predmodelfun)
     PI.generate_prediction_intervals(sstype=None,
                                      nsample=500,
                                      calc_pred_int=False,
                                      waitbar=False)
     cint = PI.intervals['credible_intervals']
     pint = PI.intervals['prediction_intervals']
     self.common_set_1(cint, pint)
 def test_generate_credible_intervals_with_waitbar(self):
     PI = PredictionIntervals()
     results = gf.setup_pseudo_results()
     results['s2chain'] = None
     DS = gf.basic_data_structure()
     PI.setup_prediction_interval_calculation(results=results,
                                              data=DS,
                                              modelfunction=gf.predmodelfun)
     PI.generate_prediction_intervals(sstype=None,
                                      nsample=500,
                                      calc_pred_int=False,
                                      waitbar=True)
     cint = PI.intervals['credible_intervals']
     pint = PI.intervals['prediction_intervals']
     self.common_set_1(cint, pint)
     self.assertEqual(PI._PredictionIntervals__wbarstatus.percentage(3),
                      3.0,
                      msg='Expect 3.0')
 def test_setup_pi_calc_with_s2chain_none(self):
     PI = PredictionIntervals()
     DS = gf.basic_data_structure()
     results = gf.setup_pseudo_results()
     results['s2chain'] = None
     PI.setup_prediction_interval_calculation(results=results,
                                              data=DS,
                                              modelfunction=gf.predmodelfun)
     self.assertEqual(PI._PredictionIntervals__ndatabatches,
                      1,
                      msg='Expect ndatabatches = 1')
     self.assertEqual(PI.modelfunction,
                      gf.predmodelfun,
                      msg='Functions should match')
     self.assertFalse(hasattr(PI, '_PredictionIntervals__s2chain_index'),
                      msg='Expect False')
     self.assertTrue(np.array_equal(PI._PredictionIntervals__chain,
                                    results['chain']),
                     msg='Arrays should match')