Muestreo y estimaciones puntuales

Muestreo en Python

James Chapman

Curriculum Manager, DataCamp

Estimando la población de Francia

Un mapa de Francia.

Un censo pregunta a cada hogar cuántas personas viven allí.

Muestreo en Python

Hay mucha gente en Francia

Un mapa de Francia con iconos de personas.

¡Los censos son muy caros!

Muestreo en Python

Muestreo de hogares

Un mapa de Francia con iconos de personas, algunas resaltadas.

Sale más barato preguntar a pocos hogares y usar estadística para estimar la población

Trabajar con un subconjunto de la población total se llama muestreo

Muestreo en Python

Población vs. muestra

La población es el conjunto completo de datos

  • No tiene por qué referirse a personas
  • Normalmente no conocemos toda la población

 

La muestra es el subconjunto de datos con el que calculas

Muestreo en Python

Conjunto de datos de catas de café

total_cup_points variety country_of_origin aroma flavor aftertaste body balance
90.58 NA Ethiopia 8.67 8.83 8.67 8.50 8.42
89.92 Other Ethiopia 8.75 8.67 8.50 8.42 8.42
... ... ... ... ... ... ... ...
73.75 NA Vietnam 6.75 6.67 6.5 6.92 6.83

 

  • Cada fila representa 1 café
  • 1338 filas
  • Trataremos esto como la población
Muestreo en Python

Puntos vs. sabor: población

pts_vs_flavor_pop = coffee_ratings[["total_cup_points", "flavor"]]
      total_cup_points  flavor
0                90.58    8.83
1                89.92    8.67
2                89.75    8.50
3                89.00    8.58
4                88.83    8.50
...                ...     ...
1333             78.75    7.58
1334             78.08    7.67
1335             77.17    7.33
1336             75.08    6.83
1337             73.75    6.67

[1338 filas x 2 columnas]
Muestreo en Python

Puntos vs. sabor: muestra de 10 filas

pts_vs_flavor_samp = pts_vs_flavor_pop.sample(n=10)
      total_cup_points  flavor
1088             80.33    7.17
1157             79.67    7.42
1267             76.17    7.33
506              83.00    7.67
659              82.50    7.42
817              81.92    7.50
1050             80.67    7.42
685              82.42    7.50
1027             80.92    7.25
62               85.58    8.17

[10 filas x 2 columnas]
Muestreo en Python

Muestreo en Python para Series

  • Usa .sample() para DataFrames y Series de pandas
cup_points_samp = coffee_ratings['total_cup_points'].sample(n=10)
1088    80.33
1157    79.67
1267    76.17
...     ... 
685     82.42
1027    80.92
62      85.58
Name: total_cup_points, dtype: float64
Muestreo en Python

Parámetros poblacionales y estimaciones puntuales

Un parámetro poblacional es un cálculo sobre el conjunto de datos de la población

import numpy as np
np.mean(pts_vs_flavor_pop['total_cup_points'])
82.15120328849028

Una estimación puntual o estadístico muestral es un cálculo sobre la muestra

np.mean(cup_points_samp)
81.31800000000001
Muestreo en Python

Estimaciones puntuales con pandas

pts_vs_flavor_pop['flavor'].mean()
7.526046337817639
pts_vs_flavor_samp['flavor'].mean()
7.485000000000001
Muestreo en Python

¡Vamos a practicar!

Muestreo en Python

Preparing Video For Download...