Prueba de hipótesis

  1. Plantear hipótesis nula
  2. Plantear hipótesis alterna
  3. Verificar si los datos tienen una distribución normal
  4. Aplicar prueba de hipótesis (paramétrica o no paramétrica)
  5. Inferir sobre los datos
  6. Conclusiones

Normalidad

  1. Gráfico Q-Q plot
  2. Prueba de Shapiro
  3. Prueba de Kolmoworov

Gráfico Q-Q plot

Un Q-Q plot es un gráfico que compara cuantiles teóricos de una distribución (normal en este caso) con los cuantiles observados de los datos. Si los puntos en el gráfico se ajustan aproximadamente a una línea diagonal, sugiere que los datos siguen una distribución normal.

Si los puntos del Q-Q plot siguen una línea recta, es indicativo de que los datos pueden considerarse aproximadamente normales.

El Q-Q plot es útil para evaluar visualmente si los datos siguen una distribución normal. Es especialmente útil para identificar desviaciones en las colas de la distribución.

Cómo interpretarlo: Si los puntos del Q-Q plot siguen aproximadamente una línea diagonal, indica que los datos pueden considerarse normalmente distribuidos.

El comando es \[qqnorm()\]

Suponer que se tiene un conjunto de datos de las alturas (en centímetros) de una muestra de personas. Quieres verificar si estas alturas siguen una distribución normal.

# Ejemplo de Q-Q Plot en R
# Generar datos de ejemplo (altura de personas)
set.seed(123)
altura_personas <- rnorm(100, mean = 170, sd = 10)

# Q-Q Plot
qqnorm(altura_personas)
qqline(altura_personas, col = 2)

la interpretación del valor p es clave. Si el valor p es mayor que el nivel de significancia elegido (como 0.05), no hay suficiente evidencia para rechazar la hipótesis nula de normalidad. Si el valor p es menor, podrías concluir que los datos no siguen una distribución normal.

Prueba de Shapiro-Wilk

La prueba de Shapiro-Wilk es una prueba estadística que evalúa la hipótesis nula de que una muestra proviene de una población con una distribución normal.

Interpretación: Un valor p alto (p > nivel de significancia, comúnmente 0.05) sugiere que no hay evidencia suficiente para rechazar la hipótesis nula de normalidad.

Es adecuada para tamaños de muestra moderados a pequeños (generalmente hasta alrededor de 2,000 observaciones)

Se calcula con el comando \[shapiro.test().\]

# Generar un conjunto de datos de ejemplo no normal
set.seed(123)
datos <- rpois(100, lambda = 5)

# Histograma
hist(datos, main = "Histograma de Datos", col = "lightblue", border = "black")

# Gráfico de probabilidad normal (Q-Q plot)
qqnorm(datos)
qqline(datos, col = 2)

# Prueba de Shapiro-Wilk
shapiro.test(datos)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos
## W = 0.97077, p-value = 0.02531

El resultado de la prueba de Shapiro-Wilk incluirá un valor p (p-value). Si el valor p es mayor que el nivel de significancia (comúnmente establecido en 0.05), los datos provienen de una distribución normal. Si el valor p es menor que 0.05, se puede considerar que los datos no siguen una distribución normal.

Suponer que tienes un conjunto de datos que representa el tiempo que los estudiantes universitarios tardan en completar un examen. Quieres comprobar si este tiempo sigue una distribución normal.

# Generar datos de ejemplo (tiempo de examen en minutos)
set.seed(456)
tiempo_examen <- rexp(80, rate = 0.1)  # Distribución exponencial

# Prueba de Shapiro-Wilk
shapiro.test(tiempo_examen)
## 
##  Shapiro-Wilk normality test
## 
## data:  tiempo_examen
## W = 0.79214, p-value = 2.875e-09

Prueba Kolmogorov-Smirnov

La prueba de Kolmogorov-Smirnov compara la distribución empírica acumulativa de los datos con la distribución acumulativa esperada para una distribución normal. Interpretación: Un valor p alto indica que no hay suficiente evidencia para rechazar la hipótesis nula de normalidad.

Es útil para tamaños de muestra grandes. Es menos sensible a colas pesadas y es no paramétrica, lo que significa que no asume una media y una desviación estándar específicas.

