Vous êtes sur la page 1sur 6

Mtodos estadsticos en recursos hdricos

con Python
El siguiente documento desarrolla las estadsticas sobre recursos hdricos,
orientado en los cdigos de Phyton. La teora proviene del Captulo 1 de Statistical
Methods in Water Resources Techniques of Water Resources Investigations (Hesel,
2002). Los scripts estn escritos en Python con la interfase IPython.

Medidas de Ubicacin
Medida clsica la media
La media (X) se calcula como la suma de todos los valores de datos (Xi), dividido
por el tamao de la muestra. Aquellos datos que se encuentren a mayor distancia
del centro ejercen una fuerza hacia abajo que los ms cercanos al centro. Si se
elimina un punto cerca del centro, el punto de equilibrio slo necesitar un
pequeo ajuste para mantener el conjunto de datos en equilibrio. Pero si se
suprimiera un valor de los valores lmite, el punto de equilibrio se desplazara de
manera dramtica. La media no es una medida "resistente" de ubicaci n.
La media (tringulo) como punto de equilibrio de un conjunto de datos.

Variacin de la media hacia abajo luego de retirar un valor atpico (outlier).


Figura 1. Dependencia de la media por valores extremos (Hesel, 2002).

Medida resistente - la Mediana


La mediana o percentil 50 P0.50, es el valor central de la distribucin cuando los
datos se clasifican por orden de magnitud. La mediana es slo mnimamente
afectada por la magnitud de una sola observacin. La resistencia al efecto del
cambio en un valor o a la presencia de observaciones perifricas es a menudo una
propiedad deseable.

Ejemplo:
In[]:
import numpy as np
a = np.array([2,4,8,9,11,11,12])
b = np.array([2,4,8,9,11,11,120])
print "La media arimetrica del set a es: ", np.mean(a)
print "La media arimetrica del set b es: ", np.mean(b)
print "Pero"
print "El valor medio del set a es: ", np.median(a)
print "El valor medio del set b es: ", np.median(b)
Out[]:
La media arimetrica del set a es:8.14285714286
La media arimetrica del set b es:23.5714285714
Pero
El valor medio del set a es:9.0
El valor medio del set b es:9.0

Otras medidas de Ubicacin


Otras tres medidas de tendencia que se utilizan con menor frecuencia
son: el moda, la media geomtrica, la media armnica y la media
truncada.

Moda
Es el valor que tiene la barra ms alta en un histograma. Es mucho ms
aplicable para datos agrupados, datos que se registran nicamente de la
manera en que llegan a un nmero finito de categoras, a diferencia de
los datos continuos. Es muy fcil de obtener, sin embargo, es una pobre

medida de ubicacin para datos continuos, ya que su valor depende a


menudo de la agrupacin arbitraria de esos datos.

Ejemplo:
In[]:
import numpy as np
import scipy.stats
a = np.array([1,2,3,1,2,1,1,1,3,2,2,1])
b = (3,4,5,6,7,8,5,5,6,2,3,1,2,5,5,1,3,2,2,1)
print "La moda del set a es: ", scipy.stats.mode(a)
print "La moda del set b es: ", scipy.stats.mode(b)
#Sino quisieramos ver los parentesis tendriamos que hacer
este script
print "La moda del set a es: ", scipy.stats.mode(a)[0][0],
"y se repite",scipy.stats.mode(a)[1][0] ,"veces"
print "La moda del set b es: ", scipy.stats.mode(b)[0][0],
"y se repite",scipy.stats.mode(a)[1][0] ,"veces"
Out[]:
La moda del set a es:(array([ 1.]), array([ 6.]))
La moda del set b es:(array([ 5.]), array([ 5.]))
La moda del set a es:1.0 y se repite 6.0 veces
La moda del set b es:5.0 y se repite 6.0 veces

