You are on page 1of 14

Programas de computadora para el

cálculo de variogramas

por

Marco Antonio Alfaro Sironvalle

Noviembre, 2008

1
γ (h) = ∑[ i i ]
2
z ( x + h ) − z ( x )
2N ' i
Programas para el cálculo de variogramas

por

Marco Antonio Alfaro Sironvalle

1. Introducción.

Los programas (variogramas.exe, etc…) sirven para calcular variogramas experimentales


γ(h) en el espacio de tres dimensiones. Son compatibles con Windows XP y Vista y fueron
programados en el lenguaje “PowerBasic”.

El vector h de γ(h) está definido (además de su módulo) por la inclinación φ y el


azimuth θ , medidos en grados

La figura 1 muestra el vector h :

Figura 1: Características del vector h.

Si el vector h apunta por debajo de la horizontal, entonces la inclinación φ es negativa.

El programa de cálculo de variogramas es el más rápido del mercado (según


comprobaciones realizadas en Octubre de 2008, versus Vulcan Gemcom, Isatis y
MineSight) y trabaja en doble precisión. Los paquetes tradicionales trabajan en precisión

1
simple (se proporcionan también los programas equivalentes en precisión simple, los
cuales, son, en promedio, un 12% más rápidos).

El programa se basa en el estimador clásico:

1
γ ( h) = ∑ [ z ( xi + h) − z ( xi )]
2
(1)
2N ' i

En que N’ es el número de pares xi , xi + h .

El costo que hay que pagar por tener un programa más rápido y de mayor precisión es que
solo se debe correr de manera única el programa (y ningún otro, es decir el programa ocupa
todos los recursos de la computadora).

En consecuencia, si se cliquea con el mouse fuera de la ventana del programa, el cálculo


“se cae”, aparece el reloj de arena y hay que detener el proceso.

Variogramas.exe ocupa un espacio en disco de 27 K , es decir cero (¡somos enemigos del


“bloatware” o “software guatón”!) y se puede copiar en el mismo directorio en el cual
están los datos de los compósitos.

No se pueden hacer cálculos simultáneos, es decir, en una sola corrida calcular el


variograma en varias direcciones. Entonces: Una corrida = una dirección.

Esta característica ligada a la velocidad de proceso hace que el programa sea más poderoso
y robusto (en particular hay menos posibilidad de cometer errores).

El número máximo de compósitos que admite el programa es de 4,294,967,295 , es decir


infinito, si la memoria de la computadora lo permite. Lo he probado con más de 100,000
compósitos y se demora unos pocos minutos (conozco un colega que lo corrió con un
millón de compósitos “simulados” y demoró unas cuantas horas).

2. La ventana del programa.

La figura 2 muestra la ventana del programa “variogramas.exe”, junto a la descripción de


los parámetros que hay que definir (archivo de entrada, archivo de salida, paso del
variograma, tolerancia en distancia, azimuth, inclinación, tolerancia angular, número
máximo de pasos, filtro por arriba, filtro por abajo):

2
Figura 2: La ventana del programa.

3. Descripción de los parámetros.

Archivo de entrada.

Es el archivo que contiene la información de los compósitos (ya regularizados a un largo


constante). Este archivo es un archivo de texto, con columnas, con el orden siguiente: x
(coordenada este), y (coordenada norte), z (cota o elevación), variable (ley u otra
característica). Los datos están separados por espacios o por comas (no importa su orden).

Ejemplos: Se tienen dos extractos de archivos válidos:

Archivo 1. Datos x, y, z, ley de cobre, separados por uno o más espacios:

518469.0 7412547.0 2624.413 2.84


518467.0 7412547.0 2620.417 1.34
518466.0 7412548.0 2615.719 1.21
518464.0 7412548.0 2611.023 1.45
518462.0 7412549.0 2606.332 1.44
518461.0 7412549.0 2601.643 1.71
518459.0 7412550.0 2596.957 1.09
518457.0 7412550.0 2592.274 1.07
518456.0 7412551.0 2587.594 2.22
518454.0 7412551.0 2582.917 2.16
518452.0 7412552.0 2578.242 1.13
…………………………………..

