08. Parameter Fitting
Indice
Idea di Base
Parameter Fitting
Definizione
Il parameter fitting e il problema di trovare i valori dei parametri di una funzione matematica parametrica in modo che la funzione rappresenti al meglio un insieme di dati osservati.
In pratica: abbiamo punti misurati e un modello gia scelto. Non stiamo ancora decidendo quale forma abbia il modello, ma quali numeri inserire nei suoi parametri per farlo aderire ai dati.
Esempio: se vogliamo descrivere una nuvola di punti con una retta y = theta0 + theta1 x, il fitting consiste nel trovare intercetta theta0 e pendenza theta1 migliori.
Il tema compare con nomi diversi:
- parameter estimation: enfasi statistica sulla stima dei parametri;
- parameter fitting: enfasi pratica sull’adattamento ai dati;
- curve fitting: caso in cui si adatta una curva;
- regression analysis: formulazione statistica e predittiva collegata.
Collegamenti utili: modelli statistici predittivi, machine learning predittivo, statistica inferenziale.
Fitting come Problema di Ottimizzazione
Definizione
Il fitting puo essere formulato come un problema di ottimizzazione: minimizzare una funzione di errore che misura la distanza tra valori osservati e valori predetti dal modello.
Dato un modello f(x; theta), dove theta e il vettore dei parametri, cerchiamo:
theta* = argmin_theta Loss(y, f(x; theta))In pratica: proviamo diversi valori dei parametri e scegliamo quelli che producono l’errore piu basso. La funzione di errore trasforma la qualita del modello in un numero: piu e basso, meglio il modello fitta i dati.
Note
In Operational Analytics questo schema e centrale: molti problemi di previsione, regressione e taratura di modelli sono riconducibili a “scegliere parametri che minimizzano un costo”.
Funzioni di Errore
Metriche Principali
Definizione
Una funzione di errore misura quanto le previsioni del modello differiscono dai dati osservati.
Indichiamo con y_i il valore reale e con f_i il valore predetto. Le metriche piu comuni sono:
| Metrica | Idea | Quando e utile |
|---|---|---|
| BIAS / ME | media degli errori f_i - y_i | capire se il modello sovrastima o sottostima sistematicamente |
| MAD / MAE | media degli errori assoluti | robusta e interpretabile nella scala originale |
| MSE | media degli errori quadratici | penalizza molto gli errori grandi |
| RMSE / Standard Error | radice del MSE | come MSE, ma nella scala della variabile target |
| MAPE | errore percentuale medio assoluto | confrontare errori su scale diverse, se i valori reali non sono vicini a zero |
Esempio
Se prevediamo domanda giornaliera e sbagliamo di
+10,-5,+15, il BIAS segnala se in media siamo troppo alti o troppo bassi. MAE dice di quanto sbagliamo mediamente. MSE/RMSE rendono piu pesanti gli errori grandi, quindi sono severi quando un picco non viene previsto.
Scelta della Metrica
Attenzione
La metrica scelta cambia il modello considerato “migliore”. Non e un dettaglio tecnico: esprime quale tipo di errore vogliamo penalizzare.
Scelte pratiche:
- usa MAE se vuoi interpretabilita e minore sensibilita agli outlier;
- usa MSE/RMSE se errori grandi sono particolarmente costosi;
- usa MAPE se ti interessa l’errore relativo, ma evita casi con
y_ivicino a zero; - controlla BIAS per capire se il modello ha una direzione di errore sistematica.
Collegamento: la valutazione delle prestazioni si aggancia ai concetti di statistica descrittiva e predictive analytics.
Least Squares e Regressione Lineare
Modello Lineare
Definizione
La regressione lineare cerca una combinazione lineare delle variabili di input che approssimi il valore target.
Forma generale:
y = theta0 + theta1 x1 + ... + thetan xnNel caso a una sola variabile:
y = theta0 + theta1 xIn pratica: theta0 sposta la retta verso l’alto o il basso, theta1 ne determina l’inclinazione. Il fitting sceglie questi coefficienti per far passare la retta il piu vicino possibile ai punti.
Soluzione Analitica e Gradient Descent
Definizione
Il metodo dei minimi quadrati trova i parametri che minimizzano la somma o media degli errori quadratici.
Per una retta, l’errore tipico e:
Loss(theta0, theta1) = sum_i ((theta0 + theta1 x_i) - y_i)^2In alcuni casi semplici, come la regressione lineare 1D, esistono formule analitiche per theta0 e theta1. Quando pero i dati o il modello crescono di complessita, si preferisce una soluzione iterativa.
Note
La soluzione analitica e precisa e veloce per problemi piccoli o ben strutturati. Il gradient descent e piu generale: non richiede una formula chiusa, ma dipende da learning rate, inizializzazione e numero di iterazioni.
Gradient Descent
Derivate, Jacobiano e Hessiano
Definizione
Il gradient descent e un algoritmo iterativo di primo ordine che cerca un minimo locale muovendosi nella direzione opposta al gradiente della funzione di costo.
Regola base:
x_{t+1} = x_t - lambda * grad f(x_t)Termini matematici utili:
- la derivata prima indica la pendenza locale di una funzione;
- il gradiente generalizza la derivata a piu variabili e indica la direzione di massima crescita;
- il Jacobiano raccoglie derivate parziali di primo ordine di funzioni vettoriali;
- l’Hessiano raccoglie derivate parziali di secondo ordine e descrive la curvatura locale.
In pratica: il gradiente dice in che direzione l’errore aumenta di piu. Per minimizzare, ci muoviamo nella direzione opposta.
Learning Rate
Definizione
Il learning rate
lambdacontrolla la lunghezza del passo compiuto a ogni iterazione del gradient descent.
Punto critico
Se
lambdae troppo piccolo, la convergenza e lenta. Se e troppo grande, l’algoritmo puo oscillare o divergere.
Esempio intuitivo: scendere da una collina al buio. Passi minuscoli sono sicuri ma lenti; passi troppo lunghi rischiano di superare la valle e risalire dall’altra parte.
Nel fitting lineare, il gradient descent aggiorna direttamente i parametri theta:
theta = theta - learning_rate * grad Loss(theta)Fitting Non Lineare
Regressione Gaussiana
Definizione
La regressione gaussiana adatta ai dati una funzione con forma a campana, controllata da parametri come ampiezza, centro e dispersione.
Una forma comune e:
g(x; A, mu, sigma) = A * exp(-((x - mu)^2) / (2 sigma^2))Dove:
Acontrolla l’altezza della curva;mucontrolla la posizione del picco;sigmacontrolla la larghezza della campana.
In pratica: se i dati hanno un picco centrale e valori piu bassi ai lati, una gaussiana puo essere una buona funzione di mapping. Il fitting cerca A, mu e sigma che minimizzano l’errore tra curva e punti.
Esempio
Se osserviamo tempi di arrivo concentrati attorno a un orario medio, una gaussiana puo modellare la distribuzione:
mue l’orario tipico,sigmaindica quanto gli arrivi sono dispersi,Ascala l’intensita del fenomeno.
Curve Fit in SciPy
Definizione
curve_fit()di SciPy esegue curve fitting tramite nonlinear least squares, stimando i parametri ottimali di una funzione definita dall’utente.
Schema pratico:
popt, covar = curve_fit(objective, x_values, y_values)
yfit = objective(x_values, *popt)popt contiene i parametri stimati. covar contiene una matrice di covarianza, utile per valutare l’incertezza delle stime.
Tip
Per funzioni non lineari, l’inizializzazione dei parametri puo influenzare molto il risultato. Un buon
p0spesso evita convergenze lente o soluzioni locali poco sensate.
Ricerca di Parametri e Iperparametri
Grid Search e Campionamento
Definizione
La grid search prova sistematicamente tutte le combinazioni di valori definiti su una griglia di parametri.
Esempio ARIMA:
for p in [0..3]
for d in [0..2]
for q in [0..2]
valuta ARIMA(p,d,q)In pratica: e semplice e robusta per pochi parametri discreti, ma esplode combinatoriamente quando aumentano dimensioni e valori possibili.
Per parametri continui si puo campionare casualmente nell’intervallo. Il problema e che in spazi multidimensionali il campionamento uniforme casuale puo lasciare zone vuote e sovracampionare altre zone.
Note
Metodi a bassa discrepanza come Hammersley, Sobol e Halton cercano di distribuire i punti in modo piu uniforme nello spazio dei parametri.
Nelder-Mead
Definizione
Nelder-Mead e un metodo di ottimizzazione derivative-free che usa un simplesso di
n + 1punti in uno spazio andimensioni.
Non richiede derivate: valuta la funzione obiettivo in punti diversi e modifica il simplesso con operazioni di:
- reflection: prova un punto riflesso rispetto al peggiore;
- expansion: se il riflesso e molto buono, prova ad andare oltre;
- contraction: se il riflesso non aiuta, restringe la ricerca;
- shrink: se tutto fallisce, riduce il simplesso attorno al punto migliore.
Limite
Nelder-Mead e semplice e spesso efficace, ma non ha garanzie generali di convergenza. Puo richiedere molti passi o restart se il simplesso collassa male.
Particle Swarm Optimization
Definizione
La Particle Swarm Optimization (PSO) e un metodo di ottimizzazione ispirato al comportamento collettivo di stormi e branchi, utile in spazi continui multidimensionali.
Ogni particella rappresenta una possibile soluzione e ha:
- una posizione nello spazio dei parametri;
- una velocita di movimento;
- una memoria del proprio miglior punto trovato, detto
pbest; - informazioni sul miglior punto globale
gbesto localelbest.
L’idea e combinare esplorazione individuale e informazione sociale:
velocita nuova = inerzia + attrazione verso pbest + attrazione verso gbest/lbest
posizione nuova = posizione corrente + velocita nuovaEsempio
Immagina molte squadre che cercano il punto piu basso di un paesaggio. Ogni squadra ricorda il proprio miglior punto e ascolta le altre: se una zona sembra promettente, piu squadre si orientano verso quella regione.
Parametri importanti:
- numero di particelle, spesso tra 10 e 50;
- peso dell’inerzia, che controlla quanto si mantiene la direzione precedente;
C1, importanza del miglior risultato personale;C2, importanza del miglior risultato globale o locale;- velocita massima, per evitare movimenti troppo lenti o instabili.
Optuna
Definizione
Optuna e un framework per l’ottimizzazione automatica di iperparametri, trattata come problema black-box.
Elementi principali:
- una Study rappresenta il processo di ottimizzazione;
- un Trial rappresenta una singola configurazione testata;
- lo spazio di ricerca si definisce dentro la funzione obiettivo con
suggest_float,suggest_int,suggest_categorical; - la strategia di default, spesso TPE, sceglie nuove configurazioni usando i risultati precedenti;
- il pruning interrompe prove poco promettenti.
Schema minimo:
def objective(trial):
x = trial.suggest_float("x", -10, 10)
return x**2
study = optuna.create_study(direction="minimize")
study.optimize(objective, n_trials=100)Tip
Optuna e particolarmente utile quando addestrare un modello e costoso: invece di provare una griglia cieca, concentra le prove sulle regioni dello spazio che sembrano promettenti.
Collegamento: l’ottimizzazione degli iperparametri completa il ciclo visto in preprocessing, modelli neurali e modelli ML.
Prossimi Argomenti
Continueremo con:
- Modelli di Machine Learning - uso pratico di funzioni di perdita e iperparametri nei modelli predittivi.
- Modelli Neurali - training iterativo, gradient descent e tuning dei parametri nei modelli neurali.
- Statistica Inferenziale - interpretazione statistica delle stime e incertezza sui parametri.