Skip to content

Instantly share code, notes, and snippets.

@blob42
Last active December 17, 2016 00:26
Show Gist options
  • Select an option

  • Save blob42/a491370b49f5350d35e779e8def56299 to your computer and use it in GitHub Desktop.

Select an option

Save blob42/a491370b49f5350d35e779e8def56299 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Guess The Weight (Normal Distributions, Mean, Score) - Unit 23"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### DATA"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"## DATA\n",
"data=[80.,85,200,85,69,65,68,66,85,72,85,82,65,105,75,80,\n",
" 70,74,72,70,80,60,80,75,80,78,63,88.65,90,89,91,1.00E+22,\n",
" 75,75,90,80,75,-1.00E+22,-1.00E+22,-1.00E+22,86.54,67,70,92,70,76,81,93,\n",
" 70,85,75,76,79,89,80,73.6,80,80,120,80,70,110,65,80,\n",
" 250,80,85,81,80,85,80,90,85,85,82,83,80,160,75,75,\n",
" 80,85,90,80,89,70,90,100,70,80,77,95,120,250,60]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Helper Functions\n",
"\n",
"import random\n",
"from math import sqrt\n",
"\n",
"def mean(data):\n",
" return sum(data)/len(data)\n",
"\n",
"def variance(data):\n",
" mu=mean(data)\n",
" return sum([(x-mu)**2 for x in data])/len(data)\n",
"\n",
"def stddev(data):\n",
" return sqrt(variance(data))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Question\n",
"Given a sample of guesses for weight from an online questionnaire, guess the weight of the teacher.\n",
"\n",
"To solve this problem, we need to: \n",
"\n",
"1- Clean the data and remove outliers by removing upper and lower quartiles\n",
"\n",
"2- Fit into a gaussian using MLE\n",
"\n",
"3- Compute X that corresponds to the given score Z."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Remove outliers\n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#1 first sort the data\n",
"data.sort()\n",
"\n",
"#2 Remove the upper and lower quartilesb\n",
"\n",
"# We compute the quartile lenght\n",
"# We remove the 3 data points that represent the quartile points\n",
"_quartile = int((len(data) - 3) / 4)\n",
"\n",
"# Remove the upper and lower quartiles\n",
"_data = data[_quartile - 1:len(data) - _quartile - 1]\n",
"\n",
"mu = mean(_data)\n",
"var = variance(_data)\n",
"std = stddev(_data)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Plotting the data and the fit gaussian of the Normal Distribution"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nsmQJRx99NAMHDmTcuHH079+fK6+8kqeeeqrpTjwDmr5eRESkmYwaNYqrr76aNWvW0KZNGyZOnMih\nhx66SZPO5MmTufvuuyktLeXkk0/euP7www9nxIgRPPzwwxsTmtLSUtq0abOxzDnnnEOXLl2YMGEC\nN954IwUFBRu3zZs3j7/85S+MGjUKgDPPPJO+ffty9913M2LEiKY89bQoORERkc3HkCEwf37TH6dn\nT3j77axXe9JJJ3HRRRfx+OOPM2LECB5//HF+//vfb1Lu4YcfpnPnzgwfPpzFixdvXD9w4EDat2/P\nCy+8sDE5SUxMVq5cyZo1azjooIO46667mDFjBnvsscfG7e3atduYmAAUFBSw33778dlnn2X9XBtD\nyYmIiGw+5s+HuXNzHUXGiouLOeKII5g4cSKrVq1iw4YNjBw5cpNyn376KcuWLaN79+6bbDMzFi5c\nuHH5o48+4pprruGFF15g+fLlNcqVl5fX2LdPnz6b1NelSxemTZvWmNPKOiUnIiKy+WiuES1NeJxR\no0Zx9tlnM2/ePI4++mg6dOiwSZkNGzbQo0cPJk6cuElHWYCtttoKgPLycg455BA6d+7MjTfeyA47\n7EDbtm2ZMmUKV1555SadYvPz82uNqbZj5JKSExER2Xw0QVNLczvhhBM499xzeeONN/jb3/5Wa5kd\nd9yR5557jgMOOKBGs02yF198kaVLl/Loo49y4IEHblw/a9asrMfdnDRaR0REpBm1a9eOO+64g+uv\nv55jjz221jInnXQS69ev54YbbthkW1VV1cbmmvz8fNy9xh2StWvXMmHChKYJvpnozomIiEgTS242\nOe200+otf8ghh3Duuefyq1/9infffZcjjzySgoICZs6cySOPPMJtt93GiSeeyAEHHECXLl04/fTT\n+elPfwrAAw88gJk12bk0ByUnIiIiTSyVZMHMapS7/fbbGTJkCHfeeSfXXHMNrVq1YrvttuP000/f\n2ITTtWtX/vOf/3DJJZcwZswYunTpwmmnncawYcNqHRpcVxxxS2Ysbp1gcsXMBgFTpkyZwqBBg3Id\njohIizF16lQGDx6M/v+Nr4beo+rtwGB3n9rY4+nOiYhIA8rLy6moqGh0PUVFRXTq1CkLEYls2ZSc\niIjUo7y8nLE3jaVsZVmj6ypuX8yYy8YoQRFpgJITEZF6VFRUULayjMI9CinqXJR5PcsqKJtWRkVF\n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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f72142d4080>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from scipy.stats import norm\n",
"\n",
"plt.figure(1)\n",
"\n",
"__data = np.array(_data)\n",
"\n",
"# Plot a histogram of the weights\n",
"n, bins, patches = plt.hist(_data, normed=True, facecolor='green', alpha=0.5)\n",
"\n",
"# Fit to a gaussian (normal distribution)\n",
"x = np.linspace(min(_data) -10, max(_data) +10, 100)\n",
"\n",
"plt.plot(x, (norm.pdf(x, mu, std)), 'r--')\n",
"\n",
"plt.fill_between(x, (norm.pdf(x, mu, std)), facecolor='red', alpha=0.3, label='PDF')\n",
"\n",
"\n",
"axes = plt.axes()\n",
"\n",
"plt.axvline(mu, ymax=norm.pdf(mu, mu, std) / axes.get_ylim()[-1], color='r', linestyle='-', linewidth=2, label='Mean')\n",
"#print(max(norm.pdf(x, mu, std)))\n",
"\n",
"\n",
"plt.xlabel('Weight')\n",
"plt.ylabel('Probability')\n",
"plt.title('Weight histogram and PDF\\n$\\mu=%f$,$\\sigma=%f$'%(mu, std))\n",
"plt.legend()\n",
"\n",
"plt.show()\n",
"\n"
]
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment