Vai al contenuto principale Passa a contenuto complementare

Dati di controllo e convalida incrociata

Una delle maggiori sfide dell'analisi previsionale è sapere come si comporterà un modello addestrato su dati che non ha mai visto prima. In altre parole, quanto bene il modello ha appreso i veri modelli rispetto alla semplice memorizzazione dei dati di training. I dati di controllo e la convalida incrociata sono tecniche efficaci per assicurarsi che il modello non stia solo memorizzando, ma stia effettivamente imparando modelli generalizzati.

Quando si configura l'esperimento, si può scegliere se i dati di addestramento e i dati di controllo vengono suddivisi in modo casuale o con un metodo speciale utilizzato per creare modelli sensibili ai valori temporali.

Test dei modelli per la memorizzazione rispetto alla generalizzazione

Chiedere quanto bene un modello si comporterà nel mondo reale equivale a chiedere se il modello memorizza o generalizza. La memorizzazione è la capacità di ricordare perfettamente ciò che è accaduto in passato. Sebbene un modello che memorizza possa avere punteggi elevati al momento del training iniziale, l'accuratezza della previsione diminuisce significativamente quando viene applicato a nuovi dati. Vogliamo invece un modello che generalizzi. La generalizzazione è la capacità di apprendere e applicare modelli generali. Imparando i veri modelli più ampi dai dati di training, un modello generalizzato sarà in grado di fare previsioni della stessa qualità su nuovi dati che non ha mai visto prima.

Dati di controllo automatico

I dati di controllo sono dati "nascosti" dal modello durante l'addestramento e poi utilizzati per assegnare un punteggio al modello. il controllo simula le prestazioni del modello nelle previsioni future, generando metriche di accuratezza su dati non utilizzati nel training. È come se avessimo costruito un modello, lo avessimo distribuito e stessimo monitorando le sue previsioni rispetto a ciò che è effettivamente accaduto, senza dover aspettare di osservare tali previsioni.

In Qlik AutoML esistono due metodi per selezionare i dati di controllo: il metodo predefinito e il metodo basato sul tempo.

Metodo predefinito per selezionare i dati di controllo

A meno che non si attivi l'addestramento del modello sensibile ai valori temporali, i dati di controllo vengono selezionati in modo casuale prima dell'inizio dell'addestramento del modello.

Per impostazione predefinita, il set di dati è suddiviso in modo casuale in dati di addestramento e dati di controllo

Rapporto tra dati di addestramento e i dati di controllo nel metodo predefinito di controllo e convalida incrociata

Metodo predefinito basato sul tempo per selezionare i dati di controllo

Con il metodo basato sul tempo, l'intero training set viene prima ordinato in base a una colonna di indicizzazione della data selezionata. Dopo l'ordinamento, i dati di controllo vengono separati dal resto dei dati di addestramento. I dati di controllo contengono i dati più recenti relativi all'indice selezionato.

Il metodo basato sul tempo viene utilizzato per creare modelli sensibili ai valori temporali. È possibile attivare l'addestramento sensibile ai valori temporali in Ottimizzazione modello nel pannello di configurazione dell'esperimento. Per ulteriori informazioni, vedere Configurazione di esperimenti.

Nel metodo basato sul tempo, il set di dati viene suddiviso in dati di addestramento e dati di controllo nelle stesse proporzioni del metodo predefinito. Tuttavia, con questo metodo, i dati vengono anche ordinati prima della suddivisione.

Rapporto tra dati di addestramento e i dati di controllo nel metodo predefinito di controllo e convalida incrociata.

Convalida incrociata

La convalida incrociata è un processo che testa la capacità di un modello di machine learning di prevedere valori futuri per i dati che non ha ancora analizzato. Nella convalida incrociata, i dati di addestramento di un modello vengono suddivisi in un certo numero di segmenti, chiamati "fold". Durante ogni iterazione dell'addestramento, il modello viene addestrato su una o più fold, con almeno una delle fold che non può essere mai utilizzata per l'addestramento. Dopo ogni iterazione, le prestazioni vengono valutate utilizzando una delle fold che non sono state utilizzate nell'addestramento.

