modello di distribuzioneCiao
a tutti.
In allegato 2 file jmp. Quello denominato Training-validation-test è stato utilizzato per costruire un modello RF con i seguenti risultati.
Il file contiene una risposta numerica e 20 diversi predittori con uno di loro categoriale. I predittori sono valori di sensori.

Come puoi vedere il Bias è molto buono mentre la varianza è leggermente alta (92-69 = 23%).
Quindi un nuovo database con esempi mai visti dal modello è stato utilizzato per simulare il dispiegamento di algoritmi su nuovi dati.
Con grande sorpresa il risultato è stato davvero scarso con un R2 tra la risposta prevista e quella effettiva prossima allo zero. Non siamo stati in grado di capire questo comportamento. L'R2 = 68% per i dati di test, dopotutto, non sembra essere davvero male. Quindi ci aspettavamo di ottenere sicuramente un R2 maggiore di zero.
Per favore qualsiasi aiuto / commento è il benvenuto.
Felice-Gian
AnalyticsOggetto: modello di distribuzionePraticamente tutte le variabili X (ad eccezione di X12, X13 e X19) sono significativamente diverse, in media, tra i due insiemi.Quindi, la mia ipotesi sarebbe che i nuovi dati non siano semplicemente un altro campione casuale della stessa popolazione, ma provengano da una popolazione diversa.Non sorprende che il tuo modello, che si adatta abbastanza bene ai dati originali, funzioni così male sui nuovi dati, quando questi nuovi dati provengono da una popolazione diversa.
Suppongo che la domanda da porsi sia perché proviene da una popolazione diversa?Apparentemente pensavi che i dati provenissero dalla stessa popolazione (o qualcosa di simile).Ma queste variabili devono apparire così diverse tra i due insiemi che tale assunto non è chiaramente corretto.
Per vedere le differenze, ho concatenato le 2 tabelle e ho appena usato Adatta Y per X, con Y che è tutte le tue variabili X e X è la tabella di origine creata quando le ho concatenate.
Oggetto: modello di distribuzioneSono d'accordo @dale_lehman , i nuovi dati sono diversi.
Sono stato in grado di adattare un modello simile, lavorando anche male sui nuovi dati.

La matrice Scatterplot che mostra alcuni dettagli, ad esempio X5 utilizzando una gamma molto piccola dei dati originali, lo stesso con X11 ...
In entrambe le immagini vengono selezionati i nuovi dati. Forse questo ti aiuta a trovare il motivo per cui c'è una differenza.

