Laboratorio 2 Estadística en Python - Parte 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

PRÁCTICA 2 BIG DATA

ESTADÍSTICA DESCRIPTIVA CON PYTHON- Parte 1

Introducción
La función disruptiva del BIG DATA ha transformado el papel de la ESTADÍSTICA en los
últimos años, en efecto, la explosión del BIG DATA claramente presenta nuevos retos: un
mayor volumen, velocidad y variedad de datos, nunca antes vistos. Por ejemplo, se estima que
el 90% de los datos en el mundo de hoy se han creado en los últimos 2 años. La cantidad de
datos recopilados desde los albores de la humanidad hasta 2003 era el equivalente al volumen
que ahora producimos cada 2 días (director ejecutivo de Google, Eric Schmidt).

En este contexto, se ha producido un cambio repentino. Hemos pasado de un mundo en que lo


difícil era obtener un volumen de datos suficiente y fiable, a un mundo donde estamos
inundados de ellos y con una capacidad de procesamiento mayor que nunca.

Hoy en día necesitamos más que nunca la alfabetización ESTADÍSTICA, para entender el
mundo que nos rodea y evitar la proliferación de afirmaciones engañosas o falsas (ya sea por
políticos, publicistas, vendedores, etc.).

Cuanta más información tenemos más probable es que encontremos relaciones entre
variables, aunque no necesariamente estas serán reales. Discernir una relación causal de una
correlación espuria es y será un punto clave. Es aquí donde la ESTADÍSTICA tiene mucho para
ofrecernos, nos permitirá separar la “paja” del “trigo”.

La ESTADÍSTICA emplea MÉTODOS DESCRIPTIVOS y de INFERENCIA ESTADÍSTICA. Los


primeros se ocupan de la recolección, organización, tabulación, presentación y reducción de la
información.

En el caso de la ESTADÍSTICA DESCRIPTIVA se sustituye o reduce el conjunto de datos


obtenidos por un pequeño número de valores descriptivos, como pueden ser: el promedio, la
mediana, la media geométrica, la varianza, la desviación típica, etc. Estas MEDIDAS
DESCRIPTIVAS pueden ayudar a brindar las principales propiedades de los datos observados,
así como las características clave de los fenómenos bajo investigación.

Por lo general, la información proporcionada por la ESTADÍSTICA DESCRIPTIVA puede ser


trasmitida con facilidad y eficacia mediante una variedad de herramientas gráficas, como
pueden ser: gráficos de tendencia, gráficos de dispersión, histogramas, entre otros.

Estos métodos gráficos son de mucha utilidad para entender con claridad un fenómeno
analizado. La evolución de la inflación, el tipo de cambio, del PIB u otros indicadores macro
pueden ser analizados, por ejemplo, con gráficos de tendencia.

Así, la ESTADÍSTICA DESCRIPTIVA constituye un modo relativamente sencillo y eficiente para


resumir y caracterizar datos. También ofrece una manera conveniente de presentar la
información recopilada. Este método es potencialmente aplicable a todas las situaciones que
involucran el uso de datos. Además de ayudar en el análisis e interpretación de los datos,
constituye una valiosa ayuda en el proceso de toma de decisiones.

Ejercicio
Se dispone de una muestra de 10 personas para las que se han medido las variables:
 EDAD (en años)
 SEXO (codificada como 0: “Hombre”; 1:“Mujer”)
 NIVEL DE ESTUDIOS ( 0: “Sin estudios”; 1: “Estudios Primarios”; 2: “Estudios
Secundarios”; 3:“Estudios Superiores”)
Los datos se muestran en la tabla siguiente:
edadsexoestudios
18 0 1
19 1 2
0 0
18 0 1
24 1 3
17 0 2
22 0 3
15 1 1
22 1 2
25 0 3
Con estos datos se desea:
1) Construir tablas de frecuencias unidimensionales para las tres variables.
2) Construir una tabla de frecuencias cruzadas con las variables “sexo” y “nivel de
estudios”.
3) Construir una tabla de frecuencias de la variable edad agrupada en intervalos.

Iniciamos con la importación de librerías que utilizaremos:

import pandas as pd
import matplotlib.pyplot as plt

