<jupyter_start><jupyter_text>Análisis exploratorio de datos multivariable ObjetivoIdentificar las correlaciones que existen en las variables para así poder formular hipótesis sobre relaciones causa-efecto. Técnicas de análisis1. [Covarianza](1)2. [Coeficiente de correlación](2)3. [Visualización de la relación entre dos variables](3)4. [Variables cualitativas](4)    1. [Crosstabs](5)    2. [Pivot table (Tablas de contingencia)](6)  Carga de datos__[Fuente de datos](https://archive.ics.uci.edu/ml/datasets/Forest+Fires)__<jupyter_code>import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

tips = sns.load_dataset('tips')
tips.tail()<jupyter_output><empty_output><jupyter_text>CovarianzaMide la relación lineal entre dos variables (si incrementan o decrementan juntas). Una covarianza positiva indica que las variables se mueven en la misma dirección y un covarianza negativa que las variables cambian en direcciones opuestas. Sin embargo, **no permite valorar la intensidad de la relación.**<jupyter_code>np.cov(tips['total_bill'], tips['tip'])
tips.cov()<jupyter_output><empty_output><jupyter_text>Coeficiente de correlación Al igual que la covarianza mide la dirección pero tambien la intensidad de la relación. Es importante recordar que  __[correlación no implica causalidad](https://www.gaussianos.com/hay-que-decirlo-mas-correlacion-implica-causalidad/)__Un coeficiente de correlación igual a cero no necesarimente implica que las variables sean independientes. Dos variables independientes tendrán un coefiente de correlación de cero. Por esta razón, **el cálculo del coeficiente de correlación debe ser complementado con la exploración visual de los datos.**. Tambien es importante recordar que el índice de correlación ***sólo indica relaciones lineales entre las variables***. Por tanto, no indica las relaciones no lineales que pudieran existir entre las variables. Por ejemplo, en la ecuación y=x^2, las variables tendrán una correlación de 0 a pesar de estar claramente relacionadas.<jupyter_code>np.corrcoef(tips['total_bill'], tips['tip'])
tips.corr()<jupyter_output><empty_output><jupyter_text>Visualización de la relación entre dos variables__[Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)____[matplotlib](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.axvline.html?highlight=axvline)__<jupyter_code>tips.plot.scatter(x='total_bill', y='tip', color='c', title='scatter plot : Tip by Total bill', alpha=0.1)
sns.jointplot(x='total_bill', y='tip', data=tips, color='#F15B2A')
sns.jointplot(x='total_bill', y='tip', data=tips, color='#F15B2A', kind='kde')<jupyter_output><empty_output><jupyter_text>Variables cualitativas Crosstabs<jupyter_code>tips.head()
#Conteos de la combinacion de variables nominales
pd.crosstab(tips["smoker"], tips["sex"])
pd.crosstab(tips["smoker"], tips["sex"]).plot(kind='bar')<jupyter_output><empty_output><jupyter_text>Pivot (tablas de contingencia)Es una extensión del crosstab que permite analizar dos variables categóricas y una numérica.<jupyter_code>tips.pivot_table(index='time',columns = 'smoker',values='tip', aggfunc='mean')
tips.groupby(['time','smoker'])['tip'].mean()
#type(tips.groupby(['time','smoker'])['tip'].mean())
tips.groupby(['time','smoker'])['tip'].mean().unstack()
tips.groupby(['time','smoker'])['tip'].mean().unstack().plot.bar()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1217008797653959, 'fraction_numerical': 0.0064516129032258064, 'mean_word_length': 7.679389312977099, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 4, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '635683', 'license': 'MIT', 'n_tokens_mistral': 1185, 'n_tokens_neox': 1160, 'n_words': 295, 'path': 'Web Application/Notebooks/5. Analisis Exploratorio/5.3 Analisis exploratorio de datos multidimensionales.ipynb', 'repo_name': 'jordanmontt/introduccion-ciencia-de-datos', 'size': '3410'}