Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Desafío 3: Pruebas de Hipótesis | Estadísticas
Desafío de Entrevista en Ciencia de Datos

book
Desafío 3: Pruebas de Hipótesis

El fascinante ámbito de la estadística alberga el intrincado proceso de comprobación de hipótesis. En esencia, la comprobación de hipótesis consiste en hacer inferencias sobre poblaciones a partir de datos de muestra. Formulamos hipótesis y las probamos, extrayendo conclusiones sobre conjuntos de datos más amplios mediante el análisis de un subconjunto.

Por ejemplo, si estamos estudiando el impacto de un nuevo método de enseñanza en un aula y observamos una mejora significativa en las notas de los alumnos, ¿podemos afirmar de forma concluyente que el método es eficaz? La respuesta está en las pruebas de hipótesis.


Este es el conjunto de datos que utilizaremos en este capítulo. Siéntete libre de sumergirte y explorarlo antes de abordar la tarea.

import matplotlib.pyplot as plt
import seaborn as sns

# Load the dataset
data = sns.load_dataset('tips')

# Sample of data
display(data.head())

# Total bill amounts grouped by smoking status
sns.boxplot(x='smoker', y='total_bill', data=data)
plt.title('Total Bill Amounts Grouped by Smoking Status')
plt.show()

# Number of smokers vs. non-smokers by gender
sns.countplot(x='sex', hue='smoker', data=data)
plt.title('Number of Smokers vs. Non-Smokers by Gender')
plt.show()
123456789101112131415161718
import matplotlib.pyplot as plt import seaborn as sns # Load the dataset data = sns.load_dataset('tips') # Sample of data display(data.head()) # Total bill amounts grouped by smoking status sns.boxplot(x='smoker', y='total_bill', data=data) plt.title('Total Bill Amounts Grouped by Smoking Status') plt.show() # Number of smokers vs. non-smokers by gender sns.countplot(x='sex', hue='smoker', data=data) plt.title('Number of Smokers vs. Non-Smokers by Gender') plt.show()
copy
Tarea
test

Swipe to show code editor

En este ejercicio, aprovechando el conjunto de datos tips de Seaborn, lo harás:

  1. Comprobar si existe una diferencia significativa en las cantidades de total_bill entre fumadores y no fumadores. Utilice la prueba U de Mann-Whitney.
  2. Examine la relación entre las columnas sexo y fumador, determinando si estas dos variables categóricas son independientes entre sí.

Nota

En esta tarea, el nivel de significación (alfa) para el valor p se establece en "0,1", en lugar del "0,05" convencional. La elección de alfa puede variar en función del contexto, el nivel de rigor requerido o las prácticas específicas del sector; entre los valores adoptados habitualmente se incluyen "0,01", "0,05" y "0,1".

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 6. Capítulo 3
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import mannwhitneyu, chi2_contingency

# Load the dataset
data = sns.load_dataset('tips')

# 1. Test whether there is a significant difference in 'total_bill' between smokers and non-smokers using Mann–Whitney test.
smokers = data[data['smoker'] == ___]['total_bill']
non_smokers = data[data['smoker'] == ___]['total_bill']
u_val, p_val = ___(smokers, non_smokers)
alpha = 0.1
if ___ alpha:
print(f"There is a significant difference in 'total_bill' between smokers and non-smokers (p={p_val:.2f}).")
else:
print(f"There is no significant difference in 'total_bill' between smokers and non-smokers (p={p_val:.2f}).")

# 2. Test whether there is a relationship between 'sex' and 'smoker' using a chi-squared test.
contingency_table = pd.___(data['sex'], data['smoker'])
chi2, p_val2, _, _ = ___(contingency_table)
alpha = 0.1
if ___ alpha:
print(f"There is a significant relationship between 'sex' and 'smoker' (p={p_val2:.2f}).")
else:
print(f"There is no significant relationship between 'sex' and 'smoker' (p={p_val2:.2f}).")
toggle bottom row
some-alt