# What is Forecasting

## What is Forecasting?

Forecasting refers to the prediction of future values based on historical data. On the *Eliona* platform, the *Forecast App* enables the automatic analysis of time series data and the creation of reliable forecasts. Typical use cases include:

* Energy consumption in buildings
* Room temperatures and climate control
* Condition monitoring of systems

The system recognizes recurring patterns, seasonal fluctuations, and sudden deviations to predict future developments.

***

## How do LSTM Models work in the *Forecast App*?

### 1. Recurrent Neural Networks (RNN)

Unlike classic neural networks, RNNs process data sequentially and maintain an internal state ("memory"). This allows earlier time points to have a direct influence on later predictions.

### 2. Long Short-Term Memory (LSTM)

LSTM cells are a special RNN architecture that:

* Preserves **long-term dependencies** by "forgetting" unimportant information and passing on relevant information over long sequences.
* Recognizes and stores **short-term fluctuations** in the model.
* Uses **gating mechanisms** (input, forget, and output gates) to specifically control which information enters or is removed from the internal state and when.

In the *Forecast App*, the LSTM model looks at a **context window** (parameterized by *Context Length*) of past measured values and, based on this, predicts a defined number of future steps (set via *Forecast Length*).

***

## Role of *TensorFlow*

*TensorFlow* is the underlying framework that performs the following tasks in the *Forecast App*:

### 1. Model Structure

Definition and linking of the LSTM cells as well as additional layers (e.g., Dense Layers).

### 2. Efficient Training

Use of GPU acceleration, automatic differentiation, and optimized algorithms (e.g., Adam optimizer).

### 3. Continuous Updating

Retraining with new data to keep the model aligned with current trends.

Further information: [→ TensorFlow Documentation](https://www.tensorflow.org/api_docs) [→ TensorFlow Keras Documentation](https://www.tensorflow.org/guide/keras)
