Experimentos con Verosimilitud de datos

Cristóbal Silva

Verosimilitud

P(d_i^{sup}|\hat{\mathcal{M}}, v_i)
P(disupM^,vi)P(d_i^{sup}|\hat{\mathcal{M}}, v_i)

estadístico de una muestra de

\mathcal{M}
M\mathcal{M}

ground truth o "modelo real"

Regresión Lineal

P(d_i^{sup}|\hat{\mathcal{M}}, v_i) \sim \mathcal{N}(\theta^T v_i, \sigma^2)
P(disupM^,vi)N(θTvi,σ2)P(d_i^{sup}|\hat{\mathcal{M}}, v_i) \sim \mathcal{N}(\theta^T v_i, \sigma^2)
\hat{\theta} \rightarrow \text{Entrenar con Máx. Verosimilitud}
θ^Entrenar con Maˊx. Verosimilitud\hat{\theta} \rightarrow \text{Entrenar con Máx. Verosimilitud}

Regresión Lineal

\mathcal{N}(\hat{\theta}^\texttt{T}v_1)
N(θ^Tv1)\mathcal{N}(\hat{\theta}^\texttt{T}v_1)

            1

            2

            3

            4

Modelo de Bloques (planta)

Regresión Lineal

Regresión Lineal

Regresión Lineal

¿Cómo evaluar otros modelos?

p(d_i^{sup}|\mathcal{M^j}) = p(d_i^{sup}| v_i^j, \hat{\theta})
p(disupMj)=p(disupvij,θ^)p(d_i^{sup}|\mathcal{M^j}) = p(d_i^{sup}| v_i^j, \hat{\theta})
NLL_S 1996.674 1996.819
NLL_St 8319.85244797 8319.85244802
\hat{\mathcal{M}}
M^\hat{\mathcal{M}}
\mathcal{M}^1
M1\mathcal{M}^1

Regresión Lineal

¿Qué ocurre con más features?

MSE (no-georef) MSE (georef)
East 118453.58 8.30
North 197697.56 8.22
S (Sulfur) 6.65 6.57
Sr (Strontium) 86268.77 82807.38

Proceso Gaussiano

GP

RL

Proceso Gaussiano

GP

RL

Pendiente

  • Features Espaciales
    • Distancia a centro de masa de oro
    • Promedio de oro radial
  • Continuar análisis exploratorio
  • Probar regresor con prior sobre el parámetro

Features adicionales

  • Dist. a Centro de Masa Horizontal
  • Dist. a Centro de Masa Vertical
\mathbf{R} = \frac{1}{M} \sum_{i=1}^{n} m_i \mathbf{r}_i
R=1Mi=1nmiri\mathbf{R} = \frac{1}{M} \sum_{i=1}^{n} m_i \mathbf{r}_i

Euclidiana y Mahalanobis(*)

MSE Relativo a la media para cada variable

-0.15

0.25

-0.05

18761

18673

18705

Coef. Corr.

Mean SE

Coefs. de Correlación

Pasos siguientes

  • Evaluar verosimilitud dado MSE similar
  • Seguir probando features (radiales)
    • Se está trabajando en implementación
  • Análisis exhaustivo de outliers
    • ¿Cómo discriminar?
  • Separar modelos

remove outlier

Simulaciones

  • Perturbación Local
    • 17 simulaciones
  • Implausibles
    • 20 simulaciones
  • Kriging
    • 20 simulaciones
  • Ruido puro
    • 1 "simulación"

Features

  • Oro promedio / columna
  • Dist. centro de masa x-y
  • Dist. centro de masa z

vs. Pert. Local

 

vs. Kriging

 

vs. Implausible

(1)

vs. Implausible

(2)

Resumen

Geoquímica Sensible

  • Cobalto (Co)
  • Cobre (Cu)
  • Potasio (K)
  • Litio (Li)
  • Magnesio (Mg)
  • Manganeso (Mn)

... a cambios de M

  • Molibdeno (Mo)
  • Niquel (Ni)
  • Rubidio (Rb)
  • Itrio (Y)
  • Zinc (Zn)
  • WT Weight (?)

vs. Pert. Local

(2)

vs. Kriging

(2)

Módulo Verosimilitud

likelihood

Likelihood

GaussianLike

features

metrics

distance_to_center_of_mass

variable_mean_per_column

...

mean_square_error

residual_sum_of_squares

...

load_model

predict

...

Archivo de Modelo

.model

trained object

Actualmente solo existen dos modelos:

  • gch_2features.model
  • gch_3features.model

x_training

y_training

x_vars

y_vars

metadata

Ejemplo

>>> # cargar modelo de distancia a centro de masa
>>> likelihood = GaussianLikelihood.load_pretrained('gch_2features.model')
>>> # pre-calcular verosimilitud
>>> input_data = np.ones((677, 3))
>>> likelihood(input_data)
>>> likelihood._negative_log_likelihood(input_data)

>>> likelihood.predict(input_data)

>>> likelihood.sample(input_data)
RuntimeWarning: overflow encountered in exp return np.exp(-nll)
array([             inf,              inf,              inf,
                    inf,   2.85145362e-61,              inf,
                    inf,              inf,              inf,
                    inf,              inf,              inf])