# Ejemplo de prueba de Kolmogorov-Smirnov en R
ks.test(datos, "pnorm", mean = mean(datos), sd = sd(datos))
## Warning in ks.test(datos, "pnorm", mean = mean(datos), sd = sd(datos)): ties
## should not be present for the Kolmogorov-Smirnov test
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  datos
## D = 0.1316, p-value = 0.06264
## alternative hypothesis: two-sided

Supongamos que tienes un conjunto de datos que representa las calificaciones de los estudiantes en un examen. Quieres evaluar si estas calificaciones siguen una distribución normal.

Pruebas de hipótesis

#Paramétricas Los datos se distribuyen normalmente:

*Prueba t de Student: Utilizada para comparar las medias de dos grupos independientes.

*ANOVA (Análisis de Varianza): Utilizada para comparar las medias de tres o más grupos independientes.

*Regresión lineal: Utilizada para modelar la relación lineal entre una variable dependiente y una o más variables independientes.

*Prueba F: Utilizada en análisis de varianza y regresión lineal para comparar varianzas entre grupos.

*Regresión logística: Utilizada para modelar la relación entre una variable binaria dependiente y una o más variables independientes.

#No Paramétricas Los datos no se distribuyen normalmente:

Prueba de chi-cuadrado (χ²): Utilizada para evaluar la independencia entre dos variables categóricas.

Prueba de la suma de rangos de Wilcoxon (Mann-Whitney U): Comparación de medianas entre dos grupos independientes.

Prueba de Kruskal-Wallis: Comparación de medianas entre tres o más grupos independientes.

Paramétricos Los siguientes datos contemplan la prueba t para dos muestras:

# Supongamos que tienes dos vectores de calificaciones finales para los dos métodos de enseñanza


# Datos
calificaciones_metodo_A <- c(85, 90, 88, 92, 87, 89, 93, 91, 86, 88)
calificaciones_metodo_B <- c(78, 82, 80, 85, 79, 83, 81, 87, 80, 84)

# Prueba de Shapiro-Wilk para el Método A
resultado_A <- shapiro.test(calificaciones_metodo_A)
print(resultado_A)
## 
##  Shapiro-Wilk normality test
## 
## data:  calificaciones_metodo_A
## W = 0.97523, p-value = 0.9347
# Prueba de Shapiro-Wilk para el Método B
resultado_B <- shapiro.test(calificaciones_metodo_B)
print(resultado_B)
## 
##  Shapiro-Wilk normality test
## 
## data:  calificaciones_metodo_B
## W = 0.96862, p-value = 0.8777

Como el p-valor es mayor que 0.05 los datos conservan una distribución normal, por lo tanto se implementa una prueba de hipótesis parametrica:

# Planteamiento de Hipótesis
# H0: No hay diferencia en el rendimiento académico medio entre los dos métodos de enseñanza
# Ha: Hay una diferencia significativa en el rendimiento académico medio entre los dos métodos de enseñanza

# Prueba t de dos muestras
resultado_prueba <- t.test(calificaciones_metodo_A, calificaciones_metodo_B)

# Imprimir los resultados
print(resultado_prueba)
## 
##  Welch Two Sample t-test
## 
## data:  calificaciones_metodo_A and calificaciones_metodo_B
## t = 5.741, df = 17.856, p-value = 1.984e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  4.43689 9.56311
## sample estimates:
## mean of x mean of y 
##      88.9      81.9
#la prueba t de dos muestras sugiere que hay una diferencia significativa en las calificaciones finales entre los dos métodos de enseñanza, con un intervalo de confianza del 95% para la diferencia de medias que no incluye cero. El valor p muy pequeño (1.984e-05) indica una fuerte evidencia en contra de la hipótesis nula de que las medias son iguales.

Ejemplo2:

Problema: Se desea investigar si hay diferencias significativas en los tiempos de reacción entre dos grupos de personas que participaron en dos métodos diferentes de entrenamiento cognitivo. Nuestra hipótesis nula (\(H_0\)) es que no hay diferencia en los tiempos de reacción promedio entre los dos métodos, mientras que la hipótesis alternativa (\(H_a\)) es que hay una diferencia significativa.

Planteamiento de Hipótesis:

