{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Análise Multivariada e Aprendizado Não-Supervisionado\n",
"\n",
"por Cibele Russo.\n",
"\n",
"ICMC USP São Carlos.\n",
"\n",
"## Aula 7b: Análise de Componentes Principais "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exemplo: Decatlo\n",
"\n",
"\n",
"\n",
"Uma base de dados com 41 linhas e 13 colunas: as dez primeiras colunas correspondem ao desempenho dos atletas para as 10 provas do decatlo. As colunas 11 e 12 correspondem respectivamente à classificação e aos pontos obtidos. A última coluna é uma variável categórica correspondente ao evento esportivo (Jogos Olímpicos de 2004 ou Decastar de 2004)\n",
"\n",
"As variáveis são\n",
"\n",
"- 100m (100 metros rasos), \n",
"- long.jump (salto em distância), \n",
"- shot.put (arremesso de peso), \n",
"- High.jump (salto em altura), \n",
"- 400m (400 metros rasos), \n",
"- 110m.hurdle (110 metros com barreiras), \n",
"- Discus (lançamento de disco), \n",
"- Pole.vault (salto com vara), \n",
"- Javeline (lançamento de dardo), \n",
"- 1500m (1500 metros). \n",
"\n",
"Fonte: https://malouche.github.io/data_in_class/decathlon_data.html\n",
"\n",
"Em R, os dados estão disponíveis em:\n",
"\n",
"\n",
"library(FactoMineR)\n",
"\n",
"data(decathlon)\n",
"\n",
"\n",
"1. Analise a matriz de correlações dos dados.\n",
"2. Decomponha a matriz de variâncias e covariâncias em componentes principais.\n",
"3. Quantas componentes explicam ao menos 90% da variabilidade dos dados?\n",
"4. Proponha uma ordenação dos atletas segundo a primeira componente principal."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" \n",
"\n",
"Fonte: https://sites.google.com/site/educopediaedfisica/atletismo/decatlo-e-pentatlo"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 100m \n",
" Long.jump \n",
" Shot.put \n",
" High.jump \n",
" 400m \n",
" 110m.hurdle \n",
" Discus \n",
" Pole.vault \n",
" Javeline \n",
" 1500m \n",
" Rank \n",
" Points \n",
" Competition \n",
" \n",
" \n",
" \n",
" \n",
" SEBRLE \n",
" 11.04 \n",
" 7.58 \n",
" 14.83 \n",
" 2.07 \n",
" 49.81 \n",
" 14.69 \n",
" 43.75 \n",
" 5.02 \n",
" 63.19 \n",
" 291.70 \n",
" 1 \n",
" 8217 \n",
" Decastar \n",
" \n",
" \n",
" CLAY \n",
" 10.76 \n",
" 7.40 \n",
" 14.26 \n",
" 1.86 \n",
" 49.37 \n",
" 14.05 \n",
" 50.72 \n",
" 4.92 \n",
" 60.15 \n",
" 301.50 \n",
" 2 \n",
" 8122 \n",
" Decastar \n",
" \n",
" \n",
" KARPOV \n",
" 11.02 \n",
" 7.30 \n",
" 14.77 \n",
" 2.04 \n",
" 48.37 \n",
" 14.09 \n",
" 48.95 \n",
" 4.92 \n",
" 50.31 \n",
" 300.20 \n",
" 3 \n",
" 8099 \n",
" Decastar \n",
" \n",
" \n",
" BERNARD \n",
" 11.02 \n",
" 7.23 \n",
" 14.25 \n",
" 1.92 \n",
" 48.93 \n",
" 14.99 \n",
" 40.87 \n",
" 5.32 \n",
" 62.77 \n",
" 280.10 \n",
" 4 \n",
" 8067 \n",
" Decastar \n",
" \n",
" \n",
" YURKOV \n",
" 11.34 \n",
" 7.09 \n",
" 15.19 \n",
" 2.10 \n",
" 50.42 \n",
" 15.31 \n",
" 46.26 \n",
" 4.72 \n",
" 63.44 \n",
" 276.40 \n",
" 5 \n",
" 8036 \n",
" Decastar \n",
" \n",
" \n",
" WARNERS \n",
" 11.11 \n",
" 7.60 \n",
" 14.31 \n",
" 1.98 \n",
" 48.68 \n",
" 14.23 \n",
" 41.10 \n",
" 4.92 \n",
" 51.77 \n",
" 278.10 \n",
" 6 \n",
" 8030 \n",
" Decastar \n",
" \n",
" \n",
" ZSIVOCZKY \n",
" 11.13 \n",
" 7.30 \n",
" 13.48 \n",
" 2.01 \n",
" 48.62 \n",
" 14.17 \n",
" 45.67 \n",
" 4.42 \n",
" 55.37 \n",
" 268.00 \n",
" 7 \n",
" 8004 \n",
" Decastar \n",
" \n",
" \n",
" McMULLEN \n",
" 10.83 \n",
" 7.31 \n",
" 13.76 \n",
" 2.13 \n",
" 49.91 \n",
" 14.38 \n",
" 44.41 \n",
" 4.42 \n",
" 56.37 \n",
" 285.10 \n",
" 8 \n",
" 7995 \n",
" Decastar \n",
" \n",
" \n",
" MARTINEAU \n",
" 11.64 \n",
" 6.81 \n",
" 14.57 \n",
" 1.95 \n",
" 50.14 \n",
" 14.93 \n",
" 47.60 \n",
" 4.92 \n",
" 52.33 \n",
" 262.10 \n",
" 9 \n",
" 7802 \n",
" Decastar \n",
" \n",
" \n",
" HERNU \n",
" 11.37 \n",
" 7.56 \n",
" 14.41 \n",
" 1.86 \n",
" 51.10 \n",
" 15.06 \n",
" 44.99 \n",
" 4.82 \n",
" 57.19 \n",
" 285.10 \n",
" 10 \n",
" 7733 \n",
" Decastar \n",
" \n",
" \n",
" BARRAS \n",
" 11.33 \n",
" 6.97 \n",
" 14.09 \n",
" 1.95 \n",
" 49.48 \n",
" 14.48 \n",
" 42.10 \n",
" 4.72 \n",
" 55.40 \n",
" 282.00 \n",
" 11 \n",
" 7708 \n",
" Decastar \n",
" \n",
" \n",
" NOOL \n",
" 11.33 \n",
" 7.27 \n",
" 12.68 \n",
" 1.98 \n",
" 49.20 \n",
" 15.29 \n",
" 37.92 \n",
" 4.62 \n",
" 57.44 \n",
" 266.60 \n",
" 12 \n",
" 7651 \n",
" Decastar \n",
" \n",
" \n",
" BOURGUIGNON \n",
" 11.36 \n",
" 6.80 \n",
" 13.46 \n",
" 1.86 \n",
" 51.16 \n",
" 15.67 \n",
" 40.49 \n",
" 5.02 \n",
" 54.68 \n",
" 291.70 \n",
" 13 \n",
" 7313 \n",
" Decastar \n",
" \n",
" \n",
" Sebrle \n",
" 10.85 \n",
" 7.84 \n",
" 16.36 \n",
" 2.12 \n",
" 48.36 \n",
" 14.05 \n",
" 48.72 \n",
" 5.00 \n",
" 70.52 \n",
" 280.01 \n",
" 1 \n",
" 8893 \n",
" OlympicG \n",
" \n",
" \n",
" Clay \n",
" 10.44 \n",
" 7.96 \n",
" 15.23 \n",
" 2.06 \n",
" 49.19 \n",
" 14.13 \n",
" 50.11 \n",
" 4.90 \n",
" 69.71 \n",
" 282.00 \n",
" 2 \n",
" 8820 \n",
" OlympicG \n",
" \n",
" \n",
" Karpov \n",
" 10.50 \n",
" 7.81 \n",
" 15.93 \n",
" 2.09 \n",
" 46.81 \n",
" 13.97 \n",
" 51.65 \n",
" 4.60 \n",
" 55.54 \n",
" 278.11 \n",
" 3 \n",
" 8725 \n",
" OlympicG \n",
" \n",
" \n",
" Macey \n",
" 10.89 \n",
" 7.47 \n",
" 15.73 \n",
" 2.15 \n",
" 48.97 \n",
" 14.56 \n",
" 48.34 \n",
" 4.40 \n",
" 58.46 \n",
" 265.42 \n",
" 4 \n",
" 8414 \n",
" OlympicG \n",
" \n",
" \n",
" Warners \n",
" 10.62 \n",
" 7.74 \n",
" 14.48 \n",
" 1.97 \n",
" 47.97 \n",
" 14.01 \n",
" 43.73 \n",
" 4.90 \n",
" 55.39 \n",
" 278.05 \n",
" 5 \n",
" 8343 \n",
" OlympicG \n",
" \n",
" \n",
" Zsivoczky \n",
" 10.91 \n",
" 7.14 \n",
" 15.31 \n",
" 2.12 \n",
" 49.40 \n",
" 14.95 \n",
" 45.62 \n",
" 4.70 \n",
" 63.45 \n",
" 269.54 \n",
" 6 \n",
" 8287 \n",
" OlympicG \n",
" \n",
" \n",
" Hernu \n",
" 10.97 \n",
" 7.19 \n",
" 14.65 \n",
" 2.03 \n",
" 48.73 \n",
" 14.25 \n",
" 44.72 \n",
" 4.80 \n",
" 57.76 \n",
" 264.35 \n",
" 7 \n",
" 8237 \n",
" OlympicG \n",
" \n",
" \n",
" Nool \n",
" 10.80 \n",
" 7.53 \n",
" 14.26 \n",
" 1.88 \n",
" 48.81 \n",
" 14.80 \n",
" 42.05 \n",
" 5.40 \n",
" 61.33 \n",
" 276.33 \n",
" 8 \n",
" 8235 \n",
" OlympicG \n",
" \n",
" \n",
" Bernard \n",
" 10.69 \n",
" 7.48 \n",
" 14.80 \n",
" 2.12 \n",
" 49.13 \n",
" 14.17 \n",
" 44.75 \n",
" 4.40 \n",
" 55.27 \n",
" 276.31 \n",
" 9 \n",
" 8225 \n",
" OlympicG \n",
" \n",
" \n",
" Schwarzl \n",
" 10.98 \n",
" 7.49 \n",
" 14.01 \n",
" 1.94 \n",
" 49.76 \n",
" 14.25 \n",
" 42.43 \n",
" 5.10 \n",
" 56.32 \n",
" 273.56 \n",
" 10 \n",
" 8102 \n",
" OlympicG \n",
" \n",
" \n",
" Pogorelov \n",
" 10.95 \n",
" 7.31 \n",
" 15.10 \n",
" 2.06 \n",
" 50.79 \n",
" 14.21 \n",
" 44.60 \n",
" 5.00 \n",
" 53.45 \n",
" 287.63 \n",
" 11 \n",
" 8084 \n",
" OlympicG \n",
" \n",
" \n",
" Schoenbeck \n",
" 10.90 \n",
" 7.30 \n",
" 14.77 \n",
" 1.88 \n",
" 50.30 \n",
" 14.34 \n",
" 44.41 \n",
" 5.00 \n",
" 60.89 \n",
" 278.82 \n",
" 12 \n",
" 8077 \n",
" OlympicG \n",
" \n",
" \n",
" Barras \n",
" 11.14 \n",
" 6.99 \n",
" 14.91 \n",
" 1.94 \n",
" 49.41 \n",
" 14.37 \n",
" 44.83 \n",
" 4.60 \n",
" 64.55 \n",
" 267.09 \n",
" 13 \n",
" 8067 \n",
" OlympicG \n",
" \n",
" \n",
" Smith \n",
" 10.85 \n",
" 6.81 \n",
" 15.24 \n",
" 1.91 \n",
" 49.27 \n",
" 14.01 \n",
" 49.02 \n",
" 4.20 \n",
" 61.52 \n",
" 272.74 \n",
" 14 \n",
" 8023 \n",
" OlympicG \n",
" \n",
" \n",
" Averyanov \n",
" 10.55 \n",
" 7.34 \n",
" 14.44 \n",
" 1.94 \n",
" 49.72 \n",
" 14.39 \n",
" 39.88 \n",
" 4.80 \n",
" 54.51 \n",
" 271.02 \n",
" 15 \n",
" 8021 \n",
" OlympicG \n",
" \n",
" \n",
" Ojaniemi \n",
" 10.68 \n",
" 7.50 \n",
" 14.97 \n",
" 1.94 \n",
" 49.12 \n",
" 15.01 \n",
" 40.35 \n",
" 4.60 \n",
" 59.26 \n",
" 275.71 \n",
" 16 \n",
" 8006 \n",
" OlympicG \n",
" \n",
" \n",
" Smirnov \n",
" 10.89 \n",
" 7.07 \n",
" 13.88 \n",
" 1.94 \n",
" 49.11 \n",
" 14.77 \n",
" 42.47 \n",
" 4.70 \n",
" 60.88 \n",
" 263.31 \n",
" 17 \n",
" 7993 \n",
" OlympicG \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 100m Long.jump Shot.put High.jump 400m 110m.hurdle \\\n",
"SEBRLE 11.04 7.58 14.83 2.07 49.81 14.69 \n",
"CLAY 10.76 7.40 14.26 1.86 49.37 14.05 \n",
"KARPOV 11.02 7.30 14.77 2.04 48.37 14.09 \n",
"BERNARD 11.02 7.23 14.25 1.92 48.93 14.99 \n",
"YURKOV 11.34 7.09 15.19 2.10 50.42 15.31 \n",
"WARNERS 11.11 7.60 14.31 1.98 48.68 14.23 \n",
"ZSIVOCZKY 11.13 7.30 13.48 2.01 48.62 14.17 \n",
"McMULLEN 10.83 7.31 13.76 2.13 49.91 14.38 \n",
"MARTINEAU 11.64 6.81 14.57 1.95 50.14 14.93 \n",
"HERNU 11.37 7.56 14.41 1.86 51.10 15.06 \n",
"BARRAS 11.33 6.97 14.09 1.95 49.48 14.48 \n",
"NOOL 11.33 7.27 12.68 1.98 49.20 15.29 \n",
"BOURGUIGNON 11.36 6.80 13.46 1.86 51.16 15.67 \n",
"Sebrle 10.85 7.84 16.36 2.12 48.36 14.05 \n",
"Clay 10.44 7.96 15.23 2.06 49.19 14.13 \n",
"Karpov 10.50 7.81 15.93 2.09 46.81 13.97 \n",
"Macey 10.89 7.47 15.73 2.15 48.97 14.56 \n",
"Warners 10.62 7.74 14.48 1.97 47.97 14.01 \n",
"Zsivoczky 10.91 7.14 15.31 2.12 49.40 14.95 \n",
"Hernu 10.97 7.19 14.65 2.03 48.73 14.25 \n",
"Nool 10.80 7.53 14.26 1.88 48.81 14.80 \n",
"Bernard 10.69 7.48 14.80 2.12 49.13 14.17 \n",
"Schwarzl 10.98 7.49 14.01 1.94 49.76 14.25 \n",
"Pogorelov 10.95 7.31 15.10 2.06 50.79 14.21 \n",
"Schoenbeck 10.90 7.30 14.77 1.88 50.30 14.34 \n",
"Barras 11.14 6.99 14.91 1.94 49.41 14.37 \n",
"Smith 10.85 6.81 15.24 1.91 49.27 14.01 \n",
"Averyanov 10.55 7.34 14.44 1.94 49.72 14.39 \n",
"Ojaniemi 10.68 7.50 14.97 1.94 49.12 15.01 \n",
"Smirnov 10.89 7.07 13.88 1.94 49.11 14.77 \n",
"\n",
" Discus Pole.vault Javeline 1500m Rank Points Competition \n",
"SEBRLE 43.75 5.02 63.19 291.70 1 8217 Decastar \n",
"CLAY 50.72 4.92 60.15 301.50 2 8122 Decastar \n",
"KARPOV 48.95 4.92 50.31 300.20 3 8099 Decastar \n",
"BERNARD 40.87 5.32 62.77 280.10 4 8067 Decastar \n",
"YURKOV 46.26 4.72 63.44 276.40 5 8036 Decastar \n",
"WARNERS 41.10 4.92 51.77 278.10 6 8030 Decastar \n",
"ZSIVOCZKY 45.67 4.42 55.37 268.00 7 8004 Decastar \n",
"McMULLEN 44.41 4.42 56.37 285.10 8 7995 Decastar \n",
"MARTINEAU 47.60 4.92 52.33 262.10 9 7802 Decastar \n",
"HERNU 44.99 4.82 57.19 285.10 10 7733 Decastar \n",
"BARRAS 42.10 4.72 55.40 282.00 11 7708 Decastar \n",
"NOOL 37.92 4.62 57.44 266.60 12 7651 Decastar \n",
"BOURGUIGNON 40.49 5.02 54.68 291.70 13 7313 Decastar \n",
"Sebrle 48.72 5.00 70.52 280.01 1 8893 OlympicG \n",
"Clay 50.11 4.90 69.71 282.00 2 8820 OlympicG \n",
"Karpov 51.65 4.60 55.54 278.11 3 8725 OlympicG \n",
"Macey 48.34 4.40 58.46 265.42 4 8414 OlympicG \n",
"Warners 43.73 4.90 55.39 278.05 5 8343 OlympicG \n",
"Zsivoczky 45.62 4.70 63.45 269.54 6 8287 OlympicG \n",
"Hernu 44.72 4.80 57.76 264.35 7 8237 OlympicG \n",
"Nool 42.05 5.40 61.33 276.33 8 8235 OlympicG \n",
"Bernard 44.75 4.40 55.27 276.31 9 8225 OlympicG \n",
"Schwarzl 42.43 5.10 56.32 273.56 10 8102 OlympicG \n",
"Pogorelov 44.60 5.00 53.45 287.63 11 8084 OlympicG \n",
"Schoenbeck 44.41 5.00 60.89 278.82 12 8077 OlympicG \n",
"Barras 44.83 4.60 64.55 267.09 13 8067 OlympicG \n",
"Smith 49.02 4.20 61.52 272.74 14 8023 OlympicG \n",
"Averyanov 39.88 4.80 54.51 271.02 15 8021 OlympicG \n",
"Ojaniemi 40.35 4.60 59.26 275.71 16 8006 OlympicG \n",
"Smirnov 42.47 4.70 60.88 263.31 17 7993 OlympicG "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"df = pd.read_csv(\"/home/cibele/CibelePython/AMANS/Aula 7/decathlon.csv\", index_col=0)\n",
"df.head(30)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 100m \n",
" Long.jump \n",
" Shot.put \n",
" High.jump \n",
" 400m \n",
" 110m.hurdle \n",
" Discus \n",
" Pole.vault \n",
" Javeline \n",
" \n",
" \n",
" \n",
" \n",
" 100m \n",
" 1.000000 \n",
" -0.598678 \n",
" -0.356482 \n",
" -0.246253 \n",
" 0.520298 \n",
" 0.579889 \n",
" -0.221708 \n",
" -0.082537 \n",
" -0.157746 \n",
" \n",
" \n",
" Long.jump \n",
" -0.598678 \n",
" 1.000000 \n",
" 0.183304 \n",
" 0.294644 \n",
" -0.602063 \n",
" -0.505410 \n",
" 0.194310 \n",
" 0.204014 \n",
" 0.119759 \n",
" \n",
" \n",
" Shot.put \n",
" -0.356482 \n",
" 0.183304 \n",
" 1.000000 \n",
" 0.489212 \n",
" -0.138433 \n",
" -0.251616 \n",
" 0.615768 \n",
" 0.061182 \n",
" 0.374956 \n",
" \n",
" \n",
" High.jump \n",
" -0.246253 \n",
" 0.294644 \n",
" 0.489212 \n",
" 1.000000 \n",
" -0.187957 \n",
" -0.283289 \n",
" 0.369218 \n",
" -0.156181 \n",
" 0.171880 \n",
" \n",
" \n",
" 400m \n",
" 0.520298 \n",
" -0.602063 \n",
" -0.138433 \n",
" -0.187957 \n",
" 1.000000 \n",
" 0.547988 \n",
" -0.117879 \n",
" -0.079292 \n",
" 0.004232 \n",
" \n",
" \n",
" 110m.hurdle \n",
" 0.579889 \n",
" -0.505410 \n",
" -0.251616 \n",
" -0.283289 \n",
" 0.547988 \n",
" 1.000000 \n",
" -0.326201 \n",
" -0.002704 \n",
" 0.008743 \n",
" \n",
" \n",
" Discus \n",
" -0.221708 \n",
" 0.194310 \n",
" 0.615768 \n",
" 0.369218 \n",
" -0.117879 \n",
" -0.326201 \n",
" 1.000000 \n",
" -0.150072 \n",
" 0.157890 \n",
" \n",
" \n",
" Pole.vault \n",
" -0.082537 \n",
" 0.204014 \n",
" 0.061182 \n",
" -0.156181 \n",
" -0.079292 \n",
" -0.002704 \n",
" -0.150072 \n",
" 1.000000 \n",
" -0.030001 \n",
" \n",
" \n",
" Javeline \n",
" -0.157746 \n",
" 0.119759 \n",
" 0.374956 \n",
" 0.171880 \n",
" 0.004232 \n",
" 0.008743 \n",
" 0.157890 \n",
" -0.030001 \n",
" 1.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 100m Long.jump Shot.put High.jump 400m 110m.hurdle \\\n",
"100m 1.000000 -0.598678 -0.356482 -0.246253 0.520298 0.579889 \n",
"Long.jump -0.598678 1.000000 0.183304 0.294644 -0.602063 -0.505410 \n",
"Shot.put -0.356482 0.183304 1.000000 0.489212 -0.138433 -0.251616 \n",
"High.jump -0.246253 0.294644 0.489212 1.000000 -0.187957 -0.283289 \n",
"400m 0.520298 -0.602063 -0.138433 -0.187957 1.000000 0.547988 \n",
"110m.hurdle 0.579889 -0.505410 -0.251616 -0.283289 0.547988 1.000000 \n",
"Discus -0.221708 0.194310 0.615768 0.369218 -0.117879 -0.326201 \n",
"Pole.vault -0.082537 0.204014 0.061182 -0.156181 -0.079292 -0.002704 \n",
"Javeline -0.157746 0.119759 0.374956 0.171880 0.004232 0.008743 \n",
"\n",
" Discus Pole.vault Javeline \n",
"100m -0.221708 -0.082537 -0.157746 \n",
"Long.jump 0.194310 0.204014 0.119759 \n",
"Shot.put 0.615768 0.061182 0.374956 \n",
"High.jump 0.369218 -0.156181 0.171880 \n",
"400m -0.117879 -0.079292 0.004232 \n",
"110m.hurdle -0.326201 -0.002704 0.008743 \n",
"Discus 1.000000 -0.150072 0.157890 \n",
"Pole.vault -0.150072 1.000000 -0.030001 \n",
"Javeline 0.157890 -0.030001 1.000000 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 1. Analise a matriz de correlações dos dados.\n",
"\n",
"# Cálculo da matriz de correlações\n",
"corr = df.iloc[:,0:9].corr()\n",
"corr"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Mapa de calor das correlações\n",
"\n",
"sns.heatmap(corr, \n",
" xticklabels=corr.columns,\n",
" yticklabels=corr.columns, cmap=\"YlGnBu\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Análise de Componentes Principais\n",
"# 2. Decomponha a matriz de variâncias e covariâncias em componentes principais.\n",
"\n",
"\n",
"X = np.matrix(df.iloc[:,0:10])\n",
"S = np.cov(np.transpose(X))\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([6.91810976e-02, 1.00110000e-01, 6.79681220e-01, 7.91219512e-03,\n",
" 1.33044878e+00, 2.22584878e-01, 1.14098352e+01, 7.72839024e-02,\n",
" 2.32981930e+01, 1.36264701e+02])"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# variâncias\n",
"\n",
"np.diagonal(S)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.decomposition import PCA\n",
"\n",
"pca = PCA(n_components=5)\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PCA(n_components=5)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pca"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PCA(n_components=5)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pca.fit(X)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.28080400e-03, -9.50593693e-04, 8.04474909e-03, -3.21942507e-04,\n",
" 3.95670085e-02, 1.26099822e-03, 7.79032346e-02, 5.70956842e-03,\n",
" -8.59485398e-02, 9.92409609e-01])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Pesos das componentes principais\n",
"\n",
"pca.components_[0,:]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.8 , 0.14, 0.06, 0.01, 0. ])"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 3. Quantas componentes explicam ao menos 90% da variabilidade dos dados?\n",
"\n",
"# Variância das componentes principais\n",
"\n",
"pca.explained_variance_ratio_\n",
"\n",
"np.round(pca.explained_variance_ratio_,2)\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.7965959 , 0.93212546, 0.98972346, 0.99632525, 0.99838027])"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pca.explained_variance_ratio_.cumsum()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(8,5))\n",
"\n",
"plt.plot(pca.explained_variance_ratio_, 'ro-', linewidth=2)\n",
"plt.title('Scree Plot')\n",
"plt.xlabel('Principal Component')\n",
"plt.ylabel('Eigenvalue')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1.21268985e+01, 5.31924548e+00, -3.01158938e+00,\n",
" -7.44026954e-01, -8.96719233e-02],\n",
" [ 2.26340062e+01, 4.81860306e+00, 3.47084930e+00,\n",
" -7.29689068e-01, 1.31226354e+00],\n",
" [ 2.20160089e+01, -5.12656310e+00, 4.72748179e+00,\n",
" -1.50142432e+00, 1.81608063e-01],\n",
" [ 3.89697006e-01, 3.37695640e+00, -4.53039879e+00,\n",
" -1.18018344e+00, 6.71183270e-02],\n",
" [-2.85674567e+00, 5.32450428e+00, 6.44553700e-01,\n",
" 1.16432891e+00, -2.91117455e-01],\n",
" [-6.44908091e-01, -7.20789283e+00, -1.09038567e+00,\n",
" -1.18096569e+00, -4.75718818e-01],\n",
" [-1.06333738e+01, -3.22716136e+00, 3.10727244e+00,\n",
" -9.47888499e-02, 1.05764718e+00],\n",
" [ 6.20661877e+00, -1.52583169e+00, -6.33039005e-02,\n",
" 4.18919760e-02, 6.36405724e-01],\n",
" [-1.60043980e+01, -5.88829246e+00, 6.17694601e+00,\n",
" 2.15182512e+00, -1.90274532e-01],\n",
" [ 6.23593762e+00, -5.26675947e-01, 1.54033000e-01,\n",
" 1.30010427e+00, -9.51793560e-03],\n",
" [ 3.02078327e+00, -3.24747975e+00, -1.62839410e+00,\n",
" -3.55974781e-01, -2.93806246e-03],\n",
" [-1.27855615e+01, -3.47326867e+00, -4.85246828e+00,\n",
" -1.92353432e-01, 8.77647525e-01],\n",
" [ 1.26483852e+01, -3.82298552e+00, -4.20607978e+00,\n",
" 8.94475746e-01, 2.09721475e-01],\n",
" [ 2.36801660e-01, 1.30809090e+01, 1.19871165e+00,\n",
" -1.45422070e+00, -4.82425780e-01],\n",
" [ 2.41331094e+00, 1.27145008e+01, 2.31142462e+00,\n",
" -5.41603115e-01, 6.58355443e-01],\n",
" [-1.99697347e-01, -6.44891813e-01, 8.28520240e+00,\n",
" -1.95662213e+00, -3.07338819e-01],\n",
" [-1.32189425e+01, 4.88026795e-01, 5.25698900e+00,\n",
" 4.28197903e-01, -7.15948323e-01],\n",
" [-8.27395628e-01, -3.02556964e+00, 5.48326725e-01,\n",
" -1.76625816e+00, -5.31433741e-02],\n",
" [-9.75485750e+00, 4.75280186e+00, 8.39476950e-01,\n",
" 3.01500867e-01, -4.40973408e-01],\n",
" [-1.45187557e+01, -1.31322258e+00, 2.03221086e+00,\n",
" -1.32451424e-01, -1.66915143e-01],\n",
" [-3.14043645e+00, 2.08960988e+00, -2.64856433e+00,\n",
" -1.05947546e+00, 1.08670215e-01],\n",
" [-2.41848499e+00, -2.93778773e+00, 1.60567045e+00,\n",
" -3.71661349e-01, -3.68860466e-01],\n",
" [-5.39624643e+00, -2.78650548e+00, -7.96373958e-01,\n",
" 8.71203171e-02, 3.42192552e-02],\n",
" [ 9.03175138e+00, -3.99540833e+00, 7.19350221e-01,\n",
" 6.44797069e-01, -9.25451642e-01],\n",
" [-3.87383195e-01, 2.50846232e+00, -6.20339394e-01,\n",
" 4.37021657e-01, -2.40070349e-01],\n",
" [-1.23465666e+01, 5.40987645e+00, 7.10545545e-03,\n",
" 2.61358818e-01, -8.31723242e-02],\n",
" [-6.15768388e+00, 4.00281722e+00, 4.32244077e+00,\n",
" 3.96987427e-01, 3.61861007e-02],\n",
" [-7.95901967e+00, -5.31681021e+00, -2.41898993e+00,\n",
" -1.24003842e-01, -8.26730689e-01],\n",
" [-3.69641483e+00, -3.19961681e-01, -3.58211832e+00,\n",
" -8.68289321e-01, -8.96235051e-01],\n",
" [-1.59851321e+01, 9.44485635e-01, -9.92286625e-01,\n",
" 1.00944493e-01, 4.11253509e-01],\n",
" [-6.50381851e+00, 2.11485948e+00, 5.71792593e-01,\n",
" 5.15470880e-01, 1.11012862e+00],\n",
" [-4.57785184e+00, -8.04600405e+00, -1.71790919e+00,\n",
" -1.21159823e+00, 5.62040755e-01],\n",
" [-1.84344706e+00, 6.58005177e+00, -4.23692968e+00,\n",
" 9.24093289e-01, -1.29501234e+00],\n",
" [ 1.20187493e+01, -6.28303760e+00, 2.26307912e+00,\n",
" -1.29832748e-01, -8.71748305e-01],\n",
" [-9.76423081e+00, 8.19932226e-01, -2.80721078e+00,\n",
" -9.95069862e-01, -2.99357828e-01],\n",
" [ 1.05379082e+01, 3.91182819e-01, -5.86204808e+00,\n",
" 8.03939349e-01, 1.54826914e-01],\n",
" [-1.61688621e+01, -2.14455443e+00, -2.55901809e+00,\n",
" 3.74065885e-01, 6.34982882e-01],\n",
" [ 6.04896241e-02, -5.55027983e+00, 2.77650969e-01,\n",
" 1.16791919e+00, 6.62817885e-01],\n",
" [ 3.83396405e+01, -2.22394516e+00, -6.50283708e-01,\n",
" 3.72016652e-02, -2.78672408e-01],\n",
" [ 2.45190186e+00, 1.34737456e+00, -2.24028500e+00,\n",
" 1.19043012e+00, 7.35835502e-01],\n",
" [ 1.74213252e+01, 2.54992987e+00, 1.99440897e+00,\n",
" 3.36681791e+00, -1.40433936e-01]])"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pca.transform(X)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[-1.28080400e-03, -9.50593693e-04, 8.04474909e-03,\n",
" -3.21942507e-04, 3.95670085e-02, 1.26099822e-03,\n",
" 7.79032346e-02, 5.70956842e-03, -8.59485398e-02,\n",
" 9.92409609e-01],\n",
" [-1.11646237e-02, 9.65383661e-03, 8.56736836e-02,\n",
" 4.28001111e-03, 9.81124318e-03, -4.91153939e-03,\n",
" 2.67357273e-01, -1.11678946e-03, 9.57662014e-01,\n",
" 6.08751215e-02]])"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Vamos considerar 2 componentes principais\n",
"\n",
"pca = PCA(n_components=2)\n",
"pca.fit(X)\n",
"\n",
"pca.components_\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-0.001, -0.001, 0.008, -0. , 0.04 , 0.001, 0.078, 0.006,\n",
" -0.086, 0.992])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.round(pca.components_[0],3)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"PCA1 = pca.transform(X)[:,0]\n",
"PCA2 = pca.transform(X)[:,1]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"df['PCA1'] = PCA1\n",
"df['PCA2'] = PCA2\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 100m \n",
" Long.jump \n",
" Shot.put \n",
" High.jump \n",
" 400m \n",
" 110m.hurdle \n",
" Discus \n",
" Pole.vault \n",
" Javeline \n",
" 1500m \n",
" Rank \n",
" Points \n",
" Competition \n",
" PCA1 \n",
" PCA2 \n",
" \n",
" \n",
" \n",
" \n",
" SEBRLE \n",
" 11.04 \n",
" 7.58 \n",
" 14.83 \n",
" 2.07 \n",
" 49.81 \n",
" 14.69 \n",
" 43.75 \n",
" 5.02 \n",
" 63.19 \n",
" 291.7 \n",
" 1 \n",
" 8217 \n",
" Decastar \n",
" 12.126899 \n",
" 5.319245 \n",
" \n",
" \n",
" CLAY \n",
" 10.76 \n",
" 7.40 \n",
" 14.26 \n",
" 1.86 \n",
" 49.37 \n",
" 14.05 \n",
" 50.72 \n",
" 4.92 \n",
" 60.15 \n",
" 301.5 \n",
" 2 \n",
" 8122 \n",
" Decastar \n",
" 22.634006 \n",
" 4.818603 \n",
" \n",
" \n",
" KARPOV \n",
" 11.02 \n",
" 7.30 \n",
" 14.77 \n",
" 2.04 \n",
" 48.37 \n",
" 14.09 \n",
" 48.95 \n",
" 4.92 \n",
" 50.31 \n",
" 300.2 \n",
" 3 \n",
" 8099 \n",
" Decastar \n",
" 22.016009 \n",
" -5.126563 \n",
" \n",
" \n",
" BERNARD \n",
" 11.02 \n",
" 7.23 \n",
" 14.25 \n",
" 1.92 \n",
" 48.93 \n",
" 14.99 \n",
" 40.87 \n",
" 5.32 \n",
" 62.77 \n",
" 280.1 \n",
" 4 \n",
" 8067 \n",
" Decastar \n",
" 0.389697 \n",
" 3.376956 \n",
" \n",
" \n",
" YURKOV \n",
" 11.34 \n",
" 7.09 \n",
" 15.19 \n",
" 2.10 \n",
" 50.42 \n",
" 15.31 \n",
" 46.26 \n",
" 4.72 \n",
" 63.44 \n",
" 276.4 \n",
" 5 \n",
" 8036 \n",
" Decastar \n",
" -2.856746 \n",
" 5.324504 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 100m Long.jump Shot.put High.jump 400m 110m.hurdle Discus \\\n",
"SEBRLE 11.04 7.58 14.83 2.07 49.81 14.69 43.75 \n",
"CLAY 10.76 7.40 14.26 1.86 49.37 14.05 50.72 \n",
"KARPOV 11.02 7.30 14.77 2.04 48.37 14.09 48.95 \n",
"BERNARD 11.02 7.23 14.25 1.92 48.93 14.99 40.87 \n",
"YURKOV 11.34 7.09 15.19 2.10 50.42 15.31 46.26 \n",
"\n",
" Pole.vault Javeline 1500m Rank Points Competition PCA1 \\\n",
"SEBRLE 5.02 63.19 291.7 1 8217 Decastar 12.126899 \n",
"CLAY 4.92 60.15 301.5 2 8122 Decastar 22.634006 \n",
"KARPOV 4.92 50.31 300.2 3 8099 Decastar 22.016009 \n",
"BERNARD 5.32 62.77 280.1 4 8067 Decastar 0.389697 \n",
"YURKOV 4.72 63.44 276.4 5 8036 Decastar -2.856746 \n",
"\n",
" PCA2 \n",
"SEBRLE 5.319245 \n",
"CLAY 4.818603 \n",
"KARPOV -5.126563 \n",
"BERNARD 3.376956 \n",
"YURKOV 5.324504 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"# 4. Proponha uma ordenação dos atletas segundo a primeira componente principal."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 100m \n",
" Long.jump \n",
" Shot.put \n",
" High.jump \n",
" 400m \n",
" 110m.hurdle \n",
" Discus \n",
" Pole.vault \n",
" Javeline \n",
" 1500m \n",
" Rank \n",
" Points \n",
" Competition \n",
" PCA1 \n",
" PCA2 \n",
" \n",
" \n",
" \n",
" \n",
" Sebrle \n",
" 10.85 \n",
" 7.84 \n",
" 16.36 \n",
" 2.12 \n",
" 48.36 \n",
" 14.05 \n",
" 48.72 \n",
" 5.00 \n",
" 70.52 \n",
" 280.01 \n",
" 1 \n",
" 8893 \n",
" OlympicG \n",
" 0.236802 \n",
" 13.080909 \n",
" \n",
" \n",
" Clay \n",
" 10.44 \n",
" 7.96 \n",
" 15.23 \n",
" 2.06 \n",
" 49.19 \n",
" 14.13 \n",
" 50.11 \n",
" 4.90 \n",
" 69.71 \n",
" 282.00 \n",
" 2 \n",
" 8820 \n",
" OlympicG \n",
" 2.413311 \n",
" 12.714501 \n",
" \n",
" \n",
" Parkhomenko \n",
" 11.14 \n",
" 6.61 \n",
" 15.69 \n",
" 2.03 \n",
" 51.04 \n",
" 14.88 \n",
" 41.90 \n",
" 4.80 \n",
" 65.82 \n",
" 277.94 \n",
" 20 \n",
" 7918 \n",
" OlympicG \n",
" -1.843447 \n",
" 6.580052 \n",
" \n",
" \n",
" Barras \n",
" 11.14 \n",
" 6.99 \n",
" 14.91 \n",
" 1.94 \n",
" 49.41 \n",
" 14.37 \n",
" 44.83 \n",
" 4.60 \n",
" 64.55 \n",
" 267.09 \n",
" 13 \n",
" 8067 \n",
" OlympicG \n",
" -12.346567 \n",
" 5.409876 \n",
" \n",
" \n",
" YURKOV \n",
" 11.34 \n",
" 7.09 \n",
" 15.19 \n",
" 2.10 \n",
" 50.42 \n",
" 15.31 \n",
" 46.26 \n",
" 4.72 \n",
" 63.44 \n",
" 276.40 \n",
" 5 \n",
" 8036 \n",
" Decastar \n",
" -2.856746 \n",
" 5.324504 \n",
" \n",
" \n",
" SEBRLE \n",
" 11.04 \n",
" 7.58 \n",
" 14.83 \n",
" 2.07 \n",
" 49.81 \n",
" 14.69 \n",
" 43.75 \n",
" 5.02 \n",
" 63.19 \n",
" 291.70 \n",
" 1 \n",
" 8217 \n",
" Decastar \n",
" 12.126899 \n",
" 5.319245 \n",
" \n",
" \n",
" CLAY \n",
" 10.76 \n",
" 7.40 \n",
" 14.26 \n",
" 1.86 \n",
" 49.37 \n",
" 14.05 \n",
" 50.72 \n",
" 4.92 \n",
" 60.15 \n",
" 301.50 \n",
" 2 \n",
" 8122 \n",
" Decastar \n",
" 22.634006 \n",
" 4.818603 \n",
" \n",
" \n",
" Zsivoczky \n",
" 10.91 \n",
" 7.14 \n",
" 15.31 \n",
" 2.12 \n",
" 49.40 \n",
" 14.95 \n",
" 45.62 \n",
" 4.70 \n",
" 63.45 \n",
" 269.54 \n",
" 6 \n",
" 8287 \n",
" OlympicG \n",
" -9.754857 \n",
" 4.752802 \n",
" \n",
" \n",
" Smith \n",
" 10.85 \n",
" 6.81 \n",
" 15.24 \n",
" 1.91 \n",
" 49.27 \n",
" 14.01 \n",
" 49.02 \n",
" 4.20 \n",
" 61.52 \n",
" 272.74 \n",
" 14 \n",
" 8023 \n",
" OlympicG \n",
" -6.157684 \n",
" 4.002817 \n",
" \n",
" \n",
" BERNARD \n",
" 11.02 \n",
" 7.23 \n",
" 14.25 \n",
" 1.92 \n",
" 48.93 \n",
" 14.99 \n",
" 40.87 \n",
" 5.32 \n",
" 62.77 \n",
" 280.10 \n",
" 4 \n",
" 8067 \n",
" Decastar \n",
" 0.389697 \n",
" 3.376956 \n",
" \n",
" \n",
" Casarsa \n",
" 11.36 \n",
" 6.68 \n",
" 14.92 \n",
" 1.94 \n",
" 53.20 \n",
" 15.39 \n",
" 48.66 \n",
" 4.40 \n",
" 58.62 \n",
" 296.12 \n",
" 28 \n",
" 7404 \n",
" OlympicG \n",
" 17.421325 \n",
" 2.549930 \n",
" \n",
" \n",
" Schoenbeck \n",
" 10.90 \n",
" 7.30 \n",
" 14.77 \n",
" 1.88 \n",
" 50.30 \n",
" 14.34 \n",
" 44.41 \n",
" 5.00 \n",
" 60.89 \n",
" 278.82 \n",
" 12 \n",
" 8077 \n",
" OlympicG \n",
" -0.387383 \n",
" 2.508462 \n",
" \n",
" \n",
" Qi \n",
" 11.06 \n",
" 7.34 \n",
" 13.55 \n",
" 1.97 \n",
" 49.65 \n",
" 14.78 \n",
" 45.13 \n",
" 4.50 \n",
" 60.79 \n",
" 272.63 \n",
" 18 \n",
" 7934 \n",
" OlympicG \n",
" -6.503819 \n",
" 2.114859 \n",
" \n",
" \n",
" Nool \n",
" 10.80 \n",
" 7.53 \n",
" 14.26 \n",
" 1.88 \n",
" 48.81 \n",
" 14.80 \n",
" 42.05 \n",
" 5.40 \n",
" 61.33 \n",
" 276.33 \n",
" 8 \n",
" 8235 \n",
" OlympicG \n",
" -3.140436 \n",
" 2.089610 \n",
" \n",
" \n",
" Uldal \n",
" 11.23 \n",
" 6.99 \n",
" 13.53 \n",
" 1.85 \n",
" 50.95 \n",
" 15.09 \n",
" 43.01 \n",
" 4.50 \n",
" 60.00 \n",
" 281.70 \n",
" 27 \n",
" 7495 \n",
" OlympicG \n",
" 2.451902 \n",
" 1.347375 \n",
" \n",
" \n",
" Smirnov \n",
" 10.89 \n",
" 7.07 \n",
" 13.88 \n",
" 1.94 \n",
" 49.11 \n",
" 14.77 \n",
" 42.47 \n",
" 4.70 \n",
" 60.88 \n",
" 263.31 \n",
" 17 \n",
" 7993 \n",
" OlympicG \n",
" -15.985132 \n",
" 0.944486 \n",
" \n",
" \n",
" Gomez \n",
" 11.08 \n",
" 7.26 \n",
" 14.57 \n",
" 1.85 \n",
" 48.61 \n",
" 14.41 \n",
" 40.95 \n",
" 4.40 \n",
" 60.71 \n",
" 269.70 \n",
" 22 \n",
" 7865 \n",
" OlympicG \n",
" -9.764231 \n",
" 0.819932 \n",
" \n",
" \n",
" Macey \n",
" 10.89 \n",
" 7.47 \n",
" 15.73 \n",
" 2.15 \n",
" 48.97 \n",
" 14.56 \n",
" 48.34 \n",
" 4.40 \n",
" 58.46 \n",
" 265.42 \n",
" 4 \n",
" 8414 \n",
" OlympicG \n",
" -13.218942 \n",
" 0.488027 \n",
" \n",
" \n",
" Turi \n",
" 11.08 \n",
" 6.91 \n",
" 13.62 \n",
" 2.03 \n",
" 51.67 \n",
" 14.26 \n",
" 39.83 \n",
" 4.80 \n",
" 59.34 \n",
" 290.01 \n",
" 23 \n",
" 7708 \n",
" OlympicG \n",
" 10.537908 \n",
" 0.391183 \n",
" \n",
" \n",
" Ojaniemi \n",
" 10.68 \n",
" 7.50 \n",
" 14.97 \n",
" 1.94 \n",
" 49.12 \n",
" 15.01 \n",
" 40.35 \n",
" 4.60 \n",
" 59.26 \n",
" 275.71 \n",
" 16 \n",
" 8006 \n",
" OlympicG \n",
" -3.696415 \n",
" -0.319962 \n",
" \n",
" \n",
" HERNU \n",
" 11.37 \n",
" 7.56 \n",
" 14.41 \n",
" 1.86 \n",
" 51.10 \n",
" 15.06 \n",
" 44.99 \n",
" 4.82 \n",
" 57.19 \n",
" 285.10 \n",
" 10 \n",
" 7733 \n",
" Decastar \n",
" 6.235938 \n",
" -0.526676 \n",
" \n",
" \n",
" Karpov \n",
" 10.50 \n",
" 7.81 \n",
" 15.93 \n",
" 2.09 \n",
" 46.81 \n",
" 13.97 \n",
" 51.65 \n",
" 4.60 \n",
" 55.54 \n",
" 278.11 \n",
" 3 \n",
" 8725 \n",
" OlympicG \n",
" -0.199697 \n",
" -0.644892 \n",
" \n",
" \n",
" Hernu \n",
" 10.97 \n",
" 7.19 \n",
" 14.65 \n",
" 2.03 \n",
" 48.73 \n",
" 14.25 \n",
" 44.72 \n",
" 4.80 \n",
" 57.76 \n",
" 264.35 \n",
" 7 \n",
" 8237 \n",
" OlympicG \n",
" -14.518756 \n",
" -1.313223 \n",
" \n",
" \n",
" McMULLEN \n",
" 10.83 \n",
" 7.31 \n",
" 13.76 \n",
" 2.13 \n",
" 49.91 \n",
" 14.38 \n",
" 44.41 \n",
" 4.42 \n",
" 56.37 \n",
" 285.10 \n",
" 8 \n",
" 7995 \n",
" Decastar \n",
" 6.206619 \n",
" -1.525832 \n",
" \n",
" \n",
" Lorenzo \n",
" 11.10 \n",
" 7.03 \n",
" 13.22 \n",
" 1.85 \n",
" 49.34 \n",
" 15.38 \n",
" 40.22 \n",
" 4.50 \n",
" 58.36 \n",
" 263.08 \n",
" 24 \n",
" 7592 \n",
" OlympicG \n",
" -16.168862 \n",
" -2.144554 \n",
" \n",
" \n",
" Korkizoglou \n",
" 10.86 \n",
" 7.07 \n",
" 14.81 \n",
" 1.94 \n",
" 51.16 \n",
" 14.96 \n",
" 46.07 \n",
" 4.70 \n",
" 53.05 \n",
" 317.00 \n",
" 26 \n",
" 7573 \n",
" OlympicG \n",
" 38.339641 \n",
" -2.223945 \n",
" \n",
" \n",
" Schwarzl \n",
" 10.98 \n",
" 7.49 \n",
" 14.01 \n",
" 1.94 \n",
" 49.76 \n",
" 14.25 \n",
" 42.43 \n",
" 5.10 \n",
" 56.32 \n",
" 273.56 \n",
" 10 \n",
" 8102 \n",
" OlympicG \n",
" -5.396246 \n",
" -2.786505 \n",
" \n",
" \n",
" Bernard \n",
" 10.69 \n",
" 7.48 \n",
" 14.80 \n",
" 2.12 \n",
" 49.13 \n",
" 14.17 \n",
" 44.75 \n",
" 4.40 \n",
" 55.27 \n",
" 276.31 \n",
" 9 \n",
" 8225 \n",
" OlympicG \n",
" -2.418485 \n",
" -2.937788 \n",
" \n",
" \n",
" Warners \n",
" 10.62 \n",
" 7.74 \n",
" 14.48 \n",
" 1.97 \n",
" 47.97 \n",
" 14.01 \n",
" 43.73 \n",
" 4.90 \n",
" 55.39 \n",
" 278.05 \n",
" 5 \n",
" 8343 \n",
" OlympicG \n",
" -0.827396 \n",
" -3.025570 \n",
" \n",
" \n",
" ZSIVOCZKY \n",
" 11.13 \n",
" 7.30 \n",
" 13.48 \n",
" 2.01 \n",
" 48.62 \n",
" 14.17 \n",
" 45.67 \n",
" 4.42 \n",
" 55.37 \n",
" 268.00 \n",
" 7 \n",
" 8004 \n",
" Decastar \n",
" -10.633374 \n",
" -3.227161 \n",
" \n",
" \n",
" BARRAS \n",
" 11.33 \n",
" 6.97 \n",
" 14.09 \n",
" 1.95 \n",
" 49.48 \n",
" 14.48 \n",
" 42.10 \n",
" 4.72 \n",
" 55.40 \n",
" 282.00 \n",
" 11 \n",
" 7708 \n",
" Decastar \n",
" 3.020783 \n",
" -3.247480 \n",
" \n",
" \n",
" NOOL \n",
" 11.33 \n",
" 7.27 \n",
" 12.68 \n",
" 1.98 \n",
" 49.20 \n",
" 15.29 \n",
" 37.92 \n",
" 4.62 \n",
" 57.44 \n",
" 266.60 \n",
" 12 \n",
" 7651 \n",
" Decastar \n",
" -12.785561 \n",
" -3.473269 \n",
" \n",
" \n",
" BOURGUIGNON \n",
" 11.36 \n",
" 6.80 \n",
" 13.46 \n",
" 1.86 \n",
" 51.16 \n",
" 15.67 \n",
" 40.49 \n",
" 5.02 \n",
" 54.68 \n",
" 291.70 \n",
" 13 \n",
" 7313 \n",
" Decastar \n",
" 12.648385 \n",
" -3.822986 \n",
" \n",
" \n",
" Pogorelov \n",
" 10.95 \n",
" 7.31 \n",
" 15.10 \n",
" 2.06 \n",
" 50.79 \n",
" 14.21 \n",
" 44.60 \n",
" 5.00 \n",
" 53.45 \n",
" 287.63 \n",
" 11 \n",
" 8084 \n",
" OlympicG \n",
" 9.031751 \n",
" -3.995408 \n",
" \n",
" \n",
" KARPOV \n",
" 11.02 \n",
" 7.30 \n",
" 14.77 \n",
" 2.04 \n",
" 48.37 \n",
" 14.09 \n",
" 48.95 \n",
" 4.92 \n",
" 50.31 \n",
" 300.20 \n",
" 3 \n",
" 8099 \n",
" Decastar \n",
" 22.016009 \n",
" -5.126563 \n",
" \n",
" \n",
" Averyanov \n",
" 10.55 \n",
" 7.34 \n",
" 14.44 \n",
" 1.94 \n",
" 49.72 \n",
" 14.39 \n",
" 39.88 \n",
" 4.80 \n",
" 54.51 \n",
" 271.02 \n",
" 15 \n",
" 8021 \n",
" OlympicG \n",
" -7.959020 \n",
" -5.316810 \n",
" \n",
" \n",
" Karlivans \n",
" 11.33 \n",
" 7.26 \n",
" 13.30 \n",
" 1.97 \n",
" 50.54 \n",
" 14.98 \n",
" 43.34 \n",
" 4.50 \n",
" 52.92 \n",
" 278.67 \n",
" 25 \n",
" 7583 \n",
" OlympicG \n",
" 0.060490 \n",
" -5.550280 \n",
" \n",
" \n",
" MARTINEAU \n",
" 11.64 \n",
" 6.81 \n",
" 14.57 \n",
" 1.95 \n",
" 50.14 \n",
" 14.93 \n",
" 47.60 \n",
" 4.92 \n",
" 52.33 \n",
" 262.10 \n",
" 9 \n",
" 7802 \n",
" Decastar \n",
" -16.004398 \n",
" -5.888292 \n",
" \n",
" \n",
" Terek \n",
" 10.92 \n",
" 6.94 \n",
" 15.15 \n",
" 1.94 \n",
" 49.56 \n",
" 15.12 \n",
" 45.62 \n",
" 5.30 \n",
" 50.62 \n",
" 290.36 \n",
" 21 \n",
" 7893 \n",
" OlympicG \n",
" 12.018749 \n",
" -6.283038 \n",
" \n",
" \n",
" WARNERS \n",
" 11.11 \n",
" 7.60 \n",
" 14.31 \n",
" 1.98 \n",
" 48.68 \n",
" 14.23 \n",
" 41.10 \n",
" 4.92 \n",
" 51.77 \n",
" 278.10 \n",
" 6 \n",
" 8030 \n",
" Decastar \n",
" -0.644908 \n",
" -7.207893 \n",
" \n",
" \n",
" Drews \n",
" 10.87 \n",
" 7.38 \n",
" 13.07 \n",
" 1.88 \n",
" 48.51 \n",
" 14.01 \n",
" 40.11 \n",
" 5.00 \n",
" 51.53 \n",
" 274.21 \n",
" 19 \n",
" 7926 \n",
" OlympicG \n",
" -4.577852 \n",
" -8.046004 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 100m Long.jump Shot.put High.jump 400m 110m.hurdle \\\n",
"Sebrle 10.85 7.84 16.36 2.12 48.36 14.05 \n",
"Clay 10.44 7.96 15.23 2.06 49.19 14.13 \n",
"Parkhomenko 11.14 6.61 15.69 2.03 51.04 14.88 \n",
"Barras 11.14 6.99 14.91 1.94 49.41 14.37 \n",
"YURKOV 11.34 7.09 15.19 2.10 50.42 15.31 \n",
"SEBRLE 11.04 7.58 14.83 2.07 49.81 14.69 \n",
"CLAY 10.76 7.40 14.26 1.86 49.37 14.05 \n",
"Zsivoczky 10.91 7.14 15.31 2.12 49.40 14.95 \n",
"Smith 10.85 6.81 15.24 1.91 49.27 14.01 \n",
"BERNARD 11.02 7.23 14.25 1.92 48.93 14.99 \n",
"Casarsa 11.36 6.68 14.92 1.94 53.20 15.39 \n",
"Schoenbeck 10.90 7.30 14.77 1.88 50.30 14.34 \n",
"Qi 11.06 7.34 13.55 1.97 49.65 14.78 \n",
"Nool 10.80 7.53 14.26 1.88 48.81 14.80 \n",
"Uldal 11.23 6.99 13.53 1.85 50.95 15.09 \n",
"Smirnov 10.89 7.07 13.88 1.94 49.11 14.77 \n",
"Gomez 11.08 7.26 14.57 1.85 48.61 14.41 \n",
"Macey 10.89 7.47 15.73 2.15 48.97 14.56 \n",
"Turi 11.08 6.91 13.62 2.03 51.67 14.26 \n",
"Ojaniemi 10.68 7.50 14.97 1.94 49.12 15.01 \n",
"HERNU 11.37 7.56 14.41 1.86 51.10 15.06 \n",
"Karpov 10.50 7.81 15.93 2.09 46.81 13.97 \n",
"Hernu 10.97 7.19 14.65 2.03 48.73 14.25 \n",
"McMULLEN 10.83 7.31 13.76 2.13 49.91 14.38 \n",
"Lorenzo 11.10 7.03 13.22 1.85 49.34 15.38 \n",
"Korkizoglou 10.86 7.07 14.81 1.94 51.16 14.96 \n",
"Schwarzl 10.98 7.49 14.01 1.94 49.76 14.25 \n",
"Bernard 10.69 7.48 14.80 2.12 49.13 14.17 \n",
"Warners 10.62 7.74 14.48 1.97 47.97 14.01 \n",
"ZSIVOCZKY 11.13 7.30 13.48 2.01 48.62 14.17 \n",
"BARRAS 11.33 6.97 14.09 1.95 49.48 14.48 \n",
"NOOL 11.33 7.27 12.68 1.98 49.20 15.29 \n",
"BOURGUIGNON 11.36 6.80 13.46 1.86 51.16 15.67 \n",
"Pogorelov 10.95 7.31 15.10 2.06 50.79 14.21 \n",
"KARPOV 11.02 7.30 14.77 2.04 48.37 14.09 \n",
"Averyanov 10.55 7.34 14.44 1.94 49.72 14.39 \n",
"Karlivans 11.33 7.26 13.30 1.97 50.54 14.98 \n",
"MARTINEAU 11.64 6.81 14.57 1.95 50.14 14.93 \n",
"Terek 10.92 6.94 15.15 1.94 49.56 15.12 \n",
"WARNERS 11.11 7.60 14.31 1.98 48.68 14.23 \n",
"Drews 10.87 7.38 13.07 1.88 48.51 14.01 \n",
"\n",
" Discus Pole.vault Javeline 1500m Rank Points Competition \\\n",
"Sebrle 48.72 5.00 70.52 280.01 1 8893 OlympicG \n",
"Clay 50.11 4.90 69.71 282.00 2 8820 OlympicG \n",
"Parkhomenko 41.90 4.80 65.82 277.94 20 7918 OlympicG \n",
"Barras 44.83 4.60 64.55 267.09 13 8067 OlympicG \n",
"YURKOV 46.26 4.72 63.44 276.40 5 8036 Decastar \n",
"SEBRLE 43.75 5.02 63.19 291.70 1 8217 Decastar \n",
"CLAY 50.72 4.92 60.15 301.50 2 8122 Decastar \n",
"Zsivoczky 45.62 4.70 63.45 269.54 6 8287 OlympicG \n",
"Smith 49.02 4.20 61.52 272.74 14 8023 OlympicG \n",
"BERNARD 40.87 5.32 62.77 280.10 4 8067 Decastar \n",
"Casarsa 48.66 4.40 58.62 296.12 28 7404 OlympicG \n",
"Schoenbeck 44.41 5.00 60.89 278.82 12 8077 OlympicG \n",
"Qi 45.13 4.50 60.79 272.63 18 7934 OlympicG \n",
"Nool 42.05 5.40 61.33 276.33 8 8235 OlympicG \n",
"Uldal 43.01 4.50 60.00 281.70 27 7495 OlympicG \n",
"Smirnov 42.47 4.70 60.88 263.31 17 7993 OlympicG \n",
"Gomez 40.95 4.40 60.71 269.70 22 7865 OlympicG \n",
"Macey 48.34 4.40 58.46 265.42 4 8414 OlympicG \n",
"Turi 39.83 4.80 59.34 290.01 23 7708 OlympicG \n",
"Ojaniemi 40.35 4.60 59.26 275.71 16 8006 OlympicG \n",
"HERNU 44.99 4.82 57.19 285.10 10 7733 Decastar \n",
"Karpov 51.65 4.60 55.54 278.11 3 8725 OlympicG \n",
"Hernu 44.72 4.80 57.76 264.35 7 8237 OlympicG \n",
"McMULLEN 44.41 4.42 56.37 285.10 8 7995 Decastar \n",
"Lorenzo 40.22 4.50 58.36 263.08 24 7592 OlympicG \n",
"Korkizoglou 46.07 4.70 53.05 317.00 26 7573 OlympicG \n",
"Schwarzl 42.43 5.10 56.32 273.56 10 8102 OlympicG \n",
"Bernard 44.75 4.40 55.27 276.31 9 8225 OlympicG \n",
"Warners 43.73 4.90 55.39 278.05 5 8343 OlympicG \n",
"ZSIVOCZKY 45.67 4.42 55.37 268.00 7 8004 Decastar \n",
"BARRAS 42.10 4.72 55.40 282.00 11 7708 Decastar \n",
"NOOL 37.92 4.62 57.44 266.60 12 7651 Decastar \n",
"BOURGUIGNON 40.49 5.02 54.68 291.70 13 7313 Decastar \n",
"Pogorelov 44.60 5.00 53.45 287.63 11 8084 OlympicG \n",
"KARPOV 48.95 4.92 50.31 300.20 3 8099 Decastar \n",
"Averyanov 39.88 4.80 54.51 271.02 15 8021 OlympicG \n",
"Karlivans 43.34 4.50 52.92 278.67 25 7583 OlympicG \n",
"MARTINEAU 47.60 4.92 52.33 262.10 9 7802 Decastar \n",
"Terek 45.62 5.30 50.62 290.36 21 7893 OlympicG \n",
"WARNERS 41.10 4.92 51.77 278.10 6 8030 Decastar \n",
"Drews 40.11 5.00 51.53 274.21 19 7926 OlympicG \n",
"\n",
" PCA1 PCA2 \n",
"Sebrle 0.236802 13.080909 \n",
"Clay 2.413311 12.714501 \n",
"Parkhomenko -1.843447 6.580052 \n",
"Barras -12.346567 5.409876 \n",
"YURKOV -2.856746 5.324504 \n",
"SEBRLE 12.126899 5.319245 \n",
"CLAY 22.634006 4.818603 \n",
"Zsivoczky -9.754857 4.752802 \n",
"Smith -6.157684 4.002817 \n",
"BERNARD 0.389697 3.376956 \n",
"Casarsa 17.421325 2.549930 \n",
"Schoenbeck -0.387383 2.508462 \n",
"Qi -6.503819 2.114859 \n",
"Nool -3.140436 2.089610 \n",
"Uldal 2.451902 1.347375 \n",
"Smirnov -15.985132 0.944486 \n",
"Gomez -9.764231 0.819932 \n",
"Macey -13.218942 0.488027 \n",
"Turi 10.537908 0.391183 \n",
"Ojaniemi -3.696415 -0.319962 \n",
"HERNU 6.235938 -0.526676 \n",
"Karpov -0.199697 -0.644892 \n",
"Hernu -14.518756 -1.313223 \n",
"McMULLEN 6.206619 -1.525832 \n",
"Lorenzo -16.168862 -2.144554 \n",
"Korkizoglou 38.339641 -2.223945 \n",
"Schwarzl -5.396246 -2.786505 \n",
"Bernard -2.418485 -2.937788 \n",
"Warners -0.827396 -3.025570 \n",
"ZSIVOCZKY -10.633374 -3.227161 \n",
"BARRAS 3.020783 -3.247480 \n",
"NOOL -12.785561 -3.473269 \n",
"BOURGUIGNON 12.648385 -3.822986 \n",
"Pogorelov 9.031751 -3.995408 \n",
"KARPOV 22.016009 -5.126563 \n",
"Averyanov -7.959020 -5.316810 \n",
"Karlivans 0.060490 -5.550280 \n",
"MARTINEAU -16.004398 -5.888292 \n",
"Terek 12.018749 -6.283038 \n",
"WARNERS -0.644908 -7.207893 \n",
"Drews -4.577852 -8.046004 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values(by='PCA2',ascending=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercício: Refazer a análise com a matriz de correlações e comparar os resultados"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exemplo: Substâncias\n",
"\n",
"Estudos mostram que grande parte de adultos e adolescentes norte-americanos usam regularmente substâncias psicoativas. Em um destes estudos (Huba et al. 1981, J. of Personality and Social Psychology), dados foram coletados de 1634 estudantes na área\n",
"metropolitana de Los Angeles. Cada participante completou um questionário informando o número de vezes que cada item foi usado. Os itens são os seguintes: cigarro, cerveja, vinho, licor, cocaína, tranquilizantes, medicamentos, heroína, maconha, haxixe, inalantes, alucinógenos e anfetaminas.\n",
"\n",
"\n",
"As respostas foram registradas em uma escala de cinco pontos: 1. nunca experimentei, 2. apenas uma vez, 3. poucas vezes, 4. muitas vezes e 5. regularmente.\n",
"\n",
"A matriz de correlações das respostas encontra-se no arquivo Substancias.txt.\n",
"\n",
"\n",
"Foram obtidas as componentes principais a matriz de correlações dos dados. Como propor um 'índice de utilização de substâncias psicoativas'?\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"# Uma opção para a leitura dos dados\n",
"\n",
"textfile = open(\"/home/cibele/CibelePython/AMANS/Aula 7/Substancias.txt\")\n",
"\n",
"R = []\n",
"\n",
"for line in textfile:\n",
" row_R = line.strip(\"\\n\").split()\n",
" for i, item in enumerate(row_R):\n",
" try:\n",
" row_R[i] = float(item)\n",
" except ValueError:\n",
" pass\n",
" R.append(row_R)\n",
" \n",
"textfile.close()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[[1.0,\n",
" 0.447,\n",
" 0.422,\n",
" 0.435,\n",
" 0.114,\n",
" 0.203,\n",
" 0.091,\n",
" 0.082,\n",
" 0.513,\n",
" 0.304,\n",
" 0.245,\n",
" 0.101,\n",
" 0.245],\n",
" [0.447,\n",
" 1.0,\n",
" 0.619,\n",
" 0.604,\n",
" 0.068,\n",
" 0.146,\n",
" 0.103,\n",
" 0.063,\n",
" 0.445,\n",
" 0.318,\n",
" 0.203,\n",
" 0.088,\n",
" 0.199],\n",
" [0.422,\n",
" 0.619,\n",
" 1.0,\n",
" 0.583,\n",
" 0.054,\n",
" 0.139,\n",
" 0.11,\n",
" 0.066,\n",
" 0.365,\n",
" 0.249,\n",
" 0.183,\n",
" 0.074,\n",
" 0.184],\n",
" [0.435,\n",
" 0.604,\n",
" 0.583,\n",
" 1.0,\n",
" 0.115,\n",
" 0.258,\n",
" 0.122,\n",
" 0.097,\n",
" 0.482,\n",
" 0.368,\n",
" 0.255,\n",
" 0.139,\n",
" 0.293],\n",
" [0.114,\n",
" 0.068,\n",
" 0.054,\n",
" 0.115,\n",
" 1.0,\n",
" 0.349,\n",
" 0.209,\n",
" 0.321,\n",
" 0.186,\n",
" 0.303,\n",
" 0.272,\n",
" 0.279,\n",
" 0.278],\n",
" [0.203,\n",
" 0.146,\n",
" 0.139,\n",
" 0.258,\n",
" 0.349,\n",
" 1.0,\n",
" 0.221,\n",
" 0.355,\n",
" 0.315,\n",
" 0.377,\n",
" 0.323,\n",
" 0.367,\n",
" 0.545],\n",
" [0.091,\n",
" 0.103,\n",
" 0.11,\n",
" 0.122,\n",
" 0.209,\n",
" 0.221,\n",
" 1.0,\n",
" 0.201,\n",
" 0.159,\n",
" 0.163,\n",
" 0.31,\n",
" 0.232,\n",
" 0.232],\n",
" [0.082,\n",
" 0.063,\n",
" 0.066,\n",
" 0.097,\n",
" 0.321,\n",
" 0.355,\n",
" 0.201,\n",
" 1.0,\n",
" 0.154,\n",
" 0.219,\n",
" 0.288,\n",
" 0.32,\n",
" 0.314],\n",
" [0.513,\n",
" 0.445,\n",
" 0.365,\n",
" 0.482,\n",
" 0.186,\n",
" 0.315,\n",
" 0.159,\n",
" 0.154,\n",
" 1.0,\n",
" 0.534,\n",
" 0.301,\n",
" 0.204,\n",
" 0.394],\n",
" [0.304,\n",
" 0.318,\n",
" 0.249,\n",
" 0.368,\n",
" 0.303,\n",
" 0.377,\n",
" 0.163,\n",
" 0.219,\n",
" 0.534,\n",
" 1.0,\n",
" 0.302,\n",
" 0.368,\n",
" 0.467],\n",
" [0.245,\n",
" 0.203,\n",
" 0.183,\n",
" 0.255,\n",
" 0.272,\n",
" 0.323,\n",
" 0.31,\n",
" 0.288,\n",
" 0.301,\n",
" 0.302,\n",
" 1.0,\n",
" 0.304,\n",
" 0.392],\n",
" [0.101,\n",
" 0.088,\n",
" 0.074,\n",
" 0.139,\n",
" 0.279,\n",
" 0.367,\n",
" 0.232,\n",
" 0.32,\n",
" 0.204,\n",
" 0.368,\n",
" 0.304,\n",
" 1.0,\n",
" 0.511],\n",
" [0.245,\n",
" 0.199,\n",
" 0.184,\n",
" 0.293,\n",
" 0.278,\n",
" 0.545,\n",
" 0.232,\n",
" 0.314,\n",
" 0.394,\n",
" 0.467,\n",
" 0.392,\n",
" 0.511,\n",
" 1.0]]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"R"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([4.37950771, 2.04056592, 0.95143481, 0.81458276, 0.76828587,\n",
" 0.36018552, 0.37471813, 0.40310222, 0.39240901, 0.69368066,\n",
" 0.5703302 , 0.62088719, 0.63030999]),\n",
" array([[ 0.2785956 , -0.27915038, -0.05146505, -0.01073321, 0.33746729,\n",
" 0.23060635, -0.18204095, -0.1506686 , -0.13847683, -0.39202283,\n",
" -0.64328589, -0.12551078, -0.12792532],\n",
" [ 0.28642413, -0.39618604, 0.12022106, -0.1088684 , -0.19108664,\n",
" 0.4093466 , 0.70169366, -0.04047289, -0.05508532, 0.14219592,\n",
" 0.05540328, -0.02205357, 0.09895279],\n",
" [ 0.26628103, -0.39124376, 0.20128247, -0.15208159, -0.31886983,\n",
" -0.52914243, -0.20507939, -0.46177149, 0.19889674, 0.14483419,\n",
" -0.0762602 , 0.07944937, 0.05248299],\n",
" [ 0.31819142, -0.32406998, 0.04536744, -0.06956013, -0.18579444,\n",
" 0.18947654, -0.50192103, 0.6061766 , -0.15415181, 0.12395599,\n",
" 0.17358025, 0.16639939, -0.00967491],\n",
" [ 0.20813234, 0.29028226, 0.067506 , -0.57291186, 0.43275724,\n",
" -0.00136202, 0.0205114 , 0.08524309, 0.16170004, 0.42989224,\n",
" -0.21090744, 0.20758639, 0.21479289],\n",
" [ 0.29281564, 0.26184009, -0.16929966, -0.07601164, -0.11073311,\n",
" -0.15056866, 0.16580275, -0.10876499, -0.42230918, -0.04771326,\n",
" 0.03159159, 0.48712322, -0.56400076],\n",
" [ 0.17679712, 0.18941354, 0.72645486, 0.37531186, 0.15542622,\n",
" 0.06063694, -0.0378962 , -0.008079 , 0.00112939, 0.27841122,\n",
" -0.01700342, -0.19927213, -0.34266824],\n",
" [ 0.20142516, 0.31781071, 0.14998306, -0.53830398, -0.29088741,\n",
" 0.05610753, -0.05337749, 0.01829898, 0.04498234, -0.38161153,\n",
" 0.17300833, -0.51058135, -0.1301332 ],\n",
" [ 0.33995935, -0.1611473 , -0.21443834, 0.13138444, 0.36898737,\n",
" -0.5202717 , 0.28689531, 0.37372016, 0.19890291, -0.10666709,\n",
" 0.17008027, -0.26345922, -0.13086339],\n",
" [ 0.32949938, 0.0507261 , -0.34731516, 0.12648637, 0.23212172,\n",
" 0.19416453, -0.23598363, -0.44643419, -0.23475314, 0.2639969 ,\n",
" 0.427404 , -0.28332814, 0.13381283],\n",
" [ 0.27385877, 0.1625199 , 0.33300062, 0.16118113, 0.14472644,\n",
" -0.05762312, 0.03047161, -0.05158461, -0.09597501, -0.50707816,\n",
" 0.23112699, 0.35538565, 0.53647564],\n",
" [ 0.2455858 , 0.32752121, -0.14873856, 0.25960891, -0.38931496,\n",
" -0.18899108, 0.07838416, 0.17880428, -0.2857182 , 0.19624985,\n",
" -0.45019854, -0.2367015 , 0.37234862],\n",
" [ 0.3284079 , 0.23471055, -0.23927013, 0.26228284, -0.20626847,\n",
" 0.29401491, -0.05690767, -0.04335229, 0.72279524, -0.0530833 ,\n",
" -0.06137722, 0.19225958, -0.10452593]]))"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Autovalores\n",
"\n",
"np.linalg.eig(R)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.2785956 , -0.27915038, -0.05146505, -0.01073321, 0.33746729,\n",
" 0.23060635, -0.18204095, -0.1506686 , -0.13847683, -0.39202283,\n",
" -0.64328589, -0.12551078, -0.12792532],\n",
" [ 0.28642413, -0.39618604, 0.12022106, -0.1088684 , -0.19108664,\n",
" 0.4093466 , 0.70169366, -0.04047289, -0.05508532, 0.14219592,\n",
" 0.05540328, -0.02205357, 0.09895279],\n",
" [ 0.26628103, -0.39124376, 0.20128247, -0.15208159, -0.31886983,\n",
" -0.52914243, -0.20507939, -0.46177149, 0.19889674, 0.14483419,\n",
" -0.0762602 , 0.07944937, 0.05248299],\n",
" [ 0.31819142, -0.32406998, 0.04536744, -0.06956013, -0.18579444,\n",
" 0.18947654, -0.50192103, 0.6061766 , -0.15415181, 0.12395599,\n",
" 0.17358025, 0.16639939, -0.00967491],\n",
" [ 0.20813234, 0.29028226, 0.067506 , -0.57291186, 0.43275724,\n",
" -0.00136202, 0.0205114 , 0.08524309, 0.16170004, 0.42989224,\n",
" -0.21090744, 0.20758639, 0.21479289],\n",
" [ 0.29281564, 0.26184009, -0.16929966, -0.07601164, -0.11073311,\n",
" -0.15056866, 0.16580275, -0.10876499, -0.42230918, -0.04771326,\n",
" 0.03159159, 0.48712322, -0.56400076],\n",
" [ 0.17679712, 0.18941354, 0.72645486, 0.37531186, 0.15542622,\n",
" 0.06063694, -0.0378962 , -0.008079 , 0.00112939, 0.27841122,\n",
" -0.01700342, -0.19927213, -0.34266824],\n",
" [ 0.20142516, 0.31781071, 0.14998306, -0.53830398, -0.29088741,\n",
" 0.05610753, -0.05337749, 0.01829898, 0.04498234, -0.38161153,\n",
" 0.17300833, -0.51058135, -0.1301332 ],\n",
" [ 0.33995935, -0.1611473 , -0.21443834, 0.13138444, 0.36898737,\n",
" -0.5202717 , 0.28689531, 0.37372016, 0.19890291, -0.10666709,\n",
" 0.17008027, -0.26345922, -0.13086339],\n",
" [ 0.32949938, 0.0507261 , -0.34731516, 0.12648637, 0.23212172,\n",
" 0.19416453, -0.23598363, -0.44643419, -0.23475314, 0.2639969 ,\n",
" 0.427404 , -0.28332814, 0.13381283],\n",
" [ 0.27385877, 0.1625199 , 0.33300062, 0.16118113, 0.14472644,\n",
" -0.05762312, 0.03047161, -0.05158461, -0.09597501, -0.50707816,\n",
" 0.23112699, 0.35538565, 0.53647564],\n",
" [ 0.2455858 , 0.32752121, -0.14873856, 0.25960891, -0.38931496,\n",
" -0.18899108, 0.07838416, 0.17880428, -0.2857182 , 0.19624985,\n",
" -0.45019854, -0.2367015 , 0.37234862],\n",
" [ 0.3284079 , 0.23471055, -0.23927013, 0.26228284, -0.20626847,\n",
" 0.29401491, -0.05690767, -0.04335229, 0.72279524, -0.0530833 ,\n",
" -0.06137722, 0.19225958, -0.10452593]])"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Autovetores\n",
"\n",
"np.linalg.eig(R)[1]"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.2785956 , -0.27915038, -0.05146505, -0.01073321, 0.33746729,\n",
" 0.23060635, -0.18204095, -0.1506686 , -0.13847683, -0.39202283,\n",
" -0.64328589, -0.12551078, -0.12792532])"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.linalg.eig(R)[1][0,:]"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"# Exercício: verifique se a matrix O de autovetores é ortogonal."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.28, -0.28, -0.05, -0.01, 0.34, 0.23, -0.18, -0.15, -0.14,\n",
" -0.39, -0.64, -0.13, -0.13])"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.round(np.linalg.eig(R)[1][0,:],2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Índice de utilização de substâncias:\n",
"\n",
"Índice = 0.28 * cigarro -0.28 * cerveja -0.05 * vinho -0.01 * licor + 0.34 * cocaína + 0.23 * tranquilizantes -0.18 * medicamentos- 0.15 * heroína -0.14 * maconha - 0.39 * haxixe -0.64* inalantes -0.13* alucinógenos -0.13 * anfetaminas \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}