Establecemos carpeta de trabajo

setwd("~/ProbabilidadYEstadistica")

Regresión lineal simple parte 2

Análisis exploratorio de datos

library(pacman)
p_load("dplyr","GGally","prettydoc","ggplot", "DT")
## Installing package into 'C:/Users/EliteBook/Documents/R/win-library/3.6'
## (as 'lib' is unspecified)
## Warning: package 'ggplot' is not available (for R version 3.6.3)
## Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6:
##   no fue posible abrir la URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6/PACKAGES'
## Warning: 'BiocManager' not available.  Could not check Bioconductor.
## 
## Please use `install.packages('BiocManager')` and then retry.
## Warning in p_install(package, character.only = TRUE, ...):
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'ggplot'
## Warning in p_load("dplyr", "GGally", "prettydoc", "ggplot", "DT"): Failed to install/load:
## ggplot

Datos

head(trees)
##   Girth Height Volume
## 1   8.3     70   10.3
## 2   8.6     65   10.3
## 3   8.8     63   10.2
## 4  10.5     72   16.4
## 5  10.7     81   18.8
## 6  10.8     83   19.7
datatable(trees)
  • Primer vistazo a los datos
glimpse(trees)
## Rows: 31
## Columns: 3
## $ Girth  <dbl> 8.3, 8.6, 8.8, 10.5, 10.7, 10.8, 11.0, 11.0, 11.1, 11.2, 11....
## $ Height <dbl> 70, 65, 63, 72, 81, 83, 66, 75, 80, 75, 79, 76, 76, 69, 75, ...
## $ Volume <dbl> 10.3, 10.3, 10.2, 16.4, 18.8, 19.7, 15.6, 18.2, 22.6, 19.9, ...
  • Resumen estadístico de posición central
summary(trees)
##      Girth           Height       Volume     
##  Min.   : 8.30   Min.   :63   Min.   :10.20  
##  1st Qu.:11.05   1st Qu.:72   1st Qu.:19.40  
##  Median :12.90   Median :76   Median :24.20  
##  Mean   :13.25   Mean   :76   Mean   :30.17  
##  3rd Qu.:15.25   3rd Qu.:80   3rd Qu.:37.30  
##  Max.   :20.60   Max.   :87   Max.   :77.00

Análisis de coorelacion

Matríz de diagrama de dispersión

pairs(trees)

#Si el diametro aumenta, aumenta el volumen

Se puede ver que existe una relación clara entre la circunferencia (Girth) y el volumen (Volume), esto quiere decirnos que cuando la circunferencia aumenta, tambien lo hace el volumen, esto es obvio ya que si el diametro de un árbol aumenta tambien lo hara su masa, y por ende el volumen aumentara

Matriz de coeficientes de correlación

cor(trees)
##            Girth    Height    Volume
## Girth  1.0000000 0.5192801 0.9671194
## Height 0.5192801 1.0000000 0.5982497
## Volume 0.9671194 0.5982497 1.0000000
#relacion de 96% entre diametro y volumen

Se puede observar que existe una relacion del 96% entre el diametro y el volumen

prueba de coorelación

# x = diametro y = volumen
cor.test(x = trees$Girth, y = trees$Volume, method = "pearson", digits = 3)
## 
##  Pearson's product-moment correlation
## 
## data:  trees$Girth and trees$Volume
## t = 20.478, df = 29, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.9322519 0.9841887
## sample estimates:
##       cor 
## 0.9671194

Resumen de análisis de correlación

#install.packages("GGally")
library(GGally)
ggpairs(trees, lower = list(continuous = "smooth"), diag = list(continuous = "bar"), axislab = "none")
## Warning in warn_if_args_exist(list(...)): Extra arguments: "axislab" are being
## ignored. If these are meant to be aesthetics, submit them using the 'mapping'
## variable within ggpairs with ggplot2::aes or ggplot2::aes_string.
## Warning in check_and_set_ggpairs_defaults("diag", diag, continuous =
## "densityDiag", : Changing diag$continuous from 'bar' to 'barDiag'
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Conclusion del anáñisis de correlacion:

  1. Observando las gráficas de diagramas de dispersión, tenemos que: el diametro (girth) está relacionado con el volumen (volume).

  2. El coeficiente de correlación es bastante alto(0.9671194) y tenemos un valor de P significativo (< 2.2e-16).

  3. Tiene sentido realizar un modelo de regresión lineal.

Cálculo del modelo de regresión lineal simple

Este solo se hace si sabemos que tiene un valor de P significativo

modelo.lineal <- lm(Volume ~ Girth, data = trees)
summary(modelo.lineal)
## 
## Call:
## lm(formula = Volume ~ Girth, data = trees)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -8.065 -3.107  0.152  3.495  9.587 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -36.9435     3.3651  -10.98 7.62e-12 ***
## Girth         5.0659     0.2474   20.48  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.252 on 29 degrees of freedom
## Multiple R-squared:  0.9353, Adjusted R-squared:  0.9331 
## F-statistic: 419.4 on 1 and 29 DF,  p-value: < 2.2e-16

Ecuacion de la recta de minimos cuadrados

\[ y = -36.9435 + 5.0659x \]

names(modelo.lineal)
##  [1] "coefficients"  "residuals"     "effects"       "rank"         
##  [5] "fitted.values" "assign"        "qr"            "df.residual"  
##  [9] "xlevels"       "call"          "terms"         "model"

Intervalos de confianza

confint(modelo.lineal)
##                  2.5 %     97.5 %
## (Intercept) -43.825953 -30.060965
## Girth         4.559914   5.571799

Condiciones para aceptar el modelo

Analisis de residuales

#Analisis de lo que sobra
par(mfrow = c(1,2))
plot(modelo.lineal)

Tarea

Correlación de Pearson

cor.test(x = trees$Girth, y = trees$Volume, method="pearson", digits=3)
## 
##  Pearson's product-moment correlation
## 
## data:  trees$Girth and trees$Volume
## t = 20.478, df = 29, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.9322519 0.9841887
## sample estimates:
##       cor 
## 0.9671194

Podemos ver que tienen un 95% de intervalo de confianza, lo que nos dice que estan estrechamente relacionados

Prueba de confianza

confint(modelo.lineal)
##                  2.5 %     97.5 %
## (Intercept) -43.825953 -30.060965
## Girth         4.559914   5.571799

Podemos ver que en efecto tiene una estrecha relación

Shapiro-wilk

shapiro.test(modelo.lineal$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modelo.lineal$residuals
## W = 0.97889, p-value = 0.7811

Podemos observar que el valor de P es mayor a 0.5 por lo que concluimos que es distribucion normal

Residual

rstudent(modelo.lineal)
##           1           2           3           4           5           6 
##  1.31557278  0.91165148  0.62868269  0.03618103  0.36653703  0.46047073 
##           7           8           9          10          11          12 
## -0.76171800 -0.13774522  0.79326485  0.02505445  0.93646637  0.04554150 
##          13          14          15          16          17          18 
##  0.14012089 -0.24254305 -1.14397583 -1.51694101  1.30536686 -0.71890721 
##          19          20          21          22          23          24 
## -1.66507300 -2.03043980  0.12265438 -0.78292491 -0.04981346 -1.43318713 
##          25          26          27          28          29          30 
## -0.73053555  1.16550985  0.98530448  1.14096071 -0.67663367 -0.80263451 
##          31 
##  2.83773229

Se puede ver que la relación es lineal en la mayoría, por ende se puede suponer que los valores si están relacionados entre si.

Grafico Q-Q

qqnorm(x = trees$Girth, y = trees$Volume)

En esta QQplot se puede apreciar que las muestras cuantiles están relacionados de manera lineal, casi sin desviaciones con los cuantiles teóricos.

Con eso concluimos que la relacion entre la circunferencia y el volumen es muy estrecha ya que vemos que los valores ascienden de manera lineal, con pocas desviaciones,debido a que mayor circunferencia su volumen aumenta, obviamente también influye la altura del árbol para su volumen, pero podemos ver que lo que influye mayormente es su circunferencia.