Ri: Come eseguire FFT su dati di serie temporaliCiao @Damiano ,
Sono tornato di recente su questo post mentre lavoravo su alcuni lavori FFT.
Come è stato accennato, puoi eseguire una FFT su dati di una serie temporale, ma devi scriverla. Dovrai generare la tua colonna di frequenza in base al numero di righe e alla frequenza di campionamento. Inoltre, una cosa molto importante da tenere a mente è che devi ridimensionare i risultati FFT in base al numero di righe che hai nella tua tabella di dati. Perché JMP non lo fa automaticamente, non lo so.
Quando chiami la funzione FFT devi includere un comando <
FFT({data}, <
dove dt è il riferimento alla tua tabella di dati nello script JSL. Se non lo fai ed esegui la FFT inversa, otterrai risultati che sono NRows (dt) volte più grandi dei dati originali.
Sfortunatamente, non ci sono molte informazioni all'interno dello Scripting Index o della Guida in linea di JMP che descrivono la FFT e come viene eseguita o perché il ridimensionamento non è automaticamente presente.
Ad ogni modo, con il comando FFT puoi quindi tracciare il valore assoluto dell'output FFT rispetto al tuo dominio di frequenza calcolato e vedere dove sono i picchi di frequenza.
Spero questo sia di aiuto!,
DS
Ri: Come eseguire FFT su dati di serie temporaliUn modo per evitare parte dello scripting: File->MultipleFileImport. Si aspetta file csv in una directory.
Ecco alcune idee FFT se si desidera utilizzare la funzione fft() (richiede la scrittura di JSL, a differenza della piattaforma delle serie temporali):
VideoFFT - mostrando le frequenze in un file audio, ogni 1/30 di secondo
Filtro Butterworth 2D FFT - filtrare le alte frequenze da un'immagine
FFT e DTMF - estrazione di coppie di toni del touch pad del telefono da una registrazione della composizione di un numero
Immagini di tracciamento - due FFT 1D e codice per ricostruire un contorno a risoluzione ridotta
Ripensandoci, penso che il 4° stia usando il rozzo filtro muro di mattoni descritto nel 2° - troncando i contenitori FFT piuttosto che assottigliandosi.
Ri: Come eseguire FFT su dati di serie temporaliCiao @Damiano ,
Immagino che tu possa elaborare in batch/caricare file CSV con JMP. Per lo meno, so che puoi scrivere JMP in modo che scorra tutti i file CSV nella tua directory e crei tabelle di dati multiple o singole da analizzare all'interno di JMP. Lo faccio regolarmente quando accedo ai nostri dati di qualità e ho bisogno di unire i dati provenienti da fonti diverse. A seconda della velocità di connessione e delle dimensioni del file, può essere lento. Non sono il miglior programmatore, quindi sono sicuro che ci sono modi più efficienti ed eleganti di un semplice ciclo.
Nella piattaforma Time Series, esiste una funzionalità di densità spettrale piuttosto semplice che potrebbe essere in grado di gestire ciò che stai cercando, a seconda della complessità. Ho trovato questo inviare a partire dal @JerryFish , che è stato presentato al JMP Discover Summit nel 2014, ovvero un componente aggiuntivo per migliorare la piattaforma Time Series. Il componente aggiuntivo può essere trovato qui . Non l'ho testato, quindi non posso commentare la sua funzionalità.
Infine, la piattaforma Time Series (Analyze> Specialized Modeling> Time Series) ha molte opzioni che potrebbero funzionare per te - dipende davvero da cosa stai cercando - ma può fare modelli e previsioni ARIMA stagionali. Ci sono molti dati e script di esempio in Aiuto > Indice dei dati di esempio.
Questo dovrebbe farti iniziare, almeno.
Spero questo sia di aiuto!,
DS
Come eseguire FFT su dati di serie temporaliCiao a tutti,
Ho alcune domande per la community di JMP.
1a. È possibile elaborare in batch più file (.csv) in JMP? In tal caso, come dovrei procedere?
1b. È possibile eseguire FFT su dati di serie temporali? In caso affermativo, esistono altre analisi nel dominio della frequenza che possono essere eseguite in JMP?
Se una qualsiasi di queste informazioni è coperta da qualche altra parte, ti sarei grato se potessi indicarmi la sua posizione. Grazie per il tuo tempo.
Modellazione statistica avanzata