Análisis de correlación por medio de una regresión lineal y su análisis de confiabilidad
Se utilizarán datos de google trends para analizar si existe una relación entre las búsquedas de halloween con las de disfraces.
Importar
Bibliotecas y datos
library(readr) #para leer datos
library(DT) # tablas interactivas
library(prettydoc) #documentos con mejor formato
setwd("D:/Escuela/Estadistica Aplicada/u1a4") # folder de trabajo
datos <- read_csv("datos.csv") #importar datos##
## -- Column specification --------------------------------------------------------
## cols(
## TypeScript = col_double(),
## GraphQL = col_double()
## )
#visualizar datos en tabla Visualizar
Tabla
Tabla interactiva con todos los datos
datatable(datos)Gráficas
- Exploraremos la relación que existe ente las variables por medio de una matriz de diagramas de dispersión
pairs(datos)Modelar
Coeficiente de correlación de pearson
¿Existe alguna relación?
- Matriz de coeficientes de correlación
cor(datos)## TypeScript GraphQL
## TypeScript 1.00000 0.07473
## GraphQL 0.07473 1.00000
Con un índice de correlación Pearson de 0.07 determinamos que no existe una correlación, sin embargo, si una pequeña casualidad.
Calculo y representación de la recta de minimos cadrados
regresion = lm ( TypeScript ~ GraphQL, data=datos )
summary(regresion)##
## Call:
## lm(formula = TypeScript ~ GraphQL, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.238 -17.055 1.521 7.695 82.945
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 17.0546 2.3795 7.167 2.24e-10 ***
## GraphQL 0.1673 0.2380 0.703 0.484
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20.43 on 88 degrees of freedom
## Multiple R-squared: 0.005585, Adjusted R-squared: -0.005716
## F-statistic: 0.4942 on 1 and 88 DF, p-value: 0.4839
Ecuación de la recta de mínimos cuadrados \(y\)
Con esta ecuación podemos modelar y predecir valores
plot(datos$TypeScript, datos$GraphQL)
abline(regresion)nuevos.GraphQL <- data.frame(GraphQL = seq(0,20), TypeScript=seq(0,20))
predict(regresion,nuevos.GraphQL)## 1 2 3 4 5 6 7 8
## 17.05461 17.22193 17.38926 17.55658 17.72391 17.89123 18.05856 18.22588
## 9 10 11 12 13 14 15 16
## 18.39320 18.56053 18.72785 18.89518 19.06250 19.22983 19.39715 19.56448
## 17 18 19 20 21
## 19.73180 19.89913 20.06645 20.23378 20.40110
Intervalo de confianza en el modelo de regresión simple
confint(regresion)## 2.5 % 97.5 %
## (Intercept) 12.3258380 21.783376
## GraphQL -0.3056837 0.640333
El hecho de que exista una correlación pearson baja, significa que no exista una causalidad
Intervalo de confianza para el 90% de los datos
confint(regresion, level=0.07)## 46.5 % 53.5 %
## (Intercept) 16.8449806 17.2642339
## GraphQL 0.1463562 0.1882932