Il risultato della convalida incrociata è un insieme di metriche di test che forniscono una previsione ragionevole della precisione con cui il modello addestrato sarà in grado di effettuare previsioni su dati che non ha mai visto prima.

In Qlik AutoML esistono due metodi per la convalida incrociata: il metodo predefinito e il metodo basato sul tempo.

Convalida incrociata predefinita

A meno che non si configuri l'addestramento in modo da utilizzare la convalida incrociata basata sul tempo, Qlik AutoML utilizza il metodo predefinito di convalida incrociata. Il metodo predefinito di convalida incrociata è adatto per i modelli che non si basano su una dimensione di serie temporale, ovvero non è necessario che il modello effettui le previsioni in base a una specifica colonna temporale nei dati di addestramento.

Nel metodo di convalida incrociata predefinito, il set di dati viene diviso in modo casuale in un numero di segmenti pari, chiamati fold. L'algoritmo di machine learning addestra il modello in base a tutte le fold tranne una. La convalida incrociata testa quindi ciascun fold rispetto a un modello addestrato su tutte le altre fold. Ciò significa che ogni modello addestrato viene testato su un segmento di dati che non ha mai visto prima. Il processo viene ripetuto con una fold diversa nascosta durante l'addestramento e poi testato fino a quando tutte le fold sono state utilizzate esattamente una volta come test e sono state addestrate durante ogni altra iterazione.

Controllo automatico e convalida incrociata predefinita

Per impostazione predefinita, AutoML utilizza una convalida incrociata a cinque fold durante l'addestramento del modello per simularne le prestazioni. Il modello viene quindi testato su un controllo separato di dati di training. Questo genera metriche di punteggio che consentono di valutare e confrontare le prestazioni dei diversi algoritmi.

  1. Prima di iniziare il training dell'esperimento, tutti i dati del set di dati che hanno un target non nullo vengono rimescolati in modo casuale. Il 20% del set di dati viene estratto come dati di controllo. Il restante 80% del set di dati viene utilizzato per addestrare il modello con la convalida incrociata.

  2. Per preparare la convalida incrociata, il set di dati viene suddiviso in cinque parti – le fold – in modo casuale. Il modello viene quindi addestrato cinque volte, "nascondendo" ogni volta un quinto diverso dei dati per testare le prestazioni del modello. Le metriche di training sono generate durante la convalida incrociata e rappresentano la media dei valori calcolati.

  3. Dopo il training, il modello viene applicato ai dati di controllo. Poiché i dati di controllo non sono stati visti dal modello durante il training, a differenza dei dati di convalida incrociata, sono ideali per convalidare le prestazioni del training del modello. Le metriche di controllo vengono generate durante questa valutazione finale del modello.

Per ulteriori informazioni sulle metriche utilizzate per analizzare le prestazioni del modello, consultare la sezione Revisione dei modelli.

Nel metodo predefinito, i dati di addestramento vengono utilizzati durante la convalida incrociata a cinque fold per generare un modello. Dopo il training, il modello viene valutato utilizzando i dati di controllo.

Diagramma che mostra il metodo predefinito di controllo e convalida incrociata, che evidenzia il processo a cinque fold.

Convalida incrociata basata sul tempo

La convalida incrociata basata sul tempo è adatta per addestrare il modello a prevedere i dati lungo una dimensione di serie temporale. Ad esempio, supponiamo di voler prevedere le vendite della propria azienda per il mese successivo, in base a un set di dati contenente i dati delle vendite passate. Per utilizzare la convalida incrociata basata sul tempo, nei dati di addestramento deve essere presente una colonna che contenga informazioni sulla data o sul timestamp.

Il metodo basato sul tempo viene utilizzato per creare modelli sensibili ai valori temporali È possibile attivare l'addestramento sensibile ai valori temporali in Ottimizzazione modello nel pannello di configurazione dell'esperimento. Per ulteriori informazioni, vedere Configurazione di esperimenti.

