You are on page 1of 23

1

Resumen

El siguiente trabajo tiene como objetivo principal analizar la distribucin de datos


compositados, as como su media, varianza, y su variograma.

Como objetivos especficos tenemos: usar un lenguaje de programacin y crear una


base de datos con variables aleatorias que representen la ley de mineral (10 000
datos), con una distribucin uniforme, obtener su histograma, hacer un histograma
con las leyes compositadas, as como la media y la varianza, con los datos del
composito obtenidos hacer su funcin variograma.

Se tomarn los 10 000 datos generados aleatoriamente, se agruparn de 20 en 20,


luego se agrupar compartiendo 4, 8, 12 y 16 datos.

El lenguaje usado en el presente trabajo es Python. Python es un lenguaje de


programacin multiplataforma, es decir que puede trabajar con todo sistema
operativo.

ndice General

Resumen................................................................................................................................. 2
ndice General......................................................................................................................... 3
Compositacin o regularizacin..............................................................................................4
Distribucin Uniforme.............................................................................................................. 7
Teorema del lmite central....................................................................................................... 8
Python..................................................................................................................................... 9
Desarrollo:............................................................................................................................. 10
Crear una base de datos:.................................................................................................. 10
Comprobar si es una distribucin uniforme:.......................................................................12
Composito:......................................................................................................................... 14
Variograma:....................................................................................................................... 16
Anlisis:................................................................................................................................. 19
Sin agrupar ni compartir datos (referencia)..............................................................................19
Sin compartir datos (referencia)............................................................................................. 20
Compartiendo 4 datos........................................................................................................... 20
Compartiendo 8 datos........................................................................................................... 21
Compartiendo 12 datos......................................................................................................... 21
Compartiendo 16 datos......................................................................................................... 22
Comprobacin del teorema del lmite central:....................................................................23
Variogramas:...................................................................................................................... 24
Conclusiones......................................................................................................................... 25
Bibliografa............................................................................................................................ 26

Compositacin o regularizacin
Generalmente los intervalos de muestreo en los pozos de exploracin no coinciden
con los intervalos de trabajo en la fase de estimacin de recursos. Los intervalos de
muestreo son siempre menores pues se busca revelar la variabilidad espacial de las
variables que se estudian. El clculo de los compsitos no es ms que un
procedimiento mediante el cual las muestras de los anlisis se combinan en
intervalos regulares (igual longitud), que no coinciden con el tamao inicial de las
muestras. La ley del nuevo intervalo se calcula usando la media ponderada por la
longitud de los testigos que contribuyen a cada compsito y la masa volumtrica en
caso de ser variable. El objetivo de la regularizacin segn Barnes, 1980 es obtener
muestras representativas de una unidad litolgica o de mineralizacin particular las
cuales pueden ser usadas, a travs de una funcin de extensin, para estimar la ley
de un volumen mucho mayor de la misma unidad.
Entre las principales razones y beneficios de la regularizacin tenemos:
El anlisis geoestadstico exige muestras de igual longitud (similar soporte).
La compositacin reduce la cantidad de datos y por consiguiente el tiempo de
clculo o procesamiento.
Se producen datos homogneos y de ms fcil interpretacin.
Se reduce las variaciones errticas (alto efecto pepita) producto de muestras con
valores extremadamente altos.
El proceso incorpora la dilucin como la provocada por la explotacin de banco con
altura constante en la minera a cielo abierto.
Existen muchos tipos de yacimientos minerales cada uno de los cuales requiere de
un tratamiento especfico de los datos de las muestras de manera que se logren los
mejores intervalos de compositacin para la evaluacin de los mismos (Barnes,
1980). Bsicamente existen 3 tipos principales de compsitos y se usan en
dependencia de la naturaleza de la mineralizacin y el mtodo de explotacin:

Compsito de Banco (bench composite): Las muestras se regularizan a intervalos que


coinciden con la altura de los bancos o una fraccin de esta. Se emplea para modelar
los recursos de yacimientos grandes, diseminados de baja ley que se explotan con
minera a cielo abierto (Yacimientos de Cobre porfdico).
Compsito de Pozo (down hole composite): Las muestras se combinan a intervalos
regulares comenzando desde la boca del pozo.
Compsito Geolgico (geological composite): Las muestras se combinan a intervalos
regulares pero respetando los contactos geolgicos entre las distintas unidades. Este
mtodo se emplea para prevenir la dilucin del compsito en el contacto estril
mineral y donde se logra mayor control sobre el proceso de regularizacin.
El empleo de compsito de banco o de pozo en estos casos provoca una distorsin de
la distribucin de la ley ya que se puede adicionar mineral de baja ley a la zona
mineral o mineral de alta ley al estril.
Para escoger la longitud de regularizacin se emplean las siguientes reglas empricas:

