Cómo calcular la correlación parcial en Python

Actualizado por ultima vez el 7 de mayo de 2021, por .

En estadística, a menudo usamos el coeficiente de correlación de Pearson para medir la relación lineal entre dos variables. Sin embargo, a veces nos interesa comprender la relación entre dos variables mientras controlamos por una tercera variable .

Por ejemplo, supongamos que queremos medir la asociación entre el número de horas que estudia un estudiante y la puntuación del examen final que recibe, mientras controlamos la nota actual del estudiante en la clase. En este caso, podríamos utilizar una correlación parcial para medir la relación entre las horas estudiadas y la puntuación del examen final.

Este tutorial explica cómo calcular la correlación parcial en Python.

Ejemplo: correlación parcial en Python

Supongamos que tenemos el siguiente marco de datos de Pandas que muestra la calificación actual, el total de horas estudiadas y la puntuación del examen final para 10 estudiantes:

importar numpy como np
 importar panda como pd

datos = {'currentGrade': [82, 88, 75, 74, 93, 97, 83, 90, 90, 80],
        'horas': [4, 3, 6, 5, 4, 5, 8, 7, 4, 6],
        'examScore': [88, 85, 76, 70, 92, 94, 89, 85, 90, 93],
        }

df = pd.DataFrame (datos, columnas = ['currentGrade', 'hours', 'examScore'])
df

   currentGrade hours examScore
0 82 4 88
1 88 3 85
2 75 6 76
3 74 5 70
4 93 4 92
5 97 5 94
6 83 8 89
7 90 7 85
8 90 4 90
9 80 6 93

Para calcular la correlación parcial entre horas y examScore mientras se controla por currentGrade , podemos usar la función parcial_corr () del paquete pingouin , que usa la siguiente sintaxis:

parcial_corr (datos, x, y, covar)

dónde:

  • datos: nombre del marco de datos
  • x, y: nombres de columnas en el marco de datos
  • covar: el nombre de la columna de covariables en el marco de datos (por ejemplo, la variable que está controlando)

A continuación, se explica cómo utilizar esta función en este ejemplo en particular:

# instalar e importar el paquete pingouin  
pip instalar pingouin
 importar pingouin como pg

# encuentre una correlación parcial entre las horas y la puntuación del examen mientras controla la calificación
pg.partial_corr (data = df, x = 'hours', y = 'examScore', covar = 'currentGrade')


         n r CI95% r2 adj_r2 p-val BF10 potencia
pearson 10 0.191 [-0.5, 0.73] 0.036 -0.238 0.598 0.438 0.082

Podemos ver que la correlación parcial entre las horas estudiadas y la puntuación del examen final es .191 , que es una pequeña correlación positiva. A medida que aumentan las horas estudiadas, la puntuación del examen también tiende a aumentar, suponiendo que la calificación actual se mantenga constante.

Para calcular la correlación parcial entre múltiples variables a la vez, podemos usar la función .pcorr () :

# calcular todas las correlaciones parciales parciales, redondeadas a tres decimales
df.pcorr (). ronda (3)

	     currentGrade hours examScore
Grado actual 1.000 -0.311 0.736
horas -0,311 1,000 0,191
Examen Puntaje 0.736 0.191 1.000

La forma de interpretar la salida es la siguiente:

  • La correlación parcial entre el grado actual y las horas estudiadas es de -0,311 .
  • La correlación parcial entre la nota actual y la puntuación del examen 0,736 .
  • La correlación parcial entre las horas estudiadas y la puntuación del examen 0,191 .
  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Un gráfico QQ , abreviatura de gráfico "cuantiles-cuantiles", se utiliza a menudo para evaluar si un conjunto de datos proviene…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!