Verosimilitud

Problema: Estabilidad Numérica

\mathcal{L}(M_{gnd}) = \exp(\sum[-2000, -4000, -900]) \approx 0
L(Mgnd)=exp([2000,4000,900])0\mathcal{L}(M_{gnd}) = \exp(\sum[-2000, -4000, -900]) \approx 0
\mathcal{L}(M_{imp}) = \exp(\sum[-2200, -4200, -960]) \approx 0
L(Mimp)=exp([2200,4200,960])0\mathcal{L}(M_{imp}) = \exp(\sum[-2200, -4200, -960]) \approx 0

Solución: Evaluar verosimilitud relativa antes de exponenciar

Verosimilitud Relativa

\frac{\mathcal{L}(M_1)}{\mathcal{L}(M_2)} = \exp(\sum\log p_1 - \sum\log p_2)
L(M1)L(M2)=exp(logp1logp2)\frac{\mathcal{L}(M_1)}{\mathcal{L}(M_2)} = \exp(\sum\log p_1 - \sum\log p_2)
\frac{\mathcal{L}(M_{gnd})}{\mathcal{L}(M_{loc_1})} = 1.36
L(Mgnd)L(Mloc1)=1.36\frac{\mathcal{L}(M_{gnd})}{\mathcal{L}(M_{loc_1})} = 1.36
\frac{\mathcal{L}(M_{gnd})}{\mathcal{L}(M_{imp})} = 1.18\cdot 10^{104}
L(Mgnd)L(Mimp)=1.1810104\frac{\mathcal{L}(M_{gnd})}{\mathcal{L}(M_{imp})} = 1.18\cdot 10^{104}

vs. Simulaciones

Implausible Kriging (v3) Locally Perturbed
1.18e+104 8.09e+149 1.37
6.56e+103 5.07e+27   1.32
8.03e+103 1.67e+304 1.45
1.31e+104 9.46e+164 1.40
1.35e+104 1.10e+103 1.29
5.67e+103 1.17e+66   1.03
1.72e+104 5.28e+30   1.47
2.08e+104 1.25e+79   1.01
2.93e+104 1.89e+158 1.32
2.02e+104 2.04e+12   1.16

Caso 2 features

bm_a_reduced.csv

1.0
1.01.0

au_ppm > 0.1

kriging_v3/sim_10.csv

2.04\cdot 10^{12}
2.0410122.04\cdot 10^{12}

au_ppm > 0.1

kriging_v3/sim_3.csv

1.67\cdot 10^{304}
1.67103041.67\cdot 10^{304}

au_ppm > 0.1

Pendiente

  • Modelos de 2+ features
    • Añadir promedio de oro / columna
    • Añadir promedio de oro / radio
    • Añadir promedio de oro / cono
  • Entrenar modelos con datos de sondaje

Modelo de Sondajes

  • Número de datos: 14.589
  • Features
    • Distancia x-y a centro de masa de oro
    • Distancia z a centro de masa de oro
Ag 53 Sc 44
Au 3050 Se 520
Ba 2 Sn 2
Be 635 Ta 109
Bi 50 Te 44
Ca 333 Th 151
Cd 1705 Tl 3
Co 1 U 55
Cu 1 Y 17
P 32 Zn 343
Hf 211 Cs 43
K 10 Ge 1265
La 84 In 413
Li 555 Re 9010
Mg 110 Ni 14
Na 101 Pb 1

Valores Negativos

Caso Estudio: Cobre

Caso Estudio: Cobre

Caso Estudio: Cobre

\log(y + 1) = \beta_0 + \beta_1 \cdot X_{horz} + \beta_2 \cdot X_{vert}
log(y+1)=β0+β1Xhorz+β2Xvert\log(y + 1) = \beta_0 + \beta_1 \cdot X_{horz} + \beta_2 \cdot X_{vert}

Resultados
Generales

Geoquímica Volátil en Sondaje

  •      -Plata (Ag)
  •      -Oro (Au)
  • Aluminio (Al)
  •      -Bismuto (Bi)
  • Cesio (Ce)
  •      -Mercurio (Hg)
  • Lantano (La)
  • Sulfuro (S)
  •      -Antimonio (Sb)
  • Tántalo (Ta)
  • Torio (Th)
  • Tungsteno (W)

log

log

log

log

log

  • Modelos de 2+ features
    • Añadir promedio de oro / columna
    • Añadir promedio de oro / radio
    • Añadir promedio de oro / cono
  • Entrenar modelos con datos de sondaje
    • Falta exportar modelo comprimido

Pendiente

Modelo
Log-Ley
(sondajes)

Modelos

x escalado y escalado log
gch.model
gch_x_scaled.model
gch_y_scaled.model
gch_all_scaled.model
log_gch.model

Configuración

Task

Generate
Config

Alturas.config

Task

Simulations

config = {
    target: ['Au', 'Bi', 'Zn'],
    log: True,
    scale_x: False,
    scale_y: True,
}

Verosimilitud + Sim

