Show Menu
Cheatography

R T2.3 Análisis de la correlación Cheat Sheet by

R T2.3 Análisis de la correlación

Coefic­iente de correl­ación de Pearson

Debe satisfacer las siguientes condic­iones
La relación que se quiere estudiar entre ambas variables es lineal
Las dos variables deben de ser cuanti­tativas
Normal­idad: ambas variables se tienen que distribuir de forma normal (test K-S)
Homoce­das­tic­idad: La varianza de 𝑌 debe ser constante a lo largo de la variable 𝑋 (test de Bartlett)
Caract­erí­sticas
Toma valores entre [-1, +1], siendo +1 una correl­ación lineal positiva perfecta y -1 una correl­ación lineal negativa perfecta. Si es 0 significa que NO existe relación lineal entre las variables consid­eradas.
No varía si se aplican transf­orm­aciones a las variables
no equivale a la pendiente de la recta de regresión
es necesario calcular su signif­ica­tividad (p-valor) si no es signif­ica­tivo, se ha de interp­retar que la correl­ación de ambas variables es 0
1.1. Evidencias gráficas: Scatte­rplot
librar­y(g­gplot2)
ggplot­(data = Cars93,
  aes(x = Weight, y = Horsep­ower)) +
  geom_p­oin­t(c­olour = "­red­4") +
  ggtitl­e("D­iagrama de disper­sió­n") +
  theme_bw() +
  theme(­plo­t.title = elemen­t_t­ext­(hjust = 0.5))
1.2. Evidencias gráficas: Análisis de normalidad
par(mfrow = c(1, 2))
hist(C­ars­93$­Weight, breaks = 10, main = "­",
  xlab = "­Wei­ght­", border = "­dar­kre­d")
hist(C­ars­93$­Hor­sep­ower, breaks = 10, main = "­",
  xlab = "­Hor­sep­owe­r", border = "­blu­e")
par(mfrow = c(1, 1))
1.3. Evidencias gráficas: gráfico quanti­l-q­uantil (Q-Q plot)
qqnorm­(Ca­rs9­3$W­eight, main = "­Wei­ght­",
  col = "­dar­kre­d")
qqline­(Ca­rs9­3$W­eight)
qqnorm­(Ca­rs9­3$H­ors­epower, main = "­Hor­sep­owe­r",
  col = "­blu­e")
qqline­(Ca­rs9­3$H­ors­epower)
 
par(mfrow = c(1, 2))
qqnorm­(Ca­rs9­3$W­eight, main = "­Wei­ght­",
  col = "­dar­kre­d")
qqline­(Ca­rs9­3$W­eight)
qqnorm­(Ca­rs9­3$H­ors­epower, main = "­Hor­sep­owe­r",
  col = "­blu­e")
qqline­(Ca­rs9­3$H­ors­epower)
par(mfrow = c(1, 1))
2.1 Evid. contr.: test K-S-L (H0= dist. normal)
requir­e(n­ortest)
lillie.te­st(­Car­s93­$We­ight)
lillie.te­st(­Car­s93­$Ho­rse­power)
2.2 Si no es dist. normal: tipifi­cación
a cada observ­ación se resta la media y se divide por la desvia­ción típica.
xt = scale(x)
2.3 Si no es dist. normal: transf­orm­ación no lineal
Asimetría negativa: 𝑥2
Asimetría positiva: √𝑥 (poco) 𝑙𝑛(𝑥) (medio) 1/𝑥 (alto)
Ahora se repiten todos los pasos a partir de evidencias gráficas: normalidad
3.1. Análisis de la homoce­das­tic­idad: Gráficas
ggplot­(data = Cars93, aes(x = Weight,
  y = Horsep­ower)) + geom_p­oin­t(c­olour = "­red­4") +
  geom_s­egm­ent­(aes(x = 1690, y = 70, xend = 3100,
  yend = 300), linetype = "­das­hed­") +
  geom_s­egm­ent­(aes(x = 1690, y = 45, xend = 4100,
  yend = 100),l­inetype = "­das­hed­") +
  ggtitl­e("D­iagrama de disper­sio­́n") + theme_bw() +
  theme(­plo­t.title = elemen­t_t­ext­(hjust = 0.5))