Media Geomtrica
La media geomtrica (GM) con frecuencia se reporta para un conjuntos
de datos positivamente sesgados. GM es la media de los logaritmos,
transforma de nuevo a sus unidades originales.
GM = exp (Meany), donde Yi = ln (Xi) ... eq 1,5

Media armnica
Calcula la media armnica a lo largo del eje especificado.
Esto es: n / (1/x1 + 1/x2 + ... + 1/xn)

Media truncada
El compromiso entre la mediana y la media est reflejado por la media
truncada de las observaciones de menor a mayor valor y el clculo de la
media de lo que queda.
Estos

estimadores

son

llamados

"medias

truncadas"

cualquier

porcentaje deseable de datos puede ser recortado. El recorte ms


comn es eliminar el 25 por ciento de los datos en cada extremo.
Diagrama de la media truncada.
Figura 2. Esquema de la media truncada (Hesel, 2002).
Ejemplo:
In[]:
import numpy as np
import scipy.stats
#inicializamos el diccionario
datos = {}
#abrimos el archivo con los datos y poblamos el diccionario
precipfile = open("C:\\Users\\Saul\\Dropbox\\Curso_19_Python_en_
Hidrologia\\1_Doc\\AuxFiles\\Ejercicio_Media_Geometrica.txt",'r')
for precipline in precipfile:
(clave,valor) = precipline.split()
datos[clave] = valor

print datos
#borramos el encabezado y generamos un array de numpy con los datos
de precipitacion
del datos['Year']
print datos
ppt = np.array([float(v) for k,v in datos.iteritems()])
print ppt
#calculamos la media geometrica
mediageom = scipy.stats.mstats.gmean(ppt)
print "La media geomtrica es =", mediageom
#calculamos la media armnica
mediaarmo = scipy.stats.mstats.hmean(ppt)
print "La media armnica es =", mediaarmo
#calculamos la media
media = scipy.stats.cmedian(ppt,numbins=1000)
print "La media =", media
#calculamos los percentile 25% y 75% y hallamos la media recortada
liminf = scipy.stats.scoreatpercentile(ppt,25)
limsup = scipy.stats.scoreatpercentile(ppt,75)
print "El 25% percentil es =", liminf, "y el 75% percentil es =",
limsup
trimean = scipy.stats.mstats.tmean(ppt,(108.2,136.025))
print "La media recortada es =", trimean
Out[]:
{'1991': '105.5', '1990': '136.7', '1993': '205.7', '1992': '109.1',
'1995': '124', '1994': '169.8', '1997': '110', '1996': '114.1',
'1999': '111', '1998': '109.1', '2005': '98.1', '1988': '132.3',
'1989': '135.8', '2002': '151.4', '2003': '164.2', '2000': '104.9',
'2001': '133.2', '2006': '96.2', '2007': '99.1', '2004': '130.2',
'Year': 'Ppt_mm'}
{'1991': '105.5', '1990': '136.7', '1993': '205.7', '1992': '109.1',
'1995': '124', '1994': '169.8', '1997': '110', '1996': '114.1',
'1999': '111', '1998': '109.1', '2005': '98.1', '1988': '132.3',

'1989': '135.8', '2002': '151.4', '2003': '164.2', '2000': '104.9',


'2001': '133.2', '2006': '96.2', '2007': '99.1', '2004': '130.2'}
[ 105.5136.7205.7109.1124. 169.8110. 114.1111. 109.1
98.1132.3135.8151.4164.2104.9133.2 96.2 99.1130.2]
La media geomtrica es = 124.394628085
La media armnica es = 122.082926002
La media = 114.121171171
El 25% percentil es = 108.2 y el 75% percentil es = 136.025
La media recortada es = 120.88

Referencias
Helsel, D.R. y R. M. Hirsch, 2002. Statistical Methods in Water Resources
Techniques of Water Resources Investigations, Tomo 4, Captulo A3. U.S.
Geological Survey. 522 pginas.

Vous aimerez peut-être aussi