\log \bar{\mathbf{L}}(\theta) = \log \mathbf{L}(\theta) - \max \log \mathbf{L}(\theta)
logLˉ(θ)=logL(θ)maxlogL(θ)\log \bar{\mathbf{L}}(\theta) = \log \mathbf{L}(\theta) - \max \log \mathbf{L}(\theta)
\mathbf{L}(\theta) = \exp(\log \bar{\mathbf{L}}(\theta) + \log 1000)
L(θ)=exp(logLˉ(θ)+log1000)\mathbf{L}(\theta) = \exp(\log \bar{\mathbf{L}}(\theta) + \log 1000)
1000 16 200 99 120 10 72

Ejemplo: 7 escenarios, 5 simulaciones

Verosimilitud + Sim

10,000 escenarios - 5 simulaciones

1

Verosimilitud + Sim

10,000 escenarios - 5 simulaciones

2

3

4

5

Verosimilitud Compuesta

P_{\texttt{gch}}(Y_{\texttt{gch}} | \mathcal{M}) = \prod_i P(y_{\texttt{gch}}^{i} | \mathcal{M})
Pgch(YgchM)=iP(ygchiM)P_{\texttt{gch}}(Y_{\texttt{gch}} | \mathcal{M}) = \prod_i P(y_{\texttt{gch}}^{i} | \mathcal{M})
P_{\texttt{dht}}(Y_{\texttt{dht}} | \mathcal{M}) = \prod_j P(y_{\texttt{dht}}^{j} | \mathcal{M})
Pdht(YdhtM)=jP(ydhtjM)P_{\texttt{dht}}(Y_{\texttt{dht}} | \mathcal{M}) = \prod_j P(y_{\texttt{dht}}^{j} | \mathcal{M})

Geoquímica de Superficie

Geoquímica de Sondaje

Verosimilitud Compuesta

P(Y | \mathcal{M}) = P_{\texttt{gch}}(Y_{\texttt{gch}} | \mathcal{M}) \cdot P_{\texttt{dht}}(Y_{\texttt{dht}} | \mathcal{M})
P(YM)=Pgch(YgchM)Pdht(YdhtM)P(Y | \mathcal{M}) = P_{\texttt{gch}}(Y_{\texttt{gch}} | \mathcal{M}) \cdot P_{\texttt{dht}}(Y_{\texttt{dht}} | \mathcal{M})

5

10,000 escenarios - 4 simulaciones

1

2

3

4

Verosimilitud Comp. + Sim.

Verosimilitud Completa

Likelihood 1 Likelihood 2
6.07 3.71e -52
385.09 1.45e -10
808.75 1000
329.59 2.38e -9
881.508 2.9e -111
Weights
6.11e -53
3.76e -13
1.23
7.24e -12
3.30e -114
W = \frac{L_2(\theta_2)}{L_1(\theta_1)}
W=L2(θ2)L1(θ1)W = \frac{L_2(\theta_2)}{L_1(\theta_1)}

(*) Solamente geoquímica de superficie

Verosimilitud Completa

100,000 escenarios - 100 simulaciones

  • Verosimilitud 1 (geoquímica superficie)
  • Verosimilitud 1 (geoquímica sondaje)
  • Verosimilitud 2 (geoquímica superficie)

Todas las verosimilitudes 1 convergen a 999.0 y se arreglan durante el cálculo de verosimilitud 2

segfaults

Cubo de Verosimilitud

min: -30,312.22 | max: -27,995.42

min: 0 | max: 999.99

Log-Likelihood

Likelihood

Tabla de Verosimilitud

coords centroid_x centroid_y centroid_z
mean 410,955 6,678,787 4,567
std 23.42 23.75 149.48
min 410,911 6,678,760 4,350
max 410,995 6,678,825 4,813
likelihood scaled value
mean 459.47
std 317.96
min 8.55
max 1000.00

Escenarios: 10,000

Simulaciones: 10

Datos corresponden a estadísticos luego de hacer sampling de MonteCarlo

log_likelihoods

relativos

Análisis de log-ley vs ley

log_likelihoods

relativos

Cubo de Verosimilitud

likelihood > 1.0

0.51% de todos los bloques

Cubo de Verosimilitud

likelihood > 500.0

0.01% de todos los bloques

Cubo de Verosimilitud

likelihood > 500.0

Cubo de Verosimilitud

likelihood > 500.0

Centros de Masa

Model log-Co

Model log-Co (exp)

Cubo con 3 features

min: -2.78e+10 | max: -2.53e+9

min: 0 | max: 999.99

Log-Likelihood

Likelihood

Centros de Masa

Verosimilitudes

Verosimilitudes

Co_ppm

Verosimilitudes

Cu_ppm

Verosimilitudes

K_ppm

Verosimilitudes

Li_ppm

Verosimilitudes

Mg_pct

Verosimilitudes

Mn_ppm

Verosimilitudes

Mo_ppm

Verosimilitudes

Ni_ppm

Verosimilitudes

Rb_ppm

Verosimilitudes

WT_kg

Verosimilitudes

Y_ppm

Verosimilitudes

Zn_ppm

old_experiments

By crsilva

old_experiments

  • 383