MLPF is a simple and efficient architecture for providing point and probabilistic forecasting. The architecture has been designed to minimize model complexity while improving forecasting performance.
You can install the mlpForecaster
via pip:
pip install mlpforecaster
from mlpforecast.forecaster.mlp import MLPForecast
model = MLPForecast(exp_name='test', model_type="MLPF", hparams=model_hparams)
model.fit(train_data)
out=model.predict(test_data)
-
Point Forecasting: Generate accurate single-point predictions for your time series data, ensuring precise future estimates.
-
Low Model Complexity: Benefit from a design focused on minimizing complexity while maintaining high performance and accuracy, making it easier to deploy and maintain.
-
Hyperparameter Optimization: Automatically optimize hyperparameters using the Optuna library, enhancing model performance and reducing manual tuning efforts.
-
Recursive Forecasting: Achieve any desired forecast length by leveraging recursive forecasting techniques, which extend predictions iteratively over time.
You can find more examples and detailed usage in the examples directory.
We welcome contributions! Please see our CONTRIBUTING guide for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
Thanks goes to these wonderful people:
Anthony 💻 🚧 |
Frederick 💻 🚧 |
Lucas 💻 🚧 |
This work is inspired by the research from the following publication:
- A. Faustine, N. J. Nunes and L. Pereira, "Efficiency through Simplicity: MLP-based Approach for Net-Load Forecasting with Uncertainty Estimates in Low-Voltage Distribution Networks," in IEEE Transactions on Power Systems, doi: 10.1109/TPWRS.2024.3400123.
- A. Faustine and L. Pereira, "FPSeq2Q: Fully Parameterized Sequence to Quantile Regression for Net-Load Forecasting With Uncertainty Estimates," in IEEE Transactions on Smart Grid, vol. 13, no. 3, pp. 2440-2451, May 2022, doi: 10.1109/TSG.2022.3148699.