Transformée de Fourier rapide en R - Stack Overflow
J'ai un ensemble de données avec le nombre de visites toutes les heures un animal fait au cours d'une période de 12 mois. Je veux utiliser la transformée de Fourier rapide pour examiner les tendances cycliques et la périodicité. Dans le passé, je l'ai utilisé Statistica pour cette présente; cependant, je voudrais utiliser R pour obtenir une parcelle de la densité spectrale par rapport à la période. Est-il un moyen facile de le faire en R? Je voudrais identifier 12 et 24 heures de pointe de l'activité si possible.
Voici ce que vous pouvez essayer:
- périodogramme de l'emballage TSA, il trace immédiatement un périodogramme.
- périodogramme de GeneCycle. il renvoie la liste des fréquences et des densités spectrales de puissance estimée. Il est une fonction wrapper pour statistiques :: spectre avec des options spéciales définies.
- spectre de statistiques. il vous permet de choisir la méthode utilisée pour estimer la densité spectrale: soit périodogramme ou en utilisant processus autorégressif.
- cpgram de stats trace un périodogramme cumulatif avec un intervalle de confiance.
- Pour l'utilisation de fft voir des exemples ici.
Vous voyez? Cpgram et similaire pour tous les détails, et garder à l'esprit qu'il est par exemple TSA :: périodogramme et GeneCycle :: periodogramme lorsque les noms des fonctions coïncident.
Comme vous le savez sans doute, la série de temps donné doit être Detrended, utilisez donc par exemple diff (x) à la place de x. Enfin, la durée de votre série de temps doit être divisible par 12 à être en mesure d'identifier 12 et 24 heures fréquences, il peut être réalisé par exemple x [- (1: (length (x) %% 12))]. où x est une série de temps détendancée.