This project evaluates how tensor decomposition (CP and Tucker) affects the performance of short-term wind turbine power forecasting. We use real SCADA data and compare multiple forecasting models trained on raw vs. decomposed reconstructions.
- Load SCADA CSV
- Parse timestamps
- Normalize features
- Build tensor (Days × Window × Features)
- CP ranks
- Tucker ranks
- Reconstruction error analysis
- Baseline
- Ridge
- MLP
- CNN
- LSTM
- CSV summaries
- Plots for CP/Tucker errors
- Model performance
MLGproject/
│
├── preprocess.py
├── windows.py
├── decompose.py
├── models.py
├── run.py
├── analyze_results.py
├── results/
└── data/
- Install dependencies:
pip install -r requirements.txt- Set up your data:
- Option A: Set environment variable:
set DATA_CSV=C:\path\to\your\scada.xlsx - Option B: Create
data/folder and placescada.xlsxthere - Option C: Edit
DATA_CSVpath inconfig.py
- Option A: Set environment variable:
- Test setup (recommended first):
python smoke_test.py- Run full pipeline:
python run.py # Main training pipeline
python viz.py # Generate visualizations
python analyze.py # Additional analysis plots- Format: Excel (.xlsx) or CSV file
- Columns: Must include
Timestamps,Power, and 15 SCADA features - Frequency: 10-minute intervals recommended
- Duration: At least 30 days for meaningful results
- Import errors: Run
pip install -r requirements.txt - Data not found: Check
DATA_CSVconfiguration inconfig.py - CUDA errors: Decomposition will automatically fall back to CPU
- Memory issues: Reduce
MAX_DAYSinconfig.pyor use smaller Tucker ranks