1 votos

Desestacionalización de datos mediante el análisis de Fourier con MATLAB

Estoy tratando de eliminar la estacionalidad de mis datos utilizando el análisis de Fourier en MATLAB. Siguiendo este post https://stackoverflow.com/questions/19285684/fast-fourier-transform-for-deasonalizing-data-in-matlab?answertab=oldest#tab-top Se me ocurrió este código:

clear;
clc;
close all;
%
load(fullfile(matlabroot,'examples','econ','Data_Accidental.mat'))
%
y = Data;
T = length(y);
years = linspace(1973,1979,T);
ts = y;
points_in_year = 12;
%
tim = (dates - dates(1))/(dates(2)-dates(1));  % <-- acquisition times for your *new* data, normalized
NFpick = [2 7 13]; % <-- channels you picked to build the detrending baseline (peaks to be eliminated)
% Compute the trend
mu = mean(ts);
Nchannels = length(ts);      % <-- size of time domain data
Mpick = 2*length(NFpick);
X(:,1:2:Mpick) = cos(2*pi*(NFpick-1)'/Nchannels*tim')';
X(:,2:2:Mpick) = sin(-2*pi*(NFpick-1)'/Nchannels*tim')';
X = [ones(T,1), X];
beta = X\ts;
trend = X*beta;
detrended = y - trend + mu; 
figure
plot(dates,detrended)

Nótese que intento evitar el uso de fft. Mi problema es que no estoy obteniendo la misma respuesta que https://www.mathworks.com/help/econ/seasonal-adjustment.html incluso cambiando los canales correspondientes a los picos que quiero eliminar.

¿Qué hay de malo en mi enfoque?
¿Cómo debería cambiar mi código para eliminar la estacionalidad utilizando el análisis de Fourier?

1 votos

A primera vista, se trata demasiado de revisión de código (fuera de tema) y demasiado poco de estadística (dentro de tema). ¿Podría ayudarnos formulando su pregunta más en términos de conceptos y problemas estadísticos y menos en términos de código?

0 votos

Gracias por la rápida respuesta. Mi pregunta es ¿cómo puedo eliminar la estacionalidad de series temporales como la del ejemplo utilizando el análisis de Fourier? ¿Es posible obtener la misma respuesta con el análisis de Fourier que utilizando un filtro estacional estable?

1 votos

A mí me sigue pareciendo que se trata de código.

3voto

einverne Puntos 126

Como ha demostrado el profesor Pollock [1], los filtros en el dominio de la frecuencia son un método interesante para la extracción de señales (y en particular para el ajuste estacional) en las series temporales económicas.

En lugar de seguir el código, le recomendaría que revisara primero el marco estadístico y los fundamentos de este enfoque. Lo más probable es que esto le ayude a desarrollar su propia rutina, a modificar un fragmento de código existente o a formular una pregunta más adecuada para este sitio.

Siguiendo la notación del documento referenciado más abajo, los filtros en el dominio de la frecuencia se basan en los coeficientes de Fourier:

$$\displaystyle{ \zeta_j = \frac{1}{T} \sum_{t=0}^{T-1} y_t e^{-i\omega_j t}\,dt \,, \quad j=0,... ,T-1 \,. }$$

Cada coeficiente $\zeta_j$ está relacionado con un ciclo de frecuencia $\omega_j$ . Así, una forma natural de filtrar ciertas frecuencias es poner a cero los coeficientes relacionados con frecuencias que no pertenecen al componente objetivo (por ejemplo, estacional) y luego sintetizar el componente objetivo, $s_t$ por medio de la transformada inversa:

$$\displaystyle{s_t = \sum_{j=0}^{T-1} \zeta_t e^{i\omega_j t}\,dt \,, \quad t=1,... ,T \,.}$$

Le recomiendo que revise la referencia indicada a continuación y el material adicional (incluido el software IDEOLOG) disponible en Sitio web del profesor Pollock . Para una rápida ilustración también puede ver el post extracción de señales en series temporales, ¿tan simple como eso? donde reproduzco uno de los ejemplos dados en el documento de referencia.

[1] D.S.G. Pollock. IDEOLÓGICO: Un programa para filtrar datos econométricos. Una sinopsis de métodos alternativos. URL http://www.le.ac.uk/users/dsgp1/ERCSTUFF/ideolog.pdf .

0 votos

El documento me ha parecido muy interesante y útil. He seguido el documento y he podido reproducir las figuras 12 y 13. Sin embargo, no he podido reproducir la figura 14. Me pregunto si podría añadir un poco más de explicación sobre cómo se elabora específicamente la figura 14.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X