Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save mattbullen/430ad2f37ebd0021d3d61bd6d29449c3 to your computer and use it in GitHub Desktop.

Select an option

Save mattbullen/430ad2f37ebd0021d3d61bd6d29449c3 to your computer and use it in GitHub Desktop.
Unit03 Ex1 covariance_pearson_correlation.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/mattbullen/430ad2f37ebd0021d3d61bd6d29449c3/unit03-ex1-covariance_pearson_correlation.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Cee_WtISi6Jm",
"outputId": "a3c92c0f-cf96-486c-a693-8660499f4663"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAEvCAYAAACHYI+LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3df5RU53kn+O/TxUVUo4QCCyWiBELxKrDGGLDaMmtmNgbPCNn61QfJxl48qzjZ1dmsMxOxmp40Yx+DZpWlNx1Hdk42ztHGXtkrIqFfaaPgDPYxzHjDDtI2ahDGhkQOElCQqD1QZEQXUN397h9Vt7h1633vfe+tW7+6vp9zOHTfqrr11u2Cevp5n/d5RSkFIiIiIqpfT6sHQERERDRTMLAiIiIiSggDKyIiIqKEMLAiIiIiSggDKyIiIqKEMLAiIiIiSsisVg8AAG666Sa1dOnSVg+DiIiIKNThw4d/rpRaqLutLQKrpUuXYnR0tNXDICIiIgolIu+YbuNUIBEREVFCGFgRERERJYSBFREREVFCGFgRERERJYSBFREREVFCGFgRERERJYSBFREREVFC2qKPFREREbWHkbEchvedxLl8AYsyaQxsXIb+NdlWD6tjMLAiIiIiAKWgatsrx1AoTgEAcvkCtr1yDAAYXFliYEVEREQAgOF9JytBlatQnMLwvpNtH1i1S6aNgRUREREBAM7lC5GOt4t2yrSxeJ2IiIgAAIsy6UjH20VQpq3ZGFgRERERAGBg4zKknVTVsbSTwsDGZS0akZ12yrQxsCIiIiIApWmznZtWIptJQwBkM2ns3LSy7eur2inTxhorIiIiquhfk237QMpvYOOyqhoroHWZNgZWRERE1NHcQJCrAomIiIgS0C6ZNtZYERERESWEgRURERFRQhhYERERESWEgRURERFRQhhYERERESWEgRURERFRQhhYERERESWEgRURERFRQhhYERERESUkNLASkcUickBEfioix0Xkd8rHh0XkhIi8KSJ/ISIZz2O2ichbInJSRDY28gUQERERtQubjNUkgMeVUv81gLUAvigiHwDwAwAfVEp9CMDfANgGAOXbPgtgBYB7APyJiKQaMXgiIiKidhIaWCmlziul3ih//V8A/BRAVin1faXUZPluhwDcWv76QQDPK6WuKqVOAXgLwF3J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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"data1: mean=100.776 stdv=19.620\n",
"data2: mean=151.050 stdv=22.358\n",
"Covariance: 389.755\n",
"Pearsons correlation: 0.888\n"
]
}
],
"source": [
"\n",
"# calculate the Pearson's correlation between two variables\n",
"from numpy import mean\n",
"from numpy import std\n",
"from numpy import cov\n",
"from numpy.random import randn\n",
"from numpy.random import seed\n",
"from matplotlib import pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"from scipy.stats import pearsonr\n",
"# seed random number generator\n",
"seed(1)\n",
"\n",
"# prepare data\n",
"data1 = 20 * randn(1000) + 100\n",
"data2 = data1 + (10 * randn(1000) + 50)\n",
"\n",
"# calculate covariance matrix\n",
"covariance = cov(data1, data2)\n",
"\n",
"# calculate Pearson's correlation\n",
"corr, _ = pearsonr(data1, data2)\n",
"\n",
"# plot\n",
"plt.scatter(data1, data2)\n",
"plt.show()\n",
"\n",
"# summarize\n",
"print('data1: mean=%.3f stdv=%.3f' % (mean(data1), std(data1)))\n",
"print('data2: mean=%.3f stdv=%.3f' % (mean(data2), std(data2)))\n",
"print('Covariance: %.3f' % covariance[0][1])\n",
"print('Pearsons correlation: %.3f' % corr)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "s6W44zVmi6Jo"
},
"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"
},
"colab": {
"provenance": [],
"include_colab_link": true
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment