Ejercicio práctico de regresión lineal con t-student y ANOVA

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 4 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este artículo realizaremos un ejercicio práctico de regresión lineal con t-student y ANOVA. El dataset contiene información de bebés recién nacidos y sus madres. Nos vamos a centrar en si la madre era o no fumadora.

Desarrollo de ejercicio práctico de regresión lineal con t-student y ANOVA

In [10]: bwt <- read.csv ("data/birthweight_reduced.csv") bwt$smoker <- factor (bwt$smoker, labels = c ("NO", "YES"))

Repaso t-test

In [11]: tw <- t.test (bwt$Birthweight [bwt$smoker="YES"], bwt$Birthweight [bwt$smoker "NO"])

In [13]: library (ggplot2)
d.f. <- tw$parameter
t <- tw$statistic
loth <- qt (0.025, d.f., lower.tail = T)
upthe <- qt (0.025, d.f., lower.tail = F)

paste ("El margen que nos llevaría a rechazar la hipótesis nula está fuera del rango: [" , round (loth,2), " , " , round(upth, 2),"")

qsd009 <- function (x) {
out <- dt(x, d.f.)
out[x> loth & x<upth] <- NA
out
}

qsdtest <- function (x) {
out <- dt(x, d.f.)
out [x> -abs(t) & x< abs(t)] <- NA
out
}

options (repr.plot.height=4, repr.plot.width=8)
xdf <- data.frame(z=c(-4, 4))
ggplot (xdf, aes (x=z)) + stat function (fun = dt, args = list(df = d.f.))+
stat_function (fun-qsd009, geom = "area", fill = "red", alpha = 0.3)+
stat_function (fun-qsdtest, geom="area", fill="yellow", alpha=0.2)+ geom_text (x = 3, y=0.1, size = 4, label = paste0 ("t_cdf (" , round (upth, 2), ") = 0.975")) + geom_text (x = -3, y = 0.1, size = 4, label = paste ("t_cdf (" ,round (loth, 2), ") = 0.025"))+

geom_vline (xintercept = t, color = "blue")+

theme linedraw ()
options (repr.plot.height = 7, repr.plot.width = 7)

tw

El resultado de nuestro ejercicio práctico de regresión lineal con t-student y ANOVA es un test estadístico que es -2.0735. Esto es lo que marca la línea morada en la gráfica siguiente.

‘El margen que nos llevaría a rechazar la hipótesis nula está fuera del rango: [-2.02.2.02]’

Ejercicio práctico de regresión lineal con t-student y ANOVA
Ejercicio práctico de regresión lineal con t-student y ANOVA

¿Qué sabíamos hasta ahora?

Para madres no fumadoras

In [ ] : bwt_nosmoker <- bwt [bwt$smoker = "NO", ]
mn <- mean (bwt_nosmoker$Birthweight)
paste ("La media de peso de los bebes de las madres no fumadoras es de", mn)
paste ("Su desviación típica estimada es de", sd (but_nosmoker$Birthweight))

Siguiendo con el ejercicio práctico de regresión lineal con t-student y ANOVA, sabemos que el vector de las medias tiene una distribución gaussiana de media x. Pero en una desviación típica desconocida, estimada a través de la muestra de b/√n, es fácil calcular el intervalo de confianza para la media con una probabilidad de p.

Los intervalos de confianza para un p-valor de p y n muestras vendrá dado por la fórmula:

función

Donde t(pn-1) es la función acumulativa de probabilidad de una distribución t-student con n — 1 grados de libertad.

In [ ] : p <- 0.05
error <- qt (1-p/2, nrow (bwt_nosmoker) -1) * sd (bwt_nosmoker$Birthweight) / sqrt (nrow (bwt_nosmoker))
paste ("El error será: ", error)
paste ("Intervalo de confianza del 95% de la media de no fumadores será: [" , mn-error, " , mn+error, " ] ")

Para madres fumadoras

El resultado del ejercicio práctico de regresión lineal con t-student y ANOVA para madres no fumadoras es:

In [16]: bwt_smoker <- bwt [bwt$smoker == "YES", ]
mn_smoker <- mean (bwt_smoker$Birthweight)
paste ("La media de peso de los bebés de las madres fumadoras es de" , mn_smoker)
paste ("Su desviación típica estimada es de " , sd (bwt_smoker$Birthweight))

‘La media de peso de los bebés de las madres fumadoras es de 6.87727272727273’

‘Su desviación típica estimada es de 1.3893924051222’

In [17 ]: p <- 0.05
error_smoker <- qt (1 - p/2, nrow (bwt_smoker) - 1) * sd (bwt_smoker$Birthweight) / sqrt (nrow (bwt_smoker)) 
paste ("El error será: ", error_smoker)
paste ("Intervalo de confianza del 95% de la media de no fumadores será: [" , mn_smoker - error_smoker, " , " , mn_smoker + error_smoker, " ] ")

‘El error será: 0.616022081923158’

«Intervalo de confianza del 95% de la media de no fumadores será: [6.26125064534957 , 7.49329480919589]’

In [18] : t.test (bwt_smiker$Birthweight)
resultado 1
In [19]: model <- Im(formula = Birthweight summary (model) smoker, data = bwt)
resultado 2
In [20]: paste("La media de peso de los bebés de las madres NO fumadoras es de", model$coefficients[1]) paste("La media de peso de los bebés de las madres fumadoras es de", model$coefficients [1]+model$coefficients[2])

‘La media de peso de los bebés de las madres NO fumadoras es de 7.69’

‘La media de peso de los bebés de las madres fumadoras es de 6.87727272727273’

El siguiente paso en el ejercicio práctico de regresión lineal con t-student y ANOVA es ver cuál es el peso de los niños de madres fumadoras y no fumadoras. Podríamos hacer lo siguiente:

resultado 3

Ahora, siguiendo con nuestro ejercicio práctico de regresión lineal con t-student y ANOVA, calcularemos los márgenes de confianza:

2.5 %97.5 %
smokerNO7.1113558.26864
smokerYES6.3255577.428989

No podemos estar muy seguros de si fumar o no es malo, solo con este modelo, de ahí la necesidad de calcular los márgenes de confianza.

¿Qué sigue?

Como hemos con el margen de confianza, el resultado de nuestro ejercicio práctico de regresión lineal con t-student y ANOVA es bastante claro y preciso.

Recuerda que, si quieres seguir aprendiendo sobre estas temáticas y otras tantas, puedes seguir nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, con el cual en muy poco tiempo podrás incursionar en el mercado laboral más prolífico de la actualidad y ser un gran profesional. ¡No esperes más para inscribirte y sigue forjando tu futuro con nosotros!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado