def _generate_holts_es_forecast(self):
        demand = (list(self.__orders.get("demand")))
        orders = [int(i) for i in demand]

        htces = holts_trend_corrected_exponential_smoothing_forecast(demand=orders, alpha=0.5, gamma=0.5, optimise=True)

        return htces
Exemplo n.º 2
0
    def _generate_holts_es_forecast(self):
        demand = (list(self.__orders.get("demand")))
        orders = [int(i) for i in demand]

        htces = holts_trend_corrected_exponential_smoothing_forecast(
            demand=orders, alpha=0.5, gamma=0.5, optimise=True)

        return htces
    def test_holts_trend_corrected_exponential_smoothing(self):
        holts_trend_corrected_esf = holts_trend_corrected_exponential_smoothing_forecast(demand=self._orders,
                                                                                         alpha=0.5,
                                                                                         gamma=0.5,
                                                                                         forecast_length=6,
                                                                                         initial_period=18)

        self.assertEqual(281, round(holts_trend_corrected_esf.get('forecast')[0]))
        self.assertEqual(308, round(holts_trend_corrected_esf.get('forecast')[1]))
        self.assertEqual(334, round(holts_trend_corrected_esf.get('forecast')[2]))
Exemplo n.º 4
0
    def test_holts_trend_corrected_exponential_smoothing(self):
        holts_trend_corrected_esf = holts_trend_corrected_exponential_smoothing_forecast(
            demand=self._orders,
            alpha=0.5,
            gamma=0.5,
            forecast_length=6,
            initial_period=18,
            optimise=False)

        self.assertEqual(281,
                         round(holts_trend_corrected_esf.get('forecast')[0]))
        self.assertEqual(308,
                         round(holts_trend_corrected_esf.get('forecast')[1]))
        self.assertEqual(334,
                         round(holts_trend_corrected_esf.get('forecast')[2]))
Exemplo n.º 5
0
    def test_holts_trend_corrected_exponential_smoothing(self):

        self.htces_forecast = [
            i for i in
            holts_trend_corrected_exponential_smoothing_forecast_from_file(
                file_path=ABS_FILE_PATH['COMPLETE_CSV_XSM'],
                file_type='csv',
                length=12,
                alpha=0.5,
                gamma=0.5,
                smoothing_level_constant=0.5,
                optimise=True)
        ]

        holts_trend_corrected_esf = holts_trend_corrected_exponential_smoothing_forecast(
            demand=self._orders,
            alpha=0.5,
            gamma=0.5,
            forecast_length=6,
            initial_period=18,
            optimise=False)

        self.assertEqual(281,
                         round(holts_trend_corrected_esf.get('forecast')[0]))
        self.assertEqual(308,
                         round(holts_trend_corrected_esf.get('forecast')[1]))
        self.assertEqual(334,
                         round(holts_trend_corrected_esf.get('forecast')[2]))

        self.keys = [list(i.keys()) for i in self.htces_forecast]
        self.unpack_keys_htces = [i[0] for i in self.keys]

        for key in self.sku_id:
            self.assertIn(key, self.unpack_keys_htces)

        for i in self.htces_forecast:
            for k in i.values():
                self.assertGreater(k.get('original_standard_error'),
                                   k.get('standard_error'))