From 8b876ed680c7571e215f04a0319f0358e5cd251b Mon Sep 17 00:00:00 2001 From: Radhika Garg Date: Thu, 7 Sep 2023 14:32:15 +0000 Subject: [PATCH] --- rgarg4.ipynb | 316 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 316 insertions(+) create mode 100644 rgarg4.ipynb diff --git a/rgarg4.ipynb b/rgarg4.ipynb new file mode 100644 index 0000000..f7b8983 --- /dev/null +++ b/rgarg4.ipynb @@ -0,0 +1,316 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IPython version: %6.6s 8.0.1\n" + ] + } + ], + "source": [ + "import IPython\n", + "import json\n", + "# Numpy is a library for working with Arrays\n", + "import numpy as np\n", + "# SciPy implements many different numerical algorithms\n", + "import scipy as sp\n", + "# Pandas is good with data tables\n", + "import pandas as pd\n", + "# Module for plotting\n", + "import matplotlib\n", + "#BeautifulSoup parses HTML documents (once you get them via requests)\n", + "import bs4\n", + "# Nltk helps with some natural language tasks, like stemming\n", + "import nltk\n", + "# Bson is a binary format of json to be stored in databases\n", + "import bson\n", + "# Mongo is one of common nosql databases \n", + "# it stores/searches json documents natively\n", + "import pymongo\n", + "print (\"IPython version: %6.6s\", IPython.__version__)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Make a 2 row x 3 column array of random numbers\n", + "[[0.02194406 0.83791518 0.30134196]\n", + " [0.92481358 0.91275745 0.68499552]]\n", + "Add 5 to every element\n", + "[[5.02194406 5.83791518 5.30134196]\n", + " [5.92481358 5.91275745 5.68499552]]\n", + "Get the first row\n", + "[5.02194406 5.83791518 5.30134196]\n" + ] + } + ], + "source": [ + "#Here is what numpy can do\\n\",\n", + "print (\"Make a 2 row x 3 column array of random numbers\")\n", + "x = np.random.random((2, 3))\n", + "print (x)\n", + "\n", + "#array operation (as in R)\n", + "print (\"Add 5 to every element\")\n", + "x = x + 5\n", + "print (x)\n", + "\n", + "# get a slice (first row) (as in R)\n", + "print (\"Get the first row\")\n", + "print (x[0, :])" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# IPython is quite modern: just press at the end of the unfinished statement to see the documentation\n", + "# on possible completions.\n", + "# In the code cell below, type x., to find built-in operations for x\n", + "x.any" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline \n", + "import matplotlib.pyplot as plt\n", + "heads = np.random.binomial(500, .5, size=500)\n", + "histogram = plt.hist(heads, bins=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Task 1\n", + "## write a program to produce Fibonacci numbers up to 1000000" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "1\n", + "2\n", + "3\n", + "5\n", + "8\n", + "13\n", + "21\n", + "34\n", + "55\n", + "89\n", + "144\n", + "233\n", + "377\n", + "610\n", + "987\n", + "1597\n", + "2584\n", + "4181\n", + "6765\n", + "10946\n", + "17711\n", + "28657\n", + "46368\n", + "75025\n", + "121393\n", + "196418\n", + "317811\n", + "514229\n", + "832040\n" + ] + } + ], + "source": [ + "x = 0\n", + "y = 1\n", + "print(x)\n", + "print(y)\n", + "z = x + y\n", + "print(z)\n", + "while z <= 1000000:\n", + " x = y\n", + " y = z\n", + " z = x + y\n", + " if (z <= 1000000):\n", + " print(z)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Task 2\n", + "## write a program to simulate 1000 tosses of a fair coin (use np.random.binomial)\n", + "## Calculate the mean and standard deviation of that sample" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0\n", + " 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0\n", + " 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1\n", + " 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1\n", + " 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0\n", + " 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1\n", + " 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1\n", + " 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 1 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 1 1 1 0\n", + " 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0\n", + " 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0\n", + " 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1\n", + " 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1\n", + " 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0\n", + " 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0\n", + " 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0\n", + " 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0\n", + " 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0\n", + " 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1\n", + " 0 1 1 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1\n", + " 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0\n", + " 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0\n", + " 1 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1\n", + " 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1\n", + " 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0\n", + " 0 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0\n", + " 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1\n", + " 0]\n", + "mean: 0.474\n", + "std: 0.49932354240512244\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "n, p = 1, .5 # number of trials, probability of each trial\n", + "s = np.random.binomial(n, p, 1000)\n", + "print(s)\n", + "print(\"mean: \", np.mean(s))\n", + "print(\"std: \", np.std(s))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Task 3\n", + "## Produce a scatterplot of y = 0.5*x+e where x has gaussian (0, 5) and e has gaussian (0, 1) distributions \n", + "### use numpy.random.normal to generate gaussian distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD4CAYAAADxeG0DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAoE0lEQVR4nO3df5RU53kf8O8zw0WaxY5miYgtRqzAqo2OCWa33li0JGnArpAtS9pgyZhaPa6bHk56kjSo6qaLpRqIlWjTbYJ8Tn/kENu1W6iMfnUtGZ8g25D6lBaiRbsIrwSxZUmgEbbWFSPb7AiG3ad/zNzhzsz9OffOjzvz/ZzD0e7szJ13x+tn3nne531eUVUQEVF8JVo9ACIiCoeBnIgo5hjIiYhijoGciCjmGMiJiGJuQSue9Nprr9Xly5e34qmJiGLr+PHjP1XVJdW3+w7kIvIVAB8H8Iaq/mrptsUA9gNYDuAVAJ9U1fNe11q+fDkmJib8PjUREQEQkVftbg+SWvkqgFurbhsB8F1VfS+A75a+JyKiJvIdyFX1ewDerLr5TgBfK339NQBD0QyLiIj8CrvY+S5VPVf6+scA3uV0RxHZKiITIjIxMzMT8mmJiMgUWdWKFvf6O+73V9U9qjqoqoNLltTk6omIqE5hA/lPROQ6ACj9943wQyIioiDClh8+BeAzAEZL//1G6BEREXWg8cksxg6exuu5PJamUxjeuBJDA5lIrh2k/PARAL8F4FoReQ3ADhQD+KMi8jsAXgXwyUhGRUTUQcYns9j+5EnkC3MAgGwuj+1PngSASIK570CuqlscfvTh0KMgIupgYwdPl4O4KV+Yw9jB05EEcm7RJyJqsNdz+UC3B8VATkTUYEvTqUC3B8VATkTUYMMbVyJlJCtuSxlJDG9cGcn1W9I0i4iom5h58JZXrRARUf2GBjKRBe5qTK0QEcUcAzkRUcwxkBMRxRwDORFRzHGxk4gaYnwyi51PTSOXLwAAensM7Lh9VcMW/LoZAzkRRW58Movhx06gMH+ls/X52QKGHz8BIJr+InQFUytEFLmxg6crgripMKcYO3i6BSPqbAzkRBQ5tx4iUfUXoSuYWiGiyC1Np5B1CNhR9RcxNbLPd1xwRk5EkRveuBJGQmpuN5ISWX8R4Eqf72wuD8WVPt/jk9nIniMOGMiJKHJDAxmM3b0G6ZRRvq23x8DYXWsinS279fnuJpGkVkTkXgD/AsXDl08C+Kyqvh3FtYkonhrZW8TU6D7fcRF6Ri4iGQD/CsCgqv4qgCSAT4W9LhGRl0b3+Y6LqFIrCwCkRGQBgB4Ar0d0XSIiR43u8x0XoQO5qmYB/AcAZwCcA/CWqj5TfT8R2SoiEyIyMTMzE/ZpiYgwNJDBQ5tWI5NOQQBk0ik8tGl111WtiGpt0X6gC4j0AngCwGYAOQCPAXhcVfc6PWZwcFAnJiZCPS8RUbcRkeOqOlh9exSLnR8B8LKqzpSe6EkA/xCAYyAnos7CWu7WiiKQnwGwVkR6AOQBfBgAp9tEXcKs5TbLAM1aboA9VZolihz5MQCPA3gOxdLDBIA9Ya9LRPHAWu7Wi6SOXFV3ANgRxbWIKF5Yy9163NlJRKGwlrv1GMiJKBTWcrceux8SUSjmgiarVlqHgZyIQmtGXxVyxtQKEVHMMZATEcUcUytE1FTcBRo9BnIiapogu0AZ8P1jaoWImsbvLlAe4RYMAzkRNY3fXaDc9h8MUytEBKA5qYyl6RSyNsG8ehcot/0Hwxk5EYVOZYxPZrFu9BBWjBzAutFDjo/zuwuU2/6D4YycKMaimkU7pTJ2PT3tef0gC5h+d4EOb1xZcU2A2/7dhD4hqB48IYgovOoAChSDnddRZ3bB/979U/ATCQTAp9f24cGh1eXb+nc9g1y+UHPfTDqFIyMbgvxKnuPs9qoVpxOCmFohiql6FgSdUijpHsPXcyqAfUfPlFMn45NZ2yAOhMtnM4gHE0kgF5G0iDwuIqdE5EUR+QdRXJeInNWzIOgU/FVRk7t2oqXrwPJfO/Xms1l6GFxUM/IvAvhrVb0JwBoAL0Z0XSJyUM+CoFOQfytfKJ9G70c2l8f4ZNa2AsVUbz6bpYfBhQ7kInINgN8E8GUAUNVLqpoLe10icldPH3C34D80kMGRkQ2+g/nw4yccf9bbY9SdCmHpYXBRzMhXAJgB8F9FZFJEviQii6rvJCJbRWRCRCZmZmYieFqi7jY0kCnPogXFxUWvhU4/wd/uPnYKc/bLoykjids+cJ2vckQ7LD0MLnTViogMAjgKYJ2qHhORLwL4mar+O6fHsGqFqHX8LCQ+MH4S+46e8VXJUu2etX3Y/+zZikBvJAVjd63xNUuvtxqnGzhVrURRR/4agNdU9Vjp+8cBjERwXSJqAD+HQBw+NVNXEM+kUzjw/Lma2XphTrHr6WlfgZgnDgUXOpCr6o9F5KyIrFTV0wA+DOCF8EMj6k7tUHpXTz7aTNFs2z9l+/Pzs/ZlinZ44lAwUe3s/AMA+0RkIYAfAfhsRNcl6ipBdkk24rnNN5CECOZ8pF2TIphXrXjDcQrk1DiRBHJVnQJQk7chomDcSu8aGcir30D8BHEAmFfFy6O3YXwyi11PT7sG8XTK36YjCo69VojaSNjSuwfGT+KRY2cxp4qkCLbcvKxiO70TuzcQP5amUxifzGL48ROOVSwAYCQEO+9YFfj65A8DOVEb8dvm1c4D4yex9+iZ8vdzquXvzWDulH8PkxMfO3jaNYhnSs8DAOtGD3EBswHYa4WojdSzycf0yLGzrre7bX0PWqPd22OUywHd3gQEKDfO4rb7xmEgJ2oj9WzyMTnltc3bnfLvO5+a9r0JyNSzcEF5TG5vAubPuO2+sZhaIWoz9ZbeJR0qTZIiAJzz7Gb3woc2rcbYwdPI5vIQwLWO3Hqt4Y0rbXPkRkLKnyS47b6xOCMnakN+T9yx2nLzMtfbr3GpGjGrYo6MbMAro7dh9+Z+1yoTBbC8NDYAGLtrDXotrXDTKQNjd6/xnLVz2300OCMnajP11pKbC5rVW+u/eeIcAODCpcuOj62eGZufCry26ptje2jTakx+/hbH6/PEn8bijJyozYTNJ1cH3Vy+gL1Hz7hWliREbGf9Dw6txu7N/eX0jB0/YwuT+ydvnJETtRmnHt9uvb+B4kx+n6X8MIg5VddzNu/12K2ZzeWxYuSAa1kht903DmfkRE3mlf92mv26zYqB4kw+TC9Tt5m1n1w2ywpbhzNyoiayy39v2z+Fzz35PBRAvjDv+Ng51fKGnmwuX65SyaRTWH/TEs8Zux9OVSR2OW4nzWgpQJUYyIkazE8zqlmXAG5lPe3evE42l6/Y0RmG08zb2lrW+ibihGWFzcVATtRA9TajclLPo3uMBDZ98Hrs/9uzKMy7X+HCxcsYn8z6znGvGz1Ud0sBig5z5ER18FvnXW8zqqg8vLkfL3zhoxi8YXFxv7yHXL4QKMcdpqUARYczcqKAvOq8ramUcPPvcKyLo16NrayC5Lh5mk97iCyQi0gSwASArKp+PKrrErUbrzpvv4uCjWYtKQyasw5yf5YVtl6UqZU/BPBihNcjaktufUOCplKSIhAUuwmmjOgzneYbTLon2KEOzHHHSyR/OSJyPYDbAHwpiusRtTO3viFBZ75zqti9uR89Cxfg7cK8Z614PbK5PH7xtvP2/GrWZlcUD1FNAR4G8EcAHGuoRGSriEyIyMTMzExET0vUfE4tX2cvXXZtTGVHUNmnO2xVi9NzeFWrWBXmFWMHT3NTT4yEzpGLyMcBvKGqx0Xkt5zup6p7AOwBgMHBwVauAVGXqj4dZ/1NS3D41EzgRTrzPjufmi63gAWKp8QbyWAz6uImoNpUjHmocRT/R6nnGs089JnCi2JGvg7AHSLyCoCvA9ggInsjuC5RZOxOx9l79EzdJ9YMDWSw6KraeZDfyhAv86WUS/SJFv948EN8hA7kqrpdVa9X1eUAPgXgkKreE3pkRBHyswgZNHA1cvfi0nTKd++UjI+FyepPCkZS4GdtlTs044Ebgqgr+A1IQQJXoyo7zA01fnunXLh42TOls2jhgooWsmN3rcGv/JL3+Fm9Eg+RbghS1b8B8DdRXpMoDDMv7jfhESRwBWkkZZUykq6PudpIYOLVNz2PWzNZ8/RO3soXMLWj8uCHbR6tablDMz64s5M6inVBM91j4BdvX/ZdsRE0cA0NZDDx6puuJ+jYsZ6Naef8bCHwNb1Uv0F5rQVkuEMzVphaoY5RvaB5frbgGMQz6RTuWdsX6sSa8cksHjl2NlDANRMgXqfWRxnE7d6g3NYC0ikDR0Y2MIjHCGfkFHvWHt1+CIAjIxvqeg5r6eITx7OB674VxSBqPn+QcdfDaWbtthbwlo9UDbUXBnKKteoGVn545cGdgra1SVaY/t/ZXB7LRw4gIcC8wrO3dz16jARe+MJHHX++NJ1yfAPhAmf8MJBTrAXtbeKVB7frbBh1vtpkZn3sgrjfhU4nhXkt58HtOhMOb1yJ4cdO1KSejCS358cRAznFWpByQT8LeHZvDM3ehpwUwdr39OLIS2/WfY3CnGLX09N4uzDv2G4XqNyd2ttjYMftq5gbjyEGcoo1txSBld+8eDtsgJlTxXNn3sK6GxeHCubnZ2tz3dZe42w/2zlYtUKx5lX9YfKb93W6X7O3yucLc3jl/+WRDtiEy492eLOiaDGQU6wNDWTw0KbV5TLCdMqo2eUYpD7c7o0hmZCWnPSTzeV9bfZx4tTfnIuZnYepFYqF6koSa667OkXgdl+v+1SfFi8A5gK0gBUBGtCJti5XG0kAUpHz527NzsRATm3P64zMal6530//1f+tyD3bXe/CxeJBDEFispGUyLofRiE3W8Duzf08T7MLMJBT23M7IzNoUHpg/KTtAmIUZ262UxAHiikULmh2B+bIqe25nZEZ1CPHzro+T9C69GZ5eHN/RTuBXo8zOBMCplC6CGfk1PacSgzrWbRz20GZMhIN3S5fr3TKqJlZrxg54PoYBU/26SYM5NT27NrFCoD1Ny3xfOz4ZBa7np62ramuNltwPHK2pXbesarmNq/6+XZZcKXmiOLMzmUA/huAd6E4Edijql8Me10ik127WAXwxPEsBm9YXJ552vVI2f/s2bbLXQfR22PYVtzMXrrs+djxySxn5V0iihn5ZQD3qepzIvJOAMdF5Nuq+kIE1yYCABw+NVNTQWJdoKw+CLmRPVIaIZ0ycPHyfE2p4I7bK2fjQZqE1bMYTPEUOpCr6jkA50pf/1xEXgSQAcBAToE51Xc7LWyapYN2gS0uQdxICApzlUHcqe9JkMVY7uDsHpHmyEVkOYABAMeivC51B7d68WtShu0ux6RIW1aZBFGYVxQuVf4Ov3jbPnXSDmeKUvuJrPxQRN4B4AkA21T1ZzY/3yoiEyIyMTMzE9XTUgcYn8xi3eghbNs/ZVsvvuvpafzsbfvFyqj7eLeLwrzanuLjtxeMoPhGuG70kOexbhR/kQRyETFQDOL7VPVJu/uo6h5VHVTVwSVLvKsNqDtYj2dzcn62AKdd8klpdjur5rGbfdv1gkkZSXy6dGwdUNnL3PxUw2De2UIHchERAF8G8KKq/kX4IVE3CbsBp1Nn5ID97Lu6SZh51uiDQ6txZGQDMumU66IwdaYocuTrAPxTACdFZKp02+dU9VsRXJs6XNgFuUw6heW/nArVt7sdGQnnk3rctt1HuQuW4iOKqpX/jea3a6YO4fdgCDsJAWYvXcb/6bAgnjISeGjTB+oqHYxyFyzFB3utUEsNb1wJI1HfPEBEcH62EJsyQy/plIGHN/fjxS98tO76b6ccOvuudDZu0afI+ekHXqHOz3NB+oS3u3vW9uHBodWhr2Ptp87Wtd2DgZwiFbR3+NjB07HeQl+PBABrVxcjIRi8YXFk12fr2u7D1ApFyq13uJ1uXISrbs3lVDNO5BcDOUUqaNUEF+GKuvENjaLDQE6Rusbh1Pd0j4F1o4ewYuRAxW5DLsIV8Q2NwmAgp8iMT2Zxwaa9akKKvUOyuTwUlbsNhwYySDsE/27BqhIKi4GcIuO0cKko5oGtKlrQ3rGq7hLEOLPuzOTiJIXBqhWKjFOe12kXfTaXx8AfP4Mdt6/CO65e4OsUn06RFMFLD32s1cOgDsEZOUXGKc/r1tjq/GwBw4+fiFUQ9/vZwa2f15wqOxNSZBjIKTJOuwq33Lys5narONWRGwl/B1bcs7bP847sTEhRYSCnyFg78wFXDn04fGoGn/hgZ+SAx+7u99U69/CpGV+VKOxMSFFgIKdIDQ1kyjNzs8VsNpfHE8ez6IT1zO1PnvTVOvf1XN72E4rTfYnC4GInOQrcM6XEaXdnJ8gX5pAU8QzmS9Opmr4nCYfHsYacwmIgJ1tBe6ZYdfoM0yuIW+vCrX1Pql/T6vsS1YupFbIVtGeKldPuzm4ggGNduNPpPqwhp7AimZGLyK0AvgggCeBLqjoaxXWpdZxm1eaBvm5plg4+RtOTAhUzcLvUFAM3RU005JmHIpIE8HcA/jGA1wA8C2CLqr7g9JjBwUGdmJgI9bzUWOtGD7me3GMkBO+4egFys4Wa/PmKkQMdc9hDPV4Zvc02jWIeipxhj3Cqk4gcV9XB6tujSK18CMAPVfVHqnoJwNcB3BnBdamFvCouCvNaPp2nuh66m1MrvT3F390uNcWT7alRokitZACctXz/GoCbq+8kIlsBbAWAvr6+CJ6WGslaceHnTE1r/vznF2sbZ3WLS5fnfX0iMV8vzsopCk1b7FTVPao6qKqDS5YsadbTUghDAxkcGdngawMMUJxpbts/1VFHsFkJgB7D/f8yFy7N+U4rdXp1DzVPFIE8C2CZ5fvrS7dRh/CzAaaT9fYUD0V+efQ2/OmmD/ja5OMH68cpKlGkVp4F8F4RWYFiAP8UgH8SwXWpiR4YP4lHjp3FnCqSIthy87LyYcCZdMpXeqXTpIxkTXlg0JSTyVzotF6b9eMUldAzclW9DOD3ARwE8CKAR1V1Oux1qXkeGD+JvUfPlGfec6rYe/QMHhgvbgAa3riy3oPuYycp4lnjbaacMj5m1Jl0Cq+M3obdm/tZP04NE7r8sB4sP2wvN27/lm36xNoze/nIgWYPq2XuWdtX/jTixq7E0EoA7N7cz4BNkWlk+SHFnFMO3Hq7n9lnp7B+GnFj7tR0Yt0cRNRI7LXSQap3Eq6/aQkOn5rxbHrl1gRqxcgBLE2n0LOwu97zHzl2Fg8OrfZsHDY0kHHMl3fTmx+1Vnf9v7ODmR/zrQcc7z16xvbA42pbbl5Wc5vJfOwP3rjQsLG3ozlV29fU7jV0OlCDi5nULMyRdwivLfWm3h4DPQsX4PVcHtekDIgAudkCehYmMRugBrrTJUXw7muudpxpHxnZUHFbvS1/iYJwypEztdIh/G4uOT9bKJ+PmctfOSfzwqXO6Bce1KKFSdvffcvNy7Dv6Bnbx9i91myGRa3E1EoHGJ/MItHNLQfrJACm//hW3LO2r7x7NSlSrlpx2rDDjTzUbjgjjzkzj9vtuy/rYQbkB4dW25YbDm9cyYMgKBY4I485uy57wJWZJSsn7PkJyDwIguKCM/IWG5/MYtfT0+W8dTplYOcdq3wHC6fc+JxqeZbZ7f3BqwXpB87cN8UBA3kLjU9mMfz4CRTmroTZXL6A4cdOALDfTFJdHZHuMcpvAnb3HRrIYGmX9kqxY1dxQhR3DOQtNHbwdEUQNxXmtaZX9fhkFjufmq6oNMnm8jASzouc9+6fwr37p7r6oAcr5repUzFH3kJuJYPm2Zjjk9nygqY1iJsKLr2/tfTP7nHdwFwjYH6bOh1n5C3klfIwdxJetSDh2JiJ7C1amPTV+IqoE3BG3kLDG1fCSLrXf+cLcw2dUSfkyjmTncRI8k+bugf/2ltoaCCDsbvWtDSQzivQs3ABHt7c75pvj5u3ujSdRN0pVGpFRMYA3A7gEoCXAHxWVXMRjKtrWMvb/PZLiVo2ly+PYfuTzyNfmG/6GKLG3ZfUTcLmyL8NYLuqXhaRPwOwHcC/DT+s7mEtJ7wmZcBIim0lS6OZB0f09hiYm1dcasEYosLqFOo2oQK5qj5j+fYogLvCDae7VJ8wk8sXkBBABGjVjnunmvRmESn2QHEpxnEVZLMPUaeIsmrlnwPY7/RDEdkKYCsA9PX1Rfi08WW3vb7eANYpdn+yHwBcj1CrtmhhEn/y2ywtpO7l2Y9cRL4D4N02P7pfVb9Rus/9AAYBbFIfDc67vR+53eYeAowEcHkeFacbZXN5z08o3K1J3aLufuSq+hGPC/8zAB8H8GE/QbzbjU9mMfzYCdeNPN0oAcBcY83m8th39Aw+XWon67UI7LcXO1GnClu1ciuAPwLwj1R1Npohdbaxg6cZxC1SRhJXLUjUfDpRAPuOnsHgDYs9A7VXhQpP76FOF7aO/D8CeCeAb4vIlIj8ZQRj6mheQamTarm9mNvmnWq+FcU3PrdA7VWh4vfcTaI4CxXIVfXvqeoyVe0v/fvdqAbWqdyCUiadwtjda5Ayav9nMZLScUH+yMiGcndGJ6/n8raHGwPFlr9e/VPsFpTzhTmMHTxd/8CJ2gx3djbZ8MaVtgHZSIplZln5cwGw+deWYezuNeWDIpIxP9rNOv7hjSvh9NssTadsD3h4eHM/pnbc4pkicfoExLw6dRI2zWoyM/BYq1Z6ewzsuL14mMS60UM1M0gFcPjUDB4cqpx9xvnACOvRdEMDGTw2cQZHXnqz4j7WtEm9Bzw4NSbjzk/qJAzkLeAWlJxmitlcHjdu/xbmVJEUwZabl8X6wAjzk4VTKaYA+MQHw5/Ow3M3qRswkLcBa1VFQsTxIGXz9jlV7D16Bgs9Oie2K0ExwFbvbLUyP4VUC1qBYv6MVSvUyRjIW6w6mDkFcTtx7IciAD69ts8xjWRV/emk+rUyK1AA+2PxTDx3kzodFztbzK6qAiguBpoLe51i0cIkdm/uLx/4ELQ+nBUoRPY4I6+T34/4XvdzCmbzqnh59DYAwIrtB3w30Uq6pGZa7cKlOTw2ccZXGskuj80KFCJ7nJHXwe8mEz/3c6qeSJcOmxifzDqW5tnZcvOyQPdvtiMvvVl+PZyCeG+PfX2402vFChTqdgzkdfD7Ed/P/ZyOezs/W8DykQO479ETgToi7j16Bokm1ZhH9TTWNNLDm/sx+Xn7+nC7jUGsQCFiaqUufj/i+7nf0EDGtRNiPWmSZqRWjIRg84eW4Ynj2dAHQ1vTSG5YgUJkj4G8Dn43mfi9X6POlxQg0IahRQuTuHDJZw/wqxZg8IbFGLxhsa+ct5sgqRFWoBDVYmqlDn4/4vu9X6NyvEFD6nyAIJzLF8qlf0dGNuDl0dvw559cY9sTBSimT9bduNj25xcuXmYTK6IQOCOvg9+P+H7vZ7f70Ek6ZUCkMUeyBT102cz3m7+Pn993fDKLXU9PV4zf+qbA2TZRcAzkdXL7iF/v7sP7Hj3hmppIGUnsvKPYk6V/1zNtccKQme+v/p13b+63/Z2HBjIYO3i65o2o+k2BiPzzPOqtETr5qDenbecpI4GHNn3ANVD5aYIlAlxztdEWQRy4cthx9e9s7uA0N/9YOf2eAvha9CTqVk5HvUWSIxeR+0REReTaKK4XZ047NfOFeWzbP4XlIwewbvSQbU7YT65cFZEH8XqrCM18v93vbJ7wE+T3ZD04UX1CB3IRWQbgFgBnwg8n/vx0I3TaQOTWl7sRjITg4c39dT3WumnHqczSPOGnGuvBiaIVxYx8N4rndrbnvvAmCrILM1+Yw66np7Fu9BBWlGbpQDEd0bRgXnqiembCqldy+14n/FSzOyjC66QfInIW9vDlOwFkVfWEeGzzE5GtALYCQF9fX5inbVtjB08Hejc7P1soL/plc3ls2z+FRQuTWJC4cqJ8IxXmFGMHT2N440ps2z8V6LHW9M7wxpW4d/+U7e/uFORZD04UHc9ALiLfAfBumx/dD+BzKKZVPKnqHgB7gOJiZ4AxxkYUzZv8bsiJSjaXx737pwJvHrIaGshg4tU3se/omYprMF1C1ByegVxVP2J3u4isBrACgDkbvx7AcyLyIVX9caSjbBNeZYXNOLGnt8eAanE36NJ0CutvWoJvnjgXagG0ngDeW2rqZXpwaHXFLk9unydqnsjKD0XkFQCDqvpTr/vGsfzQrqwwZSQrcrtu9wGubJSp9xXPpFM4MrLBcXxedehRMZKCsbvWMEgTNVlDyw+7gZ9OhtWLeOmUgauNBO7dP1XORddbJ+2VphgayLhukTcFXUhNGUncs7avYmGSQZyovUS2s1NVl0d1rXYzPpl1TJlU58XNRTy3Y8nSqeAbevxWdVy1IFF+zt4eA7d94DocPjVTk+5YN3rI9nfq7THQs3AB0yNEMcIt+h4eGD+JfUedS+StVRlehyibM/idd6zC8GMnUPDZaDwpUjGrdzqJqDqt83ZhHoM3LLbdXel0uvyO21cxcBPFDFMrLsYnszWVGFbWdEf1aUBOuerXc/liv5G715TTFUmP0s05VdeTiIDg51mylpuoc3BG7sKrLtwa+Jy25lczZ/DWOuoVIwd8j8mpuZSfQyzsqm6cFk+JKD4YyF241YX39hi+DlG2MhKC2UuXsWLkQEX++ZqAOXO753I7xMKudaw1Z89ZOFG8MbXi4pqU4fizX7x92dchyqZ0ygBKfcSr0yRBz740g7N1e//6m5bY9i9Zf9MSbH/ypG3/crfUCxHFBwO5C7cAW5jXmkOUne6eSaew6KoFKMzZL37mAhwSYQ3OZj4+m8vjieNZfOKDmZqc9+FTM64pnyh2oxJRazG1UmKXP/YKsNWHKLttU7/XoZdJNpdHxueO0KQIHtq02nFh8/CpmZqct9Pzmtg6lij+OCNHbcWJmfZI9zinVoDaIPjg0Grs3txvWwniFjBzs5d8jXNe1bVtrFPu3Al7oRB1Bs7I4Vy6d9WCBFJG0jY14RQEnbr6uXUIvHBpDsmEYM6jrtwMym4Lm3bPa3diUTpllI+NI6J444wcznnit/KFcq01cKXeu56a66GBjGsp49y8orfHKD9Xdb7d+sYxvHEljGTlPYykOL6xVNeLP7y5H1M7bmEQJ+oQsZ+RBz3o2I7bDLfevtl24/LKhedmC5j8/C2Ojze3/u96erpm4dTtXYK9v4k6W6wDuVs/E2tHQq9A77Rdvd78sd24hh8/ASPhXmdoTY3YBV+ng52BK1U0DNhE3SfWgdxtW7pX4yprwLPuzvSa2ft5Y7AbV2FOa2fRFn7eOLx2j7KUkKg7xTqQe1VveAV6Kz/pB6c3holX36zoMOj3cImkCOZVfaeEvAI1SwmJulOsA7lX9UaQMj0/nN4Y9lq6I2Zzed/Hps2rBupP7vYmwVJCou4V66qV4Y0rbbelmwHNaYZa78zV7xuAwt8BDkHHYff7AsUdqOYnDbvOiETU2UIHchH5AxE5JSLTIvLvoxiUX16tWL0CfVBBAq+WxiMoNtiqXuisZxxDAxl84oOZchmkAEgmBGbHXLc2t0TUuUKlVkRkPYA7AaxR1Ysi8ivRDMs/t9x2kEVMP4Y3rsQ2jy3vpurzNaMokxyfzOKJ49lyr3MFajYROa0BEFHnCpsj/5cARlX1IgCo6hvhhxStsDXU1QE4ZSSQL8y7PsZuth1FLbffnuesXiHqLmED+fsA/IaI/AmAtwH8G1V91u6OIrIVwFYA6OvrC/m0zWFXpWIkBUZCKo5pMxKCd1y9ALnZApamU1h/0xKMHTyNe/dPec6+g8zU/QZoVq8QdRfPQC4i3wHwbpsf3V96/GIAawH8GoBHReQ9qrXnnKnqHgB7AGBwcNDfYZUt5lQPnpBir5K38oWa4Ou3RNGcsfupczf5KW1k9QpR9xGbmOv/wSJ/DeDPVPVw6fuXAKxV1Rm3xw0ODurExETdz9ssK0YOuJ7X+dCm4qHG1hn1hYuXbU/7qS5JTBlJXG0kbA98qM6vm+x2dlZ/GuCp90SdS0SOq+pg9e1hUyvjANYDOCwi7wOwEMBPQ16zbbjNgPOFOex8ahoXL89XzKidVL8h5AtzjvlupxRK1Iu3RNQZwgbyrwD4ioh8H8AlAJ+xS6vElVMLWFOQczaDcMtxswEWEVULFchV9RKAeyIaS9sxA+Z9j54ol/zVw2mnZzplVMzoAea4iSi42GzR91PdEUWtdjXz8XbdEZ1y3L09BnoWLiiPY/1NS/DE8WzN43fesQoAUyVEFE4sArnfdrVBKkCCcMpNA/YBfsfttSfvDN6w2DFgM3ATURihqlbqFbRqZd3oIduFRGt1h5/7NEIjPgUQEdlpVNVKU/jpYhh1p0O/uPhIRK0Wi+6HfroYRt3pkIgoLmIRyP10MYy60yERUVzEIrXiZyMMN8sQUbeKxWInERE5L3bGIrVCRETOGMiJiGKOgZyIKOYYyImIYo6BnIgo5lpStSIiMwBetfnRtYhnP3OOu7k47ubiuJvLbdw3qOqS6htbEsidiMiEXWlNu+O4m4vjbi6Ou7nqGTdTK0REMcdATkQUc+0WyPe0egB14ribi+NuLo67uQKPu61y5EREFFy7zciJiCggBnIiophri0AuIneLyLSIzIvIoOX25SKSF5Gp0r+/bOU4qzmNu/Sz7SLyQxE5LSIbWzVGLyKyU0Syltf4Y60ekxsRubX0mv5QREZaPR6/ROQVETlZeo3btvWniHxFRN4Qke9bblssIt8WkR+U/tvbyjHacRh3W/9ti8gyETksIi+U4sgflm4P/Hq3RSAH8H0AmwB8z+ZnL6lqf+nf7zZ5XF5sxy0i7wfwKQCrANwK4D+LSLL24W1jt+U1/larB+Ok9Br+JwAfBfB+AFtKr3VcrC+9xu1c2/xVFP9mrUYAfFdV3wvgu6Xv281XUTtuoL3/ti8DuE9V3w9gLYDfK/09B3692yKQq+qLqnq61eMIymXcdwL4uqpeVNWXAfwQwIeaO7qO9CEAP1TVH6nqJQBfR/G1poio6vcAvFl1850Avlb6+msAhpo5Jj8cxt3WVPWcqj5X+vrnAF4EkEEdr3dbBHIPK0RkUkT+l4j8RqsH41MGwFnL96+VbmtXvy8iz5c+nrbdx2aLuL2uVgrgGRE5LiJbWz2YgN6lqudKX/8YwLtaOZiAYvG3LSLLAQwAOIY6Xu+mBXIR+Y6IfN/mn9uM6hyAPlUdAPCvAfwPEfml5oy4qM5xtxWP3+G/ALgRQD+Kr/eft3KsHezXVfXvo5gW+j0R+c1WD6geWqxXjkvNciz+tkXkHQCeALBNVX9m/Znf17tpZ3aq6kfqeMxFABdLXx8XkZcAvA9A0xaL6hk3gCyAZZbvry/d1hJ+fwcR+SsA32zwcMJoq9c1CFXNlv77hoj8TxTTRHZrQu3oJyJynaqeE5HrALzR6gH5oao/Mb9u179tETFQDOL7VPXJ0s2BX++2Tq2IyBJzkVBE3gPgvQB+1NpR+fIUgE+JyFUisgLFcf9ti8dkq/SHYvptFBdw29WzAN4rIitEZCGKC8pPtXhMnkRkkYi80/wawC1o79e52lMAPlP6+jMAvtHCsfjW7n/bIiIAvgzgRVX9C8uPgr/eqtryfyi+yK+hOPv+CYCDpds/AWAawBSA5wDc3uqx+hl36Wf3A3gJwGkAH231WF1+h/8O4CSA50t/QNe1ekwe4/0YgL8rvbb3t3o8Psf8HgAnSv+m23ncAB5BMQ1RKP1t/w6AX0axeuIHAL4DYHGrx+lz3G39tw3g11FMmzxfinFTpb/vwK83t+gTEcVcW6dWiIjIGwM5EVHMMZATEcUcAzkRUcwxkBMRxRwDORFRzDGQExHF3P8HSr+k/u8CVhoAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "mu, sigma = 0, 5\n", + "x = np.random.normal(mu, sigma, 1000)\n", + "sigma = 1\n", + "e = np.random.normal(mu, sigma, 1000)\n", + "plt.scatter(x, ((0.5 * x) + e))\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.10" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}