Jeffrey Rathgeber Jr commited on
Commit
d6adf35
1 Parent(s): 88c43fe

Delete CS_UY4613_Hw1-2.ipynb

Browse files
Files changed (1) hide show
  1. CS_UY4613_Hw1-2.ipynb +0 -336
CS_UY4613_Hw1-2.ipynb DELETED
@@ -1,336 +0,0 @@
1
- {
2
- "nbformat": 4,
3
- "nbformat_minor": 0,
4
- "metadata": {
5
- "colab": {
6
- "provenance": []
7
- },
8
- "kernelspec": {
9
- "name": "python3",
10
- "display_name": "Python 3"
11
- },
12
- "language_info": {
13
- "name": "python"
14
- }
15
- },
16
- "cells": [
17
- {
18
- "cell_type": "code",
19
- "source": [
20
- "import numpy as np\n",
21
- "from matplotlib import pyplot as plt\n",
22
- "import csv"
23
- ],
24
- "metadata": {
25
- "id": "I0V1T3G_CJH6"
26
- },
27
- "execution_count": 1,
28
- "outputs": []
29
- },
30
- {
31
- "cell_type": "code",
32
- "execution_count": 2,
33
- "metadata": {
34
- "colab": {
35
- "base_uri": "https://localhost:8080/"
36
- },
37
- "id": "9MhVqD-9vGJy",
38
- "outputId": "ad6f5e1e-9f14-4647-b973-96f264298e0c"
39
- },
40
- "outputs": [
41
- {
42
- "output_type": "stream",
43
- "name": "stdout",
44
- "text": [
45
- "After 10,000 trials: 10.82% resulted in exactly 25 approvals.\n"
46
- ]
47
- }
48
- ],
49
- "source": [
50
- "# 1a\n",
51
- "\n",
52
- "n, p = 50, 0.5\n",
53
- "bin_dist = np.random.binomial(n, p, 10000)\n",
54
- "mean = sum(bin_dist)/len(bin_dist)\n",
55
- "variance = np.var(bin_dist)\n",
56
- "half_approved_bern = len([i for i in bin_dist if i == 25])\n",
57
- "result = round((half_approved_bern/10000) * 100, 2)\n",
58
- "\n",
59
- "print('After 10,000 trials: {r}% resulted in exactly 25 approvals.'.format(r = result))"
60
- ]
61
- },
62
- {
63
- "cell_type": "markdown",
64
- "source": [
65
- "Question 1a explanation: Using sample size n = 50, and p = 0.5, I created a binomial distribution of 10,000 trials using numpy. Then, I determined the percentage of those 10,000 trials that resulted in exactly 25 approvals. The mathmatically accurate answer is 11.228% by way of the following formula for binamial distribution: $$P(x) = (\\frac{n!}{x!(n-x)})!p^{x}p^{n-x}$$ where n = 50, x = 25, and p = 0.5."
66
- ],
67
- "metadata": {
68
- "id": "BDtR9Qb91Qu6"
69
- }
70
- },
71
- {
72
- "cell_type": "code",
73
- "source": [
74
- "# 1b\n",
75
- "\n",
76
- "norm_dist = [(i-mean)/variance for i in bin_dist]\n",
77
- "target = (25-mean)/variance\n",
78
- "\n",
79
- "half_approved_gaus = len([i for i in norm_dist if i == target])\n",
80
- "result = round((half_approved_gaus/10000) * 100, 2)\n",
81
- "\n",
82
- "print('After 10,000 trials: {r}% resulted in exactly 25 approvals.'.format(r = result))"
83
- ],
84
- "metadata": {
85
- "colab": {
86
- "base_uri": "https://localhost:8080/"
87
- },
88
- "id": "h4N7wlIFG-oX",
89
- "outputId": "bc6b1786-2e22-445c-b3c4-a3c3301c9ee0"
90
- },
91
- "execution_count": 3,
92
- "outputs": [
93
- {
94
- "output_type": "stream",
95
- "name": "stdout",
96
- "text": [
97
- "After 10,000 trials: 10.82% resulted in exactly 25 approvals.\n"
98
- ]
99
- }
100
- ]
101
- },
102
- {
103
- "cell_type": "markdown",
104
- "source": [
105
- "Question 1b explanation: https://drive.google.com/file/d/13CkobovFiUy6E-Jm0mtBWs4E06VHCww-/view?usp=share_link"
106
- ],
107
- "metadata": {
108
- "id": "vfqb-z4GFjBF"
109
- }
110
- },
111
- {
112
- "cell_type": "markdown",
113
- "source": [
114
- "Question 2 exaplanation: https://drive.google.com/file/d/1beXcoJVQg8XxjydoakLseow5t6-HV5nU/view?usp=share_link\n"
115
- ],
116
- "metadata": {
117
- "id": "HTjZhCNJNOLO"
118
- }
119
- },
120
- {
121
- "cell_type": "code",
122
- "source": [
123
- "# 3\n",
124
- "\n",
125
- "mean = [0, 2]\n",
126
- "sd = np.array([[.3, -1], [-1, 5]])\n",
127
- "\n",
128
- "print('BEFORE FACTORIZATION:')\n",
129
- "data = np.random.multivariate_normal(mean, sd, size=1000)\n",
130
- "plt.plot(data[:, 0], data[:, 1],'.')\n",
131
- "plt.grid()\n",
132
- "plt.show()\n",
133
- "\n",
134
- "print('AFTER FACTORIZATION:')\n",
135
- "sdCh = np.linalg.cholesky(sd)\n",
136
- "data = np.random.multivariate_normal(mean, sdCh, size=1000)\n",
137
- "plt.plot(data[:, 0], data[:, 1],'.')\n",
138
- "plt.grid()\n",
139
- "plt.show()\n",
140
- "\n",
141
- "# Cholesky decomposition was used on the the covariance matrix from example 6.6\n",
142
- "# That new matrix was used as a parameter for a multivariate normal distribution\n",
143
- "# This new data was plotted using sample size = 1000 to visualize the distribution"
144
- ],
145
- "metadata": {
146
- "colab": {
147
- "base_uri": "https://localhost:8080/",
148
- "height": 582
149
- },
150
- "id": "mt9YHntRQMa7",
151
- "outputId": "db8a50c3-5538-4e9d-8903-79e27f2757a0"
152
- },
153
- "execution_count": 9,
154
- "outputs": [
155
- {
156
- "output_type": "stream",
157
- "name": "stdout",
158
- "text": [
159
- "BEFORE FACTORIZATION:\n"
160
- ]
161
- },
162
- {
163
- "output_type": "display_data",
164
- "data": {
165
- "text/plain": [
166
- "<Figure size 432x288 with 1 Axes>"
167
- ],
168
- "image/png": "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\n"
169
- },
170
- "metadata": {
171
- "needs_background": "light"
172
- }
173
- },
174
- {
175
- "output_type": "stream",
176
- "name": "stdout",
177
- "text": [
178
- "AFTER FACTORIZATION:\n"
179
- ]
180
- },
181
- {
182
- "output_type": "stream",
183
- "name": "stderr",
184
- "text": [
185
- "<ipython-input-9-bf112f0f6a51>:14: RuntimeWarning: covariance is not positive-semidefinite.\n",
186
- " data = np.random.multivariate_normal(mean, sdCh, size=1000)\n"
187
- ]
188
- },
189
- {
190
- "output_type": "display_data",
191
- "data": {
192
- "text/plain": [
193
- "<Figure size 432x288 with 1 Axes>"
194
- ],
195
- "image/png": "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\n"
196
- },
197
- "metadata": {
198
- "needs_background": "light"
199
- }
200
- }
201
- ]
202
- },
203
- {
204
- "cell_type": "code",
205
- "source": [
206
- "# 4\n",
207
- "\n",
208
- "print('OBSERVED MEAN: RED LINE, POISSON RANDOM MEAN')\n",
209
- "\n",
210
- "data = []\n",
211
- "cleaned_X = list(range(1,31))\n",
212
- "cleaned_Y = []\n",
213
- "\n",
214
- "with open('nyc-east-river-bicycle-counts.csv', mode='r') as file:\n",
215
- "\n",
216
- " csvFile = csv.reader(file)\n",
217
- "\n",
218
- " for line in csvFile:\n",
219
- " data.append([line[1], line[6]])\n",
220
- "\n",
221
- "data.remove(data[0])\n",
222
- "data = data[:30]\n",
223
- "for i in range(len(data)):\n",
224
- " cleaned_Y.append(data[i][1])\n",
225
- "\n",
226
- "simplified = []\n",
227
- "\n",
228
- "for i in range(len(cleaned_Y)):\n",
229
- " for j in range(int(float(cleaned_Y[i]))):\n",
230
- " simplified.append(i+1)\n",
231
- "\n",
232
- "mean = sum(simplified)/len(simplified)\n",
233
- "\n",
234
- "plt.hist(simplified, 30)\n",
235
- "plt.axvline(mean, color='r', linestyle='dashed', linewidth=1)\n",
236
- "plt.show\n",
237
- "\n",
238
- "# def num_rand(p, q):\n",
239
- "# u = np.random.uniform(0,1)\n",
240
- "# if u < p : return 0\n",
241
- "# if u < (p+q) : return 1\n",
242
- "# return 2\n",
243
- "\n",
244
- "# poissonfunction by Gareth Tribello (YouTube video given)\n",
245
- "def poisson(lam):\n",
246
- " el, n, u = np.exp(-lam), 0, np.random.uniform(0,1)\n",
247
- " pp, fact, pow = el, 1, 1\n",
248
- " while u > pp:\n",
249
- " n = n + 1\n",
250
- " fact, pow = n*fact, lam*pow\n",
251
- " pp = pp + (pow/fact)*el\n",
252
- " return n\n",
253
- "\n",
254
- "poisson_random = []\n",
255
- "lam = 18\n",
256
- "\n",
257
- "for i in range(len(simplified)):\n",
258
- " poisson_random.append(poisson(lam))\n",
259
- "\n",
260
- "mean = sum(poisson_random)/len(poisson_random)\n",
261
- "plt.hist(poisson_random, 30, alpha=0.5)\n",
262
- "plt.axvline(mean, color='y', linestyle='dashed', linewidth=1)\n",
263
- "plt.show"
264
- ],
265
- "metadata": {
266
- "colab": {
267
- "base_uri": "https://localhost:8080/",
268
- "height": 297
269
- },
270
- "id": "UJN6xXVyotNY",
271
- "outputId": "2e12df71-9cd0-4740-e038-cfd9249c0295"
272
- },
273
- "execution_count": 49,
274
- "outputs": [
275
- {
276
- "output_type": "stream",
277
- "name": "stdout",
278
- "text": [
279
- "OBSERVED MEAN: RED LINE, POISSON RANDOM MEAN\n"
280
- ]
281
- },
282
- {
283
- "output_type": "execute_result",
284
- "data": {
285
- "text/plain": [
286
- "<function matplotlib.pyplot.show(*args, **kw)>"
287
- ]
288
- },
289
- "metadata": {},
290
- "execution_count": 49
291
- },
292
- {
293
- "output_type": "display_data",
294
- "data": {
295
- "text/plain": [
296
- "<Figure size 432x288 with 1 Axes>"
297
- ],
298
- "image/png": "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\n"
299
- },
300
- "metadata": {
301
- "needs_background": "light"
302
- }
303
- }
304
- ]
305
- },
306
- {
307
- "cell_type": "code",
308
- "source": [
309
- "# 5\n",
310
- "\n",
311
- "# poissonfunction by Gareth Tribello (YouTube video given)\n",
312
- "def poisson(lam):\n",
313
- " el, n, u = np.exp(-lam), 0, np.random.uniform(0,1)\n",
314
- " pp, fact, pow = el, 1, 1\n",
315
- " while u > pp:\n",
316
- " n = n + 1\n",
317
- " fact, pow = n*fact, lam*pow\n",
318
- " pp = pp + (pow/fact)*el\n",
319
- " return n\n",
320
- "\n",
321
- "lam = 1\n",
322
- "queue = []\n",
323
- "\n",
324
- "r = np.random.exponential(4, 1000)\n",
325
- "\n",
326
- "for i in range(1000):\n",
327
- " queue.append(poisson(lam))\n"
328
- ],
329
- "metadata": {
330
- "id": "BPsksZnrsX18"
331
- },
332
- "execution_count": 51,
333
- "outputs": []
334
- }
335
- ]
336
- }