Projecto 3

Estimativa de parâmetros / Optimização

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. Optimização de parâmetros

Neste trabalho, queremos estimar parâmetros que não conseguimos medir/observar directamente (por exemplo, a localização de uma pepita de ouro, de uma gruta subterrânea ou de um planeta). Para tal, vamos recorrer a observações (por exemplo, medições da gravidade), que se relacionam com os parâmetros que queremos estimar.

De forma a conseguirmos estimar os parâmetros temos de: 1) saber como é que os parâmetros a estimar se relacionam com as observações; 2) amostrar combinações diferentes dos parâmetros possíveis, e encontrar a combinação de parâmetros que gera as previsões mais semelhantes com os dados observados.

Para resolver este problema de estimativa de parâmetros, vamos utilizar duas técnicas de optimização apresentadas na aula teórica: downslope Monte Carlo e uma variante do Simulated Annealing. O problema a resolver é a optimização do ajuste entre as previsões geradas com base num conjunto de parâmetros e os dados observados, ou, equivalentemente, a minimização da diferença (ou erro) entre previsões e observações.

Serão considerados 4 problemas, cada um com duas variantes, correspondendo a dados e métodos de optimização diferentes. As técnicas propostas foram descrita nas aulas (ver slides das aulas):

  1. Downslope Monte Carlo.
  2. Uma variante do simulated annealing em que não se considera a possibilidade de saltos para valores mais elevados da função de custo. Localmente, no entanto, o método pode saltar sobre barreiras (máximos locais) da função de custo, especialmente enquanto se encontra suficientemente “quente”.

2. Objectivos

Em cada trabalho pretendemos:

  • Ler as observações disponibilizadas (observações).
    • Experimentar usar a função numpy.loadtxt().
  • Representar graficamente os dados antes de fazer a inversão.
    • Escolher a representação gráfica mais adequada a cada conjunto de dados.
  • Definir a função de custo adequada para o problema proposto, que será sempre função de 3 parâmetros a optimizar.
    • Experimentar uma função de custo que seja simplesmente a soma dos erros (norma L1).
    • Experimentar uma função de custo que seja a soma dos erros quadrados (norma L2).
    • Identificar semelhanças e diferenças na optimização nos dois casos.
  • Escolher os limites de variação adequados para os parâmetros e as condições de paragem.
    • Importante: se uma das soluções ficar muito perto do limite ajustar os limites.
  • Adaptar o código no sentido de realizar a optimização dos parâmetros a partir de uma seleção aleatória do estado inicial (first guess), notando que há 3 parâmetros a ajustar.
    • Verificar o que acontece com três ou mais selecções aleatórias diferentes dos parâmetros iniciais.
  • Iterar o algoritmo até obter uma solução para os três parâmetros a estimar.
    • Estudar o que acontece se mudarmos os parâmetros da inversão, ex: COOL, iter1, iPERT2, etc.
  • Verificar a solução:
    • Mostrar a estrutura da função de custo em 3 gráficos 2D (contourf, pcolor, etc) correspondentes a planos obtidos mantendo um dos parâmetros fixos. Mostrar no mesmo gráfico o caminho percorrido na busca pelos parâmetros, incluindo a os parâmetros iniciais e os parâmetros finais.
  • Avaliar a evolução das soluções:
    • Estudar a evolução da função de custo ao longo das iterações.
  • Reflectir criticamente sobre os resultados, tanto positivos como negativos. Identificar dificuldades e desafios.

3. Especificações técnicas

Grupo 1: Localização de uma pepita de ouro num levantamento gravimétrico (A).

Os 100 dados apresentados correspondem à posição (x,z)􏰇 e ao valor da componente vertical da anomalia da gravidade ($\Delta g_z$) num perfil gravimétrico numa região homogénea e plana onde a massa volúmica da crosta vale $2.6 \times 10^{3} \,kg \, m^{-3}$􏰊􏰋􏰌􏰍􏰉. Nessa região encontra‐se, sob a superfície, uma pepita de ouro (massa volúmica $19 \times 10^{3} \,kg \, m^{-3}$􏰊􏰋 􏰌􏰍􏰉) esférica. Pretende‐se localizar a pepita (X,Z) e estimar o seu volume.

A anomalia gravítica vertical ($\Delta g_z$) observada depende da anomalia de massa ($\Delta m$), da profundidade a que a massa anómala se encontra ($z$) e da distância entre a massa anómala e o ponto de observação ($r$):

$$ \Delta g_z = G \Delta m \frac{z}{r^3} $$

, onde $G$ é a constante universital de gravitação.

A massa da pepita de ouro é inferior a 2000 kg, e a pepita encontra-se a menos de 500 m de profundidade.

Qual a massa de ouro enterrada? Se o material enterrado fosse chumbo ($11.3 \times 10^{3} \,kg \, m^{-3}$), qual seria a massa total enterrada?

Grupo 2: Localização de uma pepita de ouro num levantamento gravimétrico (B)

Problema idêntico ao do grupo 1.

Grupo 3: Localização de uma caverna num levantamento gravimétrico (A).

Idêntico ao problema do grupo 1, mas a anomalia de gravidade é devida a uma caverna. Pretende‐se localizar a caverna (X,Z) e estimar o seu volume. A caverna tem menos de $10^6 \,m^3$􏰞􏰌􏰉 e encontra‐ se a uma profundidade inferior $500 \, m$.

Repetir a experiência admitindo que a caverna está cheia de água.

Grupo 4: Localização de uma caverna num levantamento gravimétrico (B).

Problema idêntico ao do grupo 3.

Grupo 5: Localização e caracterização de um planeta a partir do campo gravítico (A).

Os dados disponibilizados indicam a posição (x,y) de uma sonda e o valor da aceleração da gravidade medida ($g$). A aceleração da gravidade sentida pela sonda relaciona-se com a massa do planeta ($M$) da seguinte forma:

$$ g = \frac{G M}{d^2} $$

, onde $G$ é a constante universital de gravitação e $d$ é a distância entre o planeta e a sonda.

Localize o planeta e estime a sua massa. O planeta encontra‐se no interior da órbita da sonda. A massa do planeta varia entre $0.5 \times 10^{24} \, kg $ e $10^{25} \, kg$􏰕􏰡

Repita o problema com o primeiro terço das observações e discuta o resultado.

Grupo 6: Localização e caracterização de um planeta a partir do campo gravítico (B).

Problema idêntico ao do grupo 5.

Grupo 7: Localização de uma baleia utilizando o som registado em observatórios sísmicos no fundo do mar (A).

Os dados disponibilizados indicam a localização (x,y,z, em metros) e o tempo de percurso do som (segundos) desde a baleia até cada estação de observação. Localize a baleia (X, Y, Z). Utilize a velocidade de propagação do som na água ($1500 \, m/s$).

Repita o problema, mas só com as 3 primeiras observações, realizando 10 tentativas. Represente graficamente a solução em 3D. Discuta o resultado.

Grupo 8: Localização de uma baleia utilizando o som registado em observatórios sísmicos no fundo do mar (B).

Problema idêntico ao do grupo 7.