Flujo de trabajo reproducible de estadística para el análisis de la correlación entre 2 variables.
¿Existe una relación temporal entre las búsquedas de: 16 de septiembre y pozole en México?
Ejemplo
Se puede observar en Google Trends que los picos de estas, aumentan al mismo tiempo en las fechas de septiembre, lo cual indica que la gente busca pozole en las fechas de la independencia.
#Refresión lineal simple,
##Importar los datos.
setwd("~/Estadistica Aplicada")#Folder donde se trabaja
library(prettydoc) #Para formato de documentos
library(readr) #Para leer los datos
library(DT)
datos <- read_csv("datos.csv") #Importar datos##
## -- Column specification --------------------------------------------------------
## cols(
## Septiembre = col_double(),
## Pozole = col_double()
## )
Visualizar datos
Tabla
datatable(datos)Gráfica
Matriz de diagramas de dispersión
Los datos se pueden observar un poco agrupados.
pairs(datos)Inferencias
Calculo 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 de 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 regresión. 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 (Septiembre ~ Pozole, data = datos)
summary(regresion)##
## Call:
## lm(formula = Septiembre ~ Pozole, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -28.744 -2.917 -0.765 1.388 46.580
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -8.9969 0.7129 -12.62 <2e-16 ***
## Pozole 2.1523 0.0998 21.57 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.686 on 259 degrees of freedom
## Multiple R-squared: 0.6423, Adjusted R-squared: 0.6409
## F-statistic: 465.1 on 1 and 259 DF, p-value: < 2.2e-16
- Ecuación de la recta de mínimos cuadrados
\[ y = -8.9969 + 2.1523 \]
- Graficación de la recta. 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 (datos$Septiembre, datos$Pozole, xlab = "Septiembre", ylab = "Pozole")
abline(regresion)En la gráfica no se observa que la nube de puntos coincida con la recta.,
cor(datos)## Septiembre Pozole
## Septiembre 1.000000 0.801454
## Pozole 0.801454 1.000000
Matriz de coeficientes de correlación
Según se indica: 0.8, lo que comprueba una alta correlación entre ambas variables.
Modelación
Modelar (predecir) datos usando la recta de mínimos cuadrados, utilizando valores del 1 al 20.
nuevos.Pozole <- data.frame(Pozole = seq(0,20))
predict(regresion,nuevos.Pozole)## 1 2 3 4 5 6 7 8
## -8.996857 -6.844565 -4.692273 -2.539980 -0.387688 1.764604 3.916897 6.069189
## 9 10 11 12 13 14 15 16
## 8.221481 10.373774 12.526066 14.678358 16.830651 18.982943 21.135236 23.287528
## 17 18 19 20 21
## 25.439820 27.592113 29.744405 31.896697 34.048990
Conclusion
Se puede observa que la recta formada apenas toca los puntos en la gráfica de minimos y cuadrados, sin embargo estos puntos están muy juntos al inicio, por lo que por eso se obtiene la correlación de 0.801454.