2013-10-28 21 views
5

Diciamo che ho una serie temporale gappy x, con una particolare misurazione nel tempo. Ho anche una misura di incertezza sx (dire la deviazione standard di x in un intervallo particolare). Fondamentalmente voglio solo riempire le serie temporali, ma voglio propagare l'incertezza di misura e, si spera, l'incertezza dell'interpolazione. In passato, ho usato la regolarizzazione di Tikhonov per ottenere questo risultato (ad esempio aggiungendo un vincolo di uniformità), ma preferirei semplicemente usare una routine pronta per l'uso da scipy. Vedo che le routine di interpolazione spline scipy prendono un parametro smoothing (che sarebbe derivato per sx qui), ma non calcola l'incertezza della serie interpolata.Interpolazione e stima dell'incertezza

Sto chiedendo perché non penso che sia un calcolo banale, e per vedere se qualcuno sa se questa capacità è disponibile.

+1

Un modo per farlo è utilizzare un processo gaussiano. Dai un'occhiata a scikits.learn: http://scikit-learn.org/stable/modules/gaussian_process.html (Inoltre, il kriging è un tipo specifico di processo di guassian, ed è un metodo che incontrerai nel mondo dell'interpolazione molto) –

+0

Per un esempio completo utilizzando scikit-learn: http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html –

+0

Sì, ne sono a conoscenza, ma speravo nelle routine spline di Scipy potrebbe fornire incertezza "out of the box". – Jose

risposta

1

Non sono sicuro di cosa intendi per "propagare l'incertezza di misura e, si spera, l'incertezza di interpolazione", ma se ho capito bene, hai una misurazione rumorosa e un'ulteriore informazione sull'incertezza. Se il rumore è bianco o può essere sbiancato, è possibile utilizzare uno Kalman filter per smussare la misurazione regolare e stimare le misurazioni negli spazi vuoti.

Un filtro Kalman utilizza un modello di stato per prevedere le misurazioni future e modella il componente del rumore bianco del segnale utilizzando una matrice di covarianza. La misura dell'incertezza può essere applicata per modificare il peso del "trust" del filtro tra la previsione e la misurazione. È possibile utilizzare la matrice di covarianza per determinare una misura di incertezza provvisoria.

+0

Beh, in effetti preferirei avere un Kalman più agevole di un filtro, ma stavo chiedendo se le routine di interpolazione di Spline di Scipy tenessero in considerazione l'incertezza (suppongo che tu possa calcolarlo, ma potrebbe non essere banale!) – Jose

+0

Non posso aiutarti, non l'ho mai usato. Un Kalman Smoother è una condizione operativa speciale del concetto più generale del filtro di Kalman. –