3 Errori comuni nella modellazione delle serie temporali che dovresti conoscere

3 errori nella modellazione delle serie temporali da conoscere

Errori frequenti e come evitarli, con esempi pratici

Foto di Diggity Marketing su Unsplash

L’ho fatto molte volte da solo – ho premuto il pulsante di esecuzione su del codice di addestramento del modello e ho avuto un momento “WOW” quando i punteggi degli errori sono risultati ottimi. Stranamente ottimi. Scavando nel codice di ingegneria delle caratteristiche, c’è un calcolo che incorpora i dati futuri nei dati di addestramento e correggere la caratteristica fa tornare quegli errori quadratici medi alla realtà. Ora, dov’è quella lavagna…

I problemi delle serie temporali hanno diverse trappole uniche. Fortunatamente, con un po’ di diligenza e un po’ di pratica, si terrà conto di queste trappole molto prima di digitare “from sklearn import” nel tuo notebook. Ecco tre cose a cui prestare attenzione e alcuni scenari in cui potresti incontrarle.

Errore di previsione

Questo è quasi certamente il primo rischio che incontrerai con le serie temporali e, sorprendentemente, è anche quello più frequente che vedo nei portafogli di livello base (sto parlando di te, progetto generico di previsione del mercato azionario). La buona notizia è che in genere è il più facile da evitare.

Il problema: Semplicemente, l’errore di previsione si verifica quando il tuo modello viene addestrato utilizzando dati futuri ai quali non avrebbe accesso nella realtà.

Il modo tipico in cui potresti introdurre questo problema nel tuo codice è suddividere casualmente i dati di addestramento e di test in due blocchi di dimensioni predefinite (ad esempio, 80/20). Il campionamento casuale farà sì che sia i dati di addestramento che quelli di test coprano lo stesso periodo di tempo, quindi avrai “leakage” di conoscenza del futuro nel tuo modello.

Quando arriva il momento di convalidare con i dati di test, il modello già sa cosa succede. Inevitabilmente otterrai punteggi di errore abbastanza eccezionali, ma falsi in questo modo.

La soluzione: Suddividi il tuo dataset utilizzando un punto di taglio nel tempo anziché tenere una percentuale dei dati.

Ad esempio, se ho dati che coprono il periodo 2013-2023, potrei impostare il periodo 2013-2021 come dati di addestramento e il periodo 2022-2023 come dati di test. In un caso d’uso semplice, i dati di test coprono un periodo di tempo a cui il modello è completamente ignorante e il punteggio di errore dovrebbe essere accurato. Ricorda che questo si applica anche a k-fold cross-validation.