3
Archivo 2 . Datos x, y, z, ley de cobre, separados por comas:

2849.962,1996.995,2620.779,0.450
2854.385,1940.833,2627.223,0.240
2918.053,2252.848,2563.482,2.390
2934.321,2283.415,2530.368,3.500
2972.592,2355.768,2567.101,0.560
2992.977,2499.723,2552.387,1.870
2994.069,2399.564,2549.021,1.920
2999.440,3393.222,2319.290,0.790
3011.153,3408.896,2178.548,0.770
3012.128,2406.602,2562.350,1.085
3015.462,2900.301,2411.869,1.640
…………………………………

Este tipo de archivos tiene, a veces la extensión “csv” (comma separated variables) y puede
ser leído con el Excel.

Observaciones:

• El símbolo coma “,” sirve para separar datos contiguos. El símbolo decimal es el
punto “.”. Luego el computador debe estar configurado para tal efecto. Para ello ir a
Panel de Control – Configuración Regional – Personalizar, y, en símbolo decimal,
poner “.”. Si su computadora está configurada con símbolo decimal = “,”, entonces
el programa no funcionará.
• El archivo no debe tener encabezado ni líneas en blanco y el número total de líneas
debe ser igual al número de compósitos.
• El usuario es el que debe preparar los archivos. Por ejemplo separar todos los
compósitos correspondientes a una misma unidad geológica en un solo archivo x, y,
z, variable. Siempre el archivo debe tener 4 columnas. Si los datos son
bidimensionales, una de las tres primeras columnas es constante. También, en el
caso del cálculo de un variograma de indicadores, es necesario preparar previamente
el archivo de entrada con ceros y unos. Se puede utilizar un editor de texto para
preparar el archivo de entrada.
• Se recomienda hacer previamente un análisis estadístico de la variable, con el
propósito de encontrar valores anómalos altos o anómalos bajos.

Archivo de salida.

Este archivo de salida contiene los resultados del cálculo, y es un archivo de texto, al cual
conviene ponerle la extensión “gam” para poder ser leído con el programa “gama.exe”.

Un ejemplo de este tipo de archivos es:

4
paso=8, azim=90 ,incl=0 ,tol= 22.5 ,eps=4 ,zmin=0 ,zmax=3 , media=0.403,varianza=0.332
8 8.41432625929782 .148763290009973 60160
16 16.2258438395981 .202631489985516 104948
24 24.4422483384088 .230866963380182 166713
32 32.2980063784307 .257400835715897 380892
40 40.1432389264656 .273924016616007 525818
48 48.1047268316163 .288404055681399 636577
56 56.2229519847580 .304495870186067 893710
64 64.0983220837240 .318152199261616 1113802
72 72.0671623594450 .330557486461216 1260712
80 80.1539252532942 .343748662082865 1474505

La primera línea contiene los parámetros de calculo: paso (8 metros), azimuth (90°),
inclinación (0°), tolerancia angular (22.5°), tolerancia en distancia (4 metros), c (0) y d (3),
(ver la figura 2). Escribe también la media y la varianza de los datos utilizados en el
cálculo.

Se trata entonces de un variograma en la dirección EW (azimuth = 90°).

Observamos que el cálculo se hace para múltiplos del paso k * 8 ( k = 1, 2, …, 10 )

La primera columna 8, 16, 12, …, 80, representa los valores del módulo del vector h para
los cuales se calcula γ(h) .

La segunda columna 8.41, 16.22, …, 80.15, representa los valores medios reales de las
distancias (no coincide con la columna anterior dado que la malla es irregular).

La tercera columna 0.14, 0.20, …, 0.34 representa los valores del variograma γ(h) , para
h = 8.41, 16.22, …, 80.15.

La cuarta columna representa el número de parejas con las cuales se calculó γ(h).

