Projecto 1

Análise de séries temporais. Análise espectral. Filtragem.

Modelação Numérica 2016/17

Mestrado Integrado em Engenharia da Energia e do Ambiente
Licenciatura em Meteorologia, Oceanografia e Geofísica
Licenciatura em Engenharia Geoespacial

DEGGE-FCUL
Departamento de Engenharia Geográfica, Geofísica e Energia
Faculdade de Ciências da Universidade de Lisboa

1. Introdução

Neste projeto vamos analisar séries temporais de dados onde se encontram sobrepostos processos que ocorrem em diferentes escalas. Em cada turma prática, cada grupo fará a análise de um conjunto de dados diferente. Cada grupo deverá por isso desenvolver procedimentos adaptados aos dados que vai analisar. Dependendo dos dados, poderá ser necessário isolar oscilações “rápidas” ou “lentas”, filtrar, e/ou localizar oscilações transientes (que só ocorrem num período localizado). O impacto da filtragem será monitorizado com o cálculo de espetros dos dados em diferentes fases do processamento.

3. Procedimento

Neste projeto queremos analisar séries temporais em diferentes escalas. As séries podem conter um ou mais processos periódicos, processos transientes, tendências, oscilações aperiódicas e ruído. Os procedimentos a adotar devem ser adaptados aos dados em questão. Aqui ficam algumas sugestões de procedimentos genéricos a considerar em todos os projectos.

  1. Começar por inspecionar os dados, representando‐os graficamente. Se necessários, fazer zoom dos dados em várias janelas. Verificar se os dados foram amostrados regularmente e a que passo. Identificar eventuais erros ou falhas na amostragem. Verificar e, se necessário, corrigir as unidades utilizadas.

  2. Corrigir erros, eliminando‐os. Se necessário interpolar os dados para recuperar ou construir uma base regular de amostragem.

  3. Tendo em conta a amostragem e comprimento da série, calcular a frequência mínima e máxima dos processos que podemos estudar com as séries em questão.

  4. Calcular o espetro de amplitude dos dados. Se for conveniente, pode-se truncar a dimensão da série a um número favorável para a fft (e.g. na forma $2^n$).

  5. Identificar tendências nos dados, i.e. variações cujo período aparente é superior à duração do sinal. Se existir uma tendência eliminá‐la por regressão linear ou por média móvel de longo período.

  6. Identificar ciclos dominantes nos dados (anual, diurno, etc) e desenhar filtros capazes de os remover.

  7. Analisar os dados filtrados: inspeção da série no domínio do tempo e cálculo do novo espetro.

  8. Se for apropriado, calcular o espectro em janelas parcelares, no sentido de identificar oscilações transientes, ex: um tsunami ou um sismo.

  9. No caso de séries temporais relacionadas, calcular a correlação entre os sinais. Calcular as diferenças de fase.

  10. Interpretar.

  11. Discutir.

  12. Inovar…

Filtros

Os filtros a utilizar podem ser de vários tipos:

  1. Filtros de média móvel de peso constante e variável.
  2. Filtros impostos diretamente no espetro, recuperando a série por transformada inversa. As funções de transferência dos filtros devem ser apresentadas.

Análise espectral por janelas

Esta análise é interessante para identificar processos transientes que só estarão presentes ocasionalmente ou para caracterizar a evolução temporal do espectro.

Comados úteis

Arrays:

  • ndarray.shape
  • ndarray.size

Numpy:

  • numpy.loadtxt()
  • numpy.savetxt()
  • numpy.interp()
  • numpy.polyfit()

Matplotlib:

  • matplotlib.subplot()

Módulos:

  • numpy.fft
  • datetime