Con Mi Profe: Julio Hurtado Marquez; EMAIL_TAREAS: juliohurtado210307@gmail.com
Ciencias de la Salud • Psicología • Comunicación Social • Negocios • Administración • Ingeniería
| Sección | Título |
|---|---|
| 1 | Prueba de Hipótesis para la Media Muestral (1 muestra) |
| 2 | Prueba de Hipótesis para Diferencia de Medias (2 muestras independientes) |
| 3 | Prueba de Hipótesis para Diferencia de Medias (muestras pareadas) |
| 4 | Prueba de Hipótesis para una Proporción |
| 5 | Prueba de Hipótesis para Diferencia de Proporciones |
| 6 | Prueba de Hipótesis para la Varianza |
| 7 | Prueba de Hipótesis para el Cociente de Varianzas |
📝 Contexto: Un médico cardiólogo sospecha que la presión arterial sistólica promedio de sus pacientes hipertensos es superior a 130 mmHg, el umbral clínico de preocupación. Toma una muestra de 25 pacientes.
🔢 Datos: Muestra de 25 pacientes: media = 135 mmHg, desviación estándar = 8 mmHg. (σ desconocido, usar t de Student)
📐 Solución analítica:
Hipótesis:
Nivel de significancia: α = 0.05
Estadístico de prueba:
Valor crítico: t₀.₀₅,₂₄ = 1.711
Regla de decisión: Rechazar H₀ si t > 1.711
Decisión: t = 3.125 > 1.711 → Se rechaza H₀
Conclusión: La presión arterial promedio de los pacientes es significativamente superior a 130 mmHg, requiriendo intervención médica.
📊 Región de rechazo (R):
# Región crítica en R
library(ggplot2)
x <- seq(-4, 6, length=200)
y <- dt(x, df=24)
t_critico <- qt(0.95, df=24)
t_obs <- 3.125
ggplot(data.frame(x=x, y=y), aes(x=x, y=y)) +
geom_line(color="blue", size=1.2) +
geom_area(data=subset(data.frame(x=x, y=y), x>t_critico), aes(y=y), fill="red", alpha=0.5) +
geom_vline(xintercept=t_critico, linetype="dashed", color="red", size=1) +
geom_vline(xintercept=t_obs, color="green", size=1.5) +
annotate("text", x=t_critico+0.5, y=0.05, label=paste("t crítico =", round(t_critico,3)), color="red") +
annotate("text", x=t_obs+0.5, y=0.1, label=paste("t observado =", round(t_obs,3)), color="green") +
labs(title="Región de rechazo - Prueba t unilateral superior", x="Estadístico t", y="Densidad") +
theme_minimal()Solución en R:
set.seed(123)
pacientes <- rnorm(25, mean = 135, sd = 8)
t.test(pacientes, mu = 130, alternative = "greater")Solución en Python:
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
np.random.seed(123)
pacientes = np.random.normal(135, 8, 25)
t_stat, p_valor = stats.ttest_1samp(pacientes, 130, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")
# Región de rechazo
x = np.linspace(-4, 6, 200)
y = stats.t.pdf(x, df=24)
t_critico = stats.t.ppf(0.95, df=24)
plt.figure(figsize=(10,6))
plt.plot(x, y, 'b-', linewidth=2)
plt.fill_between(x[x>t_critico], 0, y[x>t_critico], color='red', alpha=0.5)
plt.axvline(x=t_critico, color='red', linestyle='--', linewidth=1.5, label=f't crítico = {t_critico:.3f}')
plt.axvline(x=t_stat, color='green', linewidth=2, label=f't observado = {t_stat:.3f}')
plt.title('Región de rechazo - Prueba t unilateral superior')
plt.xlabel('Estadístico t')
plt.ylabel('Densidad')
plt.legend()
plt.show()📝 Contexto: Un psicólogo cognitivo afirma que el tiempo de reacción promedio ante un estímulo visual es de 0.25 segundos. Sospecha que ha aumentado. Toma una muestra de 30 sujetos.
🔢 Datos: Muestra: media = 0.27 s, desviación estándar = 0.04 s.
📐 Solución analítica:
Hipótesis: H₀: μ ≤ 0.25; H₁: μ > 0.25
Estadístico de prueba:
Valor crítico: t₀.₀₅,₂₉ = 1.699
Decisión: t = 2.74 > 1.699 → Se rechaza H₀
Conclusión: El tiempo de reacción promedio ha aumentado significativamente.
Solución en R:
set.seed(456)
tiempos <- rnorm(30, mean = 0.27, sd = 0.04)
t.test(tiempos, mu = 0.25, alternative = "greater")Solución en Python:
np.random.seed(456)
tiempos = np.random.normal(0.27, 0.04, 30)
t_stat, p_valor = stats.ttest_1samp(tiempos, 0.25, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Una empresa afirma que su puntuación de satisfacción es 8.5/10. El gerente sospecha que es diferente. Encuesta a 50 clientes.
🔢 Datos: Muestra: media = 8.2, desviación estándar = 1.0.
📐 Solución analítica (bilateral):
Hipótesis: H₀: μ = 8.5; H₁: μ ≠ 8.5
Estadístico de prueba:
Valor crítico: t₀.₀₂₅,₄₉ = ±2.01
Decisión: |t| = 2.13 > 2.01 → Se rechaza H₀
Conclusión: La satisfacción promedio es significativamente diferente de 8.5.
Solución en R:
Solución en Python:
np.random.seed(101)
satisfaccion = np.random.normal(8.2, 1.0, 50)
t_stat, p_valor = stats.ttest_1samp(satisfaccion, 8.5)
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Una fábrica produce varillas que deben tener resistencia promedio de 500 MPa. El ingeniero sospecha que es menor. Prueba 32 varillas.
🔢 Datos: Muestra: media = 485 MPa, desviación estándar = 25 MPa.
📐 Solución analítica (unilateral inferior):
Hipótesis: H₀: μ ≥ 500; H₁: μ < 500
Estadístico de prueba:
Valor crítico: t₀.₀₅,₃₁ = -1.696
Decisión: t = -3.39 < -1.696 → Se rechaza H₀
Conclusión: La resistencia promedio es significativamente menor al estándar.
Solución en R:
set.seed(202)
varillas <- rnorm(32, mean = 485, sd = 25)
t.test(varillas, mu = 500, alternative = "less")Solución en Python:
np.random.seed(202)
varillas = np.random.normal(485, 25, 32)
t_stat, p_valor = stats.ttest_1samp(varillas, 500, alternative='less')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un médico compara dos tratamientos para reducir el colesterol. Grupo A (n=30) recibe medicamento, Grupo B (n=32) recibe placebo.
🔢 Datos: Grupo A: media = 180 mg/dL, sd = 15; Grupo B: media = 195 mg/dL, sd = 18.
📐 Solución analítica (Welch, varianzas desiguales):
Hipótesis: H₀: μ_A = μ_B; H₁: μ_A < μ_B
Estadístico de prueba:
Valor crítico: t₀.₀₅,₅₈ = -1.672
Decisión: t = -3.57 < -1.672 → Se rechaza H₀
Conclusión: El tratamiento reduce significativamente el colesterol.
Solución en R:
set.seed(111)
tratamiento <- rnorm(30, mean = 180, sd = 15)
placebo <- rnorm(32, mean = 195, sd = 18)
t.test(tratamiento, placebo, alternative = "less")Solución en Python:
np.random.seed(111)
tratamiento = np.random.normal(180, 15, 30)
placebo = np.random.normal(195, 18, 32)
t_stat, p_valor = stats.ttest_ind(tratamiento, placebo, alternative='less')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un psicólogo estudia si la música clásica mejora el rendimiento en tareas cognitivas. Grupo control (n=25) en silencio, grupo experimental (n=28) con música.
🔢 Datos: Control: media = 72, sd = 8; Música: media = 78, sd = 7.
📐 Solución analítica (unilateral superior):
Hipótesis: H₀: μ_música ≤ μ_control; H₁: μ_música > μ_control
Estadístico de prueba:
Valor crítico: t₀.₀₅,₅₀ = 1.676
Decisión: t = 2.88 > 1.676 → Se rechaza H₀
Conclusión: La música clásica mejora significativamente el rendimiento cognitivo.
Solución en R:
set.seed(222)
control <- rnorm(25, mean = 72, sd = 8)
musica <- rnorm(28, mean = 78, sd = 7)
t.test(musica, control, alternative = "greater")Solución en Python:
np.random.seed(222)
control = np.random.normal(72, 8, 25)
musica = np.random.normal(78, 7, 28)
t_stat, p_valor = stats.ttest_ind(musica, control, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un gerente compara la productividad entre oficina abierta (n=40) y oficina privada (n=35).
🔢 Datos: Abierta: media = 75 tareas/día, sd = 10; Privada: media = 80 tareas/día, sd = 8.
📐 Solución analítica (varianzas iguales asumidas):
Hipótesis: H₀: μ_abierta ≥ μ_privada; H₁: μ_abierta < μ_privada
Varianza combinada:
Estadístico de prueba:
Valor crítico: t₀.₀₅,₇₃ = -1.666
Decisión: t = -2.37 < -1.666 → Se rechaza H₀
Conclusión: La oficina privada es más productiva.
Solución en R:
set.seed(444)
abierta <- rnorm(40, mean = 75, sd = 10)
privada <- rnorm(35, mean = 80, sd = 8)
t.test(abierta, privada, alternative = "less", var.equal = TRUE)Solución en Python:
np.random.seed(444)
abierta = np.random.normal(75, 10, 40)
privada = np.random.normal(80, 8, 35)
t_stat, p_valor = stats.ttest_ind(abierta, privada, alternative='less', equal_var=True)
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un ingeniero compara la resistencia de dos aleaciones para determinar cuál es superior.
🔢 Datos: Aleación A (n=20): media = 450 MPa, sd = 25; Aleación B (n=22): media = 470 MPa, sd = 30.
📐 Solución analítica (unilateral superior):
Hipótesis: H₀: μ_B ≤ μ_A; H₁: μ_B > μ_A
Estadístico de prueba:
Valor crítico: t₀.₀₅,₃₉ = 1.686
Decisión: t = 2.36 > 1.686 → Se rechaza H₀
Conclusión: La Aleación B es significativamente más resistente.
Solución en R:
set.seed(555)
aleacion_A <- rnorm(20, mean = 450, sd = 25)
aleacion_B <- rnorm(22, mean = 470, sd = 30)
t.test(aleacion_B, aleacion_A, alternative = "greater")Solución en Python:
np.random.seed(555)
aleacion_A = np.random.normal(450, 25, 20)
aleacion_B = np.random.normal(470, 30, 22)
t_stat, p_valor = stats.ttest_ind(aleacion_B, aleacion_A, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un médico evalúa la efectividad de un medicamento para reducir la presión arterial en 20 pacientes.
🔢 Datos: Diferencia (antes - después): media = 12 mmHg, sd = 5 mmHg.
📐 Solución analítica:
Hipótesis: H₀: μ_d ≤ 0; H₁: μ_d > 0
Estadístico de prueba:
Valor crítico: t₀.₀₅,₁₉ = 1.729
Decisión: t = 10.73 > 1.729 → Se rechaza H₀
Conclusión: El medicamento reduce significativamente la presión arterial.
Solución en R:
set.seed(666)
antes <- rnorm(20, mean = 140, sd = 12)
despues <- antes - rnorm(20, mean = 12, sd = 5)
t.test(antes, despues, paired = TRUE, alternative = "greater")Solución en Python:
np.random.seed(666)
antes = np.random.normal(140, 12, 20)
despues = antes - np.random.normal(12, 5, 20)
t_stat, p_valor = stats.ttest_rel(antes, despues, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un psicólogo evalúa la efectividad de la terapia cognitivo-conductual en 15 pacientes con ansiedad.
🔢 Datos: Diferencia (post - pre): media = -15 puntos en escala de ansiedad, sd = 6 puntos.
📐 Solución analítica (unilateral inferior):
Hipótesis: H₀: μ_d ≥ 0; H₁: μ_d < 0
Estadístico de prueba:
Valor crítico: t₀.₀₅,₁₄ = -1.761
Decisión: t = -9.68 < -1.761 → Se rechaza H₀
Conclusión: La terapia reduce significativamente la ansiedad.
Solución en R:
set.seed(777)
pre <- rnorm(15, mean = 65, sd = 10)
post <- pre - rnorm(15, mean = 15, sd = 6)
t.test(pre, post, paired = TRUE, alternative = "greater")Solución en Python:
np.random.seed(777)
pre = np.random.normal(65, 10, 15)
post = pre - np.random.normal(15, 6, 15)
t_stat, p_valor = stats.ttest_rel(pre, post, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un gerente evalúa la efectividad de una capacitación en 18 empleados midiendo productividad antes/después.
🔢 Datos: Diferencia (después - antes): media = 5 unidades, sd = 2 unidades.
📐 Solución analítica:
Hipótesis: H₀: μ_d ≤ 0; H₁: μ_d > 0
Estadístico de prueba:
Valor crítico: t₀.₀₅,₁₇ = 1.740
Decisión: t = 10.62 > 1.740 → Se rechaza H₀
Conclusión: La capacitación mejoró significativamente la productividad.
Solución en R:
set.seed(999)
antes <- rnorm(18, mean = 50, sd = 8)
despues <- antes + rnorm(18, mean = 5, sd = 2)
t.test(despues, antes, paired = TRUE, alternative = "greater")Solución en Python:
np.random.seed(999)
antes = np.random.normal(50, 8, 18)
despues = antes + np.random.normal(5, 2, 18)
t_stat, p_valor = stats.ttest_rel(despues, antes, alternative='greater')
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un ingeniero evalúa dos métodos de medición de desgaste en 10 herramientas.
🔢 Datos: Diferencia (Método A - Método B): media = 0.05 mm, sd = 0.02 mm.
📐 Solución analítica (bilateral):
Hipótesis: H₀: μ_d = 0; H₁: μ_d ≠ 0
Estadístico de prueba:
Valor crítico: t₀.₀₂₅,₉ = ±2.262
Decisión: |t| = 7.91 > 2.262 → Se rechaza H₀
Conclusión: Existe diferencia significativa entre ambos métodos.
Solución en R:
set.seed(1000)
metodo_A <- rnorm(10, mean = 0.50, sd = 0.03)
metodo_B <- metodo_A - rnorm(10, mean = 0.05, sd = 0.02)
t.test(metodo_A, metodo_B, paired = TRUE)Solución en Python:
np.random.seed(1000)
metodo_A = np.random.normal(0.50, 0.03, 10)
metodo_B = metodo_A - np.random.normal(0.05, 0.02, 10)
t_stat, p_valor = stats.ttest_rel(metodo_A, metodo_B)
print(f"t = {t_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un laboratorio afirma que su vacuna tiene 90% de efectividad. En una muestra de 200 personas, 170 desarrollaron anticuerpos.
🔢 Datos: n = 200, éxitos = 170, p₀ = 0.90, p̂ = 170/200 = 0.85
📐 Solución analítica (bilateral):
Hipótesis: H₀: p = 0.90; H₁: p ≠ 0.90
Estadístico de prueba:
Valor crítico: z₀.₀₂₅ = ±1.96
Decisión: |z| = 2.36 > 1.96 → Se rechaza H₀
Conclusión: La efectividad es significativamente diferente al 90%.
Solución en R:
Solución en Python:
from statsmodels.stats.proportion import proportions_ztest
exitos = 170
n = 200
p0 = 0.90
z_stat, p_valor = proportions_ztest(exitos, n, p0, alternative='two-sided')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un psicólogo cree que más del 60% de los pacientes prefieren terapia online. Encuesta a 150 pacientes, 102 prefieren online.
🔢 Datos: n = 150, éxitos = 102, p₀ = 0.60, p̂ = 102/150 = 0.68
📐 Solución analítica (unilateral superior):
Hipótesis: H₀: p ≤ 0.60; H₁: p > 0.60
Estadístico de prueba:
Valor crítico: z₀.₀₅ = 1.645
Decisión: z = 2.0 > 1.645 → Se rechaza H₀
Conclusión: Más del 60% prefieren terapia online.
Solución en R:
Solución en Python:
exitos = 102
n = 150
p0 = 0.60
z_stat, p_valor = proportions_ztest(exitos, n, p0, alternative='larger')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un negocio afirma que su tasa de conversión es del 10%. Se analizan 500 visitas, 65 compras.
🔢 Datos: n = 500, éxitos = 65, p₀ = 0.10, p̂ = 65/500 = 0.13
📐 Solución analítica (unilateral superior):
Hipótesis: H₀: p ≤ 0.10; H₁: p > 0.10
Estadístico de prueba:
Valor crítico: z₀.₀₅ = 1.645
Decisión: z = 2.24 > 1.645 → Se rechaza H₀
Conclusión: La tasa de conversión es superior al 10%.
Solución en R:
Solución en Python:
exitos = 65
n = 500
p0 = 0.10
z_stat, p_valor = proportions_ztest(exitos, n, p0, alternative='larger')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un ingeniero afirma que la tasa de defectos es del 5%. Se inspeccionan 300 productos, 10 defectuosos.
🔢 Datos: n = 300, éxitos = 10, p₀ = 0.05, p̂ = 10/300 = 0.0333
📐 Solución analítica (bilateral):
Hipótesis: H₀: p = 0.05; H₁: p ≠ 0.05
Estadístico de prueba:
Valor crítico: z₀.₀₂₅ = ±1.96
Decisión: |z| = 1.33 < 1.96 → No se rechaza H₀
Conclusión: No hay evidencia suficiente para afirmar que la tasa de defectos difiere del 5%.
Solución en R:
Solución en Python:
exitos = 10
n = 300
p0 = 0.05
z_stat, p_valor = proportions_ztest(exitos, n, p0, alternative='two-sided')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Se comparan dos vacunas: Vacuna A (n=300, 270 protegidos) y Vacuna B (n=320, 300 protegidos).
🔢 Datos: p̂_A = 270/300 = 0.90, p̂_B = 300/320 = 0.9375
📐 Solución analítica (bilateral):
Hipótesis: H₀: p_A = p_B; H₁: p_A ≠ p_B
Proporción combinada:
Estadístico de prueba:
Valor crítico: z₀.₀₂₅ = ±1.96
Decisión: |z| = 1.72 < 1.96 → No se rechaza H₀
Conclusión: No hay diferencia significativa entre las vacunas.
Solución en R:
Solución en Python:
from statsmodels.stats.proportion import proportions_ztest
exitos = [270, 300]
n = [300, 320]
z_stat, p_valor = proportions_ztest(exitos, n, alternative='two-sided')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Se compara terapia cognitiva (n=120, 90 mejoran) vs farmacológica (n=130, 110 mejoran).
🔢 Datos: p̂_cog = 90/120 = 0.75, p̂_farm = 110/130 = 0.846
📐 Solución analítica (unilateral inferior):
Hipótesis: H₀: p_cog ≥ p_farm; H₁: p_cog < p_farm
Proporción combinada:
Estadístico de prueba:
Valor crítico: z₀.₀₅ = -1.645
Decisión: z = -1.90 < -1.645 → Se rechaza H₀
Conclusión: La terapia farmacológica es más efectiva.
Solución en R:
Solución en Python:
exitos = [90, 110]
n = [120, 130]
z_stat, p_valor = proportions_ztest(exitos, n, alternative='smaller')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Campaña A (n=500, 120 compras) vs Campaña B (n=550, 150 compras).
🔢 Datos: p̂_A = 120/500 = 0.24, p̂_B = 150/550 = 0.2727
📐 Solución analítica (unilateral superior para B):
Hipótesis: H₀: p_B ≤ p_A; H₁: p_B > p_A
Proporción combinada:
Estadístico de prueba:
Valor crítico: z₀.₀₅ = 1.645
Decisión: z = 1.21 < 1.645 → No se rechaza H₀
Conclusión: No hay evidencia de que la Campaña B sea mejor.
Solución en R:
Solución en Python:
exitos = [150, 120]
n = [550, 500]
z_stat, p_valor = proportions_ztest(exitos, n, alternative='larger')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Comparar tasa de defectos: Proveedor 1 (n=200, 12 defectos) vs Proveedor 2 (n=250, 20 defectos).
🔢 Datos: p̂₁ = 12/200 = 0.06, p̂₂ = 20/250 = 0.08
📐 Solución analítica (bilateral):
Hipótesis: H₀: p₁ = p₂; H₁: p₁ ≠ p₂
Proporción combinada:
Estadístico de prueba:
Valor crítico: z₀.₀₂₅ = ±1.96
Decisión: |z| = 0.82 < 1.96 → No se rechaza H₀
Conclusión: No hay diferencia significativa en calidad.
Solución en R:
Solución en Python:
exitos = [12, 20]
n = [200, 250]
z_stat, p_valor = proportions_ztest(exitos, n, alternative='two-sided')
print(f"z = {z_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un glucómetro debe tener varianza ≤ 25 (mg/dL)². Muestra de 20 mediciones: varianza = 36 (mg/dL)².
🔢 Datos: n = 20, s² = 36, σ₀² = 25
📐 Solución analítica (unilateral superior):
Hipótesis: H₀: σ² ≤ 25; H₁: σ² > 25
Estadístico de prueba:
Valor crítico: χ²₀.₀₅,₁₉ = 30.14
Decisión: χ² = 27.36 < 30.14 → No se rechaza H₀
Conclusión: No hay evidencia de que la varianza exceda el límite.
Solución en R:
library(EnvStats)
varTest(rnorm(20, mean = 100, sd = 6), alternative = "greater", sigma.squared = 25)Solución en Python:
from scipy.stats import chi2
n = 20
var_muestra = 36
var_poblacional = 25
chi2_stat = (n-1) * var_muestra / var_poblacional
p_valor = 1 - chi2.cdf(chi2_stat, df=n-1)
print(f"χ² = {chi2_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Un proceso debe producir varianza ≤ 100 MPa². Muestra de 25 piezas: varianza = 144 MPa².
🔢 Datos: n = 25, s² = 144, σ₀² = 100
📐 Solución analítica (unilateral superior):
Hipótesis: H₀: σ² ≤ 100; H₁: σ² > 100
Estadístico de prueba:
Valor crítico: χ²₀.₀₅,₂₄ = 36.42
Decisión: χ² = 34.56 < 36.42 → No se rechaza H₀
Conclusión: La varianza está dentro del límite aceptable.
Solución en Python:
n = 25
var_muestra = 144
var_poblacional = 100
chi2_stat = (n-1) * var_muestra / var_poblacional
p_valor = 1 - chi2.cdf(chi2_stat, df=n-1)
print(f"χ² = {chi2_stat:.4f}, p = {p_valor:.4f}")📝 Contexto: Comparar variabilidad en test de ansiedad entre hombres (n=16, var=64) y mujeres (n=20, var=36).
🔢 Datos: s₁² = 64, n₁ = 16; s₂² = 36, n₂ = 20
📐 Solución analítica (bilateral):
Hipótesis: H₀: σ₁²/σ₂² = 1; H₁: σ₁²/σ₂² ≠ 1
Estadístico de prueba:
Valor crítico: F₀.₀₂₅,₁₅,₁₉ = 2.62 (aprox)
Decisión: F = 1.78 < 2.62 → No se rechaza H₀
Conclusión: No hay diferencia significativa en variabilidad.
Solución en R:
Solución en Python:
from scipy.stats import f
var1 = 64
var2 = 36
n1 = 16
n2 = 20
f_stat = var1 / var2
p_valor = 2 * min(f.cdf(f_stat, n1-1, n2-1), 1 - f.cdf(f_stat, n1-1, n2-1))
print(f"F = {f_stat:.4f}, p = {p_valor:.4f}")| Prueba | Estadístico | Fórmula |
|---|---|---|
| 1 muestra (media) | t | t = (x̄ - μ₀) / (s/√n) |
| 2 muestras indep. | t | t = (x̄₁ - x̄₂) / √(s₁²/n₁ + s₂²/n₂) |
| Muestras pareadas | t | t = d̄ / (sd/√n) |
| 1 proporción | z | z = (p̂ - p₀) / √(p₀(1-p₀)/n) |
| 2 proporciones | z | z = (p̂₁ - p̂₂) / √(p̂(1-p̂)(1/n₁+1/n₂)) |
| Varianza | χ² | χ² = (n-1)s²/σ₀² |
| Cociente varianzas | F | F = s₁²/s₂² |
# 1. Una media
t.test(datos, mu = valor, alternative = "two.sided")
# 2. Dos medias independientes
t.test(grupo1, grupo2, alternative = "two.sided", var.equal = FALSE)
# 3. Muestras pareadas
t.test(antes, despues, paired = TRUE)
# 4. Una proporción
prop.test(exitos, n, p = p0)
# 5. Dos proporciones
prop.test(c(exitos1, exitos2), c(n1, n2))
# 6. Varianza
library(EnvStats)
varTest(datos, sigma.squared = sigma0)
# 7. Cociente de varianzas
var.test(grupo1, grupo2)import numpy as np
import scipy.stats as stats
from statsmodels.stats.proportion import proportions_ztest
# 1. Una media
stats.ttest_1samp(datos, valor)
# 2. Dos medias independientes
stats.ttest_ind(grupo1, grupo2)
# 3. Muestras pareadas
stats.ttest_rel(antes, despues)
# 4. Una proporción
proportions_ztest(exitos, n, p0)
# 5. Dos proporciones
proportions_ztest([exitos1, exitos2], [n1, n2])
# 6. Varianza
chi2_stat = (n-1) * var_muestra / var_poblacional
p_valor = 1 - stats.chi2.cdf(chi2_stat, df=n-1)
# 7. Cociente de varianzas
f_stat = var1 / var2
p_valor = 2 * min(stats.f.cdf(f_stat, n1-1, n2-1),
1 - stats.f.cdf(f_stat, n1-1, n2-1))
• Siempre verificar supuestos de normalidad y homogeneidad de
varianzas
• Para n > 30, usar aproximación normal (z) cuando se
conoce σ
• Para muestras pequeñas (n < 30), usar t de Student
• Las pruebas paramétricas requieren datos numéricos continuos o al
menos intervalares
• El nivel de significancia estándar es α = 0.05,
pero ajustar según contexto
📊 Pruebas de Hipótesis Aplicadas | Material educativo para Ciencias de la Salud, Psicología, Comunicación, Negocios, Administración e Ingeniería