El gran número de decimales tanto para las distancias como para el variograma se debe a
que se utilizó doble precisión en los cálculos.

El archivo de salida lo lee el programa “gama.exe”, el cual grafica γ(h) además de permitir
su ajuste a un modelo teórico (esférico, exponencial, etc…).

La figura 3 muestra el resultado de correr gama.exe con la salida anterior:

5
Figura 3: Gráfico del variograma

Se recomienda elegir un nombre nemotécnico para el archivo de salida, por ejemplo:


“GamaEsteOesteOxidos.gam”.

Paso del variograma.

Es la distancia “b” mínima para calcular el variograma. Depende, evidentemente de la


dirección del vector h.

Veamos con algunos ejemplos, cómo se elige este valor:

• Si se desea calcular el variograma en la dirección vertical y todos los sondajes son


verticales con compósitos de largo 15 metros (altura del banco) entonces conviene
poner b = 15 metros.
• Si tenemos pozos de tronadura con una malla irregular de aproximadamente 8mx
8m, entonces para los variogramas en el plano conviene tomar b = 8 metros.
• Si se tiene una situación como en la figura 4, conviene tomar b = 25 metros para
cálculo de variogramas en el plano.

Figura 4: La distancia entre estos dos puntos contiguos es del orden de 25 metros.

6
• En casos más complicados (sondajes en todas las direcciones del espacio), se puede
proceder a determinar b por “tanteos” (aprovechando la rapidez del programa).

Tolerancia en distancia.

El programa utiliza una tolerancia de ± ε para el cálculo de la distancia h . Por ejemplo si


h = kb , el cálculo se realiza para todos los h que están en ( kb – ε , kb + ε ).

La práctica recomienda que este valor sea igual a la mitad del paso: ε = ½ paso .

Mientras más pequeño sea ε mejor es la aproximación. Sin embargo un ε cercano a 0


ocasiona una disminución del número de parejas y el variograma se hace más errático.

Azimuth.

Es el ángulo del vector h medido desde el norte (figura 1) en grados. Si se trata de la


dirección NS (en el plano) entonces el azimuth es 0 . Si es EW en el plano, entonces el
azimuth es 90°.

Inclinación.

Es el ángulo que el vector h forma con la horizontal (figura 1). Un sondaje inclinado hacia
abajo tiene inclinación negativa. Si la dirección en la cual se desea calcular γ(h) en la
dirección vertical, poner cualquier valor para el azimuth y -90° para la inclinación
(observamos que en este caso es equivalente poner 90°).

Tolerancia angular.

Es la tolerancia θ del ángulo sólido del vector h , tal como muestra la figura 5:

Figura 5: El vector h y su tolerancia angular.

7
La práctica recomienda elegir un valor de 22.5° (correspondiente a la mitad de 45°) para
la tolerancia angular.

Debido a que el ángulo se abre (figura 5), la aproximación tiende a ser más grosera para |h|
grande.

En estos casos se puede utilizar el método del lápiz (programa “variogramas-lapiz.exe”, tal
como se ve en la figura 6:

Figura 6: Método del lápiz. La práctica recomienda tomar una valor e igual al paso b .

El método del lápiz es a veces cuestionado porque, en la práctica, solo interesa tener un
buen variograma en la vecindad del origen, es decir para |h| pequeño, y, en este caso, el
método “sin lápiz” funciona bien.

Número máximo de pasos.

Es el número entero k que define la máxima distancia para el cálculo del variograma. La
máxima distancia es h = kb .

En el ejemplo anterior k = 10 , b = paso = 8, luego se calcula γ(h) hasta h = 80 metros.

Recordemos la regla práctica que dice que un variograma, en una cierta dirección, debe ser
calculado hasta la mitad del diámetro del cuerpo mineralizado en esa dirección (en algunos
casos conviene llegar hasta ¼ de este diámetro).

En la figura 7, en la dirección Este Oeste conviene llegar hasta 200 metros:

8
Figura 7: No conviene calcular γ(h) hasta |h| = 2000 metros en la dirección Norte Sur.

Filtro por abajo.

Si este valor vale c solo se considerarán en el cálculo los compósitos cuya ley es ≥ c .
Sirve para filtrar valores anómalos muy bajos (también puede servir para filtrar valores
negativos arbitrarios en la base de datos).

Filtro por arriba.

Si este valor vale d solo se considerarán en el cálculo los compósitos cuya ley es ≤ d .
Sirve para filtrar valores anómalos muy grandes que pueden tener una influencia no
despreciable en el cálculo del variograma.

4. El variograma relativo a pares.

El variograma relativo a pares constituye una herramienta empírica , la cual se basa en la


fórmula:

9
⎡ z ( xi + h) − z ( xi ) ⎤ z ( xi + h) + z ( xi )
2
1
γ (h) = ∑
2 N ' i ⎢⎣ w ⎥

en que w =
2

Existen otros tipos de variogramas relativos, también empíricos, los cuales se diferencian
en la expresión de w .

El objetivo de esta fórmula es “amortiguar” el efecto de valores anómalos altos en la


diferencia al cuadrado [z(xi + h) – z(xi)]2 que figura en la fórmula clásica (1).

El variograma relativo a pares no debe ser utilizado en ciertas situaciones en las cuales w
puede ser 0 . Por ejemplo en el caso de variograma de indicadores o variables que toman
valores positivos y negativos.

El programa “variogramas-rlp.exe” realiza los cálculos del variograma relativo.

4.1 Comparación con el variograma absoluto.

Con la misma base de datos (“datos.csv”) se corrieron ambos programas (variogramas.exe


y variogramas-rlp.exe.

La pantalla inicial (en el caso del variograma relativo) aparece en la figura 8 (sin filtrar
valores anómalos altos):

Figura 8: Parámetros de cálculo

En la figura 9 se tiene el “variograma absoluto”, junto al ajuste a un modelo esférico, con


efecto pepita C0 = 0.11, Meseta C = 0.22, y alcance a = 54 m.

10
Figura 9: Variograma absoluto. En línea de puntos, el variograma teórico (esférico).

Figura 10: Variograma relativo a pares. En línea de puntos, el variograma teórico (esférico).

11
En la figura 10 se tiene el variograma relativo a pares, junto al ajuste a un modelo esférico,
con efecto pepita C0 = 0.39, Meseta C = 0.38, y alcance a = 44 m.

Se observa que:

• El variograma relativo tiene alcance inferior (44 metros) que el absoluto (54
metros).
• El efecto de pepita del variograma relativo es mayor que en el absoluto. En efecto
C0 / C vale, respectivamente 0.11 / 0.22 = 50% y 0.39 / 0.38 = 103%.
• El variograma relativo no acusa un efecto de “deriva” el cual se ve en el variograma
absoluto, para distancias mayores a 80 metros.
• El cálculo del variograma relativo es más lento que el del absoluto.

En consecuencia, el variograma relativo a pares (empírico) debe ser utilizado con mucha
precaución.

5. Ejecución del programa.

Al cliquear en “Ejecutar”, el programa escribe el número de compósitos utilizados en el


cálculo, el progreso de los cálculos en % y el tiempo de ejecución.

Se recomienda comparar el tiempo de ejecución con el que proporcionan los programas


tradicionales (que cuestan miles de dólares), con el tiempo que toma nuestro programa que
es de dominio público.

Compósitos repetidos.

Una situación, más común que lo que uno se imagina es, cuando, en la base de datos de
compósitos existen datos repetidos. Esta situación no es deseable porque los paquetes
eliminan estos datos según el orden en que van apareciendo. El programa escribe, por
ejemplo, un mensaje como el de la figura 11:

Figura 11: Datos repetidos.

12
Los compósitos repetidos también ocasionan problemas a la hora de krigear el depósito.

Será necesario entonces intervenir la base de datos de manera de eliminar las repeticiones
(problema informático de los “dupes”).

13

You might also like