Applicazione del Machine Learning in Agricoltura: Un Caso di Studio sull’Analisi Predittiva
Ecco un caso di studio affascinante e rilevante: l’analisi dei dati meteorologici di un uliveto situato nella provincia di Foggia. L’uliveto, ben radicato nelle tradizioni agricole ma rivolto verso l’innovazione, diventa il nostro laboratorio naturale.
Per un periodo di quattro anni, i dati meteorologici del campo sono stati raccolti con precisione da una stazione Elaisian, un gioiello della tecnologia dedicato al monitoraggio ambientale.
📊 I dati sono stati elaborati dai nostri sistemi di Machine Learning che, grazie all’analisi approfondita di variabili come 𝘵𝘦𝘮𝘱𝘦𝘳𝘢𝘵𝘶𝘳𝘢, 𝘶𝘮𝘪𝘥𝘪𝘵à 𝘦 𝘱𝘳𝘦𝘤𝘪𝘱𝘪𝘵𝘢𝘻𝘪𝘰𝘯𝘪, hanno rivelato pattern e correlazioni nascoste.
Di seguito una disamina approfondita sulle analisi effettuate. Esploreremo come queste tecnologie avanzate facilitino l’analisi predittiva e contribuiscano significativamente alla resilienza e all’efficienza del settore agricolo.
ANALISI CLUSTER
Obiettivo di questa analisi è:
- Raggruppare i giorni in base a caratteristiche simili utilizzando algoritmi di clustering.
- Identificare i giorni con condizioni meteorologiche simili.
Prima di realizzare il clustering, abbiamo individuato il numero di cluster K ottimale. Per farlo abbiamo applicato il Metodo del Gomito.
Il metodo del gomito è una tecnica visiva utilizzata per determinare il numero ottimale di cluster (k) in un modello di clustering K-Means. Questo metodo implica il calcolo del K-Means clustering per un range di valori di k (es. da 1 a 10) e il tracciamento della somma degli errori quadrati (SSE) per ogni valore di k. L’SSE è definita come la somma delle distanze quadrate tra ogni punto e il centroide del cluster più vicino.
Quando tracciamo in un grafico l’SSE in funzione di k, normalmente vediamo che l’SSE diminuisce drasticamente con l’aumentare di k perché più cluster significano fit più stretti, fino a quando non inizia a livellarsi, indicando che l’aggiunta di ulteriori cluster non migliora significativamente la fit del modello.
Il punto in cui il grafico inizia a livellarsi e la riduzione dell’errore diventa marginale è noto come “gomito”. A questo punto, l’aggiunta di più cluster non offre un valore sostanziale e può portare a overfitting (eccessiva adattabilità ai dati di training che può penalizzare la generalizzazione del modello). Il valore di k al gomito è considerato un buon equilibrio tra precisione e complessità del modello ed è scelto come il numero ottimale di cluster.
Il metodo del Gomito suggerisce un K ottimale = 4.
La clusterizzazione ha individuato quindi 4 cluster dove ognuno di essi raggruppa un numero di giorni con caratteristiche meteorologiche simili.
Di seguito una interpretazione dei cluster con i valori medi. L’obiettivo è comprendere metriche e rispettivi valori medi che rappresentano ciascuno dei 4 cluster.
Il grafico rappresenta le medie di tre caratteristiche meteorologiche (temperatura, umidità e precipitazioni) per ciascuno dei quattro cluster. Questo è il tipo di grafico a barre che ho descritto in precedenza, che aiuta a visualizzare le differenze medie tra i cluster per ciascuna delle caratteristiche selezionate.
Ecco una descrizione basata sull’interpretazione visuale del grafico:
- Cluster 0: Ha valori medi più bassi di temperatura e precipitazioni rispetto agli altri cluster, ma l’umidità media è relativamente alta.
- Cluster 1: Presenta temperature medie e precipitazioni medie che sono le più basse tra i cluster, con umidità media nella gamma media.
- Cluster 2: È caratterizzato da valori medi più alti di temperatura e umidità rispetto agli altri cluster, mentre le precipitazioni medie sono relativamente basse.
- Cluster 3: Ha le precipitazioni medie più elevate di gran lunga, il che suggerisce che questo cluster rappresenti i giorni più piovosi, mentre la temperatura e l’umidità medie sono le più basse tra i cluster.
In base a questi dati, possiamo fare ipotesi sulle condizioni atmosferiche rappresentate da ciascun cluster:
- Il Cluster 0 potrebbe rappresentare giorni umidi ma non necessariamente piovosi.
- Il Cluster 1 sembra indicare giorni più asciutti e freddi.
- Il Cluster 2 potrebbe corrispondere a giorni caldi e umidi, tipici di un clima estivo senza piogge.
- Il Cluster 3 identifica chiaramente i giorni di pioggia intensa.
Questa visualizzazione grafica fornisce un modo intuitivo per comprendere le tendenze e le caratteristiche dei gruppi di giorni identificati dall’analisi di clustering.
ANALISI DELLA DISTRIBUZIONE
Nell’istogramma, l’asse Y (verticale) rappresenta il “conteggio” delle osservazioni che cadono in ciascun intervallo o “bin” sull’asse X (orizzontale). In altre parole, mostra quante misurazioni (giorni, nel contesto dei dati meteorologici) si trovano entro un determinato intervallo di valori per la caratteristica considerata, come temperatura, umidità o precipitazioni.
Per esempio, se guardiamo l’istogramma della temperatura, un bin sull’asse X potrebbe rappresentare un intervallo di temperature da 15 a 20 gradi Celsius. L’altezza della barra sopra questo intervallo sull’asse Y ci direbbe quanti giorni hanno avuto una temperatura media che cade in quell’intervallo.
Questo ci permette di vedere come sono distribuite le misurazioni: se ci sono molti giorni con temperature simili, vedremo barre più alte, e se i giorni sono distribuiti in modo più uniforme su diverse temperature, vedremo barre più basse e diffuse su più intervalli di temperatura.
Il grafico in basso mostra tre boxplot, ciascuno rappresentante la distribuzione di una diversa variabile meteorologica: temperatura, umidità e precipitazioni.
Ecco un’analisi per ciascun boxplot:
Boxplot della Temperatura
- La temperatura mediana è rappresentata dalla linea all’interno del box e sembra essere intorno ai 20 gradi Celsius.
- La scatola, che rappresenta l’intervallo interquartile (dal primo al terzo quartile), suggerisce che la maggior parte dei valori di temperatura si trova tra circa 15 e 25 gradi Celsius.
- Le “antenne” (linee che si estendono dal box) indicano la gamma di valori di temperatura al di fuori dell’intervallo interquartile, escludendo gli outlier.
- Non ci sono punti che si discostano significativamente dal resto dei dati, suggerendo l’assenza di outlier per la temperatura.
Boxplot dell’Umidità
- L’umidità mediana è rappresentata dalla linea all’interno del box e si trova intorno al 75%.La scatola indica che la maggior parte dei valori di umidità si trova tra circa il 60% e l’85%.
- Anche qui, le antenne estendono l’intervallo di umidità, ma non troppo lontano dai bordi del box.
- Ci sono alcuni punti al di fuori delle antenne, indicati come cerchi, che rappresentano outlier. Questi punti suggeriscono la presenza di alcuni giorni con livelli di umidità notevolmente più bassi o più alti rispetto alla norma.
Boxplot delle Precipitazioni
- Questo boxplot mostra una distribuzione molto diversa rispetto agli altri due. La maggior parte dei giorni ha registrato valori di precipitazione molto bassi, vicino allo zero, come indicato dalla barra alla base del boxplot.
- L’intervallo interquartile è molto stretto vicino allo zero, il che significa che la maggior parte dei giorni ha avuto poche o nessuna precipitazione.
- Ci sono numerosi punti oltre l’intervallo interquartile, indicati come cerchi. Questi sono gli outlier e rappresentano i giorni con quantità di precipitazioni significativamente più alte rispetto alla maggior parte degli altri giorni. Questo è tipico delle precipitazioni, che spesso si verificano in modo irregolare e possono variare notevolmente da un giorno all’altro.
In generale, questi boxplot forniscono una sintesi visiva della variabilità e della distribuzione di ciascuna caratteristica meteorologica. Gli outlier nel boxplot delle precipitazioni, in particolare, meritano un’ulteriore indagine per capire meglio i giorni di pioggia eccezionale.
ANALISI DELLE PRECIPITAZIONI
L’analisi pluviometrica rappresenta un elemento fondamentale nella comprensione dei modelli climatici e idrologici, influenzando ampiamente la gestione delle risorse idriche nella pianificazione agricola. Di seguito viene presentata una disamina metodica dei parametri chiave legati alle precipitazioni:
- Totale delle precipitazioni: grafici a barre (o linee, se preferisci) per mostrare il totale delle precipitazioni per ciascun periodo specifico: giornaliero, mensile e annuale.
- Frequenza degli eventi piovosi: frequenza degli eventi piovosi in un istogramma o in un grafico a barre, mostrando quante precipitazioni all’anno si sono verificate.
- Intensità media degli eventi piovosi: l’intensità media degli eventi piovosi in un grafico a barre, possibilmente confrontandola su base annuale o mensile.
ANALISI CORRELAZIONE
Il grafico in basso è una heatmap che visualizza la correlazione tra le tre metriche meteorologiche: temperatura, umidità e precipitazioni.
I valori di correlazione variano da -1 a 1, dove:
- il valore 1 indica una correlazione positiva perfetta (quando un valore aumenta, l’altro aumenta proporzionalmente);
- il valore -1 indica una correlazione negativa perfetta (quando un valore aumenta, l’altro diminuisce proporzionalmente);
- il valore – 0 indica nessuna correlazione (le due variabili non sembrano avere una relazione lineare diretta).
Dai valori visualizzati nella heatmap:
– La temperatura e l’umidità hanno una correlazione negativa di -0.65, il che indica che, in generale, quando la temperatura aumenta, l’umidità diminuisce, e viceversa. Questa è una correlazione abbastanza forte e ciò è in linea con la comprensione generale che in giorni più caldi l’aria può contenere più vapore acqueo, risultando in umidità relativa più bassa.
– La temperatura e le precipitazioni hanno una correlazione leggermente negativa di -0.12, suggerendo una debole relazione inversa tra queste due metriche. Tuttavia, il valore è vicino a zero, il che suggerisce che non c’è una forte relazione lineare diretta tra la temperatura e le precipitazioni nei dati considerati.
– L’umidità e le precipitazioni hanno una correlazione positiva di 0.21, suggerendo che c’è una leggera tendenza verso un aumento delle precipitazioni con l’aumento dell’umidità, il che è ragionevole, ma ancora una volta, la correlazione non è molto forte, indicando che altri fattori possono influenzare le precipitazioni oltre all’umidità.
La presenza di colori più intensi (rossi o blu) indica una correlazione più forte, mentre colori più neutri (bianchi o grigi) indicano una correlazione più debole. Questa visualizzazione aiuta a capire velocemente la forza e la direzione della relazione tra le variabili considerate.
Scatter Plot con istogrammi marginali
Il grafico in basso è uno scatter plot con istogrammi marginali, che mostra la relazione tra la temperatura (sull’asse X) e l’umidità (sull’asse Y) per un set di dati meteorologici.
Ecco l’analisi specifica del grafico:
- C’è una concentrazione di punti che mostrano una tendenza: con l’aumentare della temperatura, l’umidità tende a diminuire. Questo è coerente con la correlazione negativa di -0.65 che abbiamo visto nella heatmap precedente.
- La dispersione dei punti diventa più ampia con l’aumento della temperatura, suggerendo una maggiore variabilità nell’umidità a temperature più elevate.
Istogramma Marginale della Temperatura (In Alto):
– La distribuzione della temperatura è relativamente piatta con una leggera concentrazione intorno ai 20-25°C, suggerendo che queste sono le temperature più comunemente osservate nel set di dati.
Istogramma Marginale dell’Umidità (A Destra):
– L’istogramma dell’umidità mostra che i valori si concentrano principalmente nell’intervallo 60-100%, con una piccola quantità di giorni con umidità intorno al 40-60%.
– Ci sono molto pochi giorni con umidità estremamente bassa, come indicato dalla presenza di pochi barre verso il bordo inferiore dell’istogramma.
In termini di analisi dei dati specifici che stiamo esaminando, questo grafico suggerisce che per il periodo e la località specifici da cui provengono i dati, la temperatura e l’umidità sono inversamente correlate in un modo che è tipico per molti climi: quando fa più caldo, l’aria può contenere più vapore acqueo ma l’umidità relativa tende ad essere più bassa.
Queste informazioni possono essere utili per diverse applicazioni, come la pianificazione agricola, la gestione delle risorse idriche e la previsione meteorologica. Ad esempio, una comprensione di come l’umidità varia con la temperatura può aiutare a prevedere la formazione di rugiada o brina, che sono importanti per l’agricoltura.
Il grafico in basso è uno ulteriore scatter plot con istogrammi marginali, che mostra la relazione tra temperatura (sull’asse X) e precipitazioni (sull’asse Y) per un set di dati meteorologici. Oltre allo scatter plot, ci sono due istogrammi che mostrano la distribuzione della temperatura (in alto) e delle precipitazioni (a destra).
Ecco l’analisi specifica del grafico:
- La maggior parte dei punti è raggruppata vicino all’asse delle X, indicando che ci sono molti giorni con precipitazioni basse o nulle.
- Non sembra esserci una relazione lineare forte tra la temperatura e le precipitazioni, poiché i punti sono distribuiti senza un modello evidente che indichi una correlazione diretta. Tuttavia, c’è una leggera tendenza verso la presenza di precipitazioni più alte con temperature moderate rispetto a temperature molto basse o molto alte.
Istogramma Marginale della Temperatura (In Alto):
– La temperatura ha una distribuzione abbastanza ampia con una concentrazione di giorni intorno ai 10-20°C, che potrebbe indicare una prevalenza di giorni con temperature miti nel dataset.
Istogramma Marginale delle Precipitazioni (A Destra):
– Le precipitazioni sono per la maggior parte concentrate vicino allo zero, con una lunga coda verso valori più alti. Ciò indica che la maggior parte dei giorni ha avuto poche o nessuna precipitazione, mentre un numero minore di giorni ha sperimentato precipitazioni moderate o abbondanti.
In termini del caso specifico che stiamo analizzando, questo grafico suggerisce che per la località e il periodo da cui provengono i dati, le giornate senza o con precipitazioni molto scarse sono più frequenti. I giorni con precipitazioni significative sono meno comuni e non sembrano seguire un pattern chiaro legato alla temperatura. Questa analisi può essere utile per la pianificazione in settori come l’agricoltura o la gestione delle risorse idriche, dove comprendere la frequenza e l’intensità delle precipitazioni in relazione alla temperatura può influenzare decisioni importanti.
ANALISI CICLI GIORNALIERI
Questi due grafici mostrano la variazione media oraria di temperatura e umidità nel corso di un giorno, fornendo una chiara visualizzazione del ciclo giornaliero per queste due metriche meteorologiche.
Grafico della Temperatura Media per Ora del Giorno:
- La temperatura segue un tipico andamento giornaliero, dove inizia a salire nelle prime ore della mattina, raggiunge il picco nelle ore pomeridiane e poi inizia a scendere verso sera e durante la notte.
- Il punto più caldo della giornata è intorno alle ore 14:00-15:00, dove la temperatura media raggiunge il picco, che si colloca poco sopra i 20°C.
- La temperatura più bassa si verifica durante le prime ore del mattino, attorno alle 6:00, con valori medi vicino ai 15°C.
Grafico dell’Umidità Media per Ora del Giorno:
- L’umidità presenta una curva con una tendenza inversa rispetto alla temperatura. Questo indica che l’umidità raggiunge i suoi valori più alti durante le ore più fredde, tendenzialmente la mattina presto o la sera tardi.
- Il punto di umidità più elevato è durante la notte, intorno alle 6:00, con valori che salgono fino al 75% o più.
- Con l’aumento delle temperature durante il giorno, l’umidità diminuisce, raggiungendo il suo valore più basso nel pomeriggio, parallelamente al picco di temperatura.
Questi risultati sono tipici per molti luoghi, dove la temperatura e l’umidità hanno un andamento inverso: temperature più alte di giorno corrispondono a un’umidità relativa più bassa, e viceversa durante la notte. Questo pattern è influenzato dal fatto che l’aria calda può contenere più vapore acqueo prima che si condensi, risultando in un’umidità relativa più bassa durante le ore più calde.
L’analisi di questi cicli giornalieri è importante in molti ambiti, inclusa la gestione agricola, la previsione del comfort termico, e la programmazione di eventi all’aperto, dove conoscere le ore tipicamente più calde o più umide può aiutare nella pianificazione e nell’attuazione di misure appropriate.
ANALISI CONDIZIONI DI CONFORT
L’indice di calore, noto anche come temperatura percepita, è una misura che combina aria temperatura e umidità relativa per determinare la percezione umana della temperatura. Sebbene esistano molte versioni dell’indice di calore, una formula comunemente utilizzata per il calcolo è quella dell’indice di calore dell’Ufficio Nazionale di Meteorologia degli Stati Uniti.
I giorni di comfort, nel contesto della meteorologia e della climatologia, si riferiscono a giorni in cui le condizioni meteorologiche rientrano in una gamma di parametri che sono generalmente considerati confortevoli per la maggior parte delle persone. Questi parametri includono tipicamente una combinazione di temperatura, umidità, vento e talvolta radiazione solare.
Nel caso specifico del grafico che abbiamo discusso, l’indice di calore viene utilizzato per determinare i giorni di comfort. L’indice di calore è una misura che considera sia la temperatura che l’umidità per fornire una stima di come la gente percepisca la temperatura. Ecco perché viene anche chiamato “temperatura percepita”. L’indice di calore più alto di una temperatura effettiva suggerisce condizioni di disagio perché il corpo umano si raffredda meno efficientemente attraverso la sudorazione.
Quando parliamo di “giorni di comfort”, ci riferiamo generalmente a giorni con un indice di calore entro una certa gamma, spesso intorno ai 20-26°C, sebbene questo possa variare a seconda delle preferenze individuali e delle condizioni locali abituali. Al di sopra o al di sotto di questa gamma, le persone potrebbero iniziare a sentirsi troppo calde o troppo fredde.
Per eseguire un’analisi delle condizioni di comfort basate sull’indice di calore, utilizzeremo la temperatura e l’umidità per calcolare questo indice e poi analizzeremo la distribuzione di questi valori nel corso dell’anno.
Il grafico mostra il numero di giorni di comfort per ciascun mese in un determinato periodo. Le date sull’asse delle ascisse sono formatte per includere solo il mese e l’anno (YYYY-MM), e ogni barra rappresenta il numero di giorni in quel mese che soddisfano la definizione di “giorno di comfort”.
Lettura Specifica del Grafico:
– Ogni barra verticale rappresenta un mese diverso a partire da giugno 2019 fino ad aprile 2024.
– L’altezza delle barre indica il numero di giorni in ciascun mese che rientrano nel range definito di temperatura percepita come confortevole (ad esempio, un indice di calore tra 20°C e 26°C).
– Le barre più alte suggeriscono che ci sono stati più giorni confortevoli in quel mese, mentre le barre più basse indicano meno giorni confortevoli.
Esempi di Lettura:
- In alcuni mesi, come “2019-06” o “2023-08”, vediamo che l’altezza delle barre è più elevata, il che potrebbe indicare periodi con condizioni meteorologiche più stabili e gradevoli.
- In contrasto, altri mesi mostrano un numero inferiore di giorni confortevoli, come si può vedere nelle barre più basse per mesi come “2020-02” o “2022-12”. Questo potrebbe suggerire condizioni più estreme, sia fredde che calde, o maggiore variabilità meteorologica in quei periodi.
- La distribuzione nel corso degli anni mostra una variazione stagionale, con alcuni periodi dell’anno che costantemente offrono più giorni confortevoli rispetto ad altri.
L’analisi di questo grafico può aiutare a comprendere i modelli stagionali e le tendenze nel comfort climatico nel tempo, utili per la pianificazione in vari settori, dalla programmazione di eventi esterni alla gestione del turismo e dell’ospitalità.
Esempi di lettura nel contesto di giorni di comfort potrebbero essere:
- Giorni freschi: Giorni con un’umidità relativamente bassa e temperature moderatamente fresche potrebbero essere considerati confortevoli.
- Giorni caldi: Giorni con temperature più elevate ma con un’umidità sufficientemente bassa da non rendere il calore eccessivamente oppressivo.
- Giorni umidi: Anche se la temperatura non è eccessivamente alta, un’umidità elevata può rendere il clima scomodo, quindi giorni con umidità moderata potrebbero essere considerati più confortevoli.
I giorni al di fuori di questi intervalli potrebbero essere percepiti come troppo caldi, troppo freddi o troppo umidi per essere considerati confortevoli. Questa definizione può variare a seconda del clima locale e delle aspettative delle persone; per esempio, ciò che è considerato confortevole in una regione tropicale potrebbe essere diverso da ciò che è considerato confortevole in un clima temperato.
ANALISI MULTIVARIATA
L’analisi delle componenti principali (PCA) viene utilizzata per ridurre la dimensionalità e identificare i principali driver delle condizioni meteorologiche.
Si tratta di un metodo statistico che trasforma le variabili originali in un nuovo set di variabili non correlate, chiamate componenti principali. Queste componenti principali sono calcolate in modo da massimizzare la varianza e possono aiutare a identificare i pattern nei dati riducendo il rumore e semplificando la struttura del dataset.
Per eseguire la PCA sui dati meteorologici, ci assicureremo di avere più variabili misurate, come temperatura, umidità, precipitazioni, e possibilmente altre come pressione, velocità del vento, ecc. Questo script eseguirà la PCA per identificare i principali fattori che influenzano il clima nella località di interesse.
Algoritmo: selezioniamo prima le variabili numeriche, poi standardizziamo i dati, applichiamo la PCA e visualizziamo la varianza spiegata da ciascuna componente principale. La barra più alta nel grafico indica quale componente principale contiene la maggior parte delle informazioni (varianza) del dataset. Questo può aiutarci a capire quali variabili meteorologiche hanno il maggiore impatto sulle condizioni del tempo complessive.
Questo grafico mostra la varianza spiegata da ciascuna componente principale risultante dall’analisi PCA. La varianza spiegata è un indicatore di quanto ogni componente principale contribuisca a catturare le informazioni presenti nel set di dati originale.
Ecco cosa ci dice il grafico:
- PC1: La prima componente principale (PC1) spiega una percentuale significativa della varianza, più del 40%. Questo suggerisce che PC1 cattura una grande parte delle informazioni contenute nei dati originali. Ad esempio, se i dati sono relativi a condizioni meteorologiche, PC1 potrebbe rappresentare una combinazione di temperatura e umidità che variano insieme in modo coerente attraverso i diversi giorni.
- PC2: La seconda componente principale (PC2) spiega poco meno del 30% della varianza. Anche se non cattura tanto quanto PC1, è comunque significativa. PC2 potrebbe rappresentare un’altra combinazione di variabili meteorologiche, come la variazione delle precipitazioni in relazione a fattori diversi dalla temperatura e dall’umidità.
- PC3 e PC4: Le componenti successive, PC3 e PC4, spiegano una percentuale sempre minore della varianza (per esempio, PC3 intorno al 20% e PC4 meno del 10%). Questo significa che mentre contengono ancora informazioni utili, contribuiscono meno alla comprensione delle variazioni totali dei dati.
- PC5: Questa componente principale mostra una varianza spiegata molto piccola, indicando che non aggiunge molte informazioni utili per comprendere i dati.
Interpretazione con Esempio Numerico:
Se consideriamo che l’insieme totale delle informazioni (o varianza) nei dati è il 100%, la prima componente principale da sola ne spiega oltre il 40%. In termini numerici, se avessimo 100 unità di informazione, PC1 ne spiegherebbe più di 40. La seconda componente principale, PC2, spiega circa il 30% delle informazioni, quindi aggiungendo le informazioni di PC1 e PC2 insieme, otteniamo oltre il 70% delle informazioni totali. Le restanti componenti (PC3, PC4, ecc.) aggiungono informazioni incrementalmente, ma ciascuna contribuisce meno alla spiegazione totale rispetto alle componenti precedenti.
Questi risultati sono utili per decidere quante e quali componenti mantenere per semplificare ulteriormente i dati riducendo la dimensionalità senza perdere informazioni cruciali. Ad esempio, si potrebbe decidere di tenere solo le prime due o tre componenti per la maggior parte delle analisi successive.
Componenti Rilevate
Questo output mostra i carichi (loadings) di ogni variabile su ciascuna delle prime quattro componenti principali (PC1, PC2, PC3, PC4) risultanti dall’applicazione della PCA sui dati meteorologici. Ecco cosa indicano questi valori:
- PC1: La prima componente principale è fortemente influenzata dalla temperatura (carico negativo elevato) e dall’umidità (carico positivo elevato), indicando che PC1 è una sorta di contrasto tra queste due variabili. In giornate con temperature alte, ci si aspetterebbe che PC1 assuma valori più bassi, e viceversa per l’umidità.
- PC2: La seconda componente principale è dominata dalla variabile delle precipitazioni (pioggia), come si vede dal carico molto alto. Questo suggerisce che PC2 cattura principalmente le variazioni nelle precipitazioni indipendentemente dalle altre variabili.
- PC3: La terza componente principale sembra essere influenzata maggiormente dal punto di rugiada (dew), con un forte carico negativo, indicando che PC3 può rappresentare variazioni nella quantità di umidità assoluta nell’aria.
- PC4: La quarta componente principale ha carichi meno distinti rispetto alle altre, ma il carico negativo maggiore sulla temperatura suggerisce che potrebbe rappresentare una variazione minore nella temperatura, forse correlata a variazioni diurne o a condizioni atmosferiche meno frequenti.
Interpretazione dei Carichi:
– Un carico positivo implica che la variabile originale contribuisce positivamente alla componente principale; quindi, valori più alti della variabile sono associati a valori più alti della componente.
– Un carico negativo implica che valori più alti della variabile originale sono associati a valori più bassi della componente.
Per esempio:
– Se guardiamo PC1 e vediamo un giorno con un valore basso per PC1, questo suggerirebbe una temperatura più alta e un’umidità più bassa.
– Per PC2, un valore alto indicherebbe un giorno con molte precipitazioni, indipendentemente dalla temperatura e dall’umidità.
Queste interpretazioni aiutano a comprendere come le varie condizioni meteorologiche interagiscono e contribuiscono alle variazioni osservate nel dataset complessivo.
ANALISI DELLA RESILIENZA
L’analisi di resilienza in un contesto meteorologico si concentra sul comprendere come determinate condizioni climatiche, specialmente quelle estreme, influenzino specifiche variabili ambientali come la temperatura e l’umidità. Questo tipo di analisi può essere particolarmente utile per valutare l’impatto dei cambiamenti climatici, la pianificazione delle risposte di emergenza o per ottimizzare le strategie agricole e di costruzione.
Per eseguire un’analisi di resilienza sui dati meteorologici, seguiamo questi passaggi:
Identificazione degli Eventi Estremi: Prima di tutto, dobbiamo identificare cosa consideriamo un evento meteorologico estremo. Potrebbero essere giornate con temperature al di sopra o al di sotto di determinate soglie, o giornate con livelli di precipitazione eccezionalmente alti.
Filtraggio dei Dati: Una volta definiti gli eventi estremi, filtriamo i nostri dati per selezionare solo quei giorni che corrispondono ai criteri.
Analisi dell’Impatto: analizziamo come questi eventi estremi influenzino altre variabili.
ANALISI TEMPORALE
Per realizzare un’analisi temporale dei dati meteorologici, utilizzeremo grafici che mostrano l’andamento delle metriche chiave (come temperatura e umidità) nel tempo, a diversi livelli di aggregazione (giornaliero, settimanale, mensile, annuale).
Utilizzeremo anche le medie mobili per smussare le fluttuazioni di breve termine e meglio evidenziare le tendenze di lungo termine.
ANALISI PREDITTIVA con modello ARIMA
Il modello ARIMA, acronimo di AutoRegressive Integrated Moving Average, è un modello statistico utilizzato per analizzare e prevedere dati di serie temporali. I parametri specificati nel modello `ARIMA(train, order=(p, d, q))` hanno significati specifici che determinano il comportamento del modello:
1. p: Il numero di termini autoregressivi (AR). Indica il numero di ritardi (lag) della serie che saranno utilizzati come predittori. Un modello AR tenta di catturare l’influenza dei valori precedenti sulla serie temporale. Un valore elevato di “p” indica che i valori passati hanno un forte impatto sui valori futuri.
2. d: Il grado di differenziazione (I). Questo parametro aiuta a rendere la serie temporale stazionaria, ovvero a eliminare tendenze e stagionalità, differenziando i dati un certo numero di volte. La differenziazione è il processo di calcolo delle differenze consecutive nella serie. Un “d” uguale a 1 significa che verrà calcolata la differenza prima una volta (cioè, tra ogni due punti consecutivi), mentre un “d” maggiore indica che la differenziazione verrà applicata più volte.
3. q: Il numero di termini della media mobile (MA). Rappresenta il numero di termini di errore che vengono utilizzati per modellare il modello MA. In sostanza, cerca di catturare gli shock o gli impulsi casuali che si verificano nella serie temporale utilizzando una combinazione lineare degli errori di previsione dei periodi precedenti. Un “q” elevato indica che gli shock recenti influenzano i valori futuri.
Quindi, `order=(5, 1, 0)` significa che il modello ARIMA utilizzerà:
- 5 ritardi della serie temporale (p=5), indicando una forte dipendenza dai valori precedenti,
- 1 differenziazione (d=1) per rendere la serie stazionaria, rimuovendo tendenze e ciclicità,
- 0 termini di media mobile (q=0), suggerendo che non si considerano gli shock degli errori passati nel modello.
La scelta di questi parametri è cruciale per la performance del modello ARIMA. Spesso si ricorre all’analisi dei grafici ACF (Autocorrelation Function)e PACF (Partial Autocorrelation Function) della serie temporale per determinare i valori appropriati di p e q, mentre il grado di differenziazione d viene stabilito osservando la stazionarietà della serie.
Analisi Funzione di Autocorrelazione
Per determinare i parametri p e q di un modello ARIMA attraverso l’analisi della Funzione di Autocorrelazione (ACF) e della Funzione di Autocorrelazione Parziale (PACF), si seguono questi passi:
Stazionarietà: Prima di procedere, assicurati che la serie temporale sia stazionaria. Questo può richiedere di applicare una differenziazione (il parametro d nel modello ARIMA) alla serie.
ACF: La Funzione di Autocorrelazione mostra l’autocorrelazione tra i valori della serie temporale e i suoi ritardi. Per un modello MA(q), l’ACF si annullerà dopo q ritardi. Quindi, osservando il punto in cui l’ACF taglia lo zero per la prima volta si può avere un’indicazione del parametro q.
PACF: La Funzione di Autocorrelazione Parziale mostra l’autocorrelazione tra i valori della serie temporale e i suoi ritardi escludendo gli effetti dei ritardi intermedi. Per un modello AR(p), la PACF si annullerà dopo p ritardi. Quindi, osservando il punto in cui la PACF taglia lo zero per la prima volta si può avere un’indicazione del parametro p.
Analisi della Funzione di Autocorrelazione (PACF): valore p
Analizzando i grafici, si determinano i valori di p e q:
- p: È il ritardo al quale la PACF attraversa lo zero per la prima volta.
- q: È il ritardo al quale l’ACF attraversa lo zero per la prima volta.
Ricorda che questi valori sono solo indicativi e potrebbe essere necessario sperimentare con diversi valori di p e q per trovare la migliore configurazione del modello ARIMA per la tua serie temporale.
Basandoci sul grafico della Funzione di Autocorrelazione Parziale (PACF), possiamo determinare il valore di p osservando il punto in cui i ritardi tagliano lo zero per la prima volta. La regola generale per un modello AR(p) è che p è l’ultimo ritardo significativo prima che i ritardi successivi diventino insignificanti (ossia, cadano all’interno delle bande di confidenza, che spesso non sono mostrate nei grafici).
Dal grafico PACF, si nota un significativo picco negativo al primo ritardo, seguito da picchi che cadono rapidamente verso lo zero e diventano insignificanti. In questo caso, p sarebbe 1, poiché il primo ritardo è significativo e i successivi non lo sono.
Quindi se hai bisogno di analizzare un grafico PACF per determinare il parametro p, cerca il primo picco significativo al di fuori della zona di confidenza (spesso indicata con linee tratteggiate orizzontali nel grafico).
In conclusione, basandoci solo sul grafico PACF fornito:
- p = 1
- q necessita del grafico ACF per essere determinato.
Analisi della Funzione di Autocorrelazione (ACF): valore q
Per quanto riguarda q, il valore si determina dall’analisi della Funzione di Autocorrelazione (ACF), che non è stata fornita qui. Tuttavia, se avessimo un grafico ACF, q sarebbe l’ultimo ritardo significativo prima che i ritardi successivi diventino insignificanti.
q è generalmente scelto come l’ultimo lag nel quale l’autocorrelazione è significativa, cioè al di fuori dell’intervallo di confidenza, spesso rappresentato da un’area ombreggiata o linee tratteggiate sul grafico.
In un grafico ACF tipico, cerchiamo il punto in cui i picchi escono dall’area di confidenza per la prima volta, che si presume rappresenti rumore bianco o autocorrelazioni casuali. Questo punto ci dà una stima iniziale per il valore di q, il parametro del Moving Average nel modello ARIMA.
Dall’immagine, q sarebbe uguale al numero di lags significativi al di fuori dell’area di confidenza prima che i valori si stabilizzino all’interno dell’area. Non posso vedere l’immagine per dare un numero esatto, ma questo è il metodo generale per interpretare il valore di q da un grafico ACF.
Il valore di q nella modellizzazione ARIMA corrisponde al numero di termini moving average che sono necessari per rimuovere qualsiasi autocorrelazione nella serie temporale.
Sull’asse delle ordinate sono riportati i valori della correlazione che vanno da -1 a +1, mentre sull’asse delle ascisse sono riportati i ritardi (lags). Ogni barra verticale nel grafico rappresenta il valore di autocorrelazione per quel ritardo specifico.
Per determinare il valore di q, cerchiamo il punto in cui i ritardi tagliano per la prima volta il confine di significatività, che spesso è rappresentato con una linea orizzontale nel grafico (o uno”shadow” più scuro vicino all’asse x che hai menzionato). Il valore di q è il numero di lag prima di questo punto.
Ad esempio, se il primo taglio accade al ritardo 2, allora q=1 (perché consideriamo l’ultimo lag significativo).
Grafico analisi predittiva TEMPERATURA p=1 e q=1
Il grafico rappresenta una serie temporale della temperatura con dati storici e una previsione futura. Ecco come interpretiamo i vari elementi:
- La parte blu rappresenta i dati di addestramento utilizzati per allenare il modello ARIMA. Questi sono i dati storici della temperatura.
- La parte arancione rappresenta i dati reali della temperatura, che presumibilmente corrispondono al set di test. La presenza di dati reali dopo la linea rossa verticale suggerisce che questi dati sono stati utilizzati per convalidare la previsione del modello.
- La linea rossa verticale indica il punto di divisione tra i dati di addestramento e i dati di test. Questo è il momento in cui il modello smette di allenarsi sui dati storici e inizia a fare previsioni sui dati futuri.
- La linea rossa orizzontale rappresenta la previsione del modello ARIMA per la temperatura fino alla fine del 2024. Si noti che la previsione è una linea piatta, il che significa che il modello prevede che la temperatura rimarrà costante a quel valore per tutto il periodo previsto. Questo non è un comportamento tipico per i dati meteorologici, che sono notoriamente stagionali e variabili. La linea piatta potrebbe indicare che il modello non è riuscito a catturare la stagionalità o altri pattern nei dati.
Per migliorare la previsione, bisogna considerare l’utilizzo di un modello SARIMA (Seasonal ARIMA), che è progettato per gestire serie temporali con stagionalità. Potrebbe anche essere utile esplorare diversi ordini di p, d, q e sperimentare con l’ingegnerizzazione delle caratteristiche, come l’aggiunta di variabili esogene che potrebbero influenzare la temperatura (ad esempio, ora del giorno, stagione, condizioni atmosferiche ecc.).
ANALISI PREDITTIVA con modello SARIMA
Il modello SARIMA è descritto dalla notazione SARIMA(p,d,q)(P,D,Q)[S], dove:
- p: Ordine del termine autoregressivo (AR).
- d: Grado di differenziazione per rendere la serie stazionaria.
- q: Ordine del termine della media mobile (MA).
- P, D, Q: Rispettivamente, l’ordine autoregressivo stagionale, il grado di differenziazione stagionale, e l’ordine della media mobile stagionale.
- [S]: Numero di periodi in una stagione.
Ecco una rappresentazione grafica del modello SARIMA:
La banda rossa obliqua nel grafico rappresenta la previsione futura delle temperature nel periodo indicato. La forma obliqua suggerisce che la previsione è costante nel tempo, che è poco realistico per una serie temporale di dati meteorologici che naturalmente dovrebbe presentare variazioni stagionali e altre fluttuazioni.
La linea orizzontale rossa rappresenta il valore medio delle previsioni e la sua costanza suggerisce che il modello non è riuscito a catturare la stagionalità o le tendenze della serie temporale. In altre parole, il modello prevede che la temperatura media futura rimarrà invariata da quel momento in poi, senza tenere conto di variazioni stagionali o tendenze a lungo termine che sono tipiche in dati di temperatura.
Per ottenere una previsione più realistica, potresti aver bisogno di modellare esplicitamente la stagionalità utilizzando un modello SARIMA, che include componenti stagionali nel modello ARIMA, o incorporare variabili esogene che possono aiutare il modello a comprendere meglio i cambiamenti di temperatura nel tempo.
La “banda rossa” nel grafico che hai descritto rappresenta la serie delle previsioni generate dal modello SARIMA. La linea è continua e segue una direzione obliqua perché il modello prevede una variazione lineare nella temperatura nel tempo.
Inoltre, le previsioni sono disegnate in rosso e separate dalle serie di dati reali per distinguerle. La separazione tra i dati reali e la previsione indica anche il punto in cui il modello inizia a fare previsioni basate su ciò che ha imparato dai dati di addestramento, piuttosto che su nuovi dati osservati.
La pendenza della “banda rossa” riflette la tendenza che il modello ha identificato nei dati. Se la pendenza è negativa, il modello sta prevedendo un trend al ribasso della temperatura verso la fine del 2024; se positiva, un trend al rialzo.
Un punto importante da considerare è che le previsioni sono tanto più incerte quanto più ci si allontana dal punto di partenza (la fine dei dati di test). Pertanto, è sempre una buona pratica prendere previsioni a lungo termine con cautela.
Il messaggio di output che indica la convergenza è:
CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH
Nel contesto degli algoritmi di ottimizzazione, come L-BFGS-B usato per ottimizzare i parametri del modello ARIMA/SARIMA, la convergenza si riferisce al processo che raggiunge un punto in cui le modifiche successive al valore dei parametri (le variabili del modello) non portano a significativi miglioramenti della funzione obiettivo, in questo caso, la massimizzazione della funzione di verosimiglianza (o la minimizzazione dell’errore del modello).
Il messaggio specifica che la norma del gradiente proiettato è inferiore a una certa soglia (`PGTOL`), che è un parametro dell’algoritmo di ottimizzazione indicante il grado di tolleranza accettato per considerare il processo come convergente. Quando la norma del gradiente proiettato è abbastanza piccola, si presume che la soluzione trovata sia un minimo locale o globale della funzione obiettivo, il che significa che l’algoritmo non prevede che ulteriori iterazioni portino a un miglioramento significativo.
In sintesi, il messaggio di convergenza è un buon segno che indica che il modello di previsione ha parametri stabili e potenzialmente affidabili per fare previsioni.
Modello SARIMA per analisi predittiva della pioggia
Nel contesto dell’analisi predittiva della pioggia, il modello SARIMA può essere utilizzato per modellare e prevedere le precipitazioni tenendo conto delle stagionalità (ad esempio, variazioni stagionali nelle precipitazioni) e delle tendenze nel tempo. Ciò permette di ottenere previsioni accurate sulle precipitazioni future, che possono essere cruciali per la pianificazione agricola, la gestione delle risorse idriche e la prevenzione dei rischi di alluvione.
La selezione dei parametri appropriati (p, d, q, P, D, Q) e del periodo stagionale [S] è fondamentale per la costruzione di un modello efficace. Questo processo può essere facilitato da tecniche di diagnostica del modello e criteri di selezione come AIC (Akaike Information Criterion) o BIC (Bayesian Information Criterion), che aiutano a identificare il modello ottimale per i dati specifici in esame.
In conclusione, l’utilità dell’analisi dei dati predittivi e dell’analisi dei dati meteorologici per l’agricoltura va ben oltre la semplice ottimizzazione delle operazioni quotidiane. Attraverso l’uso intelligente dei dati, è possibile anticipare azioni, prevedere avversità e patogeni, effettuare trattamenti con fitofarmaci nei campi solo quando è necessario, riducendo l’impatto ambientale dell’agricoltura.
Data Scientist
Sono un Data Scientist con esperienza nell’applicazione di tecniche avanzate di Machine Learning per l’analisi di complessi set di dati nel campo del marketing digitale. Specializzato nell’uso di Python, sviluppo modelli predittivi e di analisi dei dati che permettono di identificare e risolvere criticità nei progetti.