El objetivo de este capítulo es demostrar una relación o asociación entre dos variables aleatorias pareadas
================================================================================
| Parámetro | Muestra | Población |
|---|---|---|
| Proporción | \(\hat{p}\) | \(p\) |
| Media | \(\bar{x}\) | \(\mu\) |
| Desviación estandar | \(s\) | \(\sigma\) |
| Varianza | \(s^2\) | \(\sigma^2\) |
| \(H_0\) es verdadera | \(H_0\) es falsa | |
|---|---|---|
| Rechaza \(H_0\) | ERROR TIPO I (\(\alpha\)) | Decisión correcta |
| Acepta \(H_0\) | Decisión correcta | ERROR TIPO II (\(\beta\)) |
================================================================================
================================================================================
Una correlación se define como una relación o asoación entre dos variables independientes pareadas. Una correlación lineal es cuando dicha asociación puede aproximarse a una linea recta.
Podemos definir 4 tipos de correlación
x1 <- sort(runif(n = 1000,min = 0,max = 10)) + rnorm(n = 1000, mean = 15, sd = 30)
y1 <- 16 + 5*x1 + rnorm(n = 1000, mean = 45, sd = 65)
plot(y1~x1, main = "Correlación positiva")
y2 <- -y1
plot(y2~x1, main = "Correlación negativa")
y3 <- runif(n = 1000,min = 0,max = 10) + rnorm(n = 1000, mean = 65, sd = 60)
plot(y3~x1, main = "Sin correlación")
y4 <- 2*x1^2 + rnorm(n = 1000, mean = 500, sd = 750)
plot(y4~x1, main = "Relación no lineal")
El coeficiente de correlación lineal r mide la fuerza de la correlación lineal entre las dos variables cuantitivas continuas aleatorias.
| Parámetro | Símbolo |
|---|---|
| Número de pares de muestras | \(n\) |
| Coeficiente de correlación para muestras | \(r\) |
| Coeficiente de correlación para la población | \(p\) |
Para la visualización de los datos usaremos la función ggscatter() del paquete “ggpubr”. Esta función tiene varios parámetros que vamos a definir:
Lo primero que tenemos que hacer es instalar la paquetería con el siguiente código
# install.packages("ggpubr", dependencies = T)
Una vez instalado, podemos generar la gráfica con la función ggscatter(), definida como se mencionó antes.
library("ggpubr")
## Loading required package: ggplot2
ggscatter(data = iris, x = "Sepal.Length", y = "Sepal.Width",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "Sepal length", ylab = "Sepal width")
## `geom_smooth()` using formula 'y ~ x'
Hay otra forma de obtener una gráfica para evaluar la tendencia con la función scatter.smooth()
scatter.smooth(x = iris$Sepal.Length, y = iris$Sepal.Width, main = "Longitud Vs ancho")
A la inspección visual podemos observar que los datos no guardan una correlación lineal.
En R para determinar el coeficiente de correlación podemos usar la función cor, que tiene 3 parámetros:
cor(x = iris$Sepal.Length, y = iris$Sepal.Width,method = "pearson")
## [1] -0.1175698
cor(x = iris$Sepal.Length, y = iris$Sepal.Width,method = "kendall")
## [1] -0.07699679
cor(x = iris$Sepal.Length, y = iris$Sepal.Width,method = "spearman")
## [1] -0.1667777
Como se ve, cada método para calcular r obtiene r distintas. Para saber si estas tienen una diferencia estadisticamente significativa es necesario hacer una prueba estadistica de correlación.
R nos permite hacer al menos 3 pruebas de correlación en nuestros datos: + Spearman + Kendall + Pearson
Estas pruebas las podemos hacerlas con la función cor.test() que tiene 3 parámetros:
cor.test(x = iris$Sepal.Length, y = iris$Sepal.Width,method = "pearson")
##
## Pearson's product-moment correlation
##
## data: iris$Sepal.Length and iris$Sepal.Width
## t = -1.4403, df = 148, p-value = 0.1519
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.27269325 0.04351158
## sample estimates:
## cor
## -0.1175698
cor.test(x = iris$Sepal.Length, y = iris$Sepal.Width,method = "kendall")
##
## Kendall's rank correlation tau
##
## data: iris$Sepal.Length and iris$Sepal.Width
## z = -1.3318, p-value = 0.1829
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## -0.07699679
cor.test(x = iris$Sepal.Length, y = iris$Sepal.Width,method = "spearman")
## Warning in cor.test.default(x = iris$Sepal.Length, y = iris$Sepal.Width, :
## Cannot compute exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: iris$Sepal.Length and iris$Sepal.Width
## S = 656283, p-value = 0.04137
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## -0.1667777
La regresión es la formulación de la ecuación lineal que mejor se ajusta a la correlación de nuestros datos.
reg <- lm(iris$Sepal.Length~iris$Sepal.Width)
reg
##
## Call:
## lm(formula = iris$Sepal.Length ~ iris$Sepal.Width)
##
## Coefficients:
## (Intercept) iris$Sepal.Width
## 6.5262 -0.2234
summary(reg)
##
## Call:
## lm(formula = iris$Sepal.Length ~ iris$Sepal.Width)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.5561 -0.6333 -0.1120 0.5579 2.2226
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.5262 0.4789 13.63 <2e-16 ***
## iris$Sepal.Width -0.2234 0.1551 -1.44 0.152
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8251 on 148 degrees of freedom
## Multiple R-squared: 0.01382, Adjusted R-squared: 0.007159
## F-statistic: 2.074 on 1 and 148 DF, p-value: 0.1519