3.2. Análisis de la homoce­das­tic­idad: ev. cont. test de Bartlett
El p-valor menor que 5% permite rechazar la hipótesis nula 𝐻0
bartlett.test(list(Cars93$Weight,Cars93$Horsepower))
Test de Bartlett en las variables transf­ormadas
bartle­tt.t­es­t(l­ist­(lo­g(C­ars­93$­Wei­ght­),l­og(­Car­s93­$Ho­rse­pow­er)))
4.1. Coefic­iente de Pearson (ev. num. solo)
cor(x = Cars93­$We­ight, y = log(Ca­rs9­3$H­ors­epo­wer), method = "­pea­rso­n")
4.2. Coefic­iente de Pearson (ev. contra­stada)
Comrpo­bamos que p-valor sea menor que o igual que 0,05
cor.test(x = Cars93­$We­ight, y = log(Ca­rs9­3$H­ors­epo­wer­),a­lte­rnative = "­two.si­ded­"­,co­nf.l­evel = 0.95, method = "­pea­rso­n")
5. Coefic­iente de determ­ina­ción 𝑅2
cantidad de varianza de la variable 𝑌 explicada por 𝑋 y que se obtiene elevando al cuadrado el coefic­iente de correl­ación 𝑟
El 𝑅2 presenta valores entre 0 y 1. Lo más próximo a 1 signif­icará que con nuestra variable X seremos capaces de explicar en gran medida el compor­tam­iento de nuestra variable Y. En cambio, si se aproxima a 0 querrá decir que si nuestro objetivo es explicar la variable Y en función de X, tendremos que cambiar de variable explic­ativa (X) ya que prácti­camente no nos aporta inform­ación sobre la variable Y.
 

Si no se cumplen condic­iones del coef. Pearson

Coefic­iente Rho de Spearman
Cuando estamos ante variables categó­ricas (no numéricas) (género y educación)
Cuando los valores no pertenecen a una distri­bución normal
requir­e(MASS)
cor.te­st(­bir­thw­t$bwt, birthw­t$lwt, altern­ati­ve=­"­two.si­ded­", method­="sp­ear­man­")
cor.te­st(­bir­thw­t$bwt, birthw­t$lwt, altern­ati­ve=­"­les­s", method­="sp­ear­man­")
cor.te­st(­bir­thw­t$bwt, birthw­t$lwt, altern­ati­ve=­"­gre­ate­r", method­="sp­ear­man­")
Coefic­iente Tau de Kendall
Cuando estamos ante variables categó­ricas (no numéricas) (género y educación)
Cuando los valores no pertenecen a una distri­bución normal
requir­e(MASS)
cor.te­st(­bir­thw­t$bwt, birthw­t$lwt, altern­ati­ve=­"­two.si­ded­", method­="ke­nda­ll")
etc
 

La matriz de correl­aciones

cor(x = datos, method = "­pea­rso­n")
pairs(x = datos, lower.p­anel = NULL)
requir­e(c­orr­plot)
corrpl­ot(corr = cor(x = datos, method = "­pea­rso­n"), method = "­num­ber­")
requir­e(p­sych)
pairs.p­an­els(x = datos, ellipses = FALSE, lm = TRUE, method = "­pea­rso­n")

El coefic­iente de correl­ación parcial

Se quiere estudiar la relación entre las variables precio y peso de los automo­́viles. Se sospecha que esta relación podría estar influe­nciada por la variable potencia del motor, ya que a mayor peso del vehículo se requiere mayor potencia y, a su vez, motores más potentes son más caros.
ggplot­(data = Cars93, aes(x = Weight, y = log(Pr­ice))) +
geom_p­oin­t(c­olour = "­red­4") +
ggtitl­e("D­iagrama de disper­sio­́n") + theme_bw() +
theme(­plo­t.title = elemen­t_t­ext­(hjust = 0.5))
cor.test(x = Cars93­$We­ight, y = log(Ca­rs9­3$P­rice), method = "­pea­rso­n")
requir­e(p­pcor)
pcor.t­est(x = Cars93­$We­ight, y = log(Ca­rs9­3$P­rice),
  z = Cars93­$Ho­rse­power, method = "­pea­rso­n")
La correl­ación entre el peso y el logaritmo del precio es alta (r=0.764) y signif­icativa (p-value < 2.2e-16). Sin embargo, cuando se estudia su relación bloqueando la variable potencia de motor, a pesar de que la relación sigue siendo signif­icativa (p-value = 6.2886­49e-05) pasa a ser baja (r=0.4­047).
Luego, podemos concluir que la relación lineal existente entre el peso y el logaritmo del precio está influe­nciada por el efecto de la variable potencia de motor. Si se controla el efecto de la potencia, la relación lineal existente es baja (r=0.4­047).
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          ggplot2-scatterplots Cheat Sheet
          iGraph Cheat Sheet

          More Cheat Sheets by julenx

          Python 1.1 Numpy Cheat Sheet
          Python pandas Cheat Sheet
          R Cheat Sheet