ml-finance-python
python scripts for finance machine learning
git clone https://9o.is/git/ml-finance-python.git
Summarizing data using frequency distribution.ipynb
(38898B)
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {},
6 "source": [
7 "# Frequency distributions\n",
8 "By Evgenia \"Jenny\" Nitishinskaya and Delaney Granizo-Mackenzie\n",
9 "\n",
10 "Notebook released under the Creative Commons Attribution 4.0 License.\n",
11 "\n",
12 "---\n",
13 "\n",
14 "Data is sometimes more useful when presented in a summary. Although there is more information contained in the complete list of observations, a summary that makes the data more comprehensible may be more useful. For instance, we often cite the mean of a set of data instead of listing out all of the values. This is particulary useful when we have a very large number of data points.\n",
15 "\n",
16 "A frequency distribution consists of:\n",
17 "* a set of intervals, and\n",
18 "* the number of observations that fall into each.\n",
19 "\n",
20 "Talking about data in intervals often makes more sense than using specific values. For instance, if all 50 observations of a random variable have landed in the interval [99, 101], we expect the next observation to be approximately 100. We do not expect it to come up with any particular value, however, and would not bet that it will be exactly equal to 100.72.\n",
21 "\n",
22 "When constructing a frequency distribution, we use some number $k$ of equally sized bins. Each of the $k$ intervals has length (range of data)/$k$.\n",
23 "\n",
24 "The usefulness of frequency distributions can be seen below. Binning the data shows that the observations are sampled from a normal distribution much better than the one that marks each data point individually."
25 ]
26 },
27 {
28 "cell_type": "code",
29 "execution_count": 8,
30 "metadata": {
31 "collapsed": false
32 },
33 "outputs": [
34 {
35 "name": "stdout",
36 "output_type": "stream",
37 "text": [
38 "[-3.1225869 -2.77091232 -2.35565128 -1.86813543 -1.85346154 -1.68944993\n",
39 " -1.68258591 -1.64557639 -1.54274686 -1.52442513 -1.41993354 -1.41820754\n",
40 " -1.36838564 -1.36059377 -1.33431062 -1.32214406 -1.29574032 -1.28072041\n",
41 " -1.27754403 -1.26119268 -1.20129466 -1.19297187 -1.1669786 -1.11906212\n",
42 " -1.11283514 -1.09256772 -1.08324074 -0.94184954 -0.93310059 -0.90716823\n",
43 " -0.90177208 -0.89388499 -0.85105748 -0.81092061 -0.801305 -0.78978186\n",
44 " -0.78909464 -0.76623016 -0.7551656 -0.7355297 -0.70993823 -0.70015282\n",
45 " -0.69725693 -0.6492812 -0.63886892 -0.62033627 -0.58890859 -0.47484525\n",
46 " -0.44045654 -0.43101192 -0.39536643 -0.38445301 -0.37480974 -0.32837588\n",
47 " -0.30751763 -0.30241748 -0.30117662 -0.28584429 -0.27251828 -0.2514343\n",
48 " -0.25142267 -0.21467689 -0.21036819 -0.19248571 -0.18729025 -0.17662071\n",
49 " -0.14624252 -0.13918587 -0.13901212 -0.12559515 -0.10318524 -0.08320543\n",
50 " -0.06992525 -0.06663636 -0.05008901 -0.0443569 -0.03427594 -0.02835919\n",
51 " -0.0090919 -0.00853526 0.02122566 0.03765736 0.05419672 0.05473684\n",
52 " 0.09288985 0.10174429 0.10617367 0.10810799 0.14555989 0.16015038\n",
53 " 0.21648776 0.22268832 0.25508164 0.26894377 0.26985161 0.27933158\n",
54 " 0.30482791 0.32336195 0.32616571 0.34922347 0.35161211 0.36692102\n",
55 " 0.38622558 0.39212185 0.39565638 0.39594965 0.40861241 0.43317204\n",
56 " 0.44375096 0.45009674 0.51291147 0.54576957 0.57318852 0.58096726\n",
57 " 0.60295094 0.64976253 0.65493752 0.65899035 0.72413065 0.73114397\n",
58 " 0.73114645 0.73937843 0.76727747 0.88836728 0.9343755 0.98653847\n",
59 " 1.00438895 1.01001819 1.03245763 1.16677684 1.22111905 1.2336709\n",
60 " 1.25009675 1.26019452 1.28547297 1.30474286 1.38694693 1.40411824\n",
61 " 1.43078989 1.57303083 1.62508108 1.67294028 1.81575895 1.87347051\n",
62 " 1.90907199 2.11354726 2.1395832 2.16815783 2.43716148 2.52680317]\n"
63 ]
64 }
65 ],
66 "source": [
67 "import numpy as np\n",
68 "import matplotlib.pyplot as plt\n",
69 "\n",
70 "# Draw points randomly from a normal distribution\n",
71 "X = np.random.randn(150)\n",
72 "print np.sort(X)"
73 ]
74 },
75 {
76 "cell_type": "markdown",
77 "metadata": {},
78 "source": [
79 "It's difficult to tell that the data is approximately normally distributed just by looking at the list above. Below, we sort them into 300 bins; this is more than the number of data points, but many are empty while some have several items because the data is clustered around the mean."
80 ]
81 },
82 {
83 "cell_type": "code",
84 "execution_count": 15,
85 "metadata": {
86 "collapsed": false
87 },
88 "outputs": [
89 {
90 "name": "stdout",
91 "output_type": "stream",
92 "text": [
93 "Data frequencies: [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
94 " 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0\n",
95 " 0 0 2 0 1 0 0 0 0 1 1 0 0 0 0 0 2 0 0 2 1 1 0 3 1 0 0 0 2 1 0 0 2 1 1 0 0\n",
96 " 0 0 0 0 1 1 2 1 0 1 0 1 3 0 2 1 0 3 0 0 2 1 0 1 0 0 0 0 0 1 0 2 0 1 2 0 0\n",
97 " 1 3 1 1 2 0 2 2 1 0 3 1 1 1 2 3 1 2 1 1 2 0 1 3 0 1 1 0 0 2 0 1 3 0 2 1 2\n",
98 " 1 4 1 1 2 0 0 0 1 1 0 2 1 0 0 3 0 0 0 3 1 1 0 0 0 0 0 1 0 0 1 0 0 1 2 1 0\n",
99 " 0 0 0 0 0 1 0 0 1 1 2 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0\n",
100 " 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\n",
101 " 0 0 0 1]\n"
102 ]
103 }
104 ],
105 "source": [
106 "# Print list of frequencies of data points\n",
107 "# Second argument is number of bins\n",
108 "# Second output is the locations of bin dividers but we ignore it because there are 301 of them\n",
109 "hist, _ = np.histogram(X, 300)\n",
110 "print 'Data frequencies:', hist"
111 ]
112 },
113 {
114 "cell_type": "markdown",
115 "metadata": {},
116 "source": [
117 "Frequency distributions are often used in graphing because binned data is visually more comprehensible. For example, the commonly-used graphing library `matplotlib.pyplot` has a built-in histogram function which requires the number of bins $k$."
118 ]
119 },
120 {
121 "cell_type": "code",
122 "execution_count": 5,
123 "metadata": {
124 "collapsed": false
125 },
126 "outputs": [
127 {
128 "data": {
129 "image/png": "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\n2uesx8+bc0hfy3i8P/d207m0HSb3b1XnBWfH4/3593g2JIQu/J2Z1tqeJO9NcltVvWtGzSUbdWmt\nXZlkz7wgAwAAsFVD3pn58SQ/n+RLrbVbN257a5IfSJKqujHJK5K8vrX27STHkrxyG3oFAAA4ZWGY\nqarPZsE7OFV1fZLrV9UUAADAIgs/ZgYAALAbCTMAAECXhBkAAKBLwgwAANAlYQYAAOiSMAMAAHRJ\nmAEAALokzAAAAF0SZgAAgC4JMwAAQJeEGQAAoEvCDAAA0CVhBgAA6JIwAwAAdEmYAQAAuiTMAAAA\nXRJmAACALgkzAABAl4QZAACgS8IMAADQJWEGAADokjADAAB0SZgBAAC6JMwAAABdEmYAAIAuCTMA\nAECXhBkAAKBLwgwAANAlYQYAAOiSMAMAAHRJmAEAALokzAAAAF0SZgAAgC4JMwAAQJeEGQAAoEvC\nDAAA0CVhBgAA6JIwAwAAdEmYAQAAuiTMAAAAXRJmAACALgkzAABAl4QZAACgS8IMAADQJWEGAADo\nkjADAAB06dxFBa21fUk+kOTiJCeSvLuqrptSd12Sq5IcS/Kaqrp1xb0CAACcMuSdmUeS/FJV/XCS\nFyT5hdbas8YLWmtXJ3lmVV2R5HVJblh5pwAAAGMWhpmqeqCqvrBx+eEktyd5+kTZNUnev1FzS5Kn\ntNYuWXGvAAAApyz1OzOttf1JfjTJLRN3XZrk3rHr9yW5bEudAQAAzLHwd2Y2tdbOT/LhJG/aeIdm\n0p6J6ye20hjw3ev48eO55557kiT79+/P3r17uxh7FVbV3+Q4Sc5o3Fn9DOlzs+b48eNJcqpmO9Z9\n2lyrWL+77757JX2tr6/n2c9+9tx+pq3p2Tpfx+cZMte082tIzaxj2a7zft55eSZzLXNeDFnTZdd9\n2uN24+sYnE2Dwkxr7YlJPpLkD6vqo1NKjiTZN3b9so3bZhqNRkN7ZBeyf/3qYe/W19fzjj/6UpLk\nV3/uObn88su7GHsVFvU3dP8mx0ly2rjr6+un6g8fPpyjR48O7mfIOm7W/OPRr+XJa0/LeRdcnGMP\nPTi1fryXyX6W6XNzriHHuWjOzfGedtmzptYMMb5OSeaeb9PW9Gydr5vzzNujeb2O21yjIefgrPHO\n9DiXOS+XnWs0Gi11XgxZ02XXfavH8N2sh599nJkh32a2J8l7k9xWVe+aUfbxJG9M8qHW2guSfLOq\nvjpv3EOHDi3bK7vEaDSyf53qZe/W1tZy3gUPJEkOHjyYAwcOdDH2Kszrb5n9mxwnyWnjrq2tJTfN\nX4tZ/QxZx0drTuS8Cy7O+U+9dGb9eC/T5hre58m5hhznojk3xxu37DmzzPk2rfZsna+b88zbo3m9\nJjltjYecg7PGO9PjXO68HD7X5nNvmfNiyJouu+5bOYbvZr387ON0Q0LokHdmfjzJzyf5Umtt8+uW\n35rkB5Kkqm6sqk+01q5urd2Z5B+SvPbMWgYAABhmYZipqs9m2LeevXElHQEAAAyw1LeZAQAA7BbC\nDAAA0CVhBgAA6JIwAwAAdEmYAQAAuiTMAAAAXRJmAACALgkzAABAl4QZAACgS8IMAADQJWEGAADo\nkjADAAB0SZgBAAC6JMwAAABdEmYAAIAuCTMAAECXhBkAAKBLwgwAANAlYQYAAOiSMAMAAHRJmAEA\nALokzAAAAF0SZgAAgC4JMwAAQJeEGQAAoEvCDAAA0CVhBgAA6JIwAwAAdEmYAQAAuiTMAAAAXRJm\nAACALgkzAABAl4QZAACgS8IMAADQJWEGAADokjADAAB0SZgBAAC6JMwAAABdEmYAAIAuCTMAAECX\nhBkAAKBLwgwAANAlYQYAAOiSMAMAAHRJmAEAALokzAAAAF0SZgAAgC6du6igtfb7SX4qyYNV9ewp\n9784yceS3LVx00eq6u2rbBIAAGDSwjCT5H1JfifJB+bU3FxV16ymJQAAgMUWfsysqv4myTcWlO1Z\nTTsAAADDDHlnZpETSV7YWvtikiNJ3lxVt61gXAAAgJlWEWY+n2RfVR1rrV2V5KNJDix60Gg0WsHU\n7BT7168e9m59ff3U5cOHD+fo0aNdjL0Ki/obun+T44zbHHfIWsyqWfax0+afV7uKuRYd59A5F/U+\nzzLn27Tas3W+zluLRfVDz69546/qOLdyTi8yGo1Wdk4vUzPNbn8d2416+NnHmdlymKmqo2OXP9la\n+73W2oVV9fV5jzt06NBWp2aHjEYj+9epXvZubW0tuemBJMnBgwdz4MDCfx/ZFWOvwrz+ltm/yXGS\nnDbukLWYVbPsY8dNq5+sXcVci45z6JyLep9nmfNtWu3ZOl/nrcWQXpMs7H1azazxzvQ4t3JOz7P5\n3FvVOb1MzTS7/XVst+nlZx+nGxJCt/zVzK21S1prezYuX5lkz6IgAwAAsFVDvpr5g0lelOSi1tq9\n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\nh3qB70qttf1JfjQn/wGPTrTWnpDk80mekeSGqrptWt22hpnW2p8n+b4pd70tJz/a8i/Hbtuznb2w\nnDl799Y7zvddAAAB8ElEQVSq+tOqeluSt7XWfi3Jbyd57VltkLkW7d9GzduSHK+qPz6rzTHXkL2j\nK/4zN9hBrbXzk3w4yZs23qGhExufInlua+2CJJ9urb24qj4zWbetYaaqXjrt9tbawSQ/mOSLG+/K\nXJZk1Fq7sqoe3M6eGGbW3k3xx0k+sZ29sLxF+9dae02Sq5P8i7PSEIMt8dyjD0eS7Bu7vi8n350B\ntllr7YlJPpLkD6vqozvdD2emqh5qrf1Zkucl+czk/TvyMbOqOpzkks3rrbW7kxzybWZ9aK1dUVV/\nt3H15Ulu3cl+WM7GNyv9cpIXbfyCHX3ybnYfPpfkio2Pudyf5GeTvGpHO4LvAq21PUnem+S2qnrX\nTvfDclprFyX5dlV9s7X25Jz8wrD/NK12z4kTO/8OeGvtriTPE2b60Fr7cJKW5J9y8qt9X+8dtX60\n1v4uJ3+ZbvP59rdV9YYdbImBWms/k+S6JBcleSjJrVV11c52xSKttavy6Fczv7eq/usOt8RArbUP\nJnlRkqcleTDJr1fV+3a2K4bY+Oarv07ypTz6cc+3VNWndq4rhmqtPTvJ+3Pyy8qekOQPquqd02p3\nRZgBAABY1k5/NTMAAMAZEWYAAIAuCTMAAECXhBkAAKBLwgwAANAlYQYAAOiSMAMAAHTp/wO7k/7s\ndp6+0gAAAABJRU5ErkJggg==\n",
130 "text/plain": [
131 "<matplotlib.figure.Figure at 0x7f0712e83fd0>"
132 ]
133 },
134 "metadata": {},
135 "output_type": "display_data"
136 }
137 ],
138 "source": [
139 "plt.hist(X,300);"
140 ]
141 },
142 {
143 "cell_type": "markdown",
144 "metadata": {},
145 "source": [
146 "This is still a little noisy, so we can reduce the number of bins (and increase the bin size) further to get a prettier histogram."
147 ]
148 },
149 {
150 "cell_type": "code",
151 "execution_count": 13,
152 "metadata": {
153 "collapsed": false
154 },
155 "outputs": [
156 {
157 "name": "stdout",
158 "output_type": "stream",
159 "text": [
160 "Bin dividers: [-3.1225869 -2.7459609 -2.36933489 -1.99270889 -1.61608288 -1.23945688\n",
161 " -0.86283087 -0.48620487 -0.10957887 0.26704714 0.64367314 1.02029915\n",
162 " 1.39692515 1.77355116 2.15017716 2.52680317]\n",
163 "Binned data frequencies: [ 2 0 1 5 12 12 15 23 23 22 13 9 5 5 3]\n"
164 ]
165 },
166 {
167 "data": {
168 "image/png": "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\njppeSPJzvffXJPmBJD/t56+G3vvzSX5w9OfM70nyg621v7PR/Xf7LWQfSvKvd/k5mYLe+6nzLu5L\n8r+H2sL29N4f6b2/NLr4h0muH3IP29N7/+Pe+1ND72BstyT50977Su/9hSS/luQtA29iTL33LyT5\n2tA7mEzv/Wjv/Uujr59LcjjJXxt2FePqvZ8efTmTc69gb/hOrV17C1lr7S1JjvTeH2+t7dbTMkWt\ntX+f5J1JTufc32xQzz9J8qmhR8DL2IEk57+99kiS1w20BS5Zo39s/fty7i/uKKC19ookf5TkbyT5\nld77kxvdd6oB01p7JMm169z0vpx728qPnHfdnmk+Nxduk+P38733z/be35fkfa219yb5T0nevasD\n2dBWx250n/clWeu9P7ir49jSOMePMvzjajCw1tq+JL+R5GdHr8RQwOjdIje31uaT/HZr7Y2998+v\nd9+pBkzv/YfXu761djDJdyX5n6NXX65PstRau6X3fnyaG5jcRsdvHQ8m+W87uYXt2erYtdZ+PMnf\nS/J3d2UQ27KNnz0ufn+W5IbzLt+Qc6/CALugtfbKJJ9J8qu994eG3sP29d5Pttb+a5LvT/L59e6z\nK28h670/keSar19urS0nOeQsZHW01l7de/+T0cW3JPnikHsY3+iMSP8qyRtGH5KjLq9cX/weS/Lq\n0dtX/jzJjyW5bdBFcIlore1J8tEkT/be7x16D+NrrV2d5MXe+7OttSty7qRfv7jR/fecPbv7r3a3\n1v5Xku8XMHW01n4jSUtyJudOxfvPvHpWQ2vtT3LuA3Ff/3l7tPf+zwecxDa01t6W5MNJrk5yMskX\ne+8/OuwqNtNa+9F84zTKH+293z3wJMbUWvtUkjckuSrJ8SR39d4/PuwqxjU6a9XvJ3k833g75529\n988Nt4pxtNZem+T+nDvB2CuSPNB7/+BG9x8kYAAAACax26dRBgAAmJiAAQAAyhAwAABAGQIGAAAo\nQ8AAAABlCBgAAKAMAQMAAJTx/wEte2umVPo6PgAAAABJRU5ErkJggg==\n",
169 "text/plain": [
170 "<matplotlib.figure.Figure at 0x7f07126a0890>"
171 ]
172 },
173 "metadata": {},
174 "output_type": "display_data"
175 }
176 ],
177 "source": [
178 "# Print frequency of data per bin\n",
179 "hist, bins = np.histogram(X, 15)\n",
180 "print 'Bin dividers:', bins\n",
181 "print 'Binned data frequencies:', hist\n",
182 "plt.hist(X,15);"
183 ]
184 },
185 {
186 "cell_type": "markdown",
187 "metadata": {},
188 "source": [
189 "However, if bin sizes are too large, the data ceases to be very informative:"
190 ]
191 },
192 {
193 "cell_type": "code",
194 "execution_count": 14,
195 "metadata": {
196 "collapsed": false
197 },
198 "outputs": [
199 {
200 "name": "stdout",
201 "output_type": "stream",
202 "text": [
203 "Bin dividers: [-3.1225869 -1.71023938 -0.29789187 1.11445565 2.52680317]\n",
204 "Binned data frequencies: [ 5 52 72 21]\n"
205 ]
206 },
207 {
208 "data": {
209 "image/png": "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\nDQEDAAC08f8A/PEuNeFo9cIAAAAASUVORK5CYII=\n",
210 "text/plain": [
211 "<matplotlib.figure.Figure at 0x7f071249f110>"
212 ]
213 },
214 "metadata": {},
215 "output_type": "display_data"
216 }
217 ],
218 "source": [
219 "# Print frequency of data per bin\n",
220 "hist, bins = np.histogram(X, 4)\n",
221 "print 'Bin dividers:', bins\n",
222 "print 'Binned data frequencies:', hist\n",
223 "plt.hist(X,4);"
224 ]
225 }
226 ],
227 "metadata": {
228 "kernelspec": {
229 "display_name": "Python 2",
230 "language": "python",
231 "name": "python2"
232 },
233 "language_info": {
234 "codemirror_mode": {
235 "name": "ipython",
236 "version": 2
237 },
238 "file_extension": ".py",
239 "mimetype": "text/x-python",
240 "name": "python",
241 "nbconvert_exporter": "python",
242 "pygments_lexer": "ipython2",
243 "version": "2.7.6"
244 }
245 },
246 "nbformat": 4,
247 "nbformat_minor": 0
248 }