- 1

Estadística Inferencial para Ciencia de Datos e IA
03:43 - 2

Componentes Básicos de la Estadística
06:37 - 3

Distribución Normal: Conceptos y Ejemplos Prácticos
03:08 - 4

Tipos de Muestreo y Teorema del Límite Central
05:21 - 5

Funciones de muestra en Python: aleatorio y sistemático
11:17 - 6

Muestreo Estratificado: Creación y Aplicación en Python
15:08 Quiz: Estadística inferencial para analítica
Muestreo Estratificado: Creación y Aplicación en Python
Clase 6 de 22 • Curso de Estadística Inferencial para Data Science e Inteligencia Artificial
Contenido del curso
- 7

Cálculo de la Media Muestral y Conceptos de Estadística Básica
04:47 - 8

Diferencias entre varianza y desviación estándar muestral y poblacional
04:09 - 9

Varianza y Desviación Estándar Automatizadas en Python
13:30 - 10

Intervalos de Confianza en Estadística y Ciencia de Datos
05:18 - 11

Cálculo de Intervalos de Confianza paso a paso
07:25 - 12

Cálculo y visualización de intervalos de confianza en Python
09:36 Quiz: Estadísticos y cálculos
- 13

Pruebas de Hipótesis en Ciencia de Datos e Inteligencia Artificial
03:39 - 14

Pruebas de Hipótesis: Test-Student, Pearson y ANOVA
02:35 - 15

Errores Tipo I y II en Pruebas de Hipótesis
04:02 - 16

Pruebas de Hipótesis con Python: Distribución t de Student
11:26 - 17

Análisis de Correlación y ANOVA en Python
06:19 - 18

Técnica de Bootstrapping para Muestras Pequeñas
02:34 - 19

Bootstrapping y Remuestreo en Python: Automatización Práctica
05:22 - 20

Validación Cruzada en Modelos de Inteligencia Artificial
02:17 - 21

Automatización de Validación Cruzada en Python para Modelos Predictivos
12:04 Quiz: Hipótesis y validación
¿Cómo implementar muestreo estratificado en Python?
El muestreo estratificado es una herramienta poderosa en el análisis de datos que garantiza que todas las subpoblaciones relevantes sean representadas adecuadamente. Este enfoque se basa en dividir el conjunto de datos en grupos homogéneos, llamados estratos, y luego tomar muestras aleatorias de cada uno de estos. En este caso, vamos a aprender cómo realizarlo utilizando Python y algunas de sus populares librerías.
Configuración inicial y creación de variables
Primero, es fundamental crear una nueva variable de estratificación que nos permitirá dividir nuestros datos en los diferentes grupos homogéneos. En este ejemplo, partimos de una base de datos llamada EconData y usamos las columnas relacionadas con la ubicación y el tipo de establecimiento para crear esta variable.
EconData['estratificado'] = EconData['delegacion'] + ',' + EconData['tipo']
El método utilizado es la concatenación de las columnas delegacion y tipo, separadas por una coma. Notarás que un pequeño error, como el uso incorrecto de espacios o caracteres, puede causar problemas en la ejecución del código.
Recuento de apariciones y ordenación de datos
Para verificar cómo se distribuyen nuestras categorías estratificadas, se procede a contabilizar y ordenar estas proporciones.
proporciones_estratificadas = EconData['estratificado'].value_counts(normalize=True).sort_values(ascending=False)
Esto te permitirá observar los segmentos predominantes de tu data y establecer la proporción deseada para cada estrato.
Definición de la función de muestreo estratificado
La pieza clave para implementar este método es crear una función que ajuste la selección de muestras basándonos en las proporciones deseadas. Esta función se encargará de:
- Iterar sobre cada estrato.
- Calcular el número de muestras necesarias basadas en las proporciones definidas.
- Concatenar cada subconjunto en un DataFrame final.
import pandas as pd
def data_estratificada(df, strat, proporciones, random_state=None):
# DataFrame resultante
df_estratificado = pd.DataFrame(columns=df.columns)
# Iterar sobre cada estrato
for valor_strat in strat:
# Filtrar por el valor del estrato
df_filtrado = df[df['estratificado'] == valor_strat]
# Definir el tamaño de la muestra
num_samples = int(proporciones[valor_strat] * len(df))
if len(df_filtrado) < num_samples:
num_samples = len(df_filtrado)
# Extraer la muestra
df_sample = df_filtrado.sample(n=num_samples, random_state=random_state)
# Concatenar el resultado
df_estratificado = pd.concat([df_estratificado, df_sample], ignore_index=True)
return df_estratificado
Ejecución de la función y visualización de los resultados
Finalmente, aplicamos la función creada para generar nuestra muestra estratificada. Es importante asegurarse de que las proporciones establecidas sumen el 100% para obtener resultados precisos.
# Definición de los valores y proporciones
valores_strat = [
"Cuauhtemoc,hotel",
"Cuauhtemoc,museo",
"Venustiano Carranza,hotel",
"Cuauhtemoc,mercado",
"Venustiano Carranza,mercado"
]
proporciones = {
"Cuauhtemoc,hotel": 0.5,
"Cuauhtemoc,museo": 0.2,
"Venustiano Carranza,hotel": 0.1,
"Cuauhtemoc,mercado": 0.1,
"Venustiano Carranza,mercado": 0.1
}
# Generación de la muestra
muestra_estratificada = data_estratificada(EconData, valores_strat, proporciones, random_state=42)
Este proceso es flexible y se puede adaptar a diferentes conjuntos de datos y contextos. Además, con cada aplicación, te familiarizarás más con el flujo de un análisis estratificado, lo que te permitirá realizar trabajos más precisos y representativos.
Consejos prácticos
- Verifica tus datos: Antes de empezar con el muestreo, asegúrate de entender la heterogeneidad y la distribución del conjunto de datos.
- Prueba diferentes escenarios: La estratificación puede variar dependiendo de los criterios seleccionados. Es crucial revisar y ajustar las proporciones para reflejar cambios en el patrón.
- Documenta cada paso: Una buena práctica es realizar anotaciones sobre las decisiones tomadas en cada fase, lo que beneficiará revisiones futuras y colaboraciones.
Es importante reconocer que dominar el muestreo estratificado lleva tiempo y práctica, pero es muy valioso para garantizar una representación más precisa de diversas poblaciones. ¡Anímate a experimentar con tus conjuntos de datos y continúa fortaleciendo tus habilidades en análisis de datos!