Continuamos construyendo las variables por medio de las siguientes órdenes:

df = pd.DataFrame({'edad': [18, 19, None, 18, 24, 17, 22, 15, 22, 25],
'sexo': [0, 1, 0, 0, 1, 0, 0, 1, 1, 0],
'estudios': [1, 2, 0, 1, 3, 2, 3, 1, 2, 3]})

Dado que los valores asociados a las variables “sexo” y “estudios” son categorías,
recodificamos dichas variables, asignando las etiquetas adecuadas:

df = df.replace({'sexo': {0: 'Hombre', 1: 'Mujer'},


'estudios': {0: 'Sin estudios', 1: 'Estudios Primarios',
2: 'Estudios Secundarios', 3: 'Estudios Superiores'}})

Una vez que hemos introducido los datos procedemos a resolver la tarea solicitada
inicialmente.
Tablas de frecuencias unidimensionales
1. Construir las tablas de frecuencias unidimensionales para las variables edad, sexo y
nivel de estudios. Aquí se muestra como ejemplo el caso de edad y de forma análoga
se construyen para las otras dos variables
En Python los comandos para el reporte de frecuencias absolutas se puede hacer mediante el
método value_counts() y el de frecuencias relativas mediante value_counts(normalize=True).

df['edad'].value_counts(dropna=False)

Debemos notar que, por defecto, Python no muestra cuantos valores perdidos hay en los datos.
Para ello debemos utilizar la opción dropna=False, como se hizo en el caso anterior.

Para el caso de las frecuencias relativas:

df['edad'].value_counts(dropna=False, normalize=True)

Basta con hacer con value_counts() y como parámetro pasar un normalize=True.

Podemos mostrar la frecuencia absoluta acumulada de cada valor de la variable edad:

df['edad'].value_counts(dropna=False).cumsum()

Al comando hecho para frecuencia absoluta, basta con aplicar el método cumsum(), el cual irá
haciendo la suma acumulada.

De la misma forma, podemos también mostrar la frecuencia relativa acumulada de cada valor
de la variable edad:

df['edad'].value_counts(dropna=False, normalize=True).cumsum()
Incluso, es posible crear una tabla con los distintos tipos de frecuencias:

fa =
df['edad'].value_counts(dropna=False).rename_axis('edad').reset_index(name='f
a')
fr = df['edad'].value_counts(dropna=False,
normalize=True).rename_axis('edad').reset_index(name='fr').drop(columns=['eda
d'])
faa =
df['edad'].value_counts(dropna=False).cumsum().rename_axis('edad').reset_inde
x(name='faa').drop(columns=['edad'])
fra = df['edad'].value_counts(dropna=False,
normalize=True).cumsum().rename_axis('edad').reset_index(name='fra').drop(col
umns=['edad'])

fa.join(fr.join(faa.join(fra))) tablafrecuencias

Tablas de frecuencias cruzadas


2. Construir una tabla de frecuencias cruzadas con las variables anteriores.

Las tablas de frecuencias cruzadas se construyen con la función crosstab() y especificando


ahora las dos variables que se desean cruzar.

pd.crosstab(df['estudios'], df['sexo'])

Tabla de frecuencias de una variable continua agrupada en intervalos


3. Construir una tabla de frecuencias de la variable edad agrupada en intervalos.

La función value_counts() y su parámetro bins nos permitirá determinar el rango de la variable


edad, es decir, se determina el rango en que se sitúan los valores de edad.

df['edad'].value_counts(bins=10)
Como se aprecia, se decidió por hacer 10 bins. Si se quiere hacer de forma gráfica, y que se
nos recomiende una cantidad de bins, se puede hacer mediante un histograma.
Vamos a hacer uso de una librería gráfica de Python, llamada matplotlib (la cual importamos al
principio del ejercicio). Mediante el comando a continuación, se puede construir un histograma
de la variable edad:

plt.hist(df['edad'].dropna())
plt.title('Histograma Edad')
plt.xlabel('Edad')
plt.ylabel('Frecuencia')
plt.show()

Notar que al construir el histograma, pasamos los datos de edad, aplicando el método
dropna(). Esto se hace dado que edad tiene datos nulos, y este método los descarta.

También podría gustarte