\(H_0\): La media del tiempo de reacción para el Método 1 (\(μ_1\)) es igual a la media del tiempo de reacción para el Método 2 (\(μ_2\)).

\(H_a\): La media del tiempo de reacción para el Método 1 (\(μ_1\)) es diferente de la media del tiempo de reacción para el Método 2 (\(μ_2\)).

Recopilación de Datos:

Se registraron los tiempos de reacción de 30 participantes que siguieron el Método 1 y 30 participantes que siguieron el Método 2.

Verificación de Normalidad:

Se utiliza un gráfico de probabilidad normal (Q-Q plot) y la prueba de normalidad de Shapiro-Wilk para evaluar la normalidad de los tiempos de reacción en cada grupo.

Prueba Paramétrica:

Realizaremos una prueba t de dos muestras para comparar las medias de los tiempos de reacción entre los dos grupos.

# Generar datos ficticios
set.seed(123)
tiempos_metodo_1 <- rnorm(30, mean = 150, sd = 20)
tiempos_metodo_2 <- rnorm(30, mean = 160, sd = 20)

# Verificación de normalidad
par(mfrow = c(1, 2))
qqnorm(tiempos_metodo_1); qqline(tiempos_metodo_1)
qqnorm(tiempos_metodo_2); qqline(tiempos_metodo_2)

shapiro.test(tiempos_metodo_1)
## 
##  Shapiro-Wilk normality test
## 
## data:  tiempos_metodo_1
## W = 0.97894, p-value = 0.7966
shapiro.test(tiempos_metodo_2)
## 
##  Shapiro-Wilk normality test
## 
## data:  tiempos_metodo_2
## W = 0.98662, p-value = 0.9614
# Prueba t de dos muestras
t.test(tiempos_metodo_1, tiempos_metodo_2)
## 
##  Welch Two Sample t-test
## 
## data:  tiempos_metodo_1 and tiempos_metodo_2
## t = -3.0841, df = 56.559, p-value = 0.003156
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -23.930852  -5.086831
## sample estimates:
## mean of x mean of y 
##  149.0579  163.5668

Si los Q-Q plots muestran una línea cercana a la diagonal y las pruebas de Shapiro-Wilk no rechazan la normalidad (p > 0.05), podemos asumir normalidad.

La prueba t de dos muestras evaluará si hay una diferencia significativa en las medias de los tiempos de reacción entre los dos métodos. Si el valor p es menor que el nivel de significancia elegido (por ejemplo, 0.05), rechazamos la hipótesis nula y concluimos que hay una diferencia significativa en los tiempos de reacción entre los dos métodos.

Pruebas de hipótesis:

Prueba TStudent:

También conocida como la prueba t, es una prueba estadística utilizada para comparar las medias de dos grupos de datos y determinar si hay una diferencia significativa entre ellas. Fue desarrollada por William Sealy Gosset y publicada bajo el seudónimo “Student” en 1908. La prueba t es una herramienta fundamental en estadística y se utiliza comúnmente en diversas disciplinas científicas.

Comandos: \(rnorm\) se utiliza para generar datos aleatorios con una distribución normal. \(t.test\) realiza la prueba t de Student en los dos grupos.

La prueba t de Student se utiliza cuando tienes dos grupos de datos y deseas determinar si las medias de estos grupos son estadísticamente diferentes. La hipótesis nula \((H_0)\) es que no hay diferencia significativa entre las medias de los dos grupos, mientras que la hipótesis alternativa \((H_1)\) es que hay una diferencia significativa.

fórmula:

\[ t = \frac{(\bar{X}_1 - \bar{X}_2)}{s \sqrt{\frac{1}{n_1} + \frac{1}{n_2}}} \]

Donde: - \(\bar{X}_1\) y \(\bar{X}_2\) son las medias de los dos grupos. - \(s\) es la desviación estándar combinada de los dos grupos. - \(n_1\) y \(n_2\) son los tamaños de las muestras de los dos grupos.

Ejemplo de Uso

Supongamos que tenemos dos conjuntos de datos:

Se desea comparar la velocidad de dos métodos de producción en una fábrica, uno nuevo (grupo de tratamiento) y el método actual (grupo de control).

# Generar datos ficticios
set.seed(987)  # Para reproducibilidad
velocidades_tratamiento <- rnorm(30, mean = 120, sd = 15)
velocidades_control <- rnorm(30, mean = 110, sd = 12)

# Realizar la prueba t de Student
resultado_prueba_velocidades <- t.test(velocidades_tratamiento, velocidades_control)

# Mostrar el resultado
print(resultado_prueba_velocidades)
## 
##  Welch Two Sample t-test
## 
## data:  velocidades_tratamiento and velocidades_control
## t = 0.42659, df = 56.716, p-value = 0.6713
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -5.197339  8.010824
## sample estimates:
## mean of x mean of y 
##  117.0305  115.6238

Cuándo se aplica: La prueba t de Student se aplica cuando se cumplen ciertos supuestos, tales como:

Normalidad de los datos: Los datos en cada grupo deben seguir una distribución normal. En casos de muestras grandes, la prueba t es robusta ante desviaciones de la normalidad.

Homogeneidad de varianzas: Se asume que las varianzas de los dos grupos son iguales. Si esta suposición no se cumple, se puede usar la versión corregida de Welch de la prueba t, que es más apropiada cuando las varianzas no son iguales.

Datos independientes: Las observaciones en un grupo no deben influir en las observaciones del otro grupo.

Prueba ANOVA

El Análisis de Varianza (ANOVA) es una técnica estadística utilizada para comparar las medias de tres o más grupos independientes. La idea principal es analizar si hay diferencias significativas en las medias de los grupos, considerando tanto las variaciones dentro de cada grupo como las variaciones entre los grupos.

La fórmula general del modelo ANOVA se expresa como:

\[ Y_{ij} = \mu + \alpha_i + \epsilon_{ij} \]

Donde: - \(Y_{ij}\) es la observación \(j\) en el grupo \(i\). - \(\mu\) es la media global. - \(\alpha_i\) es el efecto del grupo \(i\). - \(\epsilon_{ij}\) es el error aleatorio asociado con la observación \(ij\).

La hipótesis nula (\(H_0\)) en ANOVA es que no hay diferencias significativas entre las medias de los grupos (\(\alpha_1 = \alpha_2 = \ldots = \alpha_k\), donde \(k\) es el número de grupos). La hipótesis alternativa (\(H_1\)) es que al menos dos medias son diferentes.

La prueba estadística ANOVA utiliza el estadístico \(F\), que se calcula dividiendo la variabilidad entre grupos por la variabilidad dentro de los grupos. Un valor \(F\) grande comparado con la distribución \(F\) indica que hay diferencias significativas entre las medias.

Ejemplo:

Evaluar el rendimiento de tres diferentes métodos de enseñanza (A, B y C) en términos de los puntajes promedio obtenidos por los estudiantes en un examen. Queremos determinar si hay alguna diferencia significativa en los puntajes promedio entre los métodos de enseñanza.

# Generar datos ficticios
set.seed(123)  # Para reproducibilidad
grupo_A <- rnorm(30, mean = 75, sd = 10)
grupo_B <- rnorm(30, mean = 80, sd = 12)
grupo_C <- rnorm(30, mean = 78, sd = 11)

# Crear un data frame
datos <- data.frame(
  Metodo = rep(c("A", "B", "C"), each = 30),
  Puntajes = c(grupo_A, grupo_B, grupo_C)
)

# Realizar el ANOVA
resultado_anova <- aov(Puntajes ~ Metodo, data = datos)

# Mostrar el resultado
summary(resultado_anova)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Metodo       2    869   434.5   4.523 0.0135 *
## Residuals   87   8358    96.1                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Df (Degrees of Freedom):

Para “Metodo” (Between Groups): 2 grados de libertad. Para “Residuals” (Within Groups): 87 grados de libertad. Sum Sq (Suma de Cuadrados):

Para “Metodo” (Between Groups): 781.1. Para “Residuals” (Within Groups): 4601.6. Mean Sq (Media de Cuadrados):

Para “Metodo” (Between Groups): 390.6 (781.1 / 2). Para “Residuals” (Within Groups): 52.8 (4601.6 / 87). F Value (Valor F):

El valor F es 4.331. Pr(>F): El valor p asociado con “Metodo” es 0.0183.

La hipótesis nula \((H_0)\) sería que no hay diferencias significativas entre las medias de los grupos.

