Análisis de correlacion

Importar paquetes y definir folder de trabajo

library(readxl)
library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "readr", "ggplot2", "tidyr", "plotly", "DT")
setwd("~/Stat")
## Importar datos
lluvias <- read_excel("lluviashermosillo.xlsx")
names(lluvias)
## [1] "lluvia15" "lluvia05"

Descripción de datos

Se tienen datos de lluvia de 12 meses del estado de hermosillo del año 2015 y 2005

datatable(lluvias)

Correlación con matriz de diagrama de dispersión

pairs(lluvias)

Cuantificar el grado de relación lineal (coef. de correlación)

cor(lluvias)
##           lluvia15  lluvia05
## lluvia15 1.0000000 0.4324448
## lluvia05 0.4324448 1.0000000

Estimación y representación de la recta de mínimos cuadrados

El comando básico es lm (linear models). El primer argumento de este comando es una fórmula y ~ x en la que se especifica cuál es la variable respuesta o dependiente (y) y cuál es la variable regresora o independiente (x). El segundo argumento, llamado data especifica cuál es el fichero en el que se encuentran las variables. El resultado lo guardamos en un objeto llamado regresion. Este objeto es una lista que contiene toda la información relevante sobre el análisis. Mediante el comando summary obtenemos un resumen de los principales resultados:

regresion <- lm(lluvia05  ~   lluvia15 , data=lluvias )
summary(regresion)
## 
## Call:
## lm(formula = lluvia05 ~ lluvia15, data = lluvias)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -34.73 -16.87 -12.00  19.70  58.74 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  11.5857    11.7838   0.983    0.349
## lluvia15      0.2452     0.1617   1.517    0.160
## 
## Residual standard error: 29.35 on 10 degrees of freedom
## Multiple R-squared:  0.187,  Adjusted R-squared:  0.1057 
## F-statistic:   2.3 on 1 and 10 DF,  p-value: 0.1603

Los parámetros de la ecuación de la recta de mínimos cuadrados que relaciona la cantidad de grasas en la sangre en función del peso vienen dados por la columna ´Estimate´ de la tabla ´Coefficients´ de la salida anterior. Por lo tanto, en este ejemplo la ecuación de la recta de mínimos cuadrados es:

\[ y = 102.5751 + 5.3207 x \]

Los siguientes comandos representan la nube de puntos (comando plot) y añaden la representación gráfica de la recta de mínimos cuadrados (comando abline aplicado al objeto generado por lm):

plot(lluvias$lluvia15, lluvias$lluvia05, xlab="lluvia15", ylab="lluvia05" )
abline(regresion)

El coeficiente de determinación (es decir, el coeficiente de correlación al cuadrado) mide la bondad del ajuste de la recta a los datos. A partir de la salida anterior, vemos que su valor en este caso es Multiple R-squared: 0.187

Cálculo de predicciones

Supongamos que queremos utilizar la recta de mínimos cuadrados para predecir la cantidad de temperaturas para lluvias de 90 a 110. Basta crear un fichero de datos que contenga las nuevas variables regresoras y usar el comando predict:

nuevas.edades <- data.frame(lluvia15= seq(90,110))
predict(regresion,nuevas.edades)
##        1        2        3        4        5        6        7        8 
## 33.65587 33.90109 34.14632 34.39154 34.63677 34.88199 35.12722 35.37244 
##        9       10       11       12       13       14       15       16 
## 35.61767 35.86289 36.10811 36.35334 36.59856 36.84379 37.08901 37.33424 
##       17       18       19       20       21 
## 37.57946 37.82469 38.06991 38.31513 38.56036