# SVD vs Fourier analysis for data.

Fourier analysis is useful for analysis in the frequency domain. SVD on the other hand is useful for analysis of data, and expressing noise in the data. I have a problem that needs extensive data analysis, it is in the area medicine. This could be generalized to other problems.

The problem is that of gene expression, in case of long term gene mutation. Using Fourier analysis we can get a time series analysis of the genes(and thereby get noisy gene expression), and as time progresses, the changes in a particular organ. On the other hand, we could use Singular Value Decomposition, and the noisy gene expresses itself. This, is just an outline of the problem. Both SVD, and Fourier lend themselves to solve the problem that of expressing noisy genes. Is there any comparison of the two techniques, why one would be preferred over another qualitatively, or references that one can use for the problem of gene expression, thanks in anticipation.

• Fourier analysis approximates a continuous function using trigonometric polynomials; SVD approximates a matrix using eigenvectors of its left (or right) singular matrix. These are a priori completely different problems, and your question doesn't make much sense unless you can indicate why you think these two problems are related. – Paul Siegel Sep 23 '15 at 2:35
• You might get more feedback on sites like scicomp.stackexchange.com, stats.stackexchange.com, or dsp.stackexchange.com. But if you ask your question in its current form, they might also close it, because it is not really clear what you want to do exactly. For my answer, I just guessed that stochastic processes might be your context, because both Fourier analysis and "optimal" decompositions make sense in that context. – Thomas Klimpel Sep 23 '15 at 20:00
• @PaulSiegel I guess the OP has in mind that the discrete Fourier transform transforms discrete "spatial" data to discrete "frequency" data. I would say that the SVD decomposes every matrix $A$ as $U^TDV$ with a diagonal $D$ and orthonormal $U$ and $V$ while the diagonal Fourier transform $F$ is also orthonormal and gives $C = F^HDF$ with diagonal $D$ for circulant matrices $C$. – Dirk Sep 24 '15 at 7:12

When you say SVD, you probably mean something like the Karhunen–Loève decomposition, or maybe just a corresponding Arnoldi process. (I also regard Prony's method as something similar.) That wikipedia article includes analogies and comparisons with the Fourier transform, both for aiding understanding and highlighting the strengths of the decomposition.

When I work with Fourier analysis, I normally also have a window function, especially if transient behavior is involved. (For periodic behavior, I sometimes have a low pass filter instead.) In the cases where the Karhunen–Loève decomposition provides advantages, I normally compute it by going into the Fourier basis (without window function) first, because this can drastically reduce the size of the problem. It also allows me to interpret the resulting decomposition as a series of window functions (or low pass filters), which makes it easier to visualize and compare with a direct Fourier approach.

I was tempted more than once to also use an Arnoldi process (or Prony's method) instead of a Fourier transform with window function. It would have been optimal and more automatic, but the Fourier transform with window function was already good enough. Besides priorities, maybe it was also a bit of mistrust from my side against a mostly automatic Arnoldi process.

• This is a good list of the eigenvalue solvers in practical use. en.wikipedia.org/wiki/… .. Karhunen-Loeve and Prony seem to be something different. Karhunen-Loeve is specifically the PCA, which is not the SVD. Prony seems to be a denoiser. Can you explain what these differences are, and why you think that these methods are all the same thing? – Chris Feb 20 '20 at 19:27
• The PCA output is a specific subset of the SVD, with the SVD being the general decomposition: USV*, where V* is typically truncated to a square format, and represents the principle directions, with the trace of S being the eigenvalues and the columns of U being the eigen vectors. US is the set of principle components, and the spectral value decomposition is the decomposition of a matrix into USV* via one of the algorithms listed in the link above. – Chris Feb 20 '20 at 19:36

Assuming your data is vector-valued time series, SVD and Fourier analysis give different information. (Singular vectors obtained by) SVD will essentially give you the "dominant" noise components without any useful time information.

On the other hand, doing Fourier analysis on a bunch of different scalar time series will give you dominant temporal frequencies of the noise components, but will not give you the "vector" noise components associated with those frequencies.