Con la convalida incrociata basata sul tempo, i modelli vengono addestrati per capire meglio che stanno prevedendo dati per date future.

Come il metodo predefinito, la convalida incrociata basata sul tempo prevede la separazione dei dati di addestramento in fold che vengono utilizzate sia per l'addestramento che per eseguire test. Entrambi i metodi prevedono l'addestramento dei modelli per un certo numero di iterazioni. Tuttavia, il metodo basato sul tempo presenta diverse differenze rispetto al metodo predefinito:

  • I dati di addestramento sono ordinati e organizzati in fold secondo l'indicizzazione scelta dall'utente per la data. Al contrario, la convalida incrociata predefinita seleziona in modo casuale le righe da includere in una determinata fold.

  • Il numero di fold utilizzate come dati di addestramento aumenta gradualmente con ogni iterazione dell'addestramento. Ciò significa che durante la prima iterazione può essere utilizzata solo la prima fold (più vecchia), mentre le iterazioni successive conterranno gradualmente un volume maggiore di dati di addestramento, compresi quelli più recenti. La fold utilizzata come dati di addestramento varia con ogni iterazione.

    Ciò contrasta con il metodo di convalida incrociata predefinito, che utilizza un volume fisso di dati per addestrare e testare le suddivisioni in ogni iterazione (cioè, quattro fold per l'addestramento e una per eseguire i test).

  • Poiché l'intero training set viene ordinato in base all'indice selezionato, i dati utilizzati per testare il modello addestrato sono sempre più recenti, o altrettanto recenti, di quelli utilizzati per addestrare il modello. I dati di controllo automatico utilizzati per eseguire i test finali sulle prestazioni del modello sono sempre più recenti - o altrettanto recenti - del resto del training set.

    Al contrario, la convalida incrociata predefinita può far sì che i modelli di dati vengano testati su dati anteriori a quelli dell'addestramento, con conseguente perdita di dati.

Controllo automatico e convalida incrociata basata sul tempo

Questa procedura mostra come vengono addestrati i modelli sensibili ai valori temporali. Il processo presenta differenze e analogie rispetto al processo di convalida incrociata predefinito.

  1. Tutti i dati del set di dati vengono ordinati in base all'indicizzazione della data selezionata. Sono inclusi i dati di addestramento e i dati di controllo.

  2. Prima di iniziare l'addestramento dell'esperimento, il 20% del set di dati viene estratto come dati di controllo. Questi dati di controllo sono più recenti o recenti come quelli del resto del set di dati. Il restante 80% del set di dati viene utilizzato per addestrare il modello con la convalida incrociata.

  3. Per preparare la convalida incrociata, i dati di addestramento ordinati vengono suddivisi in un numero di fold. In base all'indicizzazione della data selezionata, la prima fold conterrà i record più datati, mentre l'ultima conterrà quelli più recenti.

  4. Il modello viene quindi addestrato per cinque iterazioni. In ogni iterazione, la quantità di dati di addestramento viene gradualmente aumentata. Con ogni iterazione, i dati di addestramento inclusi sono sempre più recenti. Le metriche di training sono generate durante la convalida incrociata e rappresentano la media dei valori calcolati.

  5. Dopo il training, il modello viene applicato ai dati di controllo. Poiché i dati di controllo non sono stati visti dal modello durante l'addestramento, sono ideali per convalidare le prestazioni dell'addestramento del modello. Le metriche di controllo vengono generate durante questa valutazione finale del modello.

Nel metodo basato sul tempo, i dati di addestramento ordinati vengono utilizzati per generare e testare un modello sensibile ai valori temporali Dopo il training, il modello viene valutato utilizzando i dati di controllo.

Diagramma che mostra il metodo predefinito di controllo e convalida incrociata, che evidenzia il processo a cinque fold.

Ulteriori informazioni

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!