{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 相関・散布図" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "相関は、2つの量が関連して変動するかどうかを確かめるための1つの方法です。\n", "\n", "---\n", "\n", "分散は、\n", "\n", "$$\\frac{\\sum_i(x_i-\\bar{X})^2}{n} $$\n", "\n", "でしたが、\n", "2つの変数の方向性を示す方法として共分散があります。\n", "共分散 2つの変数の方向性を示す。\n", "\n", "xとyが同じ方向に動くなら正の値、逆の方向に動く場合は負の値になります。\n", "\n", "共分散は以下のように求められます。\n", "\n", "$$ cov = \\frac{\\sum{(x_i-\\bar{X})(y_i-\\bar{Y})}}{n} $$\n", "\n", "もしくは分母は`n-1`\n", "\n", "---\n", "\n", "\n", "相関係数\n", "数値変数が互いに関連する程度を測った指標です(範囲は-1から+1)。\n", "\n", "ピアソンの積率相関係数\n", "\n", "$ r = \\frac{\\sum(x_i-\\bar{X})(y_i-\\bar{Y})}{\\sqrt{\\sum(x_i-\\bar{X})^2(y_i-\\bar{Y})^2}}$\n", "\n", "この式は、共分散(covariance)\n", "\n", "$ cov = \\frac{\\sum{(x_i-\\bar{X})(y_i-\\bar{Y})}}{n} $\n", "\n", "を、xとyのそれぞれの標準偏差\n", "\n", "$ \\sigma_x = \\sqrt{\\frac{\\sum_i(x_i-\\bar{X})^2}{n}} $, \n", "$ \\sigma_y = \\sqrt{\\frac{\\sum_i(x_i-\\bar{X})^2}{n}} $\n", "\n", "の積で割ったもの($r = \\frac{cov}{\\sigma_x\\sigma_y}$)です。\n", "\n", "---\n", "\n", "相関行列\n", "行と列が変数を表し。セル値が変数間の相関関係を表す表。\n", "\n", "---\n", "\n", "散布図\n", "x軸に変数の値、y軸に別の変数の値をとる図。\n", "\n", "\n", "---\n", "\n", "相関係数と因果関係\n", "ここで注意が必要なのは、相関係数はあくまで統計的傾向であって、必ずしも因果関係ではないということです。\n", "xとyに正の相関があるからといって、xを増やせばyが増えるわけではありません。\n", "\n", "---\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "df = pd.DataFrame({'x': [10, 12, 14, 20, 25, 26, 19, 21, 17, 11, 14, 13],\n", " 'y' :[460, 390, 490, 610, 890, 880, 1200, 1300, 840, 620, 450, 560]})" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
count12.00000012.000000
mean16.833333724.166667
std5.373899299.316140
min10.000000390.000000
25%12.750000482.500000
50%15.500000615.000000
75%20.250000882.500000
max26.0000001300.000000
\n", "
" ], "text/plain": [ " x y\n", "count 12.000000 12.000000\n", "mean 16.833333 724.166667\n", "std 5.373899 299.316140\n", "min 10.000000 390.000000\n", "25% 12.750000 482.500000\n", "50% 15.500000 615.000000\n", "75% 20.250000 882.500000\n", "max 26.000000 1300.000000" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`.corr()` を使ってピアソンの積立相関係数を求めます。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pearson Correlation: 0.6764276866627554\n" ] } ], "source": [ "corr_scr = df['x'].corr(df['y'])\n", "print('Pearson Correlation: ', corr_scr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2次元以上のDataFrameへ `.corr()` を使うと相関行列を示すことができます。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
xy
x1.0000000.676428
y0.6764281.000000
\n", "
" ], "text/plain": [ " x y\n", "x 1.000000 0.676428\n", "y 0.676428 1.000000" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[['x','y']].corr()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "続いてMatplotlibのscatterを使って散布図を描きます。" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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AADjEYgAAIDxCEQ+FhoaqoyMDIWGhvq6lUums4+R8XV8nX2MnX18UucfI+O79FhUDQAAjMcMEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQtZMPPvhAqampcjqdstls2rp1q9d+y7K0bNkyOZ1OhYeHa9SoUTp48KBvmm2F842vtrZWixcvVkpKirp27Sqn06mf//znOn78uO8aboUL/QzPNXPmTNlsNq1evbrd+rtYzRnfp59+qkmTJslutysiIkI33nijvvzyy/ZvthUuNL7KykrNnTtXPXv2VHh4uPr166d169b5ptlWWLFihQYPHqyIiAjFxMTo1ltv1d/+9jevmo5+nLnQGDv6saY5P8NzdbTjTHPH56vjDIGonZw6dUrXX3+91qxZ0+j+rKwsrVy5UmvWrNG+ffvkcDg0duxYzzPU/N35xnf69Gnl5eXp4YcfVl5enl577TUdOnRIkyZN8kGnrXehn2G9rVu36qOPPpLT6WynztrGhcZ3+PBhjRgxQn379tX777+vjz/+WA8//LDCwsLaudPWudD45s+fr+zsbG3cuFGffvqp5s+fr3nz5un1119v505bZ+fOnZozZ4727t2rnJwcff/99xo3bpxOnTrlqenox5kLjbGjH2ua8zOs1xGPM80Zn0+PMxbanSRry5Ytnvdut9tyOBzWY4895tlWXV1t2e1265lnnvFBhxfnh+NrTG5uriXJOnLkSPs01caaGuOxY8esK664wiooKLB69+5trVq1qt17awuNjW/KlCnW9OnTfdNQG2tsfNdee6316KOPem0bOHCg9dBDD7VjZ22ntLTUkmTt3LnTsqzOd5yxrIZjbExHPtY0Nb7OcpxpbHy+PM4wQ+QHioqKVFJSonHjxnm2hYaGauTIkdq9e7cPO7t0XC6XbDabLrvsMl+30mbcbrfS0tK0aNEiXXvttb5up0253W796U9/0j/90z9p/PjxiomJ0dChQ8972rCjGTFihN544w199dVXsixLO3bs0KFDhzR+/Hhft9YqLpdLkhQVFSWpcx5nfjjGpmo66rGmsfF1puPMD8fn6+MMgcgPlJSUSJJiY2O9tsfGxnr2dSbV1dVasmSJpk6d2qkeUvj4448rKChI9913n69baXOlpaWqrKzUY489pgkTJmj79u362c9+pttuu007d+70dXtt4qmnnlJSUpJ69uypkJAQTZgwQWvXrtWIESN83VqLWZalX//61xoxYoSSk5Mldb7jTGNj/KGOfKxpanyd5TjT2Ph8fZzhafd+xGazeb23LKvBto6utrZWd955p9xut9auXevrdtrM/v379eSTTyovL6/T/cyks3+5SdItt9yi+fPnS5L69++v3bt365lnntHIkSN92V6beOqpp7R371698cYb6t27tz744APNnj1bcXFxGjNmjK/ba5G5c+fqk08+0a5duxrs6yzHmfONUer4x5rGxteZjjONjc/XxxlmiPyAw+GQpAZ/pZWWljb4a64jq62t1eTJk1VUVKScnJwO9xfb+Xz44YcqLS1Vr169FBQUpKCgIB05ckQLFizQlVde6ev2LlqPHj0UFBSkpKQkr+39+vXrMFeZnU9VVZUefPBBrVy5Uqmpqbruuus0d+5cTZkyRb///e993V6LzJs3T2+88YZ27Nihnj17erZ3puNMU2Os19GPNU2Nr7McZ5oan6+PMwQiP5CQkCCHw6GcnBzPtjNnzmjnzp0aPny4DztrO/UHqM8++0zvvPOOoqOjfd1Sm0pLS9Mnn3yi/Px8z8vpdGrRokV6++23fd3eRQsJCdHgwYMbXCJ76NAh9e7d20ddtZ3a2lrV1tYqIMD7kBgYGOj5q9XfWZaluXPn6rXXXtN7772nhIQEr/2d4ThzoTFKHftYc6HxdfTjzIXG5+vjDKfM2kllZaU+//xzz/uioiLl5+crKipKvXr1Unp6ujIzM5WYmKjExERlZmaqS5cumjp1qg+7br7zjc/pdOr2229XXl6e3nzzTdXV1Xn+So2KilJISIiv2m6RC/0Mf3jgDQ4OlsPhUJ8+fdq71Va50PgWLVqkKVOm6Ec/+pFuvvlmZWdna9u2bXr//fd913QLXGh8I0eO1KJFixQeHq7evXtr586deumll7Ry5Uofdt18c+bM0csvv6zXX39dERERnv/G7Ha7wsPDZbPZOvxx5kJj/P777zv0seZC44uOju7Qx5kLjU+Sb48zPrm2zUA7duywJDV4zZgxw7Kss5fEZmRkWA6HwwoNDbV+9KMfWQcOHPBt0y1wvvEVFRU1uk+StWPHDl+33mwX+hn+UEe7HLY543vhhResa665xgoLC7Ouv/56a+vWrb5ruIUuNL7i4mLr7rvvtpxOpxUWFmb16dPHeuKJJyy32+3bxpupqf/G/vCHP3hqOvpx5kJj7OjHmub8DH+oIx1nmjs+Xx1nbP+vSQAAAGOxhggAABiPQAQAAIxHIAIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAmCkb775Rg6HQ5mZmZ5tH330kUJCQrR9+3YfdgbAF3iWGQBjvfXWW7r11lu1e/du9e3bVwMGDNBPf/pTrV692tetAWhnBCIARpszZ47eeecdDR48WB9//LH27dunsLAwX7cFoJ0RiAAYraqqSsnJyTp69Kj+/Oc/67rrrvN1SwB8gDVEAIz2xRdf6Pjx43K73Tpy5Iiv2wHgI8wQATDWmTNnNGTIEPXv3199+/bVypUrdeDAAcXGxvq6NQDtjEAEwFiLFi3SK6+8oo8//ljdunXTzTffrIiICL355pu+bg1AO+OUGQAjvf/++1q9erU2bNigyMhIBQQEaMOGDdq1a5fWrVvn6/YAtDNmiAAAgPGYIQIAAMYjEAEAAOMRiAAAgPEIRAAAwHgEIgAAYDwCEQAAMB6BCAAAGI9ABAAAjEcgAgAAxiMQAQAA4xGIAACA8QhEAADAeP8/MdCFi3A9jjgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(df['x'],df['y'])\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.title('Scatter Plot')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "散布図上で右上がりの直線、つまりx軸の値が増えるとy軸の値も増えるような関係(あるいはx軸が減るとy軸も減ると)を正の相関と呼びます。\n", "\n", "右下がりの直線、つまりx軸の値が増えるとy軸の値が減っているような関係を負の相関と呼びます。\n", "\n", "点が直線とは関係なくバラバラに散らばっている場合は相関がないとします。" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.16" } }, "nbformat": 4, "nbformat_minor": 4 }