metadata
tags:
- ml-intern
Symbolic Regression for Wind Speed Forecasting (EQL)
This repository contains a TensorFlow 2.x reproduction of the paper:
Symbolic regression for scientific discovery: an application to wind speed forecasting
Ismail Alaoui Abdellaoui, Siamak Mehrkanoon
arXiv:2102.10570
What was reproduced
- Full Equation Learner (EQL) architecture with the original activation set:
Constant,Identity,Square,Sin,Sigmoid,Product
- Two-phase training:
- Phase 1: Sparse-inducing
L_{0.5}smooth regularization + rescaled MSE - Phase 2: Masked fine-tuning (freeze zero weights, re-optimize)
- Phase 1: Sparse-inducing
- Denmark hourly weather dataset (5 cities, 4 features, 4 lags, 6-hour ahead prediction)
- Pretty-printing of discovered analytical formulas via SymPy
Repository structure
| File | Description |
|---|---|
reproduce_eql.py |
Core library: network, functions, pretty-print, regularization, utils |
run_full_experiment.py |
End-to-end training script with paper hyperparameters |
prepare_denmark_data.py |
Generates .mat inputs from raw weather CSV |
requirements.txt |
Dependencies |
Dataset
The Denmark weather data (hourly, 1980–2018) is available as a Hugging Face dataset:
🔗 https://huggingface.co/datasets/Mengqinxue/eql-wind-speed-denmark
Quick start
pip install -r requirements.txt
python run_full_experiment.py --city Roskilde --steps_ahead 6 --feature wind_speed
Supported cities: Esbjerg, Odense, Roskilde.
Results
The script produces:
ExperimentsSR/Experiment*/— training logs, plots, weight histogramssummary_experiment*.txt— final MAE, MSE, extracted formula.hdf5weight checkpoints for Phase 1 and Phase 2
Citation
@article{abdellaoui2021symbolic,
title={Symbolic regression for scientific discovery: an application to wind speed forecasting},
author={Abdellaoui, Ismail Alaoui and Mehrkanoon, Siamak},
journal={arXiv preprint arXiv:2102.10570},
year={2021}
}
Generated by ML Intern
This model repository was generated by ML Intern, an agent for machine learning research and development on the Hugging Face Hub.
- Try ML Intern: https://smolagents-ml-intern.hf.space
- Source code: https://github.com/huggingface/ml-intern
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = 'Mengqinxue/eql-wind-speed-forecasting'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
For non-causal architectures, replace AutoModelForCausalLM with the appropriate AutoModel class.