Benvenuti nel primo degli otto capitoli dedicati al calcolo delle previsioni meteo tramite machine learning.
Il machine learning è un sottoinsieme dell’intelligenza artificiale che permette ai sistemi di apprendere dai dati e prendere decisioni con un intervento umano minimo, senza essere esplicitamente programmati. Utilizza algoritmi per analizzare grandi quantità di dati, migliorando le prestazioni nel tempo man mano che viene esposto a maggiori quantità di informazioni.
Il nostro obiettivo è quindi quello di utilizzare i dati raccolti dalla stazione meteo (realizzata seguendo la guida Come realizzare una stazione meteo) per determinare il meteo del giorno seguente.
Il progetto è molto ambizioso e dobbiamo essere onesti con noi stessi e porci una domanda fondamentale: funzionerà?!
La risposta sincera è “quasi sicuramente no”, e vediamo assieme di seguito quali potrebbero essere le cause:
- i modelli di machine learning hanno bisogno di moltissimi dati per apprendere e diventare affidabili, mentre la stazione meteo da me realizzata sta raccogliendo informazioni “solo” dal 3 ottobre 2021;
- i dati utilizzati devono essere omogenei, raccolti sempre nelle stesse condizioni e dallo stesso tipo di sensori, e questo nel mio caso non è sempre vero;
- le previsioni meteo sono molto difficili da formulare e sono legate a moltissime variabili che una singola stazione meteo non riesce a monitorare: sarebbero necessarie più stazioni meteo situate in più luoghi, oltre che monitorare valori in alta atmosfera, o ancora immagini satellitari, ecc.
Un lettore potrebbe contestare che stiamo perdendo tempo in quanto il progetto potrebbe apparire a prima vista fallimentare, ma non è così! Quello che vedremo assieme, infatti, funziona perfettamente e ci regala ottimi risultati se utilizziamo una base di dati più affidabile e storica a dimostrazione che tutto quello che tratteremo assieme è corretto e molto interessante.
Ci concentreremo sul prevedere la temperatura massima e minima e le precipitazioni previste per il giorno seguente. Per farlo dovremo far uso di particolari modelli e dovremo scegliere quali sono quelli più adatti al nostro caso.
I modelli che abbiamo analizzato sono i seguenti:
- Decision Tree Regressor;
- Random Forest Regressor;
- Gradient Boosting Regressor;
- Linear Regression;
- Elastic Net;
- SVR;
- Cat Boost Regressor;
- XGB Regressor.
Le previsioni si baseranno su un set di dati composto come segue:
- temperatura massima giornaliera;
- temperatura minima giornaliera;
- umidità massima giornaliera;
- umidità minima giornaliera;
- pressione massima giornaliera;
- pressione minima giornaliera;
- variazione di pressione giornaliera (pressione massima – pressione minima);
- precipitazioni cumulate giornaliere.
I modelli analizzeranno i valori sopra riportati relativi a ogni giornata per apprendere e calcolare la temperatura massima e minima e le precipitazioni previste per il giorno seguente.

Per raggiungere il nostro scopo divideremo il set di dati in due parti:
x: dati indipendenti, su cui basare la previsione;
y: dati dipendenti, che vogliamo prevedere.
L’obiettivo sarà predire y in base a x.
In particolare creeremo quattro insiemi, ovvero i dati di allenamento per x e y (X_train e Y_train) e i dati di test per x e y (X_test e Y_test).
L’insieme di training (pari all’80% dei dati) allena il modello mentre l’insieme di test (pari al 20% dei dati) ne misura l’efficacia.
Vi do quindi appuntamento alla parte 2 di questa guida dedicata alla raccolta dei dati per iniziare ad addentrarci nel vivo del progetto.
