Time Series Analysis And Fourier Transforms - Jason Bailey

Transcription

Time Series Data and FourierTransformsJason Bailey

Quick Summary Look Time Series Data See data in Time domain (time series) andFrequency domain (using Fourier Transform) Application: Filter data/Extract pattern withFourier Transform FFT - Fast Fourier Transform

Visitors to a Learning Site1000800600Number of Visits4002000-200-400-60007-Apr14-AprDate21-Apr

What is Time Series Data A sequence of data points Typically at successive points in time spaced atuniform time intervals Used: statistics, signal processing, patternrecognition, finance, weather forecasting,earthquake prediction, control engineeringand communications engineeringhttp://en.wikipedia.org/wiki/Time series

What if we want to extracta patternfrom time series data?

Visitors to a Learning Site1000Original Datalunchtime rushunidentified800600Number of ist.github.com/espeecat/543895312AM12AM

A sine wave or sinusoidy(t) A sin(2πft ф)Sometimes 2πfwritten as ωCosine too

Much better to see it in a graph Use a tool like Matlab– A programmable calculator with good graph/chartabilities Other tools are available and much cheaper

An example of a sinusoid and FFTplot of y 2*sin(2*pi*f*t) f 1HzAmplitude210-1-200.511.5Time (seconds)22.5Abs Amp80060040020000510Frequency (Hz)https://gist.github.com/espeecat/54390691520

The Fourier Transform (FFT) Based on Fourier Series - represent periodictime series data as a sum of sinusoidalcomponents (sine and cosine) (Fast) Fourier Transform [FFT] – represent timeseries in the frequency domain (frequency andpower) The Inverse (Fast) Fourier Transform [IFFT] is thereverse of the FFT Like graphic equaliser on music player

Combining Sinusoids1050-5-100123456456456456Time (s)1050-5-100123Time (s)1050-5-100123Time (s)1050-5-100123Time (s)

Looking at the Fourier quency (Hz)200015001000500001234Frequency (Hz)200015001000500001234Frequency (Hz)200015001000500001234Frequency (Hz)

Applications of Fourier Transform Shazam – “finger printing” using FourierTransforms Images – The Gabor Transform for facialrecognition? Filtering data/ Extracting patterns Sound processing – discarding sound System Identification

The (Fast) Fourier Transform Discrete-time Fourier Transform –assumessampled data and limited length Implementations available in lots of programminglanguages e.g. http://www.fftw.org/ Python numpy.fft

Filtering Time Series 5050100150200250Frequency Hz.3003504004505002500200015001000500015filtered dataoriginal dataAmplitude1050-5-10-1500.050.10.150.20.25Time (s)0.30.350.40.450.5

Original data and filtered dataComparison of original and filtered data15filtered dataoriginal data10Amplitude50-5-10-1500.050.10.150.20.25Time (s)0.30.350.40.450.5

Thank youAlternative to Matlab SciLab – https://www.scilab.org/ Octave http://www.gnu.org/software/octave/ R - http://www.r-project.org/ Programming language & graph libraryTwitter @espeecat www.jasonbailey.net

14x 104121086420050100150200250300

Discrete-Time Fourier Transform ω 2πƒ –angularfrequency Euler Formula usedbut this represents

time series data as a sum of sinusoidal components (sine and cosine) (Fast) Fourier Transform [FFT] - represent time series in the frequency domain (frequency and power) The Inverse (Fast) Fourier Transform [IFFT] is the reverse of the FFT Like graphic equaliser on music player .