El tamao del compsito se selecciona entre la longitud media de las muestras

y el tamao del banco

Para el caso de los cuerpos en los que su anlisis se hace de forma

bidimensional, es necesario computar por pozos una media ponderada de los valores
de todas las variables de inters que abarque todas las muestras positivas del
intervalo mineralizado.

No se debe regularizar muestras grandes en intervalos ms pequeos pues se

introduce una falsa idea de continuidad espacial (fig. 3.1).

Distribucin Uniforme

En teora de probabilidad y estadstica, la distribucin uniforme continua es una


familia de distribuciones de probabilidad para variables aleatorias continuas, tales
que cada miembro de la familia, todos los intervalos de igual longitud en la
distribucin en su rango son igualmente probables. El dominio est definido por dos
parmetros, a y b, que son sus valores mnimo y mximo. La distribucin es a
menudo escrita en forma abreviada como U(a,b).

Funcin de densidad de probabilidad


La funcin de densidad de probabilidad de la distribucin uniforme continua es:

Los valores en los dos extremos a y b no son por lo general importantes porque no
afectan el valor de las integrales de f(x) dx sobre el intervalo, ni de x f(x) dx o
expresiones similares. A veces se elige que sean cero, y a veces se los elige con el
valor 1/(b a). Este ltimo resulta apropiado en el contexto de estimacin por el
mtodo de mxima verosimilitud. En el contexto del anlisis de Fourier, se puede
elegir que el valor de f(a) f(b) sean 1/(2(b a)), para que entonces la transformada
inversa de muchas transformadas integrales de esta funcin uniforme resulten en la
funcin inicial, de otra forma la funcin que se obtiene sera igual "en casi todo
punto", o sea excepto en un conjunto de puntos con medida nula. Tambin, de esta
forma resulta consistente con la funcin signo que no posee dicha ambigedad.

Teorema del lmite central


El teorema del lmite central o teorema central del lmite indica que, en condiciones
muy generales, si Sn es la suma de n variables aleatorias independientes y de
varianza no nula pero finita, entonces la funcin de distribucin de Sn se aproxima
bien a una distribucin normal (tambin llamada distribucin gaussiana, curva de
Gauss o campana de Gauss). As pues, el teorema asegura que esto ocurre cuando la
suma de estas variables aleatorias e independientes es lo suficientemente grande.

Propiedades:
El teorema del lmite central garantiza una distribucin normal cuando n es
suficientemente grande.
Existen diferentes versiones del teorema, en funcin de las condiciones utilizadas
para asegurar la convergencia. Una de las ms simples establece que es suficiente
que las variables que se suman sean independientes, idnticamente distribuidas, con
valor esperado y varianza finitas.
La aproximacin entre las dos distribuciones es, en general, mayor en el centro de las
mismas que en sus extremos o colas, motivo por el cual se prefiere el nombre
"teorema del lmite central" ("central" califica al lmite, ms que al teorema).
Este teorema, perteneciente a la teora de la probabilidad, encuentra aplicacin en
muchos campos relacionados, tales como la inferencia estadstica o la teora de
renovacin.

Python
Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en
una sintaxis que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma, ya que soporta orientacin
a objetos, programacin imperativa y, en menor medida, programacin funcional. Es
un lenguaje interpretado, usa tipado dinmico y es multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de cdigo
abierto, denominada Python Software Foundation License, que es compatible con la
Licencia pblica general de GNU a partir de la versin 2.1.1, e incompatible en
ciertas versiones anteriores.
Python fue creado a finales de los ochenta por Guido van Rossum en el Centro para
las Matemticas y la Informtica (CWI, Centrum Wiskunde & Informatica), en los
Pases Bajos, como un sucesor del lenguaje de programacin ABC, capaz de manejar
excepciones e interactuar con el sistema operativo Amoeba.

Caractersticas y paradigmas:
Python es un lenguaje de programacin multiparadigma. Esto significa que ms que
forzar a los programadores a adoptar un estilo particular de programacin, permite
varios estilos: programacin orientada a objetos, programacin imperativa y
programacin funcional. Otros paradigmas estn soportados mediante el uso de
extensiones.
Python usa tipado dinmico y conteo de referencias para la administracin de
memoria.
Una caracterstica importante de Python es la resolucin dinmica de nombres; es
decir, lo que enlaza un mtodo y un nombre de variable durante la ejecucin del
programa (tambin llamado enlace dinmico de mtodos).
Otro objetivo del diseo del lenguaje es la facilidad de extensin. Se pueden escribir
nuevos mdulos fcilmente en C o C++. Python puede incluirse en aplicaciones que
necesitan una interfaz programable.
Aunque la programacin en Python podra considerarse en algunas situaciones
hostiles a la programacin funcional tradicional del Lisp, existen bastantes analogas
entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme.

Desarrollo:
Para el trabajo he usado el leguaje python, dada sus ventajas principales son: ser
multiplataforma, fcil aprendizaje y uso, capaz de usar libreras grficas. Adems es
uno de los lenguajes de programacin ms usado en la actualidad.

Crear una base de datos:


Como primer paso debemos tener una base de datos con la ley de mineral.

El siguiente cdigo crear un archivo de texto llamado datos.txt, donde escribir los
valores de la ley. Tendrn una distribucin uniforme. Al final se us un condicional
para evitar que se cree un salto de lnea sobrante en nuestro archivo.

def creartxt():
archi=open('datos.txt','w')
print 'Cuantos datos desea simular?'
ndatos=input()
for n in range(ndatos):
archi.write(str(format(float(randint(0,100000))/10000,'.4f')))
if n<ndatos-1:
archi.write('\n')
archi.close()
print 'base de datos creado con exito'
creartxt()

La base de datos se ha creado en el directorio por defecto. Al abrirlo podemos ver


algo similar a la siguiente captura.

10

Se ha dado el valor de 1 000 a la


variable ndatos, con lo cual
hemos obtenido esa cantidad de
casos en nuestra base de datos.

Adems podemos comprobar que nuestras leyes tienen una distribucin uniforme
usando cualquier paquete o programa que grafique distribuciones.

11

Comprobar si es una distribucin uniforme:


Como no est dems hacer la comprobacin, haremos un histogramas de nuestras
leyes usando python. Para lo cual necesitamos tener instalada la librera
matplotlib.pylab, que nos permitir graficar. Esta librera incluye la funcin hist;
show nos mostrar la grfica en una ventana y con savefig podremos guardar la
imagen.

El cdigo es el siguiente:

def histograma():
Intervalos=21
inferior=0
superior=10

from matplotlib.pylab import hist, show, savefig


archi=open('datos.txt','r')
leyes=[]
for linea in archi.readlines():
leyes.append(float(linea[24:29]))
hist(leyes,Intervalos,(inferior,superior))
savefig("histograma.png")
show()
archi.close()
histograma()
print 'histograma guardado en el directorio por default'

Ejecutar nos dar la siguiente grfica:

12

Ya hemos podido comprobar que tenemos una distribucin uniforme con lo cual
procedemos a hacer los compsitos.

13

Composito:
Para comenzar debemos definir nuestro tamao de composito o la cantidad de datos
que deseamos agrupar. Para nuestro anlisis asumiremos que queremos compositos
de 20 datos, por lo que la aplicacin le dar ese valor a la variable contenidos.
Tambin podemos hacer que nuestros compositos compartan datos, si queremos que
tengan 16 datos en comn la aplicacin le dar ese valor a la variable compartidos.

def compositar():
ndatos=len(open('datos.txt').readlines())
contenidos=input("Size de los compositos?\n")
compartidos=input("Numero de datos compartidos?\n")

Lo que la aplicacin har es tomar los 20 primeros valores de nuestra base de datos y
promediarlos haciendo la suma de sus respectivos valores considerando su peso.
Luego har lo mismo con otros 20 datos pero considerando que debe compartir 16
datos con el anterior. El algoritmo seguir hasta que haya compositado toda nuestra
base de datos.

intervalos=ndatos//(contenidos-compartidos)
prom=[0]*intervalos
i=0
indice=0
while i<=ndatos-1:
archi=open('datos.txt','r')
it=(linea for nlin,linea in enumerate(archi) if (nlin>=i and nlin<i+contenidos))
for linea in it:
if indice<intervalos:
prom[indice]=(float(linea)/contenidos)+prom[indice]
indice=indice+1
i=i+contenidos-compartidos
archi.close()

14

El resultado lo guardar tambin en otra base de datos para que est disponible
despus.

archi=open('composito.txt','w')
for n in range(len(prom)):
archi.write(str(format(round(float(prom[n]), 4),'.4f')))
if n<len(prom)-1:
archi.write('\n')
archi.close()
compositar()

Python tambien nos permite graficar la distribucin de nuestro composito.

15

Variograma:
Crear la funcin (h) tambin posible. Con nuestros datos compositados podemos
obtener (h) para h=1,2,3,4,. Nuestra aplicacin Usar una lista a la que llamamos
gamma para guardar todos estos resultados, la aplicacin calcular hasta llegar a
h=100 como mximo.
def variograma():
print'\nCreando variograma...'
H=len(open('composito.txt').readlines())-1
if len(open('composito.txt').readlines())-1 > 100:
H=100
i=0
gamma=[0]*H
for h in range(H):
h=h+1
i=i+1
cuadrados=[0]*(len(open('composito.txt').readlines())-h)
for k in range(len(cuadrados)):
archi=open('composito.txt','r')
it=(linea for nlin,linea in enumerate(archi) if (nlin==k))
for linea in it:
a=linea
archi.close()
archi=open('composito.txt','r')
it=(linea for nlin,linea in enumerate(archi) if (nlin==k+h))
for linea in it:
b=linea
archi.close()
diferencia=float(a)-float(b)
cuadrados[k]=diferencia**2
suma=0
for j in range(len(cuadrados)):
suma=cuadrados[j]+suma
gamma[h-1]=suma/(2*(len(open('composito.txt').readlines())-h))
print 'Y(h) = ',gamma

16
Luego esta lista se guardar en un archivo de texto tambin.
archi=open('variograma.txt','w')
for n in range(len(gamma)):
archi.write(str(format(round(float(gamma[n]), 4),'.4f')))
if n<len(gamma)-1:
archi.write('\n')
archi.close()

Antes de finalizar mostraremos en una ventana el grfico del variograma y se guardar


como variograma.png en la carpeta por defecto.
ejeX=range(1,H+1)
import matplotlib.pyplot as plt
plt.plot(ejeX,gamma,color="red", lw=2, ls='*', marker='o')
plt.plot(ejeX,gamma)
plt.show()

import matplotlib
import matplotlib.pyplot as plti
plt.plot(ejeX,gamma,color="red", lw=2, ls='*', marker='o')
plt.plot(ejeX,gamma)
plti.savefig("variograma.png")

print '...Se creo el variograma.'


variograma()

print '===FIN==='

17

As se visualizar el plot:

Todo esto se guarda como un archivo con el nombre compositar.py (es importante
que termine en .py porque es la extensin de los programas de python). Luego de
eso abrimos nuestra consola o terminal y ejecutamos python ./compositar.py.

18

Anlisis:
Como primer paso debemos hacer correr la aplicacin para cada caso que nos piden:

Sin agrupar ni compartir datos (referencia)


Resultados:

Grficas:

19

AGRUPANDO DE 20 EN 20
Sin compartir datos (referencia)
Resultados:

Grficas:

Compartiendo 4 datos
Resultados:

Grficas:

20

Compartiendo 8 datos
Resultados:

Grficas:

Compartiendo 12 datos
Resultados:

Grficas:

21

Compartiendo 16 datos
Resultados:

Grficas:

Superposicin de histogramas:
Histograma de C1, C2, C3, C4
Normal
Variable
C4
C8
C12
C16

0.6

Densidad

0.5

Media Desv.Est.
N
4.967
0.6662 625
4.974
0.6687 833
4.967
0.6739 1250
4.974
0.6763 2500

0.4
0.3
0.2
0.1
0.0

4
Datos

22

Conclusiones

Se ha tomado una muestra de 10 000 datos aleatorios con distribucin uniforme. Se


ha logrado analizar para un tamao de composito igual a 20, y {4, 8, 12, 16} datos
compartidos.

Al agrupar nuestras muestras hemos obtenido una distribucin normal tal y como lo
afirma el teorema del lmite central.

Para un tamao de composito de 20, se ha determinado que al compartir datos, la


desviacin estndar (y por ende tambin la varianza) aumenta ligeramente entre ms
datos se compartan.

Los variogramas que resultan de cambiar la cantidad de datos compartidos tienen una
lnea de tendencia similar para un mismo tamao de compsito. Pero al aumentar los
datos compartidos, obtenemos un variograma semejante al modelo esfrico.

Al aumentar la cantidad de datos compartidos el variograma presenta una dispersin


menor de su lnea de tendencia.

23

Bibliografa

Dr. Marn (UNI-2014II) Clases del curso Geoestadstica II.

J. Han, M. Kamber and A. K. H. Tung - Spatial Clustering Methods In Data


Mining

Guido Van Rossum (2009) El tutorial de Python

Enlaces externos:

Algoritmo de Agrupamiento:
http://es.wikipedia.org/wiki/Algoritmo_de_agrupamiento
Teorema del Lmite Central:
http://es.wikipedia.org/wiki/Teorema_del_l%C3%ADmite_central
Python:
http://es.wikipedia.org/wiki/Python
http://pythonya.appspot.com/
http://www.mclibre.org/consultar/python/index.html
http://matplotlib.org
https://www.python.org/

You might also like