El valor p asociado con “Metodo” (0.0183) es menor que el nivel de significancia típico de 0.05.

Por lo tanto, rechazaríamos la hipótesis nula y concluiríamos que hay diferencias significativas entre al menos dos de las medias de los grupos.

Prueba Chi - Cuadrado

Es una prueba estadística utilizada para evaluar la independencia entre dos variables categóricas en una tabla de contingencia. Se compara la frecuencia observada de ocurrencias en cada celda de la tabla con la frecuencia que se esperaría si las dos variables fueran independientes.

Fórmula:

La estadística de prueba \(\chi^2\) se calcula utilizando la fórmula:

\[ \chi^2 = \sum \frac{(O_{ij} - E_{ij})^2}{E_{ij}} \]

Donde: - \(O_{ij}\) es la frecuencia observada en la celda \(ij\). - \(E_{ij}\) es la frecuencia esperada en la celda \(ij\).

Esta fórmula se utiliza para evaluar la independencia entre dos variables categóricas en una tabla de contingencia. La prueba de chi-cuadrado compara las frecuencias observadas con las frecuencias esperadas bajo la hipótesis nula de independencia entre las variables. Puedes copiar y pegar este fragmento de código en tu documento R Markdown para incluir la fórmula

Ejemplo:

Se desea evaluar si hay una relación entre el nivel de educación (secundaria, universidad, posgrado) y la preferencia por tres tipos de películas (acción, drama, comedia) en una muestra de personas. A continuación con datos supuestos:

# Generar datos ficticios
set.seed(123)
educacion <- rep(c("Secundaria", "Universidad", "Posgrado"), each = 50)
peliculas <- rep(c("Accion", "Drama", "Comedia"), times = 50)

# Crear una tabla de contingencia
tabla_contingencia <- table(educacion, peliculas)
print(tabla_contingencia)
##              peliculas
## educacion     Accion Comedia Drama
##   Posgrado        16      17    17
##   Secundaria      17      16    17
##   Universidad     17      17    16
# Realizar la prueba de chi-cuadrado
resultado_chi2 <- chisq.test(tabla_contingencia)
print(resultado_chi2)
## 
##  Pearson's Chi-squared test
## 
## data:  tabla_contingencia
## X-squared = 0.12, df = 4, p-value = 0.9983

El análisis de la prueba de chi-cuadrado se basa en la comparación entre las frecuencias observadas y las frecuencias esperadas en una tabla de contingencia.

Estadística de Prueba: El valor de la estadística de prueba chi-cuadrado es 0.12.

Grados de Libertad (df): Hay 4 grados de libertad en este caso.

Valor p (p-value): El valor p asociado con la prueba de chi-cuadrado es 0.9983.

La hipótesis nula H0 en la prueba de chi-cuadrado es que no hay relación entre las variables (son independientes).

El valor p es 0.9983, lo cual es mucho mayor que un nivel de significancia común de 0.05. Por lo tanto, no hay evidencia suficiente para rechazar la hipótesis nula.

En este contexto, la conclusión sería que no hay suficiente evidencia para afirmar que hay una relación significativa entre las variables examinadas (nivel de educación y preferencia por ciertos tipos de películas en tu muestra).

Prueba de Fisher

Definición

La prueba de Fisher, también conocida como la prueba exacta de Fisher, se utiliza para evaluar la asociación entre dos variables categóricas en una tabla de contingencia. Es una prueba no paramétrica que determina si la distribución marginal de una variable es independiente de la otra.

Fórmula

La fórmula para la prueba de Fisher es:

\[ P(X \leq a, Y \leq b) = \frac{{\text{Combinatorio}(a+b, a) \cdot \text{Combinatorio}(n-a, m-b)}}{{\text{Combinatorio}(n, m)}} \]

donde: - \(n\) es el total de observaciones, - \(m\) es el total de observaciones en una categoría de una variable, - \(a\) es la frecuencia observada en una celda, - \(b\) es la frecuencia observada en la misma columna.

Ejemplo

Supongamos que tenemos los siguientes datos de preferencias por películas y géneros en una muestra:

# Crear una tabla de contingencia
tabla_contingencia <- matrix(c(10, 15, 20, 5), nrow = 2)
colnames(tabla_contingencia) <- c("Accion", "Drama")
rownames(tabla_contingencia) <- c("Hombres", "Mujeres")
print(tabla_contingencia)
##         Accion Drama
## Hombres     10    20
## Mujeres     15     5

Problema: Determinar si hay una asociación significativa entre el género y la preferencia por géneros de películas en esta muestra:

# Realizar la prueba de Fisher
resultado_fisher <- fisher.test(tabla_contingencia)
print(resultado_fisher)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  tabla_contingencia
## p-value = 0.008579
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
##  0.03759768 0.68195287
## sample estimates:
## odds ratio 
##  0.1734609

Analisis de los resultados:

# Análisis de resultados
if (resultado_fisher$p.value < 0.05) {
  cat("Hay una asociación significativa entre el género y la preferencia por géneros de películas.")
} else {
  cat("No hay suficiente evidencia para afirmar una asociación significativa.")
}
## Hay una asociación significativa entre el género y la preferencia por géneros de películas.

Prueba de Correlación de Pearson

La prueba de correlación de Pearson se utiliza para evaluar la fuerza y dirección de la relación lineal entre dos variables continuas. La correlación de Pearson (\(r\)) varía entre -1 y 1, donde -1 indica una relación negativa perfecta, 1 indica una relación positiva perfecta y 0 indica ninguna correlación.

Fórmula

La fórmula para la correlación de Pearson es:

\[ r = \frac{{\sum (X_i - \bar{X})(Y_i - \bar{Y})}}{{\sqrt{\sum (X_i - \bar{X})^2 \cdot \sum (Y_i - \bar{Y})^2}}} \]

donde: - \(X_i\) e \(Y_i\) son los valores individuales de las dos variables. - \(\bar{X}\) y \(\bar{Y}\) son las medias de las dos variables.

Ejemplo

Supongamos que tenemos datos de la cantidad de horas de estudio y las calificaciones de un grupo de estudiantes y queremos evaluar la relación entre estas dos variables.

# Crear datos ficticios
set.seed(123)
horas_estudio <- rnorm(50, mean = 20, sd = 5)
calificaciones <- 0.8 * horas_estudio + rnorm(50, mean = 0, sd = 2)

# Crear un data frame
datos <- data.frame(HorasEstudio = horas_estudio, Calificaciones = calificaciones)
print(head(datos))
##   HorasEstudio Calificaciones
## 1     17.19762       14.26473
## 2     18.84911       15.02220
## 3     27.79354       22.14909
## 4     20.35254       19.01924
## 5     20.64644       16.06561
## 6     28.57532       25.89320

Problema Determinar si hay una correlación significativa entre la cantidad de horas de estudio y las calificaciones de los estudiantes.

# Realizar la prueba de correlación de Pearson
resultado_correlacion <- cor.test(datos$HorasEstudio, datos$Calificaciones, method = "pearson")
print(resultado_correlacion)
## 
##  Pearson's product-moment correlation
## 
## data:  datos$HorasEstudio and datos$Calificaciones
## t = 13.929, df = 48, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.8218357 0.9395535
## sample estimates:
##       cor 
## 0.8953635

Inferencia:

# Análisis de resultados
if (resultado_correlacion$p.value < 0.05) {
  cat("Hay una correlación significativa entre la cantidad de horas de estudio y las calificaciones.")
} else {
  cat("No hay suficiente evidencia para afirmar una correlación significativa.")
}
## Hay una correlación significativa entre la cantidad de horas de estudio y las calificaciones.

Regresión Lineal

La regresión lineal es una técnica estadística que modela la relación lineal entre una variable dependiente (respuesta) y una o más variables independientes (predictoras). La ecuación de regresión lineal es de la forma \(Y = \beta_0 + \beta_1X + \epsilon\), donde \(\beta_0\) es la ordenada al origen, \(\beta_1\) es la pendiente de la línea de regresión, \(X\) es la variable independiente, y \(\epsilon\) es el error.

Fórmula

La fórmula de la regresión lineal es:

\[ Y = \beta_0 + \beta_1X + \epsilon \]

donde: - \(Y\) es la variable dependiente. - \(X\) es la variable independiente. - \(\beta_0\) es la ordenada al origen. - \(\beta_1\) es la pendiente de la línea de regresión. - \(\epsilon\) es el término de error.

