U4A2

Importar paquetes y definir folder de trabajo

library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "readr", "ggplot2", "tidyr", "plotly", "DT")
setwd("~/Stat")

Importar datos

grasas <- read.table("http://verso.mat.uam.es/~joser.berrendero/datos/EdadPesoGrasas.txt", header= TRUE)
names(grasas)
## [1] "peso"   "edad"   "grasas"

Descripción de datos

Se tienen datos de 25 personas de peso, edad y grasas.

datatable(grasas)

Ajusta el modelo que explica la cantidad de grasas en función del peso.

regresion <- lm(grasas ~   peso, data=grasas )

Calcula y representa gráficamente la recta de regresión, junto con la correspondiente nube de puntos.

plot(grasas$peso, grasas$grasas, xlab="peso", ylab="grasas" )
abline(regresion)

¿Cuánto vale el coeficiente de correlación al cuadrado en este caso?

El coeficiente de correlacion al cuadrado es: 0.07038

summary(regresion)
## 
## Call:
## lm(formula = grasas ~ peso, data = grasas)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -127.729  -53.686   -9.239   46.537  128.404 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  199.298     85.818   2.322   0.0294 *
## peso           1.622      1.229   1.320   0.2000  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 76.65 on 23 degrees of freedom
## Multiple R-squared:  0.07038,    Adjusted R-squared:  0.02996 
## F-statistic: 1.741 on 1 and 23 DF,  p-value: 0.2

¿Cuánto valen los estimadores de todos los parámetros del modelo?

  • Los errores típicos de los estimadores de los parámetros β0 y β1 se encuentran en la columna Std Error de la salida anterior. En el ejemplo, sus valores son 85.818 y 1.229 respectivamente.

Contrasta la hipótesis de que la pendiente de la recta es cero a nivel 0.05.

  • La columna t value contiene el estadístico t, es decir, cociente entre cada estimador y su error típico. \(H0:β0=0.0294\) y \(H0:β1=0.2000\). En este caso la \(H0:β0=0.0294\) es aprovada por estar en el rango de valores, mientras que, \(H0:β1=0.2000\) se rechaza por estar por encima de 0.05.

Calula un intervalo de confianza para la pendiente de la recta de nivel 90%.

confint(regresion, level = 0.90)
##                    5 %       95 %
## (Intercept) 52.2166142 346.378389
## peso        -0.4847468   3.729432

Calcula y representa los intervalos de confianza al 95% de la cantidad de grasas media para los individuos entre 30 y 90 kg (los de predicción en rojo):

confint(regresion)
##                  2.5 %     97.5 %
## (Intercept) 21.7696109 376.825392
## peso        -0.9209324   4.165618
nuevas.pesos <- data.frame(peso=seq(30,90))
#Gráfica de disperión y recta 
plot(grasas$peso, grasas$grasas, xlab="peso", ylab="Grasas")
abline(regresion)

#Intervalos de confianza de la respuesta media 
#ic es una matriz de tres columnas: la primera es la predicción, las otras son los extremos del intervalo
ic <- predict(regresion, nuevas.pesos, interval="confidence" )
lines(nuevas.pesos$peso, ic[, 2], lty =2, col="red"  )
lines(nuevas.pesos$peso, ic[, 3], lty =2, col="red"  )

Lleva a cabo el diagnóstico del modelo

anova(regresion)
## Analysis of Variance Table
## 
## Response: grasas
##           Df Sum Sq Mean Sq F value Pr(>F)
## peso       1  10232 10231.7  1.7413    0.2
## Residuals 23 135145  5875.9
residuos <- rstandard(regresion)
valores.ajustados <- fitted(regresion)
plot(valores.ajustados, residuos)

qqnorm(residuos)
qqline(residuos)