Monday 13 November 2017

Moving Media Differenziale Equazione


Ho un valore continuo per il quale Id come per calcolare una media mobile esponenziale. Normalmente Id basta usare la formula standard per questo: dove S n è il nuovo media, alfa è l'alfa, Y è il campione e S n-1 è la media precedente. Purtroppo, a causa di vari problemi non ho un tempo di campionamento coerente. Posso so di poter assaggiare al massimo, per esempio, una volta per millisecondo, ma a causa di fattori fuori dal mio controllo, non posso essere in grado di prendere un campione per diversi millisecondi alla volta. Un caso probabilmente più comune, tuttavia, è che semplice esempio ho un po 'presto o tardi: invece di campionamento a 0, 1 e 2 ms. Ho campione a 0, 0.9 e 2.1 ms. Io prevedo che, a prescindere ritardi, la mia frequenza di campionamento sarà molto, molto al di sopra del limite di Nyquist, e, quindi, non devono preoccuparsi di aliasing. Mi sa che posso affrontare questo in maniera più o meno ragionevole variando alfa opportunamente, in base alla lunghezza di tempo dall'ultima campione. Parte del mio ragionamento che questo lavoro è che l'EMA interpola linearmente tra il punto di dati precedente e quello attuale. Se consideriamo il calcolo di una EMA della seguente elenco di campioni a intervalli t: 0,1,2,3,4. Dovremmo ottenere lo stesso risultato se usiamo intervallo 2t, dove gli ingressi diventano 0,2,4, a destra Se l'EMA aveva assunto che, in t 2 il valore era stato 2 da 0 t. che sarebbe la stessa come l'intervallo t calcolo calcolo sul 0,2,2,4,4, che la sua non fare. Oppure che un senso a tutti Qualcuno può dirmi come variare l'alfa in modo appropriato Si prega di mostrare il proprio lavoro. Cioè mostrami la matematica che dimostra che il metodo realmente sta facendo la cosa giusta. chiesto 21 giugno 09 alle 13:05 Si shouldn39t ottiene lo stesso EMA per l'ingresso diverso. Pensate di EMA come filtro, il campionamento a 2t è equivalente al campionamento verso il basso, e il filtro sta per dare un output diverso. Questa chiara per me dato 0,2,4 contiene componenti di frequenza più elevati rispetto 0,1,2,3,4. A meno che la domanda è: come faccio a cambiare il filtro al volo per renderlo dare la stessa uscita. Forse mi manca qualcosa ndash FreeSpace 21 giugno 09 al 15:52 ma l'ingresso non è diverso, it39s solo campionata meno spesso. 0,2,4 a intervalli 2t è come 0,, 2,, 4 a intervalli t, dove il indica che il campione viene ignorata ndash Curt Sampson 21 giugno 09 alle 23:45 Questa risposta basata sulla mia buona comprensione del passa-basso filtri (media mobile esponenziale è in realtà solo un filtro passa-basso unipolare), ma la mia comprensione confusa di quello che stai cercando. Credo che ciò che segue è ciò che si vuole: In primo luogo, è possibile semplificare l'equazione un po '(sembra più complicato, ma è più facile in codice). Im intenzione di utilizzare Y per l'uscita e X per l'ingresso (invece di S per l'uscita e Y per l'input, come avete fatto). In secondo luogo, il valore di alfa qui è pari a 1-e - Deltattau dove DeltaT è il tempo tra i campioni, e tau è la costante di tempo del filtro passa-basso. Io dico uguali tra virgolette perché questo funziona bene quando Deltattau è piccolo rispetto a 1, e alfa 1-e - Deltattau asymp Deltattau. (Ma non troppo piccola: youll esegue in problemi di quantizzazione, e se non si ricorre ad alcune tecniche esotiche di solito è necessario un supplemento di N bit di risoluzione nel vostro stato S variabile, dove N - log 2 (alfa).) Per i valori più grandi di Deltattau l'effetto di filtraggio inizia a scomparire, fino ad arrivare al punto in cui alpha è vicino a 1 e tu sei fondamentalmente solo assegnando l'ingresso all'uscita. Questo dovrebbe funzionare correttamente con valori di DeltaT variabile (la variazione del DeltaT non è molto importante, purché alfa è piccolo, altrimenti si verrà eseguito in alcuni problemi di Nyquist piuttosto strani aliasing, ecc), e se si sta lavorando su un processore in cui moltiplicazione è più economico di divisione, o in virgola fissa questioni sono importanti, precalculate 1tau omega, e prendere in considerazione cercando di approssimare la formula per alpha. Se si vuole veramente sapere come derivare la formula di alfa 1-e - Deltattau quindi prendere in considerazione il suo differenziale fonte equazione: che, quando X è una funzione gradino unitario, ha la soluzione Y 1 - e - ttau. Per piccoli valori di DeltaT, il derivato può essere approssimata da DeltaYDeltat, cedendo Y tau DeltaYDeltat X DeltaY (XY) (Deltattau) alfa (XY) e l'estrapolazione di alfa 1-e - Deltattau deriva dal tentativo di abbinare il comportamento con il gradino unitario caso la funzione. La prego quindi di elaborare il quottrying per abbinare la parte behaviorquot Capisco la vostra soluzione a tempo continuo Y 1 - exp (-t47) e la sua generalizzazione di una funzione a gradino in scala con magnitudo x e condizione iniziale y (0). ma I39m non vedere come mettere insieme queste idee per ottenere il risultato. ndash Rhys Ulerich 4 May 13 in corrispondenza 22:34 Questa non è una risposta completa, ma può essere l'inizio di uno. La sua, per quanto ho ottenuto con questo in un'ora o poco più di giocare Im distacco come un esempio di quello che sto cercando, e forse una fonte d'ispirazione per gli altri che lavorano sul problema. Comincio con S 0. che è la media risultante dalla media precedente S -1 ed il campione Y 0 scattata al t 0. (T 1 - t 0) è il mio intervallo di campionamento e alfa è impostato su tutto ciò che è appropriato per tale intervallo di campionamento e il periodo durante il quale desidero media. Ho considerato ciò che succede se mi manca il campione a t 1 e invece devono accontentarsi con il campione Y 2 prese a t 2. Bene, possiamo cominciare espandendo l'equazione per vedere cosa sarebbe successo se avessimo avuto Y 1: Ho notato che la serie sembra estendersi all'infinito in questo modo, perché siamo in grado di sostituire l'S n sul lato destro a tempo indeterminato: Ok , quindi non è davvero un polinomio (stupido me), ma se moltiplichiamo il termine iniziale per uno, abbiamo poi vedere un modello: Hm: la sua una serie esponenziale. Quelle sorpresa Immaginate di venire fuori dall'equazione per una media mobile esponenziale Quindi, comunque, ho questo x 0 x 1 x 2 x 3. cosa che va, e sono sicuro Im odore e o un logaritmo naturale calci da queste parti, ma non mi ricordo dove stavo andando successiva prima mi sono imbattuto fuori dal tempo. Qualsiasi risposta a questa domanda, o qualsiasi prova della correttezza di tale risposta, molto dipende dal sei dei dati di misura. Se i campioni sono stati prelevati a t 0 0 ms. t 1 0.9ms e t 2 2.1ms. ma la scelta di alpha è basato su 1-MS-intervalli, e quindi si desidera un alfa regolata a livello locale n. la prova della correttezza della scelta significherebbe conoscere i valori dei campioni in t1ms e T2M. Questo porta alla domanda: Si può interpolare i dati resonably avere congetture sane di ciò che in-tra i valori avrebbe potuto essere o si può anche interpolare la media in sé Se nessuna di queste è possibile, quindi, per quanto vedo io, la logica scelta di un in-tra valore Y (t) è la media più recentemente calcolato. cioè Y (t) asymp S n dove n è maxmial tale che t n LTT. Questa scelta ha una semplice conseguenza: Lascia alfa da solo, non importa quale sia la differenza di tempo è stato. Se, d'altro canto, è possibile interpolare i valori, allora questo darà averagable campioni costanti-interval. Infine, se la sua anche possibile interpolare il media stesso, che renderebbe la domanda senza senso. risposto 21 Jun 09 a 15:08 balpha 9830 27k 9679 10 9679 87 9679 117 penserei che posso interpolare miei dati: dato che I39m di campionamento ad intervalli discreti, I39m già farlo con uno standard EMA In ogni caso, presumo che ho bisogno di un quotproofquot che mostra funziona così come una serie EMA, che inoltre è produrrà un risultato non corretto se i valori non cambiano abbastanza agevolmente tra periodi di campionamento. ndash Curt Sampson 21 giugno 09 alle 15:21 Ma that39s cosa dicendo I39m: Se si considera l'EMA un'interpolazione dei vostri valori, you39re fatto se si lascia alfa come è (perché inserendo il media più recente come Y doesn39t cambiare la media) . Se dici che bisogno di qualcosa che quotworks così come una serie EMAquot - what39s sbagliato con l'originale meno che non si hanno più informazioni circa la misurazione dei dati you39re, eventuali regolazioni locali a alpha sarà nella migliore delle ipotesi arbitrarie. ndash balpha 9830 21 Giugno 09 a 15:31 vorrei lasciare il valore alfa da solo, e compilare i dati mancanti. Dal momento che non si sa cosa succede durante il tempo in cui non puoi campione, si può riempire quei campioni con 0s, o tenere il valore precedente stabile e utilizzare tali valori per la EMA. O qualche interpolazione indietro una volta che hai un nuovo campione, riempire i valori mancanti, e ricalcolare la EMA. Quello che sto cercando di arrivare è di avere un xn ingresso che ha buchi. Non vi è alcun modo per aggirare il fatto che si sta dati mancanti. Quindi, è possibile utilizzare una presa di ordine zero, oppure impostare a zero, o qualche tipo di interpolazione tra xn e xnM. dove M è il numero di campioni mancanti e n l'inizio del gap. Forse anche utilizzando i valori prima di n. risposto 21 giugno 09 alle 13:35 da trascorrere un'ora o così pasticciare in giro un po 'con la matematica per questo, penso che semplicemente variando l'alfa sarà effettivamente mi danno la corretta interpolazione tra i due punti che parlare, ma in un modo molto più semplice. Inoltre, penso che variando l'alfa si occuperà anche properply con campioni prelevati tra gli intervalli di campionamento standard. In altre parole, I39m alla ricerca di quello che hai descritto, ma cercando di utilizzare la matematica per capire il modo più semplice per farlo. ndash Curt Sampson 21 giugno 09 alle 14:07 ho don39t che ci sia una bestia come quotproper interpolationquot. È sufficiente don39t so cosa sia successo nel tempo non si è campionamento. Bene e male interpolazione implica una certa conoscenza di ciò che vi siete persi, in quanto è necessario per misurare contro che per giudicare se una interpolazione è buono o cattivo. Anche se Detto questo, è possibile inserire vincoli, cioè con la massima accelerazione, velocità, ecc penso che se lo fai sapere come modellare i dati mancanti, quindi si sarebbe solo modellare i dati mancanti, quindi applicare l'algoritmo EMA senza alcun cambiamento, piuttosto che cambiare alfa. Solo il mio 2c :) freespace ndash 21 Giugno 09 a 14:17 Questo è esattamente quello che mi è stato sempre al mio modifica alla domanda 15 minuti fa: quotYou semplicemente don39t sapere cosa è successo nel tempo non si è il campionamento, ma quot that39s vero anche se campione ad ogni intervallo designato. Così la mia contemplazione Nyquist: fino a quando si conoscono le direzioni del cambiamento forma d'onda doesn39t più di ogni paio di campioni, la questione shouldn39t attuale intervallo di campionamento, e dovrebbe essere in grado di variare. L'equazione EMA mi sembra esattamente calcolare come se la forma d'onda cambia linearmente dall'ultimo valore del campione a quella attuale. ndash Curt Sampson 21 giu 09 alle 14:26 ho don39t che sia tutto vero. Nyquist39s teorema richiede richiede almeno 2 campioni per periodo per essere in grado di identificare univocamente il segnale. Se don39t fare questo, si ottiene aliasing. Sarebbe lo stesso di campionamento fs1 per un tempo, poi FS2, poi di nuovo a fs1, e si ottiene aliasing nei dati quando si campione con FS2 FS2 se è inferiore al limite di Nyquist. Ho anche Confesso che non capisco cosa si intende per modifiche quotwaveform linearmente da ultimo campione a onequot corrente. Potrebbe spiegare Cheers, Steve. ndash freespace 21 Giugno 09 a 14:36 ​​Questo è simile a un problema aperto sulla mia lista di cose. Ho uno schema elaborato in una certa misura, ma non hanno lavoro matematico per sostenere questo suggerimento ancora. Riepilogo aggiornamento amp: vorremmo mantenere la lisciatura fattore (alfa) indipendente dal fattore di compensazione (cui mi riferisco come beta qui). Jasons eccellente risposta già accettato qui funziona alla grande per me. Se si può anche misurare il tempo trascorso dall'ultima campione è stato prelevato (in multipli arrotondate del vostro tempo di campionamento costante - così 7,8 ms dall'ultimo campione sarebbe 8 unità), che potrebbero essere utilizzati per applicare le lisciatura più volte. Applicare la formula 8 volte in questo caso. Hai effettivamente fatto una lisciatura sbilanciata più verso il valore corrente. Per ottenere una lisciatura meglio, abbiamo bisogno di modificare l'alfa durante l'applicazione della formula 8 volte nel caso precedente. Che sarà mai questo livellamento approssimazione perdere ha già perso 7 campioni nell'esempio precedente Questa è stata approssimata nel passaggio 1 con una schiacciata riapplicazione del valore corrente di ulteriori 7 volte Se definiamo un fattore beta approssimazione che sarà applicata con alfa (come alphabeta invece di alfa), si presuppone che il 7 perse campioni stavano cambiando senza problemi tra i valori dei campioni precedenti e attuali. risposto 21 giugno 09 alle 13:35 ho pensato a questo, ma un po 'di pasticciare in giro con la matematica mi ha fatto al punto in cui io credo che, invece di applicare la formula di otto volte il valore del campione, posso fare un calcolo di una nuova alpha che mi permetterà di applicare la formula una volta, e mi danno lo stesso risultato. Inoltre, questo sarebbe occupata automaticamente con l'emissione di campioni di offset da tempi esatti del campione. ndash Curt Sampson 21 Giugno 09 a 13:47 La domanda unica è bene. Quello che non sono sicuro di ancora è quanto è buono il ravvicinamento delle 7 valori mancanti. Se il movimento continuo rende il valore jitter molto tutti gli 8 millisecondi, le approssimazioni possono essere abbastanza largo della realtà. Ma, poi se effettuate il campionamento a 1ms (massima risoluzione esclusi i campioni ritardati) si è già capito il jitter entro 1ms non è rilevante. Fa questo lavoro ragionamento per voi (sto ancora cercando di convincermi). ndash nik 21 giugno 09 alle 14:08 destro. Questo è il fattore beta dalla mia descrizione. Un fattore beta sarà calcolata in base all'intervallo differenza e campioni attuali e precedenti. La nuova alpha sarà (alphabeta) ma sarà utilizzato solo per quel campione. Mentre ti sembra di essere 39moving39 l'alfa nella formula, tendo verso alpha costante (fattore di smoothing) e un beta calcolato in modo indipendente (un fattore di sintonia) che compensa per i campioni mancati solo ora. ndash nik 21 giu 09 a 15: 23Wilder Moving Average Un certo numero di indicatori popolari, tra cui Relative Strength Index (RSI), media True Range (ATR) e Movimento direzionale sono stati sviluppati da J. Welles Wilder e ha introdotto nel suo libro del 1978: Nuovi concetti in tecniche Trading Systems. Gli utenti dovrebbero stare attenti che Wilder non usa la formula di media mobile esponenziale standard. Questo può avere significative imapct quando si seleziona periodi di tempo adeguati per i suoi indicatori. La formula media mobile esponenziale normale converte il periodo di tempo per una frazione utilizzando la formula EMA 2 (n 1), dove n è il numero di giorni. Ad esempio, l'EMA per 14 giorni è di 2 (14 giorni 1) 13.3. Wilder, tuttavia, utilizza un EMA di 114 pari 7.1. Ciò equivale a una media mobile esponenziale a 27 giorni utilizzando la formula standard. Indicatori colpite sono: Si consiglia agli utenti tentano periodi di tempo più brevi quando si utilizza uno degli indicatori di cui sopra. Ad esempio, se stai monitorando un ciclo di 30 giorni si seleziona normalmente 15 giorni Periodo Indicatore del tempo. Con l'RSI, regolare il periodo di tempo come segue: il periodo RSI (n 1) 2 (15 1) 2 8 medie daysMoving di equazioni differenziali ordinarie tramite convoluzione si introduce un quadro di media, dove la soluzione di un'equazione variabile nel tempo con piccola ampiezza è approssimata dalla soluzione di un sistema ausiliario lentamente variabile, generati convolvendo l'equazione originale con una funzione del kernel. L'effetto della convoluzione spiana dell'equazione, quindi, rendendo più suscettibili di calcoli numerici. Presentiamo i risultati strette sul errore di approssimazione per le classi generali di campi vettoriali e noccioli. Vuoi leggere il resto di questo articolo.

No comments:

Post a Comment