Ejemplo

Supongamos que tenemos datos de la cantidad de horas de estudio y las calificaciones de un grupo de estudiantes y queremos ajustar una regresión lineal para predecir las calificaciones en función de las horas de estudio.

# Crear datos ficticios
set.seed(123)
horas_estudio <- rnorm(50, mean = 20, sd = 5)
calificaciones <- 0.8 * horas_estudio + rnorm(50, mean = 0, sd = 2)

# Crear un data frame
datos <- data.frame(HorasEstudio = horas_estudio, Calificaciones = calificaciones)
print(head(datos))
##   HorasEstudio Calificaciones
## 1     17.19762       14.26473
## 2     18.84911       15.02220
## 3     27.79354       22.14909
## 4     20.35254       19.01924
## 5     20.64644       16.06561
## 6     28.57532       25.89320

Ejercicio Ajustar una línea de regresión para predecir las calificaciones en función de las horas de estudio.

# Ajustar un modelo de regresión lineal
modelo_regresion <- lm(Calificaciones ~ HorasEstudio, data = datos)
summary(modelo_regresion)
## 
## Call:
## lm(formula = Calificaciones ~ HorasEstudio, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.9289 -0.9725 -0.0541  0.9881  4.0512 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.57586    1.16721   0.493    0.624    
## HorasEstudio  0.78597    0.05643  13.929   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.828 on 48 degrees of freedom
## Multiple R-squared:  0.8017, Adjusted R-squared:  0.7975 
## F-statistic:   194 on 1 and 48 DF,  p-value: < 2.2e-16

Inferencia:

# Análisis de resultados
cat("Coeficientes del modelo:")
## Coeficientes del modelo:
print(coef(modelo_regresion))
##  (Intercept) HorasEstudio 
##    0.5758591    0.7859686
# Graficar la línea de regresión
plot(datos$HorasEstudio, datos$Calificaciones, main = "Regresión Lineal", xlab = "Horas de Estudio", ylab = "Calificaciones")
abline(modelo_regresion, col = "red")

Prueba de la Suma de Rangos de Wilcoxon (Mann-Whitney U)

La prueba de la suma de rangos de Wilcoxon, también conocida como la prueba de Mann-Whitney U, se utiliza para evaluar si hay diferencias significativas entre dos grupos independientes en una variable ordinal o continua. Es una alternativa no paramétrica a la prueba t de Student para muestras independientes.

Fórmula

La estadística de prueba U se calcula sumando los rangos de una de las muestras y comparándola con la distribución de U bajo la hipótesis nula.

Ejemplo

Supongamos que tenemos datos de dos grupos de estudiantes (Grupo A y Grupo B) y queremos evaluar si hay diferencias significativas en las calificaciones finales entre los dos grupos.

# Crear datos ficticios
set.seed(123)
calificaciones_grupo_a <- rnorm(30, mean = 75, sd = 10)
calificaciones_grupo_b <- rnorm(30, mean = 80, sd = 12)

# Crear un data frame
datos <- data.frame(
  Grupo = rep(c("A", "B"), each = 30),
  Calificaciones = c(calificaciones_grupo_a, calificaciones_grupo_b)
)
print(head(datos))
##   Grupo Calificaciones
## 1     A       69.39524
## 2     A       72.69823
## 3     A       90.58708
## 4     A       75.70508
## 5     A       76.29288
## 6     A       92.15065

Problema Determinar si hay diferencias significativas en las calificaciones finales entre los dos grupos.

# Realizar la prueba de la suma de rangos de Wilcoxon (Mann-Whitney U)
resultado_wilcoxon <- wilcox.test(Calificaciones ~ Grupo, data = datos)
print(resultado_wilcoxon)
## 
##  Wilcoxon rank sum exact test
## 
## data:  Calificaciones by Grupo
## W = 268, p-value = 0.00665
## alternative hypothesis: true location shift is not equal to 0

Inferencia de datos:

# Análisis de resultados
if (resultado_wilcoxon$p.value < 0.05) {
  cat("Hay diferencias significativas en las calificaciones entre los dos grupos.")
} else {
  cat("No hay suficiente evidencia para afirmar diferencias significativas.")
}
## Hay diferencias significativas en las calificaciones entre los dos grupos.

