Un'applicazione IoT per la previsione del consumo energetico domestico tramite Machine Learning.
Crescente bisogno di ottimizzazione energetica nelle abitazioni.
Come prevedere il consumo energetico giornaliero di una casa?
Sviluppare un sistema basato su Machine Learning per stimare la domanda energetica e supportare decisioni consapevoli.
Integrazione di dataset esterni: Smart Home Energy Consumption Optimization, Energy Weather Raw Data, Energy-consumption-prediction, Smart Home Energy Consumption, Dataset Smart Home (2013–2017).
| Fonte | Abitazioni | Localizzazione | Periodo | Record dopo cleaning |
|---|---|---|---|---|
| Dataset fornito (Lecce) | 1 | Lecce | 2023–2024 | ~8.000 |
| Smart Home Energy Consumption Optimization | 10 | Vari stati europei | 2020 | ~40.000 |
| Energy Weather Raw Data | 1 | Messico | Nov 2022 – Feb 2024 | ~20.000 |
| Energy-consumption-prediction | 10 | Vari stati europei | 2019 | ~15.000 |
| Smart Home Energy Consumption | 39 | USA | 2018 | ~100.000 |
| UMass Smart* (A–H) | 8 | USA | 2013–2017 | ~200.000 |
| Colonna | Descrizione |
|---|---|
| Datetime | Timestamp (ora) |
| EnergyConsumption | Consumo (W) |
| Temperature | Temperatura (°C) |
| Humidity | Umidità (%) |
| Hour | Ora del giorno in cui è stato rilevato il consumo |
| Day_of_week | Giorno della settimana (0 = Lunedì … 6 = Domenica) |
| Month | Mese in cui è stato rilevato il consumo |
| Day_of_year | Giorno dell'anno (1–365) |
| Week_of_year | Settimana dell'anno (1–52) |
| Is_weekend | Campo binario: weekend (giorni 4, 5, 6) = 1, altrimenti 0 |
Combinazione dei dati da diverse fonti.
Addestramento e validazione di tre modelli:
Il modello addestrato e testato migliore viene salvato utilizzando joblib per essere riutilizzato.
| Modello | R² | MSE (kW) | RMSE (kW) | MAPE |
|---|---|---|---|---|
| Random Forest | 0.4750 | 27.72 | 5.26 | 3.77 |
| XGBoost | 0.4551 | 28.77 | 5.36 | 3.87 |
| CatBoost | 0.4472 | 29.18 | 5.40 | 3.90 |
| Modello | R² | MSE (kW) | RMSE (kW) | MAPE |
|---|---|---|---|---|
| Random Forest | 0.8226 | 3.81 | 1.97 | 0.19 |
| XGBoost | 0.8302 | 3.71 | 1.93 | 0.19 |
| CatBoost | 0.8277 | 3.76 | 1.94 | 0.22 |
Risultati attesi: R² superiore a 0.8, in linea con i requisiti non funzionali.
Interfaccia grafica realizzata con Streamlit, articolata in tre viste principali.
Reale vs predetto sugli ultimi giorni selezionati.