rapida - Transformada rápida de Fourier en R
transformada rapida de fourier python (2)
Puede considerar las siguientes funciones.
-
periodogram
del paqueteTSA
traza inmediatamente un periodograma. -
periodogram
deGeneCycle
devuelve una lista de frecuencias y densidades espectrales de potencia estimadas. Es una función de envoltorio parastats::spectrum
con algunas opciones especiales configuradas. -
spectrum
de lasstats
permite elegir el método utilizado para estimar la densidad espectral: ya sea periodogramo o usando un proceso autorregresivo. -
cpgram
destats
traza un periodograma acumulativo junto con un intervalo de confianza.
Vea, por ejemplo ?cpgram
o ?spectrum
para todos los detalles y tenga en cuenta que es, por ejemplo, TSA::periodogram
y GeneCycle::periodogram
cuando los nombres de las funciones coinciden.
También hay muchos ejemplos y tutoriales en línea sobre cómo usar esas funciones. Vea here para el uso de fft
y here para un tutorial aún más extenso.
Además, como usted probablemente ya sabe, una serie de tiempo dada debe ser suspendida. Por lo tanto, use, por ejemplo, diff(x)
lugar de x
. Y finalmente, la longitud de su serie de tiempo debe ser divisible por 12 para poder identificar frecuencias de 12 y 24 horas, se puede lograr, por ejemplo, x[-(1:(length(x) %% 12))]
, donde x
es una serie de tiempo detrended.
Tengo un conjunto de datos con el número de visitas por hora que realiza un animal durante un período de 12 meses. Quiero usar la transformada rápida de Fourier para examinar los patrones cíclicos y la periodicidad. En el pasado, he usado Statistica para esto esto; sin embargo, me gustaría usar R para obtener un gráfico de la densidad espectral en función del período. ¿Hay una manera fácil de hacer esto en R? Me gustaría identificar 12 y 24 horas pico en actividad si es posible.
Usa el spectrum
para hacer un análisis de densidad espectral; También fft
para la base de transformada rápida de Fourier.