Quando interessa la pendenza, non soltanto il valore
Un modello ricostruisce la temperatura di un processo con un errore di appena un centesimo di grado. Possiamo fidarci anche della velocità con cui prevede il riscaldamento? La domanda conta quando usiamo modelli AI per descrivere processi fisici: una curva può aderire bene ai dati e oscillare troppo tra un punto e l’altro. La derivata, che misura quanto rapidamente cambia una grandezza, rende visibili oscillazioni quasi invisibili nel valore. Un errore piccolo su una temperatura non è automaticamente piccolo su una velocità di variazione.
Abstract. Costruiamo due analisi complementari. Prima stimiamo la derivata da misure rumorose e ricaviamo il compromesso tra intervallo temporale e rumore. Poi confrontiamo due funzioni quasi identiche nei valori ma molto diverse nelle derivate. Un filtro polinomiale locale mostra un’alternativa alla semplice differenza di due campioni. I risultati sono calcoli su funzioni sintetiche e su un modello statistico dichiarato: non misure di laboratorio, addestramento di una rete o verifica di un impianto. L’obiettivo è capire quale prova aggiuntiva serve quando un modello verrà usato dentro un’equazione fisica.
Un processo semplice, con unità esplicite
Usiamo f(t) = 20 + 2 sin(ωt), con temperatura in gradi Celsius, tempo t in secondi e ω = 2π/60 radianti al secondo. È un’oscillazione di ampiezza 2 °C e periodo 60 s, non un modello completo di trasferimento termico. La derivata è f′(t) = 2ω cos(ωt), in °C/s. Al centro t = 0 vale circa 0,20944 °C/s. Scegliamo t = 0 come origine locale del tempo; i campioni a tempo negativo sono osservazioni precedenti quel punto, non tempi fisicamente impossibili.
La misura y(t) aggiunge un errore ε(t): y(t) = f(t) + ε(t). Assumiamo errori indipendenti, media zero e deviazione standard σ = 0,05 °C, uguale per ogni campione. Non serve assumere una distribuzione gaussiana per i calcoli della varianza che seguono. Non stiamo misurando il rumore di uno strumento specifico: σ è un parametro scelto per il caso didattico. Se gli errori avessero correlazione o deriva sistematica, la formula cambierebbe.
Perché avvicinare i campioni può peggiorare la stima
Per stimare la velocità al centro, prendiamo una misura h secondi prima e una h secondi dopo. La differenza di temperatura divisa per i 2h secondi trascorsi è la differenza centrale D_h. Senza rumore, ridurre h avvicina questa pendenza media alla derivata. Con rumore, però, dividiamo anche la differenza degli errori per un numero sempre più piccolo. È questo il passaggio che può rendere instabile una stima apparentemente più precisa nel tempo.
La varianza quantifica la dispersione casuale della stima, in (°C/s)². Le varianze dei due errori si sommano perché sono indipendenti; il segno meno non le cancella. La deviazione standard è σ/(√2 h). Con h = 1 s è circa 0,03536 °C/s; con h = 0,1 s sale a 0,35355, più grande della derivata vera 0,20944. Non abbiamo osservato questi valori su cento prove: sono momenti teorici del modello di rumore, calcolati numericamente. Il codice non genera campioni casuali.
Allargare la finestra riduce il rumore, ma introduce distorsione
Se due campioni più lontani riducono la dispersione, perché non usare un intervallo enorme? Perché la pendenza media di un tratto curvo non è la pendenza nel suo centro. Per la sinusoide scelta, a t = 0 la media di D_h è esattamente 2 sin(ωh)/h. Sottraiamo 2ω per ottenere il bias, cioè l’errore sistematico medio. Con una funzione sufficientemente regolare, lo sviluppo di Taylor mostra che il termine principale è h² f‴(t)/6: cresce quadraticamente con h finché l’approssimazione locale resta valida.
La prima riga spiega la cancellazione: sottraendo le due espansioni spariscono i termini pari; dividendo per 2h rimangono la derivata e la correzione cubica trasformata in h². La notazione O(h⁴) indica termini residui di ordine quattro o superiore, con regolarità sufficiente. MSE è l’errore quadratico medio: somma il quadrato del bias e la varianza perché lo scarto casuale dalla propria media ha media zero. La sua radice, RMSE, torna in °C/s e può essere confrontata con la velocità vera.
| h (s) | Media D_h (°C/s) | RMSE (°C/s) |
|---|---|---|
| 0.1 | 0.209436 | 0.353553 |
| 1 | 0.209057 | 0.035357 |
| 3 | 0.206011 | 0.012274 |
| 5 | 0.200000 | 0.011794 |
| 10 | 0.173205 | 0.036407 |
Passare da 0,1 a 5 secondi migliora l’RMSE in questo caso; passare a 10 lo peggiora di nuovo. La tabella non identifica un passo universale: il compromesso dipende dal rumore e da quanto rapidamente curva il segnale. Inoltre la formula centrale usa un campione futuro, t+h. In un sistema in tempo reale richiede un ritardo di h secondi, oppure va sostituita da uno stimatore causale che usa soltanto passato e presente. La precisione numerica non elimina il vincolo temporale.
Un buon adattamento ai valori non controlla le derivate
Consideriamo ora un problema diverso dal rumore delle misure: la forma stessa del modello approssimante. Definiamo g(t) = f(t) + 0,01 sin(8πt). In ogni istante g differisce da f al massimo di 0,01 °C. La perturbazione ha periodo 0,25 s. Derivando, però, otteniamo g′(t) − f′(t) = 0,08π cos(8πt): l’ampiezza dell’errore sulla derivata è circa 0,25133 °C/s, maggiore dell’ampiezza 0,20944 della derivata originale. La vicinanza dei valori non ha impedito una grande differenza di pendenza.
Questo è un controesempio analitico, non una rete neurale addestrata male. Mostra perché un errore di validazione calcolato soltanto sui valori non basta, da solo, a garantire l’accuratezza delle derivate usate in un modello fisico. Più in generale, una perturbazione ε sin(kt) ha ampiezza ε ma derivata di ampiezza εk: aumentare la frequenza k può rendere grande la seconda senza rendere grande la prima. Qui k ha unità inverse al tempo, così εk ha correttamente unità di temperatura per secondo.
Nel grafico a sinistra entrambi gli assi sono logaritmici: uguali distanze indicano rapporti uguali, non differenze uguali. Da 0,1 a 1 secondo il passo cresce dieci volte. Osserviamo soprattutto quale contributo domina la curva totale e dove questa smette di diminuire. A destra gli assi sono lineari: g′ arriva perfino sotto zero mentre f′ resta positiva. Il modello perturbato può quindi suggerire un raffreddamento locale dove la funzione di riferimento sta ancora salendo.

