Ejecute las siguientes tareas de preprocesamiento de datos:
Retire la columna region
Renombre las columnas como edad, sexo, imc, nhijos, fuma, gastos
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)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"))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.25468002Pruebe 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.
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\)
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
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
(sd(gastos)/sd(edad))*cor(edad,gastos)## [1] 0.2811175
. Se conluye que si cumple con la igualdad
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
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
anova(lm(gastos ~ edad))$"Sum Sq"## [1] 3301.857 7234.780
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
¿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.
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")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.
¿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:
El valor del coeficiente de regresion se redujo en 0.012.
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%
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.
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.
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
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
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
¿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