1.

Ejecute las siguientes tareas de preprocesamiento de datos:

  1. Retire la columna region

  2. Renombre las columnas como edad, sexo, imc, nhijos, fuma, gastos

  3. Recodifique las categorías de la variable sexo como masculino y femenino, fuma: sí y no.

datos <- read.csv2("seguro.csv")

library(dplyr)
library(tidyselect)
library(tidyr)
#colnames(datos)

#a
datos <- datos |> select(-region)

#b
datos <- datos |> rename(edad=age,sexo=sex,imc=bmi, nhijos=children, fuma=smoker,gastos=charges)

#c
datos <- datos |>  mutate(sexo = recode(sexo,"female" = "femenino", "male" = "masculino")) |> mutate(fuma = recode(fuma, "yes"="si"))
attach(datos)

2.

Obtenga la matriz de correlaciones de las variables cuantitativas y presente un gráfico que permita visualizarla.

datos$imc <-as.numeric(datos$imc)
datos$gastos <-as.numeric(datos$gastos)
datos1 <- datos|> select(c("edad","gastos","imc","nhijos"))
head(datos1) 
##   edad gastos    imc nhijos
## 1   19   7.59 27.900      0
## 2   18  20.89 33.770      1
## 3   28  18.53 33.000      3
## 4   33   3.33 22.705      0
## 5   32  12.64 28.880      0
## 6   31   9.76 25.740      0
datos1 |> cor()
##              edad     gastos        imc     nhijos
## edad   1.00000000 0.55979388 0.10037859 0.03553105
## gastos 0.55979388 1.00000000 0.25051181 0.07908431
## imc    0.10037859 0.25051181 1.00000000 0.04210715
## nhijos 0.03553105 0.07908431 0.04210715 1.00000000
library(ggplot2)
library(ggcorrplot)
datos1 |> cor() |> ggcorrplot(method = "circle", ggtheme = ggplot2::theme_gray,
   colors = c("#6D9EC1", "white", "#E46726"))


3.

Construya un intervalo del 97.5% de confianza para la correlación entre la edad y el imc.

attach(datos)
cor.test(edad, imc, method = "pearson", alternative = "two.sided", conf.level = 0.975)
## 
##  Pearson's product-moment correlation
## 
## data:  edad and imc
## t = 1.4196, df = 198, p-value = 0.1573
## alternative hypothesis: true correlation is not equal to 0
## 97.5 percent confidence interval:
##  -0.05890727  0.25468002
## sample estimates:
##       cor 
## 0.1003786
#Resultado: -0.05890727  0.25468002

4.

Pruebe si la correlación entre el imc y el número de hijos es significativamente distinta de cero. En caso lo sea, interprete su valor.

\(H_o:\rho = 0\\H_1:\rho\neq0\\\alpha=0.05\)

Determinarlos el tcal.

\[t_{cal}=\frac{r\sqrt{n-2}}{\sqrt{1-r^2}}\]

cor(imc,nhijos) -> r
r
## [1] 0.04210715
length(imc) -> n
(r*sqrt(n-2)/sqrt(1-r**2) -> tcalc)
## [1] 0.593026

Establecemos los tcrit.

tcrit1=(qt(0.025/2,n-2))
tcrit2=(qt(0.975/2,n-2))

c(tcrit1,tcrit2)
## [1] -2.25857617 -0.03137761

Notamos que el tcal cae a la derecha en la zona de rechazo.

Se rechaza la hipotesis nula (Ho).

A un nivel de significacia del 5%, existe evidencia estadística de correlación entre la variable el imc y el numero de hijos. La correlacion entre estas variables es significativamente distinta de 0.

Interpretacion del valor de la correlacion entre imc y el numero de hijos:

El valor del estimador entre estas variables es mayor que 0 por lo cual existe una correlación positiva, sin embargo, su valor de 0.04210715 es cercano a 0 por lo cual es una relacion directa debil.


5.

Se desea estudiar la influencia lineal de la edad sobre los gastos. Presente el modelo de regresión lineal simple estimado.

library(broom)
modelo <- lm(gastos ~ edad)

modelo |> tidy()
## # A tibble: 2 × 5
##   term        estimate std.error statistic  p.value
##   <chr>          <dbl>     <dbl>     <dbl>    <dbl>
## 1 (Intercept)    3.19     1.21        2.64 8.86e- 3
## 2 edad           0.281    0.0296      9.51 6.85e-18
plot(edad, gastos, xlab='Edad', ylab='Gastos',
     col="blue", main = "MODELO")
abline(lm(gastos ~ edad))

\(\hat{Y} = 3.1881 + 0.2811X\)


6.

Verifique si se cumple la siguiente igualdad: \[\widehat{\beta}_1=\frac{S_y}{S_x}r\]

Donde Sy y Sx son las desviaciones estándar de la variable respuesta y predictora, respectivamente, y R es el coeficiente de correlación entre estas variables

  • FORMA 1:
n=length(edad)
sy=sqrt((sum(gastos^2)/(n-1))-(mean(gastos)^2)*n/(n-1))
sx=sqrt((sum(edad^2)/(n-1))-(mean(edad)^2)*n/(n-1))
r=cor(edad,gastos)
beta1=sy*r/sx
beta1
## [1] 0.2811175
  • FORMA 2:
(sd(gastos)/sd(edad))*cor(edad,gastos)
## [1] 0.2811175

. Se conluye que si cumple con la igualdad


7.

Utilizando las fórmulas de error estándar, construya un intervalo del 92% de confianza para el intercepto y uno de 98% para la pendiente.

\[s_{\widehat{\beta}_0}=\sqrt{\sigma^2[\frac{1}{n}+\frac{\bar{x}^2}{\sum_{i=1}^{n}(x_i-\bar{x})^2}]}\] \[s_{\widehat{\beta}_1}=\sqrt{\frac{\sigma^2}{\sum_{i=1}^{n}(x_i-\bar{x})^2}}\]

\[IC(\beta_j)=\widehat{\beta_j}\mp t_{1-\alpha/2,n-2}s_{\widehat{\beta}_j}\]

n<-length(edad)
#sigma<-summary(modelo)$sigma
#sb0=sqrt(sigma**2*(1/n+mean(edad)**2/sum((edad-mean(edad))**2)))
#sb1=sqrt(sigma**2/sum((edad-mean(edad))**2))

#b0=summary(modelo)$coefficients["(Intercept)","Estimate"]
#b1=summary(modelo)$coefficients["edad","Estimate"]
#c(icb0INF,icb0SUP)
library(broom)
library(pacman)
p_load(readxl,dplyr,GGally)
b0 <- 3.1881
summary(lm(gastos ~ edad))$sigma**2 ->sigcuadrado
erb0 <- sqrt(sigcuadrado*(1/200+(mean(edad**2)/(199*var(edad)))))

tinter=(qt(1-0.08/2,n-2))

icb0INF = b0-tinter*erb0
icb0SUP = b0+tinter*erb0

icb0INF ; icb0SUP
## [1] 0.9364787
## [1] 5.439721
tpend=(qt(1-0.02/2,n-2))

b1 <- 0.2811
summary(lm(gastos ~ edad))$sigma**2 ->sigcuadrado
eb1 <- sqrt(sigcuadrado/(199*var(edad)))

icb1INF=b1-tpend*eb1
icb1SUP=b1+tpend*eb1

icb1INF ; icb1SUP
## [1] 0.2117427
## [1] 0.3504573

8.

Calcule las sumas de cuadrados para el análisis de varianza (use las fórmulas).

Suma de cuadrados del total

\[SCTotal = \sum_{i=1}^{n}(y_i-\bar{y})^2=SCReg + SCError\]

pg = mean(gastos)
sct=sum((gastos - pg)**2)
sct
## [1] 10536.64

Suma de cuadrados de la regresión

\[SCReg=\sum_{i=1}^{n}(\widehat{y}_i-\bar{y})^2=SCTotal-SCError\]

yest=b0+b1*edad #Y estimado

scr=sum((gastos-yest)**2)
scr
## [1] 7234.78

Suma de cuadrados del error

\[SCError=\sum_{i=1}^{n}(y_i-\widehat{y})^2=SCTotal-SCReg\]

sce=sum((yest-pg)**2)
sce
## [1] 3301.446
  • Corroborando
anova(lm(gastos ~ edad))$"Sum Sq"
## [1] 3301.857 7234.780

9.

Presente el análisis de varianza, redacte sus conclusiones con un nivel de significancia del 5%

anova(lm(gastos ~ edad))
## Analysis of Variance Table
## 
## Response: gastos
##            Df Sum Sq Mean Sq F value    Pr(>F)    
## edad        1 3301.9  3301.9  90.365 < 2.2e-16 ***
## Residuals 198 7234.8    36.5                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

\(H_{0}: \beta_{1}= 0\) \(H_{1}: \beta_{1}\neq 0\) \(\alpha = 0.05\) Calcular el \(P_{valor}\)

n <- length(edad)
pvalor = pf(90.365,1,1.198, lower.tail = FALSE)
pvalor
## [1] 0.04486394
pvalor<0.05
## [1] TRUE
  • Se rechaza la \(H_{o}\)
  • Existe suficiente evidencia estadística para indicar que hay una regresión lineal de los gastos en función de la edad.

10.

¿A cuánto asciende el valor estimado de σ²? ¿En qué unidades se encuentra establecida esta estimación?

summary(lm(gastos ~ edad))$sigma**2
## [1] 36.53929

La variable \(y = gastos\), presenta como unidad el dólar Por lo tanto para la unidad del valor estimado de σ² sería el dólar al cuadrado.


11.

Se desea estudiar la influencia lineal de las variables sobre los gastos. Presente el modelo de regresión lineal múltiple estimado.

modelo_mul <- lm(gastos ~ ., data = datos)
modelo_mul
## 
## Call:
## lm(formula = gastos ~ ., data = datos)
## 
## Coefficients:
##   (Intercept)           edad  sexomasculino            imc         nhijos  
##      -5.19529        0.26917       -0.08941        0.25387        0.34643  
##        fumasi  
##       3.27114
datos |> ggpairs(title = "Regresion Lineal Multiple")


12.

Interprete los coeficientes de regresión estimados

modelo_mul |> summary()
## 
## Call:
## lm(formula = gastos ~ ., data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.8275  -3.9415  -0.2676   4.2364  12.4101 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -5.19529    2.49684  -2.081 0.038770 *  
## edad           0.26917    0.02843   9.468  < 2e-16 ***
## sexomasculino -0.08941    0.82943  -0.108 0.914265    
## imc            0.25387    0.07271   3.492 0.000594 ***
## nhijos         0.34643    0.33221   1.043 0.298342    
## fumasi         3.27114    0.98776   3.312 0.001106 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.76 on 194 degrees of freedom
## Multiple R-squared:  0.3892, Adjusted R-squared:  0.3735 
## F-statistic: 24.73 on 5 and 194 DF,  p-value: < 2.2e-16
  • \(\beta_0:5.19529\) , esta interpretacion carece de sentido porque el gasto mensual no puede ser negativo y una persona de 0 años de edad no puede generar un gasto.

  • \(\beta_1:0.26917\) , cuando se incrementa un año de edad, el gasto mensual estimado se incrementa en 0.26917 dolares, manteniendo los demas atributos en valores constantes.

  • \(\beta_2:-0.08941\) , el gasto mensual estimado de los hombres (sexo Masculino, codificado como 1) supera en 0.08941 dolares al gasto mensual de las mujeres (sexo femenino, codificado como 0), manteniendo los demas atributos en valores constantes.

  • \(\beta_3:0.25387\) , cuando se incrementa en una unidad el indice de masa corporal (imc), el gasto mensual estimado se incremetan en 0.25387 dolares, manteniendo los demas atributos en valores constantes.

  • \(\beta_4:0.34643\) , cuando se incrementa el numero de hijos en uno, el numero de gastos mensuales se incrementa en 0.34643 dolares, manteniendo los demas atributos en valores constantes.

  • \(\beta_5:3.27114\) , la gasto mensual de los fumadores (codificados con 1) supera en 3.27114 dolares al gasto mensual de los no fumadores (codificado con 0), manteniendo los demas atributos en valores constantes.


13.

¿Qué sucedió con el valor del coeficiente de regresión de la edad cuando se trabajó con un modelo de regresión lineal múltiple en vez de uno simple?

Valor del coeficiente de regresion de la edad en el modelo:

  • lineal: 0.2811
  • multiple: 0.2691

El valor del coeficiente de regresion se redujo en 0.012.


14.

Presente el análisis de varianza, redacte sus conclusiones con un nivel de significancia del 5%

modelo_mul |> aov() |> summary()
##              Df Sum Sq Mean Sq F value   Pr(>F)    
## edad          1   3302    3302  99.535  < 2e-16 ***
## sexo          1      1       1   0.037 0.846905    
## imc           1    405     405  12.213 0.000588 ***
## nhijos        1     29      29   0.876 0.350424    
## fuma          1    364     364  10.967 0.001106 ** 
## Residuals   194   6436      33                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • Para las variables sexo y numero de hijos, no se rechaza la hipotesis nula, no existe suficiente evidencia estadística para indicar que existe una relación lineal de dependencia del del gasto en función al sexo o al numero de hijos, con un nivel de significancia del 5%.

  • Para las variables edad, el imc, fuma, se rechaza la hipotesis nula, si existe suficiente evidencia estadística para indicar que existe una relación lineal de dependencia del del gasto en función a las variables mencionadas, con un nivel de significancia del 5%


15.