Una via alternativa: stimare una pendenza locale da più punti
Su cinque tempi equispaziati t + jΔ, con j da −2 a 2, adattiamo un polinomio a + b jΔ + c(jΔ)² ai valori osservati, minimizzando la somma dei quadrati dei residui. Vogliamo b, la derivata al centro. Per simmetria, le somme di j e j³ sono zero; la colonna lineare è quindi ortogonale a quelle costante e quadratica. L’equazione normale per b diventa b = Σ_j j y_j / (Δ Σ_j j²). Poiché Σ_j j² = 10, i pesi sono [−2, −1, 0, 1, 2]/(10Δ).
Per errori indipendenti con varianza σ², la varianza della combinazione lineare è σ² volte la somma dei quadrati dei pesi: 0,1σ²/Δ². La differenza centrale con h = Δ aveva 0,5σ²/Δ². Abbiamo ridotto la componente casuale, ma usato una finestra più larga e assunto che un polinomio basso descriva bene il tratto. Con Δ = 1 s, nel nostro segnale la media stimata è 0,20814 °C/s e l’RMSE 0,01586, contro 0,03536 della differenza centrale a h = 1 s. Non è una superiorità universale: con variazioni rapide il polinomio può attenuare proprio ciò che volevamo misurare.
Questo meccanismo è alla base della derivazione mediante filtri polinomiali locali, come quelli di Savitzky–Golay. La documentazione SciPy distingue esplicitamente ordine della derivata, ampiezza della finestra, grado del polinomio e distanza temporale delta. Nel nostro calcolo implementiamo direttamente i cinque pesi; non eseguiamo SciPy. Ai bordi della serie la simmetria manca, e le scelte di estensione o adattamento cambiano il risultato. Specificare soltanto “abbiamo filtrato i dati” non rende riproducibile una derivata.
Che cosa verificare quando la curva entra in un modello fisico
Se un’equazione usa una velocità di variazione, la valutazione deve riguardare anche quella quantità, con le sue unità e il suo intervallo temporale. Una penalizzazione della curvatura, dati sulle derivate o vincoli fisici possono limitare alcune oscillazioni, ma introducono ipotesi e pesi da controllare; non garantiscono automaticamente la correttezza. Neppure differenziare esattamente una rete risolve il problema: il calcolo può essere esatto per la funzione appresa e quella funzione può avere la pendenza sbagliata. È la differenza tra correttezza del calcolo e adeguatezza del modello.
La risposta alla domanda iniziale è quindi negativa: una temperatura ben ricostruita non basta a certificare la sua derivata. Nel primo esempio il rumore viene amplificato quando restringiamo troppo la finestra; nel secondo una piccola oscillazione del modello genera una grande oscillazione della pendenza. Sono cause diverse e richiedono verifiche diverse. Per passare a dati reali servirebbero rumore caratterizzato, tempi di acquisizione, trattamento dei bordi e un riferimento indipendente per la grandezza derivata. Questi elementi non sono stati misurati qui.
Il codice completo salva tabella, curve dell’errore e traiettorie analitiche. Usa soltanto la libreria standard Python per i calcoli e Matplotlib per le figure. Non sono presenti misure hardware o risultati EL-AI. Il frammento seguente riproduce la tabella essenziale: media della differenza, bias, varianza e loro combinazione. Leggerlo permette di distinguere la derivata nota della funzione sintetica dalla stima che avremmo ottenuto usando misure rumorose.
import math
omega = 2*math.pi/60
sigma = 0.05
true = 2*omega
for h in [0.1, 1, 5, 10]:
mean = 2*math.sin(omega*h)/h
bias = mean-true
variance = sigma**2/(2*h*h)
print(h, mean, math.sqrt(bias*bias+variance))
Codice, dati e istruzioni · JSON. Calcoli didattici eseguiti con Python 3.14.0; figure con Matplotlib 3.11.2. Analisi con assistenza AI, senza dichiarare peer review o revisione umana. Copertina originale ImageGen, illustrativa: non documenta persone, sedi o installazioni EL-AI. Fonti consultate il 29 settembre 2026.

