Il processo di regressione lineare implica la minimizzazione della somma dei quadrati degli errori, come descritto dalla formula seguente (vedi Eq. 5.1):
dove e sono vettori che rappresentano i dati di ingresso e uscita, rispettivamente. L’obiettivo è trovare i valori ottimali di e , che minimizzano l'errore quadratico totale tra i valori osservati e quelli predetti dal modello.
Quando si ottengono due risultati di fitting, uno con intercetta e l’altro senza, come possiamo determinare quale modello si adatta meglio ai dati? La risposta a questa domanda può essere trovata tramite il metodo , noto anche come coefficiente di determinazione. Questo valore consente di valutare quanto bene il modello si adatti ai dati reali, indicando la proporzione di varianza spiegata dal modello stesso.
Il coefficiente di determinazione, , è calcolato come segue:
dove sono i valori predetti dal modello e è la media dei dati osservati. Un valore di prossimo a 1 indica una buona capacità predittiva del modello, mentre valori più bassi suggeriscono un adattamento meno preciso.
In un esempio pratico, supponiamo di avere due linee di regressione e di voler confrontare i rispettivi . Se il primo modello ha un pari a 0,822 e il secondo modello ha un pari a 0,838, possiamo concludere che il secondo modello si adatta meglio ai dati.
In aggiunta, è fondamentale analizzare i residui, che rappresentano la differenza tra i valori osservati e quelli predetti dal modello. I residui dovrebbero essere distribuiti in modo casuale, senza alcuna tendenza riconoscibile. Se i residui mostrano un pattern, potrebbe significare che il modello non sta catturando correttamente la relazione tra le variabili. Un'analisi visiva dei residui attraverso un grafico può fornire indicazioni importanti sulla bontà dell'adattamento.
La qualità dell’adattamento dipende anche dalla comprensione del contesto fisico e teorico dei dati. Ad esempio, se i dati provengono da un sistema fisico (come la velocità di un motore DC in funzione della tensione applicata), è cruciale che il modello rifletta correttamente questa relazione fisica. La scelta del modello giusto dipende dalla comprensione del comportamento dei dati, dalla loro misurazione e dalle ipotesi sottostanti al modello.
Nel caso di una regressione lineare applicata a un motore DC, dove la velocità di rotazione è proporzionale alla tensione di ingresso , il modello di regressione si presenta come:
dove è la pendenza della retta e è l’intercetta con l'asse . Per stimare questi parametri e , è possibile utilizzare l’algoritmo di regressione lineare. In un progetto pratico, come quello che utilizza un dataset di un motore, è possibile impiegare il software MATLAB e il suo strumento "Regression Learner" per costruire il modello di regressione. Questo processo richiede una corretta configurazione del dataset e la scelta del metodo di validazione più adatto, come la validazione incrociata (cross-validation), per garantire l'affidabilità del modello.
L’applicazione pratica del modello di regressione, come nel caso dell’esempio del motore DC, permette di predire la velocità di rotazione in base alla tensione di ingresso. Una volta importato il dataset (ad esempio, in formato Excel), è possibile configurare il modello per includere variabili di input e output, selezionare il metodo di validazione e avviare il processo di regressione. Un aspetto cruciale durante questa fase è la corretta divisione del dataset in set di addestramento, verifica e test, che permette di allenare e validare il modello in modo efficace.
L’utilizzo della cross-validation aiuta a testare il modello su diversi subset dei dati, riducendo il rischio di overfitting e garantendo che il modello sia in grado di generalizzare bene su dati non visti. Al termine del processo, il modello finale può essere utilizzato per fare previsioni e valutare la sua capacità predittiva sulla base del coefficiente , ma anche mediante una continua verifica dei residui.
L'analisi e la valutazione della bontà del modello non si fermano al calcolo del . È fondamentale monitorare l'andamento dei residui, poiché un buon modello di regressione dovrebbe presentare una distribuzione casuale e senza tendenze nei residui, indicante un buon adattamento ai dati. Inoltre, la scelta di modelli più complessi deve essere giustificata da una maggiore comprensione del fenomeno che si sta cercando di modellare, evitando il rischio di sovraccaricare il modello con variabili inutili.
Come funziona l’algoritmo Random Forest e perché è efficace nella regressione e classificazione?
L'algoritmo Random Forest si basa su una metodologia di apprendimento ensemble che consiste nella costruzione di molteplici alberi decisionali durante la fase di addestramento. Per i compiti di classificazione, l'output del modello corrisponde alla classe selezionata dalla maggioranza degli alberi, mentre per la regressione si ottiene un valore continuo mediando le predizioni dei singoli alberi. Questo approccio deriva dal concetto fondamentale degli ensemble: combinare le previsioni di più modelli base (qui alberi decisionali) per ottenere un risultato più robusto e preciso rispetto a quanto possa fare un singolo albero.
Una delle tecniche principali utilizzate nel Random Forest è il "bagging" o bootstrap aggregating. Attraverso il bagging, si estrae ripetutamente, con sostituzione, un campione casuale dal dataset originale su cui si addestrano diversi alberi. Questo processo produce una varietà di modelli addestrati su dati leggermente diversi, riducendo la varianza complessiva del modello finale e limitando il rischio di overfitting. La media delle predizioni degli alberi (nel caso della regressione) o il voto di maggioranza (per la classificazione) assicura una maggiore stabilità rispetto ai singoli alberi, che sono altamente sensibili alle peculiarità del loro set di dati di training.
L’innovazione del Random Forest rispetto al semplice bagging risiede nell’introduzione della casualità nella selezione delle caratteristiche (feature bagging). Durante la costruzione di ciascun albero, ad ogni nodo decisionale viene considerato solo un sottoinsieme casuale delle variabili disponibili per scegliere la migliore divisione. Questa strategia evita che alcuni predittori molto forti dominino la struttura di tutti gli alberi, diminuendo la correlazione tra i modelli base. Di conseguenza, gli alberi sono più diversi tra loro, e la combinazione delle loro previsioni è più efficace nel migliorare la generalizzazione del modello.
Nel contesto pratico, il numero di alberi (B) da utilizzare è un parametro cruciale che influisce sulle prestazioni del modello. Un numero troppo basso può portare a risultati instabili, mentre un numero elevato generalmente migliora la precisione fino a un punto di saturazione oltre il quale i miglioramenti diventano marginali. L’ottimizzazione di questo parametro può essere effettuata con tecniche di validazione incrociata o osservando l’errore out-of-bag, che fornisce una stima dell’errore di generalizzazione senza la necessità di un set di test separato.
L’incertezza delle predizioni è quantificabile tramite la deviazione standard delle predizioni dei singoli alberi, permettendo così di valutare non solo la stima puntuale ma anche la sua affidabilità. Questo è un vantaggio rilevante, soprattutto nei contesti applicativi in cui è fondamentale comprendere la confidenza nelle previsioni.
L'implementazione dell’algoritmo in ambienti come MATLAB è resa accessibile tramite toolbox specializzati, che offrono oggetti dedicati per la classificazione e la regressione tramite ensemble di alberi, facilitando così l’applicazione pratica e lo studio comparativo con altri metodi.
Oltre a quanto descritto, è importante riconoscere che la potenza del Random Forest non deriva solo dalla combinazione di alberi e dalla casualità nelle feature, ma anche dalla capacità di adattarsi a dati complessi senza richiedere un’attenta ingegnerizzazione delle variabili o un tuning eccessivamente sofisticato dei parametri. Tuttavia, per ottenere modelli efficaci è fondamentale comprendere le implicazioni del bias-variance tradeoff e valutare attentamente la correlazione tra gli alberi per evitare sovrapposizioni che ne compromettano l’efficacia.
Inoltre, la flessibilità dell’algoritmo nel gestire dati di diversa natura e la sua resistenza al rumore lo rendono uno strumento molto diffuso in ambito industriale e scientifico. La scelta dei parametri come la profondità degli alberi, la dimensione minima dei nodi foglia, e il numero di feature candidate a ogni split, deve essere calibrata in base al problema specifico, bilanciando precisione, velocità di calcolo e capacità di generalizzazione.
Come valutare la capacità predittiva di un ensemble e l’applicazione della regressione non lineare per la previsione azionaria
Una diminuzione della perdita di resostituzione (resubstitution loss) può suggerire che il software ha addestrato l’ensemble in modo sensato; tuttavia, questo calo non consente di inferire direttamente la potenza predittiva del modello. Per valutare effettivamente la capacità predittiva di un ensemble, è necessario stimare l’errore di generalizzazione attraverso una metodologia più rigorosa. Un approccio consolidato consiste nel partizionare casualmente il dataset in set di addestramento e di validazione incrociata (cross-validation), specificando opportunamente parametri come ‘holdout’ e ‘holdoutProportion’ durante l’addestramento con fitensemble(). Successivamente, si utilizza la funzione kfoldLoss per stimare l’errore di generalizzazione, ottenendo così una misura più realistica della performance del modello su dati non visti.
Spesso è indispensabile disporre di ulteriori dati di test, separati da quelli di training, per una valutazione completa del modello. Questa pratica rappresenta un paradigma fondamentale nell’apprendimento automatico e sarà adottata nelle sezioni successive per una valutazione accurata degli algoritmi presentati.
Dopo aver introdotto gli algoritmi di regressione supervisionata, si fa notare che altri algoritmi come Naïve Bayes e metodi di Similarity Learning sono maggiormente impiegati nelle applicazioni di classificazione e saranno discussi nella parte dedicata alla classificazione.
Per concretizzare queste idee, si presenta un caso di studio reale di previsione del prezzo azionario, basato su dati storici di Google dal 2012 al 2017. I prezzi azionari sono notoriamente caratterizzati da variazioni dinamiche e non lineari nel tempo; pertanto, l’uso di algoritmi di regressione non lineare appare particolarmente indicato per cogliere queste complesse dinamiche. Un presupposto fondamentale per la validità delle previsioni è che le variazioni di prezzo possano essere approssimate da funzioni periodiche o con pattern riconoscibili nel tempo: senza questa condizione, le previsioni perdono di significato.
Il dataset Google Stock è composto da due sottogruppi: uno per l’addestramento contenente 1258 osservazioni da 2012 a 2016 con variabili quali prezzo di apertura, chiusura, massimo, minimo e volume delle transazioni, e un altro per il test, relativo a un mese (gennaio 2017) con 20 osservazioni. La normalizzazione dei dati è cruciale: i prezzi variano nel tempo e devono essere scalati per poter prevedere tendenze relative piuttosto che valori assoluti. Questo consente di cogliere l’andamento del mercato, aspetto spesso più utile nelle decisioni di investimento.
Per il progetto di previsione, vengono impiegati tre algoritmi di regressione non lineare: fitrensemble(), fitnlm() e TreeBagger(). Ognuno di questi modelli viene addestrato sul dataset di training normalizzato e testato sul dataset di test. Il codice MATLAB che accompagna questo progetto illustra l’importanza di una corretta preparazione dei dati, in particolare la normalizzazione di ogni variabile predittiva dividendo per il massimo valore osservato, e la conversione dei dati da caratteri a numeri reali quando necessario (ad esempio, per il volume delle transazioni).
L’analisi grafica delle previsioni confrontate con i dati reali e l’analisi degli errori tramite la sottrazione dei valori stimati da quelli effettivi evidenziano le performance relative di ciascun modello. Questo tipo di approccio fornisce una base metodologica rigorosa per valutare modelli predittivi su dati finanziari storici e per comprendere le potenzialità e i limiti degli algoritmi di regressione non lineare in contesti di alta variabilità temporale.
È fondamentale comprendere che la valutazione di un modello predittivo non può limitarsi a metriche interne di training ma deve includere sempre un rigoroso processo di validazione su dati separati, che riflettono il più possibile il contesto reale di utilizzo. La normalizzazione e la scelta degli input sono determinanti per la stabilità e l’interpretabilità delle previsioni. Inoltre, la previsione di tendenze più che di valori assoluti rappresenta spesso l’obiettivo più pratico e significativo nel contesto dei mercati azionari, dove l’incertezza intrinseca e la non linearità delle dinamiche rendono le previsioni puntuali molto difficili.
In aggiunta, il metodo di ensemble e la scelta di modelli non lineari consentono di catturare complessità che modelli lineari più semplici non sono in grado di rappresentare. Tuttavia, è importante ricordare che nessun modello può garantire previsioni perfette, e una corretta interpretazione delle incertezze è parte integrante del processo decisionale basato su tali modelli.
Quali sono i vantaggi e le limitazioni dei linguaggi di programmazione PLC, come Instruction List e Sequential Function Chart?
Quali sono i criteri per l'uso dei materiali edili riciclati nel rispetto delle normative ambientali e di sicurezza?
Come verificare se tre lati formano un triangolo in un programma Fortran

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский