Professional Documents
Culture Documents
Resumen
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:
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.
Distribucin Uniforme
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.
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.
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()
10
Adems podemos comprobar que nuestras leyes tienen una distribucin uniforme
usando cualquier paquete o programa que grafique distribuciones.
11
El cdigo es el siguiente:
def histograma():
Intervalos=21
inferior=0
superior=10
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()
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()
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 '===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:
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
Al agrupar nuestras muestras hemos obtenido una distribucin normal tal y como lo
afirma el teorema del lmite central.
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.
23
Bibliografa
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/