Exemplo n.º 1
0
 def commit(self):
     self.Error.unexpected_error.clear()
     self.Warning.model_not_appropriate.clear()
     self.model.clear()
     data = self.data
     if not data or not self._models:
         return
     try:
         with self.progressBar(len(self._models) * (self.n_folds + 1) +
                               1) as progress:
             res = model_evaluation(data,
                                    list(self._models.values()),
                                    self.n_folds,
                                    self.forecast_steps,
                                    callback=progress.advance)
     except ValueError as e:
         self.Error.unexpected_error(e.args[0])
         return
     res = np.array(res, dtype=object)
     if res.ndim > 1:
         self.model.setHorizontalHeaderLabels(res[0, 1:].tolist())
         self.model.setVerticalHeaderLabels(res[1:, 0].tolist())
         self.model.wrap(res[1:, 1:].tolist())
     else:
         self.Warning.model_not_appropriate()
 def commit(self):
     self.Error.unexpected_error.clear()
     self.model.clear()
     data = self.data
     if not data or not self._models:
         return
     try:
         with self.progressBar(len(self._models) * (self.n_folds + 1) + 1) as progress:
             res = model_evaluation(data, list(self._models.values()),
                                    self.n_folds, self.forecast_steps,
                                    callback=progress.advance)
     except ValueError as e:
         self.Error.unexpected_error(e.args[0])
         return
     res = np.array(res, dtype=object)
     self.model.setHorizontalHeaderLabels(res[0, 1:].tolist())
     self.model.setVerticalHeaderLabels(res[1:, 0].tolist())
     self.model.wrap(res[1:, 1:].tolist())
Exemplo n.º 3
0
 def test_model_evaluation(self):
     models = [ARIMA((1, 1, 0)), ARIMA((2, 1, 1)), VAR(1), VAR(3)]
     results = model_evaluation(data, models, n_folds=10, forecast_steps=3)
     results = np.array(results, dtype=object)
     self.assertEqual(results.shape, (4 * 2 + 1, 8))
     np.testing.assert_equal(results[1:, 1:].astype(float) > 0, True)