We are analyzing temporal behavioral patterns across many users and we want to cluster users in order to understand "natural types of behavior". Our idea is to represent the data (672 bins for each user) using a discrete-time Fourier transform. Then the behavior of each user will be decomposed into a combination of basic behavioral signal types.
We will then apply Gaussian mixture modelling (GMM) for clustering the users based on their coefficients for the different signals in the Fourier representation. Now, some of these basic signals will be very small, while others will be quite big. Of course, I am more interested in finding larger differences in the behavior rather than small differences. However, if I just use the coefficients directly, the GMM will have no way of differentiating between the big signals and the small signals.
How do I get this information from the Fourier transform and input into the GMM in order to cluster primarily based on large differences in behavioral signals? I'm brainstorming that I might scale the coefficients by the amplitude or something similar. However, perhaps the theory behind the Fourier transform can propose a better way?