Regresión lineal simple parte 2

Black Cherry Tree

library(prettydoc)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
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
#Girth: diámetro del tronco
#Height: altura
#Volume: volumen de madera en ft^3
glimpse(trees) #Especifica cómo estan ordenados
## 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, ...
summary(trees) #Valor Mínimo, Máximo, Mediana y Cuartiles
##      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
pairs(trees)

Podemos observar una correlación entre díametro del árbol y volumen de madera por la manera en que están ordenados los datos, los puntos en la gráfica forman casi una línea recta.

cor(trees) #índices de correlación
##            Girth    Height    Volume
## Girth  1.0000000 0.5192801 0.9671194
## Height 0.5192801 1.0000000 0.5982497
## Volume 0.9671194 0.5982497 1.0000000

En los índices de correlación podemos observar un valor del 96.71% entre las variables diámetro del árbol y volumen de madera.

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

p-value nos indica la cantidad de valores marginales de nuestro modelo de regresión lineal, es decir, aquellos valores extremos que no están cerca de nuestra recta de mínimos cuadrados. Entre menor sea el valor de p-value, más acertado es nuestro modelo. En este caso podemos observar un valor muy pequeño.

library(GGally)
## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
ggpairs(trees, lower=list(continuous = "smooth"), diag =list(continuous="bar", axislabels="none"))
## 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`.

De lo analizado hasta aquí, podemos concluir que:

  1. La variable “girth” está relacionada con la variable “volume”, por lo cual la usaremos como respuesta en este modelo.

  2. El coeficiente de correlación de Pearson es muy alto (0.9671194) y el valor de P es significativo (p-value 2.2e-16), esto indica una correlación intensa.

  3. SI tiene sentido generar un modelo de regresión lineal simple, dado que tiene una correlación y significancia importantes

Modelo de regresión lineal simple

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

Ecuación de la recta de mínimos cuadrados

\[ y= -36.9435 + 5.0659x \]

Intervalos de confianza

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

Representación gráfica del modelo

library(ggplot2)
ggplot(data = trees, mapping = aes(x = Girth, y = Volume)) +
geom_point(color = "firebrick", size = 2) +
geom_smooth(method = "lm", se = TRUE, color = "black") +
labs(title = "Volumen ~ Diámetro", x = "Diámetro", y = "Volumen") +
theme_bw() + theme(plot.title = element_text(hjust = 0.5)) 
## `geom_smooth()` using formula 'y ~ x'

Verificar condiciones para aceptar o no el modelo

  • Para evaluar las condiciones que permiten decir que el modelo es válido, se hará un análisis de residuos.
par(mfrow=c(1,2))
plot(modelo.lineal)

Contraste de hipótesis (normalidad de los residuos)

Según el método de prueba de Shapiro-wilk

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

Asignación

Prueba de correlación Pearson

El coeficiente de correlación de Pearson es una prueba que mide la relación estadística entre dos variables continuas. Si la asociación entre los elementos no es lineal, entonces el coeficiente no se encuentra representado adecuadamente.

El coeficiente de correlación puede tomar un rango de valores de +1 a -1. Un valor de 0 indica que no hay asociación entre las dos variables. Un valor mayor que 0 indica una asociación positiva. Es decir, a medida que aumenta el valor de una variable, también lo hace el valor de la otra. Un valor menor que 0 indica una asociación negativa; es decir, a medida que aumenta el valor de una variable, el valor de la otra disminuye.

Coeficiente de correlación de Pearson

Coeficientes de correlación

Prueba de Shapiro-wilk

Dada una muestra aleatoria simple de tamaño \(n\), \((x_1, x_2, \ldots, x_n)\), se quiere saber si procede de una población con distribución normal. Este problema es muy frecuente, ya que son muchas las pruebas de inferencia estadística que exigen como condición imprescindible que la población de procedencia de la muestra sea normal.

El contraste que se desarrolla en esta sección recibe el nombre de Shapiro-Wilks. El método consiste en comenzar ordenando la muestra de menor a mayor, obteniendo el nuevo vector muestral \((x_{(1)}, x_{(2)}, \ldots, x_{(n)})\), siendo x(j) el j-ésimo valor muestral tras la ordenación; a continuación se calcula el estadístico de contraste

\[ W = \frac{1}{n s^2} \left( \sum_{j=1}^h a_{in} (x_{n-i+1} - x_{i}) \right)^2, \]

siendo \(s^2\) la varianza muestral,

\[ h= \left\{ \begin{array}{cl} \frac{n}{2} & \mbox{, si \(n\) es par} \\ \frac{n-1}{2} & \mbox{, si \(n\) es impar} \end{array} \right. \]

y los coeficientes \(a_{in}\) suelen aparecer tabulados en los manuales. Obtenido el valor de \(W\), su distribución permite calcular el valor crítico del test que permite tomar una decisión sobre la normalidad de la muestra.

El programa devuelve el valor del estadístico \(W\), así como su probabilidad crítica, \(p_c\), la cual da la clave para aceptar o rechazar la hipótesis nula de normalidad, que representamos por \(H_0\). Si \(p_c \lt 0.05\), se rechazará la hipótesis con un nivel de significación del 5%; si \(p_c \lt 0.01\), se rechazará con un nivel del 1%.

Shapiro-Wilk test for normality

Kolmogorov-Smirnov

El estadístico de Kolmogorov–Smirnov, también conocido como distancia Kolmogorov–Smirnov (K-S), se define como la distancia vertical máxima entre las funciones de distribución acumulada empíricas de dos muestras, o entre una función de distribución empírica y una función de distribución acumulada teórica de referencia. La ventaja principal de este estadístico es que es sensible a diferencias tanto en la localización como en la forma de la función de distribución acumulada.

Kolmogorov–Smirnov test

Análisis Residual

Para un valor dado X de la variable independiente, al valor Yi de la recta de regresión con frecuencia se le denomina valor ajustado de la variable independiente. La diferencia entre el valor observado Y y el valor ajustado Yi se denomina el residuo para esa observación y se denota por e:

Residuales

  • El análisis residual permite evaluar lo adecuado del modelo de regresión que ha sido ajustado a los datos. También sirve para detectar si los supuestos se cumplen.

Gráficas de residuos

Conclusiones

  • En este ejercicio elaboramos un análisis de correlación de variables obtenidas de un conjunto de datos en R sobre árboles de “black cherry”. Al hacer un diagrama de dispersión, pudimos observar una relación casi lineal entras las variables de díametro del tronco y volumen de madera del árbol. Para el análisis de dicha correlación, calculamos el coeficiente y obtuvimos un resultado del 96.71%, un valor muy alto. Con ello, decidimos elaborar un modelo de regresión lineal, obtener la recta de mínimos cuadrados, intervalos de confianza y gráficarlos.
  • Para un análisis más profundo, pueden ejecutarse diferentes pruebas, como por ejemplo,la prueba de Shapiro-Wilk, Kolmogorov-Smirnov, análisis de residuos, y de correlación de Pearson; donde obtenemos un p-value, es decir, la cantidad de valores marginados del modelo lineal, entre menor sea su valor, más acertado es el modelo.