Hola. A continuación vamos a ver, a través de un Notebook Jupyter, tal como hemos hecho hasta ahora, cómo hacer un análisis exploratorio bivariante. En general, para poder entender la complejidad de los datos requerimos hacer análisis no sólo univariantes, sino bivariantes y en altas dimensiones. No obstante, las herramientas de visualización nos permiten metodologías que están basadas, justamente, en un análisis de bivariantes, así que nos vamos a centrar en este caso. De algún modo, el punto de vista conceptual de un análisis bivariante podría ser el intentar relacionar la respuesta con algunas de las variables explicativas, como el "target" con algún "feature", o intentar relacionar dos tipos de variables objetivos, o intentar relacionar diferentes variables explicativas. Es decir, todos aquellos métodos que nos lleven a describir de algún modo la complejidad entre dos variables, sean respuesta o sean explicativas, pueden ser ejemplizados con las metodologías que vamos a describir a continuación. Así que, de algún modo, a modo práctico, nos vamos a centrar en tres casos que están descritos. Nos vamos a preocupar de si la variable es cuantitativa, si estamos en un escenario, como habíamos llamado, "de regresión", o si la variable es cualitativa, que es lo que habíamos relacionado con un escenario de clasificación. A pesar de eso, remarcamos que las variables que vamos a analizar no necesariamente van a ser variables respuestas. Pero para poder remarcar los tres casos posibles, veremos cómo estudiar una variable cualitativa frente a una cuantitativa, cómo estudiar la relación entre dos variables cuantitativas y, finalmente, cómo estudiar la relación entre dos variables cualitativas. Para empezar, remarcar que para lo que vamos a exponer a continuación, hemos importado la librería Cyborg. Como en cada sesión que trabajamos con Notebook, vamos a empezar haciendo la correspondiente importación. En este caso, remarcamos que entramos con la base "bd5", que exportaremos siguiendo los criterios que utilizamos en el último video, y procedamos al análisis directamente. Empecemos con un ejemplo de cómo analizar una variable continua con una cualitativa, o cuantitativa con una cualitativa, es decir, una variable que toma valores de tipo numérico y una variable que toma valores de tipo categorías. Como ejemplo, podemos ver aquí que hemos estudiado a la variable "ArrDelay", acordaros que es el retraso en la llegada de los vuelos, que sería la variable continua o cuantitativa, frente a la variable "Destino", destino puesto que es una variable que toma ciertos valores de diferentes categorías, ocho categorías para ser exactos, toma el carácter cualitativo. Si queremos estudiar la relación entre el "ArrDelay" y la variable Destino, una posible metodología es a través de este, un descriptivo, simplemente, analizando para cada uno de los diferentes destinos, un pequeño descriptivo de cuál es el comportamiento de la variable "ArrDelay". Es decir, en general la variable "ArrDelay" tiene un valor para la media, un valor para la desviación, para el valor estándar, pero es interesante cuando hacemos este análisis bivariante pensar en cuál sería este valor de la media y este valor de la desviación, en función de cada uno de los destinos. Aquí, la tabla la tenéis y, como podéis ver, la salida habitual de Jupyter no es muy agradable a la vista, así que proponemos utilizar la librería Pandas para mejorar esta visualización. Aquí tenéis, simplemente, si esta salida que hemos ejemplizado aquí como "g3" la intentamos visualizar con Pandas, podéis ver que el resultado es mucho más agradable a la vista y, quizás, sea más fácil de cara a crear informes u otras herramientas de posterior análisis. Como es habitual, describir ciertas relaciones o cierto comportamiento a través de una tabla es como un primer paso, pero esta información siempre es mucho más interesante llevarla a cabo a través de algún tipo de gráfico. En este caso, el gráfico que correspondería a lo que acabamos de describir en una tabla es el que tenéis aquí. Este gráfico lo podéis generar utilizando simplemente la herramienta "plot", y fijaros que simplemente debemos especificar que el valor de referencia será la media, que corresponderá a los valores de la tabla que estaban así indexados, y el valor del error de este gráfico vendrá dado justamente por esta última columna. Así que hay que tener una manera de describir esta información, podéis ver en las barras, cada una de las barras cómo quedan, explicando esta barra de error que nos da la última columna de la tabla, y los valores que están centrales son los correspondientes a la media. A continuación, vamos a crear una nueva tabla para tal de simplificar un poco la información. Lo que nos proponemos ahora es intentar describir la variable "RetrasoNeto" a través de los diferentes horarios y diferentes destinos. O, del mismo modo, podríamos intentar describir la variable "Retraso de Llegada" o "Retraso de Salida" a partir de estas dos variables categóricas. Es decir, estos análisis bivariantes se pueden llevar a otra dimensión combinando las diferentes metodologías. Así que, por ejemplo, vemos el contraste de la variable destino con los diferentes destinos y el correspondiente gráfico "boxplot" que podéis generar con la instrucción que tenéis aquí, menciona a "boxplot", y así vemos cómo se distribuye este retraso "ArrDelay", igual que habíamos analizado antes, en función de cada uno de los destinos. ¿Cuál es la diferencia con el anterior gráfico? Fijaros que aquí estamos representando la distribución de la variable "ArrDelay" a través del "boxplot", con lo cual estamos ejemplizando cuál es el comportamiento de los diferentes estadísticos de orden. O, dicho de otro modo, el valor central aquí representado es la mediana y no la media, como hacíamos anteriormente. Son dos puntos de vista diferentes que, a menudo, hay que contrastar con el fin de ver cuál es realmente la distribución que tenemos que tener en cuenta. Con la tabla que hemos creado justamente ahora, podemos proponer este análisis un poco más complejo dentro de este marco de analizar una variable categórica con una variable cuantitativa, añadiendo otra variable categórica que sería "horario". Si os fijáis en este gráfico, que vuelve a ser un gráfico de "barplot", como habíamos visto, podemos ver para diferentes destinos, no sólo cómo se comporta el "ArrDelay" sino, además, cómo se comporta este "ArrDelay" en función del diferente horario. Así, cada cuatro barras que tenéis aquí, nos están dando un desglose de cuál es el comportamiento de la interacción entre "ArrDelay" y "Destino", y este desglose nos viene marcado por otra variable cualitativa, por otra variable categórica. Esto es una manera de ir añadiendo información a un gráfico. En este caso, remarcamos que hemos ido un poco más allá de hacer un estudio bivariante y aquí, en realidad, estamos intentando describir una distribución de tres variables, "Horario", "Destino" y "ArrDelay". El siguiente caso es estudiar la relación entre dos cualitativas. A modo de ejemplo utilizaremos las variables "Retraso" y "Destino". Se pueden resumir en una nueva tabla que llamaremos "pdf6" y que podéis ver aquí listada, la hemos pedido de generar en el siguiente orden, "Destino" ordenado alfabéticamente, y después por la variable "Retraso" y, en cada caso, hemos contado el recuento de casos con esta combinación de valores. Fijaros que, aquí, las dos variables categóricas o cualitativas es "Destino" y "Retraso". Así que vamos a intentar analizar cuál es la relación entre estas dos, entre "Retraso" y "Destino". Y, ¿cómo vamos a hacerlo? Estudiando los casos en que sucede una u otra. Una manera de representar gráficamente esto que acabamos de ver en una tabla, sería a través de este gráfico "barplot" que ya hemos usado anteriormente. Así podemos ver que para cada destino, cuáles corresponden a "no Retraso" y cuáles se corresponden a "Retraso". Y el eje vertical nos viene diciendo cuántos son los casos que presentan estas características. Aquí, es interesante ver que este gráfico ya nos permite tener una cierta visualización de la magnitud de la relación, o la proporción, entre "Retraso" y "no Retraso" en función de los diferentes destinos. Este es un estudio de variable categórica contra variable categórica y la información que recogemos es un recuento simplemente, así que la información que podemos realmente resumir es la proporción que puede representar estos casos. Para hacer esto, para representar esta proporción, una propuesta podría ser ésta. Para ver la proporción entre "Retraso cero" o "Retraso uno", una manera de hacerlo es haciendo el promedio, y así vemos qué proporción de unos hay respecto al total. Así que por eso que hemos indicado aquí, que nuestra variable va a ser el promedio de "Retraso". Pero, en realidad, fijémonos que esto está representando la proporción de "Retraso" respecto al total, en función de cada uno de los valores de la variable "Destino". Aún podríamos ir más allá y añadir información, por ejemplo, del día de la semana. El día de la semana podría ser otra variable categórica que podríamos interaccionar en este estudio. Así, por ejemplo, esta es una propuesta que haríamos diferentes gráficos. Observemos el primer gráfico, por ejemplo, cada punto representará un día de la semana, las líneas azules, como podéis ver, son los vuelos sin retraso y verdes las líneas con retraso. Para cada una de las líneas, se indica con el eje vertical el número de casos que presentan estas características. Así que tenemos representado, con este conjunto de gráficos, la interacción entre los diferentes destinos, el número de retrasos en los vuelos o no retraso, y el día de la semana en el que ocurre. Así que podéis sacar algunas conclusiones bastante evidentes comparando los diferentes tipos de líneas que vemos. Realmente, el potencial de este tipo de gráficos abarca muchas posibilidades y sería muy interesante entrar en detalle, pero es quizás más interesante que aprendamos las diferentes herramientas que tenéis a vuestro alcance. Así que pasamos al caso de variable continua contra otra variable continua. Este sería el caso de cuando tenemos dos variables cuantitativas, con dos cosas que podemos cuantificar. Un ejemplo evidente que tenemos en la base de datos es el retraso en la llegada y el retraso en la salida, "ArrDelay" y "DepDelay". Ambas variables pueden tomar cualquier valor y esto les da un cierto carácter de variable numérica, y el análisis de la relación se convierte quizás en algo un poco más complejo, pues no podemos comparar directamente categorías. Un estadístico habitual para analizar cómo se relacionan dos variables de carácter numérico es la correlación. Por defecto, obtendremos en general, con cualquier programa, la correlación de Spearman. Y aquí tenéis que, en este caso, tenemos que es de 0.95. Sabemos que este valor se mueve entre menos uno y uno y, esto, por tanto indica que la relación entre "ArrDelay" y "DepDelay" es una relación directa y que toma un valor realmente muy alto. Así que hay mucha relación entre ambas variables y además, de algún modo, cuando una es elevada, la otra también. Es interesante ver que, a pesar de que haya esta fuerte relación entre ellas, cuando creamos la variable "RetrasoNeto", que era la diferencia entre ambas, entonces esta correlación desaparece. Fijaros que ahora la correlación entre el "RetrasoNeto" y una de ellas, como por ejemplo "DepDelay", pasa a ser 0,09. Podríamos decir que ha desaparecido la correlación. Una manera de describir más información de este tipo, a nivel más allá de hacer el análisis de dos variables, pasar a un análisis más multivariante, podríamos coger varias variables, en este caso, fijamos que tenemos "ArrDelay", "DepDelay" y "RetrasoNeto", tenemos tres. Podríamos intentar relacionar las tres variables o hacer algún tipo de análisis conjuntamente. Una primera propuesta en esta línea es una matriz de correlaciones, que es una matriz simétrica, en la cual cada valor de la tabla viene representando la correlación entre cada una de las variables que hace referencia el nombre de la fila y la columna de la tabla. Así, por ejemplo, volvemos a ver el 0.96 entre "ArrDelay" y "DepDelay", y el bajo valor de 0,09 para "DepDelay" y "RetrasoNeto". En cuanto a representación gráfica de análisis bivariante de variables cuantitativas, podemos ver cómo relacionaríamos el "ArrDelay" y "DepDelay". "ArrDelay" y "DepDelay", ya hemos visto, estaban muy relacionadas, que la relación era creciente, cuando una crece, la otra también. Y esto lo vemos claramente en este gráfico donde, si os fijais, a medida que una variable crece, la otra variable también. Además, esta relación tiene cierta apariencia de relación que se puede llegar a explicar de algún modo lineal y es lo que da lugar a esta alta correlación de Pearson. Es interesante este gráfico puesto que, además de hacer este análisis bivariante, nos proporciona el histograma de la variable, simplemente desde el punto de vista univariante. Aquí tendríamos el histograma correspondiente a "DepDelay" y, aquí, el de "ArrDelay". A diferencia del gráfico anterior, si cambiamos los ejemplos y ponemos "DepDelay" contra "RetrasoNeto", tal como hemos visto que tenía una baja correlación, lo vemos representado en el gráfico. Ahora ya no parece haber una tendencia clara lineal que justificara un alto un alto valor para la correlación que vemos aquí, y otra vez podemos ver en los bordes de este gráfico las distribuciones univariantes. De esto, que puede servir de modo introductorio para cada una de las posibles combinaciones, remarcar que podemos realmente alargar este estudio mucho más analizando muchas otras variables de las que disponemos, pero los criterios básicos son los que hemos trabajado y espero que os sean de utilidad.