2015-12-22 13 views
6

Sto facendo un po 'di analisi della fisica delle particelle e speravo che qualcuno là fuori potesse darmi qualche idea su un Gaussian-Process fit che sto cercando di usare per estrapolare alcuni dati .Gaussian-Process (scikit-learn) Prediction Confidence Interval Oddities

Ho dati con incertezze che mi sto alimentando con l'algoritmo GaussianProcess di scikit-learn. Sto includendo le uncertanties tramite l'argomento "nugget" (la mia implementazione corrisponde a a standard example here dove il mio "corr" è al quadrato esponenziale e i valori "nugget" sono impostati su (dy/y) ** 2). La preoccupazione principale è questa: ho una bassa incertezza assoluta (ma un'incertezza frazionaria elevata) ai margini della distribuzione e questo sta producendo un intervallo di confidenza previsto molto più grande di quanto mi aspetto in questa regione (vedi la trama di seguito).

Data point and GP regression

La ragione le incertezze comportano in questo modo è che sto trattando con particelle di dati fisica che è un istogramma dei conteggi di particelle osservate con funzione differente (x) valori. Questi conteggi seguono una distribuzione di Poisson e quindi hanno un'incertezza (deviazione standard) di sqrt (N). Pertanto, le regioni di conteggio più alte della distribuzione hanno un'incertezza frazionaria assoluta più elevata, ma inferiore, e viceversa per le regioni a basso conteggio.

Capisco, come ho già detto, che l'argomento "nugget" in questa funzione dovrebbe avere valori di (incertezza frazionaria) ** 2 quando si lavora con un kernel esponenziale quadrato. Quindi ha senso che se l'incertezza prevista si basa su un'incertezza frazionaria dell'input che potrebbe essere grande sui bordi. Ma non capisco completamente come tutto ciò funzioni in matematica, e la dimensione della prevedibile incertezza è molto più grande delle incertezze sui punti dati che mi sembrano sbagliate.

Qualcuno può commentare cosa sta succedendo qui? Si sta comportando come previsto? Se è così, perché? Qualsiasi pensiero o riferimento a ulteriori letture sull'argomento sarebbe molto apprezzato!

Vi lascio con un paio di avvertenze importanti:

1) ci sono diversi punti di dati con zero conteggi nei bordi della distribuzione. Ciò crea un nodo nell'incertezza frazionaria per il "nugget" perché (sqrt (0)/0) ** 2 non è un valore molto felice. Ho fatto un aggiustamento qui semplicemente impostando il valore del nugget per questi punti su 1.0, che corrisponde al valore che si ottiene se si tratta di un conteggio di 1. Credo che questa sia un'approssimazione comune che influisce sulla domanda in questione, ma io indosso Penso che cambi radicalmente il problema.

2) I dati con cui sto lavorando sono in realtà un istogramma 2d (cioè una variabile indipendente (diciamo x), un'altra (y) e il conteggio come variabile dipendente (z)). La trama mostrata è una sezione 1d dei dati 2d e della previsione (cioè z vs x integrati su un piccolo intervallo di y). Non penso che questo influenzi davvero la domanda, ma ho pensato di parlarne.

risposta

0

Dalla tua presentazione, sospetto che il comportamento sia corretto, anche se non ho fatto un passo avanti. Il mio istinto mi sta dicendo: non fare un istogramma uniforme. Aumenta le dimensioni del raccoglitore mentre ti allontani dal centro di distribuzione. Ciò aumenterà i tuoi valori e ridurrà i tuoi errori frazionali.

Problemi correlati