Oggetto: modello di distribuzioneCiao Dale e Georg
grazie per la tua risposta.
In realtà le differenze tra le due distribuzioni per ciascun predittore per me non sembrano essere così diverse (vedi istogrammi nell'immagine allegata. Con bls indichiamo il set Training-Val-Test e exp il set mai visto dal modello). Forse l'X20 mostra un nuovo picco nei dati mai visti che prima era assente. Ma le restanti distribuzioni sono solo meno popolate di quelle precedenti.
Se la distribuzione del predittore del set di addestramento è più ampia di quella del test, il modello dovrebbe aver "visitato" lo spazio delle fasi occupato dal predittore del set di test. Corretta? Allora perché dovrebbe fare una cattiva previsione?
Ad ogni modo ho confermato (anche se per noi questo è strano) quello che dici prendendo in modo casuale 2000 istanze (invece delle ultime 2000 istanze in seguito viste dal modello random forest e una volta addestrato è stato in grado di prevedere correttamente la risposta. Quindi, se una leggera differenza in termini di media / std fa una grande differenza in termini di prestazioni di previsione, come possiamo utilizzare questi modelli in produzione dove i segnali cambiano continuamente?
Rgds.Felice / Gian
Oggetto: modello di distribuzioneOra che guardo più da vicino, vedo che si tratta di dati di serie temporali.Dalle mie opinioni iniziali, non sembra che il processo sia cambiato in modo significativo.Tuttavia, penso che il problema sia che il paradigma train-validate-test non è realmente appropriato per i dati delle serie temporali.Suggerirei di creare un periodo di tempo distinto (ad esempio, l'ultimo mese del primo set di dati) come set di convalida e rivalutare il modello.La mia ipotesi è che le prestazioni del modello sulla convalida e sui dati mai visti prima dovrebbero essere più simili se si stima il modello in questo modo.Sono ancora un po 'preoccupato per le differenze evidenti tra le variabili X nei due set di dati: potrebbe richiedere una modellazione di serie temporali più sofisticata (come la modellazione della potenziale stagionalità).
Oggetto: modello di distribuzioneNel frattempo credo che non sarò in grado di adattare un modello valido / ragionevole per i dati.
Il mio primo approccio è stato quello di generare una colonna di convalida statificata da Xs.
Il Timeseries suggerisce da @dale_lehman è stato utile, quindi ho esaminato anche i dati in modo periodico,
rendendosi conto che con il tempo la combinazione delle X cambia. E qui di nuovo mi sembra che "Nuovo" sia diverso. Sì, gli Xes coprono la stessa gamma, ma non è sufficiente. Penso che la combinazione sia diversa in "Nuovo", il che significa che è una sorta di estrapolazione. Questo non sarebbe un problema per la regressione, ma per metodi come RF questo conta (il modello è multidimensionale e altamente non lineare, quindi difficile da guardare all'interno).
D'altra parte non sono stato in grado di adattare un modello ragionevole con nessun altro metodo (neurale, albero potenziato). Mi sembra che non abbiamo le informazioni corrette nelle colonne X per costruire un modello solido.
Quindi esaminerei la fisica del processo o qualunque cosa sia,
- come le X possono / possono cambiare la Y,
- quale potrebbe essere il rumore
- e cosa fa cambiare le cose nel tempo e includerlo nel set di dati.
- e sono anche curioso della struttura dei dati, ci sono gruppi di righe con la stessa data e gli stessi valori per alcuni parametri
Quello che mi ha sorpreso è che, quando ho realizzato una colonna di validazione stratificata per tempo, ho ottenuto lo stesso risultato (modello giusto per la prima parte, nessun modello con i nuovi dati).
In bocca al lupo,
Oggetto: modello di distribuzioneHo un paio di suggerimenti.Innanzitutto, proverei prima a differenziare la variabile di risposta e quindi a provare di nuovo le foreste casuali.Per me, questo è l'approccio più semplice ai dati delle serie temporali ed è possibile che i dati si comportino meglio se guardati in quel modo.Vorrei comunque creare manualmente il set di convalida come ultimo periodo di tempo anziché una selezione casuale di righe.La seconda idea è qualcosa che hai notato: ci sono raggruppamenti temporali, come osservazioni multiple strettamente collegate nel tempo.Potresti considerare di rendere uniforme la sequenza temporale riassumendo le osservazioni strettamente correlate nel tempo.Le serie temporali si comportano meglio se la variabile temporale viene misurata in modo uniforme, quindi i dati dovranno essere riepilogati in intervalli di tempo equidistanti.Come suggerisci, è tempo di tornare a pensare esattamente a cosa viene misurato e come viene misurato.
Oggetto: modello di distribuzioneCiao George e Dale
Grazie mille per le tue risposte. Do uno sguardo al grafico del ritardo di tutti i predittori e le risposte e con mia grande sorpresa ho scoperto un'autocorrelazione molto lunga (vedi immagini allegate).
Poiché i dati provengono da una fabbrica di semiconduttori, il valore 25 visibile nell'ACF è correlato al numero di wafer in un lotto.
Le linee di punti invece nei grafici di lag sono solo i primi wafer di un lotto diverso caricati nel macgine. Penso che l'autocorrelazione sia dovuta al feedback interno presente nella nostra macchina per mantenere il punto di lavoro. Ovviamente questi aggiustamenti sono nascosti nella camera e non sotto il nostro controllo e la nostra comprensione. La risposta mostra anche un evidente ritardo che non riesco a spiegare. Ma c'è.
Ho provato a utilizzare l'ingegneria delle funzionalità di lag, media mobile, smoothing e altri predittori, ma i risultati continuano ad essere davvero pessimi.
Passaggio successivo, voglio provare la differenziazione proposta da Dale. Credi che la semplice differenza X (t) -X (t-1) possa essere sufficiente?
Ciao Felice
Oggetto: modello di distribuzioneIl grafico PACF suggerisce che i primi due ritardi sono quelli rilevanti: di gran lunga, il primo ritardo è il più importante.Quindi, penso che una semplice differenziazione del primo ordine sarebbe una buona cosa da provare.Potrebbe essere possibile che uno dei modelli di apprendimento automatico (ad esempio RF, alberi potenziati, reti neurali) funzioni bene, quindi li proverei.Ma dovresti anche provare alcuni modelli di serie temporali più standard (in cui non useresti la differenza, poiché i modelli di serie temporali sono costruiti per tenere conto dell'autocorrelazione in vari modi).In teoria, se usi la differenziazione del primo ordine (e se ciò elimina in gran parte la struttura temporale), allora puoi probabilmente usare un set di test di convalida del treno casuale per la tua modellazione.Almeno, questo è quello che penso - altri potrebbero saperlo meglio.