Prueba de Kruskal-Wallis

La prueba de Kruskal-Wallis se utiliza para evaluar si hay diferencias significativas entre tres o más grupos independientes en una variable ordinal o continua. Es una alternativa no paramétrica al análisis de varianza (ANOVA) para muestras independientes.

Fórmula

La estadística de prueba \(H\) se calcula a partir de los rangos sumados de las muestras y se compara con la distribución de \(H\) bajo la hipótesis nula.

Ejemplo

Supongamos que tenemos datos de calificaciones finales de estudiantes en tres grupos diferentes (Grupo A, Grupo B y Grupo C) y queremos evaluar si hay diferencias significativas entre los grupos.

# Crear datos ficticios
set.seed(123)
calificaciones_grupo_a <- rnorm(30, mean = 75, sd = 10)
calificaciones_grupo_b <- rnorm(30, mean = 80, sd = 12)
calificaciones_grupo_c <- rnorm(30, mean = 78, sd = 11)

# Crear un data frame
datos <- data.frame(
  Grupo = rep(c("A", "B", "C"), each = 30),
  Calificaciones = c(calificaciones_grupo_a, calificaciones_grupo_b, calificaciones_grupo_c)
)
print(head(datos))
##   Grupo Calificaciones
## 1     A       69.39524
## 2     A       72.69823
## 3     A       90.58708
## 4     A       75.70508
## 5     A       76.29288
## 6     A       92.15065

Problema

determinar si hay diferencias significativas en las calificaciones finales entre los tres grupos.

# Realizar la prueba de Kruskal-Wallis
resultado_kruskal <- kruskal.test(Calificaciones ~ Grupo, data = datos)
print(resultado_kruskal)
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Calificaciones by Grupo
## Kruskal-Wallis chi-squared = 7.8788, df = 2, p-value = 0.01946

prueba de hipotesis:

# Análisis de resultados
if (resultado_kruskal$p.value < 0.05) {
  cat("Hay diferencias significativas en las calificaciones entre los grupos.")
} else {
  cat("No hay suficiente evidencia para afirmar diferencias significativas.")
}
## Hay diferencias significativas en las calificaciones entre los grupos.

Prueba de Correlación de Spearman

La prueba de correlación de Spearman se utiliza para evaluar la relación monotónica entre dos variables, especialmente cuando las relaciones no son lineales. Esta prueba utiliza los rangos de las observaciones y es una alternativa no paramétrica a la correlación de Pearson.

Fórmula

La estadística de prueba \(rho\) (rho) se calcula a partir de los rangos de las observaciones y se compara con la distribución de \(rho\) bajo la hipótesis nula.

Ejemplo

Supongamos que tenemos datos de la cantidad de horas de estudio y las calificaciones de un grupo de estudiantes y queremos evaluar la relación de rango entre estas dos variables.

# Crear datos ficticios
set.seed(123)
horas_estudio <- rnorm(50, mean = 20, sd = 5)
calificaciones <- 0.8 * horas_estudio + rnorm(50, mean = 0, sd = 2)

# Crear un data frame
datos <- data.frame(HorasEstudio = horas_estudio, Calificaciones = calificaciones)
print(head(datos))
##   HorasEstudio Calificaciones
## 1     17.19762       14.26473
## 2     18.84911       15.02220
## 3     27.79354       22.14909
## 4     20.35254       19.01924
## 5     20.64644       16.06561
## 6     28.57532       25.89320

Problema: determinar si hay una relación monotónica entre la cantidad de horas de estudio y las calificaciones de los estudiantes.

# Realizar la prueba de correlación de Spearman
resultado_spearman <- cor.test(datos$HorasEstudio, datos$Calificaciones, method = "spearman")
print(resultado_spearman)
## 
##  Spearman's rank correlation rho
## 
## data:  datos$HorasEstudio and datos$Calificaciones
## S = 2676, p-value < 2.2e-16
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.8715006

Analisis:

# Análisis de resultados
if (resultado_spearman$p.value < 0.05) {
  cat("Hay una relación significativa entre la cantidad de horas de estudio y las calificaciones.")
} else {
  cat("No hay suficiente evidencia para afirmar una relación significativa.")
}
## Hay una relación significativa entre la cantidad de horas de estudio y las calificaciones.