Plantee y desarrolle una prueba de hipótesis para una de las variables predictoras cuantitativas.

\(H_{0} : \beta_{nhijos} = 0\) \(H_{1} : \beta_{nhijos} \neq 0\)

modelo_mul<-lm(datos$gastos~.,data=datos)
summary(modelo_mul)
## 
## Call:
## lm(formula = datos$gastos ~ ., data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.8275  -3.9415  -0.2676   4.2364  12.4101 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -5.19529    2.49684  -2.081 0.038770 *  
## edad           0.26917    0.02843   9.468  < 2e-16 ***
## sexomasculino -0.08941    0.82943  -0.108 0.914265    
## imc            0.25387    0.07271   3.492 0.000594 ***
## nhijos         0.34643    0.33221   1.043 0.298342    
## fumasi         3.27114    0.98776   3.312 0.001106 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.76 on 194 degrees of freedom
## Multiple R-squared:  0.3892, Adjusted R-squared:  0.3735 
## F-statistic: 24.73 on 5 and 194 DF,  p-value: < 2.2e-16
alfa<-0.05
pvalor.nhijos<-0.298342
pvalor.nhijos>alfa
## [1] TRUE

Para un valor de alfa de 5%: . No se rechaza la Ho. . Y concluimos que el numero de hijos no influye en los gastos.


16.

Plantee y desarrolle una prueba de hipótesis para una de las variables predictoras cualitativas.

\(H_{0} : \beta_{sexo} = 0\) \(H_{1} : \beta_{sexo} \neq 0\)

modelo_mul<-lm(datos$gastos~.,data=datos)
summary(modelo_mul)
## 
## Call:
## lm(formula = datos$gastos ~ ., data = datos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.8275  -3.9415  -0.2676   4.2364  12.4101 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -5.19529    2.49684  -2.081 0.038770 *  
## edad           0.26917    0.02843   9.468  < 2e-16 ***
## sexomasculino -0.08941    0.82943  -0.108 0.914265    
## imc            0.25387    0.07271   3.492 0.000594 ***
## nhijos         0.34643    0.33221   1.043 0.298342    
## fumasi         3.27114    0.98776   3.312 0.001106 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.76 on 194 degrees of freedom
## Multiple R-squared:  0.3892, Adjusted R-squared:  0.3735 
## F-statistic: 24.73 on 5 and 194 DF,  p-value: < 2.2e-16
pvalor.sexo<-0.914265 
pvalor.sexo>alfa
## [1] TRUE

Para un valor de alfa de 5% No se rechaza la Ho. Y concluimos que el sexo no influye en los gastos.


17.

Obtenga e interprete el coeficiente de determinación, así como el de determinación ajustado.

summary(modelo_mul)$r.squared
## [1] 0.3892246
summary(modelo_mul)$adj.r.squared
## [1] 0.373483
  • El 35.42% de la variabilidad del gasto es explicada por el modelo.(Coeficiente de determinación

  • El 34.43% de la variabilidad del gasto es explicada por el modelo.(Coeficiente de determinación ajustado


18.

Plantee una situación donde el punto evaluado para una predicción NO corresponda a una extrapolación

En este caso estamos tomando la edad de una persona como 24 años, que está dentro del rango de nuestros datos, también un índice de masa corporal de 30 y un número de hijos igual a 1; en el caso de el sexo y fuma estamos tomando valores que están presentes en nuestros datos.

predict(modelo,data.frame(edad = 24,
                     sexo = "masculino",
                     imc = 30,
                     nhijos = 1,
                     fuma='no'))
##        1 
## 9.934904

19.

Plantee una situación donde el punto evaluado para una predicción SÍ corresponda a una extrapolación

En este caso estamos asumiendo la edad de una persona como 100 años, que está muy por fuera del rango de nuestros datos, también un índice de masa corporal de 100 y un número de hijos de 50; en el caso de el sexo y fuma estamos tomando valores que están presentes en nuestros datos.

predict(modelo,data.frame(edad = 100,
                     sexo = "femenino",
                     imc = 100,
                     nhijos = 50,
                     fuma='si'))
##        1 
## 31.29983

20.

¿Cuál ha sido el concepto o procedimiento más sencillo hasta ahora en el curso? ¿Cuál ha sido el más complicado? Indicar la respuesta de cada integrante en el siguiente formulario https://forms.gle/MUyo8MTQeqLCZQ8S7

INTEGRANTES

  • Aburto Huaman, Paulo Cesar
  • Alzamora Caipane, Valeria
  • Gomez Puma, Emilly Carolina
  • Kuway Chero, Giancarlo Javier