I'm particularly fond of a new smoothing thing "ASAP" under Stanford Future Data [Rong/Bailis]. I've been playing around with it for a couple days. I'm no stranger to Fourier transforms and frequency domains, but the math tends to be over my head. I rarely grasp what frequency domain really means.
In the algorithm, they do something like:
FR(f) = FFT(data)
S(f) = [ x.real ** 2 + x.imag ** 2 for x in FR ]
R(t) = inverse_fft( S )
What is x.real**2 + x.imag**2 (the real part squared plus the imaginary part squared)? I would think the square root of it is like the length of the vector, but they don't take the square root.
They then say the correlations are [ x/R[0] for x in R ]. Why is the inverse FFT of the length things giving us a correlation? (And a correlation to what?)
I tried to google this, and use wolfram and wikipedia, but I'm just not wrapping my mind around it. It may be I'm not even sure what question to ask. But the two questions above are what I'm trying to figure out.