=========================================
Holt-Winters Double Exponential Smoothing
=========================================
:doc:`/WorkProcessClassifiers/LocalAlgorithm/index` - :doc:`/WorkProcessClassifiers/OneDimensionalAlgorithm/index`

*Holt-Winters Double Exponential Smoothing* algorithm is an improved version of the *Single Exponential Smoothing* algorithm. It works well when there is a a trend in the input data. The basic formulas are stated as follows:

.. math::

    (1) \quad s_1 = Y_0 \, \text{,}

,

.. math::

    (2) \quad b_1 = Y_1-Y_0 \, \text{,}



.. math::

    (3) \quad s_t = \alpha Y_t + (1 - \alpha)(s_{t-1} + b_{t-1}), \quad t > 1 \, \text{,}



.. math::

   (4) \quad b_t = \beta (s_t - s_{t-1}) + (1 - \beta) b_{t-1}, \quad t > 1\, \text{,}



.. math::

    (5) \quad \hat{Y}_{t+m} = s_t + m b_t \, \text{,}

where :math:`Y` is the data sequence beginning at time :math:`t = 0` and :math:`\hat{Y}_{t+m}` is the smoothed forecast for time :math:`t + m`\ .

.. rubric:: Input Parameters

+----------------------------+------------------------------------------------+------------------------------------------------+--------------------------------------------------+---------+
| Parameter                  | Type                                           | Constraint                                     | Description                                      | Remarks |
+============================+================================================+================================================+==================================================+=========+
| :math:`Y`                  | :math:`Y \in \mathbb R^N`                      | :math:`N \in \mathbb{N}`                       | Input data sequence of length :math:`N`          |         |
+----------------------------+------------------------------------------------+------------------------------------------------+--------------------------------------------------+---------+
| :math:`\alpha`             | :math:`\alpha \in \mathbb R`                   | :math:`0 \leq \alpha \leq 1`                   |                                                  |         |
+----------------------------+------------------------------------------------+------------------------------------------------+--------------------------------------------------+---------+
| :math:`\beta`              | :math:`\beta \in \mathbb R`                    | :math:`0 \leq \beta \leq 1`                    |                                                  |         |
+----------------------------+------------------------------------------------+------------------------------------------------+--------------------------------------------------+---------+

.. rubric:: Output Parameters

+----------------------------+----------------------------------------------------+------------+-------------+---------+
| Parameter                  | Type                                               | Constraint | Description | Remarks |
+============================+====================================================+============+=============+=========+
| :math:`\hat{Y}`            | :math:`\hat{Y} \in \mathbb R^N`                    |            |             |         |
+----------------------------+----------------------------------------------------+------------+-------------+---------+

.. rubric:: Tool Support

* :doc:`/Tools/ExcelTool/index`

.. rubric:: Single Steps using the Algorithm

* :doc:`/DataPreprocessing/DataCleaning/DataDenoising/DataDenoisingWithHoltWintersDoubleExponentialSmoothing/index`

.. rubric:: References

- NIST/SEMATECH e-Handbook of Statistical Methods

  `http://www.itl.nist.gov/div898/handbook <http://www.itl.nist.gov/div898/handbook>`__