├── Data
└── empty
├── PPT
├── empty
├── PS.pptx
├── PS_intro.pptx
└── Mathematical Derivations for Math Lovers (Optional).pptx
└── codes
├── empty
├── Spam Detection Project using Naive Bayes Algorithm.ipynb
└── Distributions in Python with Sleep analysis Project.ipynb
/Data/empty:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/PPT/empty:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/codes/empty:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/PPT/PS.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AISPUBLISHING/Course-Mastering-Stat-proba/HEAD/PPT/PS.pptx
--------------------------------------------------------------------------------
/PPT/PS_intro.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AISPUBLISHING/Course-Mastering-Stat-proba/HEAD/PPT/PS_intro.pptx
--------------------------------------------------------------------------------
/PPT/Mathematical Derivations for Math Lovers (Optional).pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AISPUBLISHING/Course-Mastering-Stat-proba/HEAD/PPT/Mathematical Derivations for Math Lovers (Optional).pptx
--------------------------------------------------------------------------------
/codes/Spam Detection Project using Naive Bayes Algorithm.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "id": "db956ebd",
7 | "metadata": {},
8 | "outputs": [],
9 | "source": [
10 | "spam = [\n",
11 | " \"To use your credit, click the new WAP link in the next years txt message or click here\", \n",
12 | " \"Thanks for your subscription to New Ringtone UK your new mobile will be charged £5/month Please confirm annoncement by replying\", \n",
13 | " \"As a valued customer, I am pleased to advise you that following recent delivery waiting review of your Mob No. you are awarded with. Call us to review.\", \n",
14 | " \"Please call our new customer service representative on\", \n",
15 | " \"We are trying to contact you. Last weekends customer draw shows that you won a £1000 prize GUARANTEED. Calling years\", \n",
16 | "]"
17 | ]
18 | },
19 | {
20 | "cell_type": "code",
21 | "execution_count": 2,
22 | "id": "e4785122",
23 | "metadata": {},
24 | "outputs": [],
25 | "source": [
26 | "spam_test = [\"Customer service annoncement. You have a New Years delivery waiting for you. click\"]"
27 | ]
28 | },
29 | {
30 | "cell_type": "code",
31 | "execution_count": 3,
32 | "id": "ab52c5e8",
33 | "metadata": {},
34 | "outputs": [],
35 | "source": [
36 | "non = [\n",
37 | " \"I don't think he goes to usf, he lives around here though\", \n",
38 | " \"New car and house for my parents. i have only new job in hand\", \n",
39 | " \"Great escape. I fancy the bridge but needs her lager. See you tomorrow\", \n",
40 | " \"Tired. I haven't slept well the past few nights.\",\n",
41 | " \"Too late. I said i have the website. I didn't i have or dont have the slippers\", \n",
42 | " \"I might come by tonight then if my class lets out early\", \n",
43 | " \"Jos ask if u wana meet up?\", \n",
44 | " \"That would be great. We'll be at the Guild. We can try meeting with the customer on Bristol road or somewhere\"\n",
45 | " ]"
46 | ]
47 | },
48 | {
49 | "cell_type": "code",
50 | "execution_count": 4,
51 | "id": "6f5f8809",
52 | "metadata": {},
53 | "outputs": [],
54 | "source": [
55 | "spam_test_2 = [\"That would be great. We'll be at the Guild. We can try meeting with the customer on Bristol road or somewhere\"]"
56 | ]
57 | },
58 | {
59 | "cell_type": "code",
60 | "execution_count": null,
61 | "id": "4f1147b4",
62 | "metadata": {},
63 | "outputs": [],
64 | "source": [
65 | "# !pip install gensim"
66 | ]
67 | },
68 | {
69 | "cell_type": "code",
70 | "execution_count": 5,
71 | "id": "df3f9c8b",
72 | "metadata": {},
73 | "outputs": [
74 | {
75 | "name": "stderr",
76 | "output_type": "stream",
77 | "text": [
78 | "C:\\Users\\lenovo\\anaconda3\\envs\\saad\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n",
79 | " warnings.warn(msg)\n"
80 | ]
81 | }
82 | ],
83 | "source": [
84 | "from gensim.parsing.preprocessing import remove_stopwords\n",
85 | "from gensim.parsing.porter import PorterStemmer\n",
86 | "from gensim.utils import tokenize"
87 | ]
88 | },
89 | {
90 | "cell_type": "code",
91 | "execution_count": 6,
92 | "id": "445e69a1",
93 | "metadata": {},
94 | "outputs": [
95 | {
96 | "name": "stdout",
97 | "output_type": "stream",
98 | "text": [
99 | "Thanks for your subscription to New Ringtone UK your new mobile will be charged £5/month Please confirm annoncement by replying\n"
100 | ]
101 | }
102 | ],
103 | "source": [
104 | "test_sentence = spam[1]\n",
105 | "print(test_sentence)"
106 | ]
107 | },
108 | {
109 | "cell_type": "code",
110 | "execution_count": 8,
111 | "id": "b050f58c",
112 | "metadata": {},
113 | "outputs": [
114 | {
115 | "name": "stdout",
116 | "output_type": "stream",
117 | "text": [
118 | "Thanks subscription New Ringtone UK new mobile charged £5/month Please confirm annoncement replying\n"
119 | ]
120 | }
121 | ],
122 | "source": [
123 | "stops = remove_stopwords(test_sentence)\n",
124 | "print(stops)"
125 | ]
126 | },
127 | {
128 | "cell_type": "code",
129 | "execution_count": 9,
130 | "id": "0e37ec0e",
131 | "metadata": {},
132 | "outputs": [
133 | {
134 | "name": "stdout",
135 | "output_type": "stream",
136 | "text": [
137 | "thanks subscription new ringtone uk new mobile charged £5/month please confirm annoncement repli\n"
138 | ]
139 | }
140 | ],
141 | "source": [
142 | "p=PorterStemmer()\n",
143 | "stemmed = p.stem(stops)\n",
144 | "print(stemmed)"
145 | ]
146 | },
147 | {
148 | "cell_type": "code",
149 | "execution_count": 10,
150 | "id": "b04750b4",
151 | "metadata": {},
152 | "outputs": [
153 | {
154 | "name": "stdout",
155 | "output_type": "stream",
156 | "text": [
157 | "['thanks', 'subscription', 'new', 'ringtone', 'uk', 'new', 'mobile', 'charged', 'month', 'please', 'confirm', 'annoncement', 'repli']\n"
158 | ]
159 | }
160 | ],
161 | "source": [
162 | "tokens = tokenize(stemmed)\n",
163 | "print(list(tokens))"
164 | ]
165 | },
166 | {
167 | "cell_type": "code",
168 | "execution_count": 11,
169 | "id": "2072364f",
170 | "metadata": {},
171 | "outputs": [],
172 | "source": [
173 | "def tokenize_sentence(sentence): \n",
174 | " p = PorterStemmer()\n",
175 | " removed_stops = remove_stopwords(sentence)\n",
176 | " stemmed = p.stem(removed_stops)\n",
177 | " tokens = tokenize(stemmed)\n",
178 | " return list(tokens)"
179 | ]
180 | },
181 | {
182 | "cell_type": "code",
183 | "execution_count": 12,
184 | "id": "87129bf1",
185 | "metadata": {},
186 | "outputs": [],
187 | "source": [
188 | "dictionary = set()\n",
189 | "spams_tokenized = []\n",
190 | "nons_tokenized = []\n",
191 | "\n",
192 | "for sentence in spam:\n",
193 | " sentence_tokens = tokenize_sentence(sentence)\n",
194 | " spams_tokenized.append(sentence_tokens)\n",
195 | " dictionary = dictionary.union(sentence_tokens)\n",
196 | " \n",
197 | "for sentence in non: \n",
198 | " sentence_tokens = tokenize_sentence(sentence)\n",
199 | " nons_tokenized.append(sentence_tokens)\n",
200 | " dictionary = dictionary.union(sentence_tokens)"
201 | ]
202 | },
203 | {
204 | "cell_type": "code",
205 | "execution_count": 13,
206 | "id": "e6bd192b",
207 | "metadata": {},
208 | "outputs": [
209 | {
210 | "name": "stdout",
211 | "output_type": "stream",
212 | "text": [
213 | "[['to', 'use', 'credit', 'click', 'new', 'wap', 'link', 'years', 'txt', 'message', 'click'], ['thanks', 'subscription', 'new', 'ringtone', 'uk', 'new', 'mobile', 'charged', 'month', 'please', 'confirm', 'annoncement', 'repli'], ['as', 'valued', 'customer', 'i', 'pleased', 'advise', 'following', 'recent', 'delivery', 'waiting', 'review', 'mob', 'no', 'awarded', 'with', 'call', 'review'], ['please', 'new', 'customer', 'service', 'repres'], ['we', 'trying', 'contact', 'you', 'last', 'weekends', 'customer', 'draw', 'shows', 'won', 'prize', 'guaranteed', 'calling', 'year']]\n"
214 | ]
215 | }
216 | ],
217 | "source": [
218 | "print(spams_tokenized)"
219 | ]
220 | },
221 | {
222 | "cell_type": "code",
223 | "execution_count": 15,
224 | "id": "43d8384a",
225 | "metadata": {},
226 | "outputs": [
227 | {
228 | "name": "stdout",
229 | "output_type": "stream",
230 | "text": [
231 | "[['i', 'don', 't', 'think', 'goes', 'usf', 'l'], ['new', 'car', 'house', 'parents', 'new', 'job', 'hand'], ['great', 'escape', 'i', 'fancy', 'bridge', 'needs', 'lager', 'see', 'tomorrow'], ['tired', 'i', 'haven', 't', 'slept', 'past', 'nights'], ['too', 'late', 'i', 'said', 'website', 'i', 'didn', 't', 'dont', 'slipp'], ['i', 'come', 'tonight', 'class', 'lets', 'earli'], ['jos', 'ask', 'u', 'wana', 'meet', 'up'], ['that', 'great', 'we', 'll', 'guild', 'we', 'try', 'meeting', 'customer', 'bristol', 'road']]\n"
232 | ]
233 | }
234 | ],
235 | "source": [
236 | "print(nons_tokenized)"
237 | ]
238 | },
239 | {
240 | "cell_type": "code",
241 | "execution_count": 16,
242 | "id": "51904cff",
243 | "metadata": {},
244 | "outputs": [
245 | {
246 | "name": "stdout",
247 | "output_type": "stream",
248 | "text": [
249 | "{'escape', 'tired', 'great', 'll', 'wap', 'txt', 'following', 'charged', 'parents', 'link', 'slept', 'to', 'house', 'nights', 'ringtone', 'no', 'with', 'you', 'use', 'credit', 'ask', 'new', 'thanks', 't', 'hand', 'valued', 'awarded', 'website', 'jos', 'waiting', 'come', 'needs', 'i', 'usf', 'lager', 'see', 'mobile', 'dont', 'pleased', 'contact', 'guaranteed', 'lets', 'draw', 'too', 'up', 'uk', 'meet', 'customer', 'late', 'earli', 'weekends', 'annoncement', 'as', 'we', 'tomorrow', 'slipp', 'year', 'bridge', 'won', 'repres', 'said', 'car', 'last', 'tonight', 'mob', 'calling', 'past', 'u', 'prize', 'fancy', 'recent', 'think', 'try', 'trying', 'delivery', 'that', 'meeting', 'haven', 'month', 'years', 'advise', 'repli', 'review', 'service', 'call', 'don', 'shows', 'bristol', 'goes', 'confirm', 'click', 'please', 'road', 'message', 'job', 'wana', 'l', 'class', 'guild', 'subscription', 'didn'}\n"
250 | ]
251 | }
252 | ],
253 | "source": [
254 | "print(dictionary)"
255 | ]
256 | },
257 | {
258 | "cell_type": "code",
259 | "execution_count": 17,
260 | "id": "cb80dab2",
261 | "metadata": {},
262 | "outputs": [
263 | {
264 | "name": "stdout",
265 | "output_type": "stream",
266 | "text": [
267 | "101\n"
268 | ]
269 | }
270 | ],
271 | "source": [
272 | "total_word_counts = len(dictionary)\n",
273 | "total_spam_messages = len(spams_tokenized)\n",
274 | "total_all_messages = len(spams_tokenized) + len(nons_tokenized)\n",
275 | "print(total_word_counts)"
276 | ]
277 | },
278 | {
279 | "cell_type": "code",
280 | "execution_count": 18,
281 | "id": "aa417e3f",
282 | "metadata": {},
283 | "outputs": [
284 | {
285 | "name": "stdout",
286 | "output_type": "stream",
287 | "text": [
288 | "0.38461538461538464\n"
289 | ]
290 | }
291 | ],
292 | "source": [
293 | "p_spam = total_spam_messages/total_all_messages\n",
294 | "print(p_spam)"
295 | ]
296 | },
297 | {
298 | "cell_type": "code",
299 | "execution_count": 19,
300 | "id": "3b89b3fc",
301 | "metadata": {},
302 | "outputs": [],
303 | "source": [
304 | "def count_word_in_messages(word, messages): \n",
305 | " total_count = 0\n",
306 | " for msg in messages: \n",
307 | " if word in msg: # notice this ensured uniqueness automatically \n",
308 | " total_count += 1 \n",
309 | " \n",
310 | " return total_count "
311 | ]
312 | },
313 | {
314 | "cell_type": "code",
315 | "execution_count": 20,
316 | "id": "1e2bc0e1",
317 | "metadata": {},
318 | "outputs": [
319 | {
320 | "name": "stdout",
321 | "output_type": "stream",
322 | "text": [
323 | "['that', 'great', 'we', 'll', 'guild', 'we', 'try', 'meeting', 'customer', 'bristol', 'road']\n",
324 | "----------------\n",
325 | "Runnig for word: that\n",
326 | "P( w | spam) = 0.0\n",
327 | "P( w ) = 0.07692307692307693\n",
328 | "P( spam ) = 0.38461538461538464\n",
329 | "P( spam | w ) = 0.0\n",
330 | "\n",
331 | "----------------\n",
332 | "Runnig for word: great\n",
333 | "P( w | spam) = 0.0\n",
334 | "P( w ) = 0.15384615384615385\n",
335 | "P( spam ) = 0.38461538461538464\n",
336 | "P( spam | w ) = 0.0\n",
337 | "\n",
338 | "----------------\n",
339 | "Runnig for word: we\n",
340 | "P( w | spam) = 0.2\n",
341 | "P( w ) = 0.15384615384615385\n",
342 | "P( spam ) = 0.38461538461538464\n",
343 | "P( spam | w ) = 0.5\n",
344 | "\n",
345 | "----------------\n",
346 | "Runnig for word: ll\n",
347 | "P( w | spam) = 0.0\n",
348 | "P( w ) = 0.07692307692307693\n",
349 | "P( spam ) = 0.38461538461538464\n",
350 | "P( spam | w ) = 0.0\n",
351 | "\n",
352 | "----------------\n",
353 | "Runnig for word: guild\n",
354 | "P( w | spam) = 0.0\n",
355 | "P( w ) = 0.07692307692307693\n",
356 | "P( spam ) = 0.38461538461538464\n",
357 | "P( spam | w ) = 0.0\n",
358 | "\n",
359 | "----------------\n",
360 | "Runnig for word: we\n",
361 | "P( w | spam) = 0.2\n",
362 | "P( w ) = 0.15384615384615385\n",
363 | "P( spam ) = 0.38461538461538464\n",
364 | "P( spam | w ) = 0.5\n",
365 | "\n",
366 | "----------------\n",
367 | "Runnig for word: try\n",
368 | "P( w | spam) = 0.0\n",
369 | "P( w ) = 0.07692307692307693\n",
370 | "P( spam ) = 0.38461538461538464\n",
371 | "P( spam | w ) = 0.0\n",
372 | "\n",
373 | "----------------\n",
374 | "Runnig for word: meeting\n",
375 | "P( w | spam) = 0.0\n",
376 | "P( w ) = 0.07692307692307693\n",
377 | "P( spam ) = 0.38461538461538464\n",
378 | "P( spam | w ) = 0.0\n",
379 | "\n",
380 | "----------------\n",
381 | "Runnig for word: customer\n",
382 | "P( w | spam) = 0.6\n",
383 | "P( w ) = 0.3076923076923077\n",
384 | "P( spam ) = 0.38461538461538464\n",
385 | "P( spam | w ) = 0.75\n",
386 | "\n",
387 | "----------------\n",
388 | "Runnig for word: bristol\n",
389 | "P( w | spam) = 0.0\n",
390 | "P( w ) = 0.07692307692307693\n",
391 | "P( spam ) = 0.38461538461538464\n",
392 | "P( spam | w ) = 0.0\n",
393 | "\n",
394 | "----------------\n",
395 | "Runnig for word: road\n",
396 | "P( w | spam) = 0.0\n",
397 | "P( w ) = 0.07692307692307693\n",
398 | "P( spam ) = 0.38461538461538464\n",
399 | "P( spam | w ) = 0.0\n",
400 | "\n",
401 | "P( spam | all_words ) = 0.0\n"
402 | ]
403 | }
404 | ],
405 | "source": [
406 | "final_prob = 1 # can't start from 0 \n",
407 | "\n",
408 | "\n",
409 | "for test_sentence in spam_test_2: \n",
410 | " test_sentence = tokenize_sentence(test_sentence)\n",
411 | " print(test_sentence)\n",
412 | " \n",
413 | " # let's run this for each word separately \n",
414 | " for word in test_sentence: \n",
415 | " print(\"----------------\")\n",
416 | " print(\"Runnig for word:\", word)\n",
417 | " \n",
418 | " # Find P( w | spam)\n",
419 | " spam_count = count_word_in_messages(word, spams_tokenized)\n",
420 | " p_w_spam = spam_count / total_spam_messages \n",
421 | " print(\"P( w | spam) = \", p_w_spam)\n",
422 | " \n",
423 | " # Find P( w )\n",
424 | " w_count = count_word_in_messages(word, spams_tokenized)\n",
425 | " w_count += count_word_in_messages(word, nons_tokenized)\n",
426 | " p_w = w_count / total_all_messages\n",
427 | " print(\"P( w ) = \", p_w)\n",
428 | " \n",
429 | " \n",
430 | " # Find P( spam | w )\n",
431 | " p_spam_w = (p_w_spam * p_spam) / p_w\n",
432 | " print(\"P( spam ) = \", p_spam)\n",
433 | " print(\"P( spam | w ) = \", p_spam_w)\n",
434 | " print(\"\")\n",
435 | " final_prob *= p_spam_w\n",
436 | " \n",
437 | " \n",
438 | " print(\"P( spam | all_words ) = \", final_prob)"
439 | ]
440 | },
441 | {
442 | "cell_type": "code",
443 | "execution_count": null,
444 | "id": "13bc303f",
445 | "metadata": {},
446 | "outputs": [],
447 | "source": []
448 | },
449 | {
450 | "cell_type": "code",
451 | "execution_count": null,
452 | "id": "974e434d",
453 | "metadata": {},
454 | "outputs": [],
455 | "source": []
456 | },
457 | {
458 | "cell_type": "code",
459 | "execution_count": null,
460 | "id": "276dce54",
461 | "metadata": {},
462 | "outputs": [],
463 | "source": []
464 | },
465 | {
466 | "cell_type": "code",
467 | "execution_count": null,
468 | "id": "8ebe786e",
469 | "metadata": {},
470 | "outputs": [],
471 | "source": []
472 | },
473 | {
474 | "cell_type": "code",
475 | "execution_count": null,
476 | "id": "4dc394df",
477 | "metadata": {},
478 | "outputs": [],
479 | "source": []
480 | },
481 | {
482 | "cell_type": "code",
483 | "execution_count": null,
484 | "id": "ca1c7c6c",
485 | "metadata": {},
486 | "outputs": [],
487 | "source": []
488 | },
489 | {
490 | "cell_type": "code",
491 | "execution_count": null,
492 | "id": "0dd15659",
493 | "metadata": {},
494 | "outputs": [],
495 | "source": []
496 | }
497 | ],
498 | "metadata": {
499 | "kernelspec": {
500 | "display_name": "Python 3 (ipykernel)",
501 | "language": "python",
502 | "name": "python3"
503 | },
504 | "language_info": {
505 | "codemirror_mode": {
506 | "name": "ipython",
507 | "version": 3
508 | },
509 | "file_extension": ".py",
510 | "mimetype": "text/x-python",
511 | "name": "python",
512 | "nbconvert_exporter": "python",
513 | "pygments_lexer": "ipython3",
514 | "version": "3.8.11"
515 | }
516 | },
517 | "nbformat": 4,
518 | "nbformat_minor": 5
519 | }
520 |
--------------------------------------------------------------------------------
/codes/Distributions in Python with Sleep analysis Project.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "id": "1587ffcb",
7 | "metadata": {},
8 | "outputs": [],
9 | "source": [
10 | "import matplotlib.pyplot as plt\n",
11 | "%matplotlib inline\n",
12 | "\n",
13 | "import seaborn as sns\n",
14 | "sns.set(color_codes = True)"
15 | ]
16 | },
17 | {
18 | "cell_type": "code",
19 | "execution_count": 2,
20 | "id": "4d2f974f",
21 | "metadata": {},
22 | "outputs": [],
23 | "source": [
24 | "from scipy.stats import bernoulli"
25 | ]
26 | },
27 | {
28 | "cell_type": "code",
29 | "execution_count": 4,
30 | "id": "a9a0893f",
31 | "metadata": {},
32 | "outputs": [
33 | {
34 | "data": {
35 | "text/plain": [
36 | "[Text(0.5, 0, 'Bernoulli Distribution'), Text(0, 0.5, 'Frequency')]"
37 | ]
38 | },
39 | "execution_count": 4,
40 | "metadata": {},
41 | "output_type": "execute_result"
42 | },
43 | {
44 | "data": {
45 | "image/png": "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\n",
46 | "text/plain": [
47 | ""
48 | ]
49 | },
50 | "metadata": {},
51 | "output_type": "display_data"
52 | }
53 | ],
54 | "source": [
55 | "data_bern = bernoulli.rvs(size=10000, p=0.6)\n",
56 | "ax = sns.distplot(data_bern, bins=100, kde=True)\n",
57 | "ax.set(xlabel=\"Bernoulli Distribution\", ylabel='Frequency')"
58 | ]
59 | },
60 | {
61 | "cell_type": "code",
62 | "execution_count": 5,
63 | "id": "75d18e0b",
64 | "metadata": {},
65 | "outputs": [],
66 | "source": [
67 | "from scipy.stats import binom"
68 | ]
69 | },
70 | {
71 | "cell_type": "code",
72 | "execution_count": 6,
73 | "id": "ef5e8ae5",
74 | "metadata": {},
75 | "outputs": [
76 | {
77 | "name": "stderr",
78 | "output_type": "stream",
79 | "text": [
80 | "C:\\Users\\lenovo\\anaconda3\\envs\\saad\\lib\\site-packages\\seaborn\\distributions.py:2619: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
81 | " warnings.warn(msg, FutureWarning)\n"
82 | ]
83 | },
84 | {
85 | "data": {
86 | "image/png": "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\n",
87 | "text/plain": [
88 | ""
89 | ]
90 | },
91 | "metadata": {},
92 | "output_type": "display_data"
93 | }
94 | ],
95 | "source": [
96 | "data_binom = binom.rvs(n=10, p=0.6, size=1000)\n",
97 | "ax = sns.distplot(data_binom,\n",
98 | " bins=100,\n",
99 | " kde=False,\n",
100 | " )\n",
101 | "_ = ax.set(xlabel='Binomial Distribution ', ylabel='Frequency')"
102 | ]
103 | },
104 | {
105 | "cell_type": "code",
106 | "execution_count": 8,
107 | "id": "dda8b83f",
108 | "metadata": {},
109 | "outputs": [],
110 | "source": [
111 | "from scipy.stats import uniform"
112 | ]
113 | },
114 | {
115 | "cell_type": "code",
116 | "execution_count": 10,
117 | "id": "a72fb1db",
118 | "metadata": {},
119 | "outputs": [
120 | {
121 | "data": {
122 | "text/plain": [
123 | "[Text(0.5, 0, 'Uniform Distribution'), Text(0, 0.5, 'Frequency')]"
124 | ]
125 | },
126 | "execution_count": 10,
127 | "metadata": {},
128 | "output_type": "execute_result"
129 | },
130 | {
131 | "data": {
132 | "image/png": "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0Xxf9O5tb/c+lJ67TLi9OwA2m/W6nfalXbBr7Yz9cr31lz/XG+x964z90tb2IiPD6WgBD5MGn3zyCc888wxz5swhNDSU4uJi932GYWCxWKivr8disTSb3/C/p6a3r+Xs2Qrq6432FR8aSnlFFQC1tXWdZjrc3j2g2/WlXWfpo0D0V0cs31n6qCP7y1/1dfX+CnR9AGVl5fgqJMTS5ovwoLwBf+jQIZ588kmef/55Hn74Yfr27UtZWZn7/rKyMqKioprNP3PmDFFRUURERFBeXo7L5WrUXkREgiPgYXL69GmmTZvGqlWrSEpKAmDIkCEcP36cEydO4HK5yMvLIy4ujpiYGMLCwjh06BAAOTk5xMXFYbPZiI2NJT8/H4Ds7Gzi4uICvSsiIvKFgJ/m2rhxI9XV1axYscI9LzU1lRUrVjB9+nSqq6sZMWIEiYmJAKxatYoFCxZQUVHBoEGDmDhxIgAZGRmkp6ezYcMGoqOjWb16daB3RUREvhDwMFmwYAELFixo8b7c3Nxm8wYOHMi2bduazY+JiWHz5s0dXp+IiPhO34AXERHTFCYiImKawkRERExTmIiIiGkKExERMU1hIiIipilMRETENIWJiIiYpjARERHTFCYiImKawkRERExTmIiIiGkKExERMU1hIiIipilMRETENIWJiIiYpjARERHTFCYiImKawkRERExTmIiIiGkKExERMU1hIiIipilMRETENIWJiIiYpjARERHTFCYiImKawkRERExTmIiIiGkKExERMU1hIiIipilMRETEtC4dJjt37mTMmDHEx8fzm9/8JtjliIhct6zBLqC9SkpKWLNmDdu3b6dbt26kpqZyzz338O1vfzvYpYmIXHe6bJgUFhYybNgwevXqBUBCQgJOp5Nnn33Wq+VDQizt3rYRYqFndxsA1tCQTjPdI8wa0O16v8z11V/m1/XV7C//1de1+yvQ9YWEWLAYvj//Xes502IYhuHzWjuBV155hcuXL/Pcc88B8Nvf/pbDhw+zZMmSIFcmInL96bLvmdTX12OxfJmUhmE0ui0iIoHTZcOkb9++lJWVuW+XlZURFRUVxIpERK5fXTZM7r33Xvbt28e5c+e4cuUK7777LnFxccEuS0TkutRl34Dv06cPzz33HBMnTqS2tpZHHnmE73znO8EuS0TkutRl34AXEZHOo8ue5hIRkc5D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G4D9+/czduxYUlNTcTgcvPfeezz22GP89Kc/Zdy4caSmprJnzx6eeuopHnzwQZYvX+5VjTabjblz53LgwAGOHTvG/v37SU5OBuDgwYM88sgjpKSkkJKSwq5duzh9+jRr167l4MGDzJ07t8W6GpaHq5cAefTRRxkzZgzLli2jrq4OaH5U13B77ty5ADzxxBOcPn3a3U/w5W+djB07lkmTJnH8+HHg6hHQ0qVLmTBhAqNGjeLZZ5/1y2/VSOekMJHrwsGDB3nxxRdxOp306NGD//zP/2x0/5YtWwB44403GDp0KFOnTmXChAns3LmTV199ldWrV/OXv/wFuHqRv3//939n586ddOvWjSNHjjB58mRycnKw2+38+te/5pVXXmH79u1s2bLF6yuwdu/enW9961t8/PHHjeavW7eOp556iu3bt7N8+XL+9Kc/ER0dzYwZM4iNjeUXv/hFi3V5+r//+z9ef/11srOz+fDDD8nKymqzloZ1vvHGG0RHR7vn79u3j9dee40333yT3NxckpOTmTZtGg3ffT569CgbN24kPz+fkydPdvjPC0jnpTCRLq+lK5zW19cTEvLl8L777rux2+0A3H777W3+lkRxcTHV1dXEx8cD0KdPH+Lj491XeY2OjiYmJsbdvl+/ftx+++0AfPOb3+See+6hW7duRERE8LWvfc2n362wWCz06NGj0bzRo0ezePFinn/+ef7617/ys5/9rMVlm9blady4cfTs2ZNu3boxduxYCgsLva7J03vvvceYMWOIiIgArv72RUlJifuXNh944AH3b33ceuutHf6bHdJ5KUyky7vxxhu5cOFCo3lnz56lV69e7tvdu3d3T1ssFtq6ipDL5WrxMt0Np4Z69uzZ6L6mRwFNr2TrrStXrnDs2DG+/e1vN5qfmppKbm4u9913H++//z5jx46lurq62fJN6/LkeYVao4Wr7QIt/jRvU01/jKphfQ1940s/y1eLwkS6vLi4ODZv3ux+ort48SI7duxw/2iRr2666SasVivvvvsucPV3PXbt2sW9997bYTU3VVVVxfLly4mLi6Nfv36N7ktNTaWoqIiUlBSWLFnCpUuXKCsrIzQ01P0kfi2/+93vqKmpobq6mh07drivChsREeF+LyQvL6/RMi2t/4EHHiA/P9/9Psvbb79Nr169GDBgQLv2W7469Gku6fLmz5/PihUrSE5Odr8CHzduXKPfmvCFzWYjMzOTpUuXsm7dOlwuF9OmTWPYsGHs37+/w+peuXIlGzZsICQkhLq6Ou69917mz5/frN2sWbNYvnw5L7zwAhaLhWeffZZ+/frhcrlYv349zz777DU/Bt2vXz/S0tKorKxk1KhR7r5ZsGABixcv5oYbbuDee+9t9Kt8iYmJTJgwgXXr1rnn3XfffTz55JM88cQT1NfXExERwSuvvNLolKJcn3TVYBERMU0vJ0RExDSFiYiImKYwERER0xQmIiJimsJERERMU5iIiIhpChMRETFNYSIiIqb9f4bgE3WbHZCaAAAAAElFTkSuQmCC\n",
133 | "text/plain": [
134 | ""
135 | ]
136 | },
137 | "metadata": {},
138 | "output_type": "display_data"
139 | }
140 | ],
141 | "source": [
142 | "n = 10000\n",
143 | "n *=100\n",
144 | "start =10\n",
145 | "width=20\n",
146 | "\n",
147 | "data_uniform = uniform.rvs(size=n,loc=start,scale=width)\n",
148 | "ax=sns.distplot(data_uniform,bins=100,kde=False)\n",
149 | "ax.set(xlabel='Uniform Distribution', ylabel='Frequency')"
150 | ]
151 | },
152 | {
153 | "cell_type": "code",
154 | "execution_count": 11,
155 | "id": "947b6ca3",
156 | "metadata": {},
157 | "outputs": [],
158 | "source": [
159 | "import numpy as np\n",
160 | "import pandas as pd\n",
161 | "from IPython.core.pylabtools import figsize\n",
162 | "\n",
163 | "figsize(16,6)"
164 | ]
165 | },
166 | {
167 | "cell_type": "code",
168 | "execution_count": 12,
169 | "id": "c6c1e192",
170 | "metadata": {},
171 | "outputs": [],
172 | "source": [
173 | "sleep_data=pd.read_csv('data/sleep_data.csv')"
174 | ]
175 | },
176 | {
177 | "cell_type": "code",
178 | "execution_count": 13,
179 | "id": "3f9c3010",
180 | "metadata": {},
181 | "outputs": [
182 | {
183 | "data": {
184 | "text/html": [
185 | "\n",
186 | "\n",
199 | "
\n",
200 | " \n",
201 | " \n",
202 | " | \n",
203 | " Unnamed: 0 | \n",
204 | " indicator | \n",
205 | " time_offset | \n",
206 | "
\n",
207 | " \n",
208 | " \n",
209 | " \n",
210 | " | 0 | \n",
211 | " 2017-12-01 21:00:00 | \n",
212 | " 0 | \n",
213 | " -60 | \n",
214 | "
\n",
215 | " \n",
216 | " | 1 | \n",
217 | " 2017-12-01 21:01:00 | \n",
218 | " 0 | \n",
219 | " -59 | \n",
220 | "
\n",
221 | " \n",
222 | " | 2 | \n",
223 | " 2017-12-01 21:02:00 | \n",
224 | " 0 | \n",
225 | " -58 | \n",
226 | "
\n",
227 | " \n",
228 | " | 3 | \n",
229 | " 2017-12-01 21:03:00 | \n",
230 | " 0 | \n",
231 | " -57 | \n",
232 | "
\n",
233 | " \n",
234 | " | 4 | \n",
235 | " 2017-12-01 21:04:00 | \n",
236 | " 0 | \n",
237 | " -56 | \n",
238 | "
\n",
239 | " \n",
240 | " | ... | \n",
241 | " ... | \n",
242 | " ... | \n",
243 | " ... | \n",
244 | "
\n",
245 | " \n",
246 | " | 11335 | \n",
247 | " 2018-02-01 23:55:00 | \n",
248 | " 1 | \n",
249 | " 115 | \n",
250 | "
\n",
251 | " \n",
252 | " | 11336 | \n",
253 | " 2018-02-01 23:56:00 | \n",
254 | " 1 | \n",
255 | " 116 | \n",
256 | "
\n",
257 | " \n",
258 | " | 11337 | \n",
259 | " 2018-02-01 23:57:00 | \n",
260 | " 1 | \n",
261 | " 117 | \n",
262 | "
\n",
263 | " \n",
264 | " | 11338 | \n",
265 | " 2018-02-01 23:58:00 | \n",
266 | " 1 | \n",
267 | " 118 | \n",
268 | "
\n",
269 | " \n",
270 | " | 11339 | \n",
271 | " 2018-02-01 23:59:00 | \n",
272 | " 1 | \n",
273 | " 119 | \n",
274 | "
\n",
275 | " \n",
276 | "
\n",
277 | "
11340 rows × 3 columns
\n",
278 | "
"
279 | ],
280 | "text/plain": [
281 | " Unnamed: 0 indicator time_offset\n",
282 | "0 2017-12-01 21:00:00 0 -60\n",
283 | "1 2017-12-01 21:01:00 0 -59\n",
284 | "2 2017-12-01 21:02:00 0 -58\n",
285 | "3 2017-12-01 21:03:00 0 -57\n",
286 | "4 2017-12-01 21:04:00 0 -56\n",
287 | "... ... ... ...\n",
288 | "11335 2018-02-01 23:55:00 1 115\n",
289 | "11336 2018-02-01 23:56:00 1 116\n",
290 | "11337 2018-02-01 23:57:00 1 117\n",
291 | "11338 2018-02-01 23:58:00 1 118\n",
292 | "11339 2018-02-01 23:59:00 1 119\n",
293 | "\n",
294 | "[11340 rows x 3 columns]"
295 | ]
296 | },
297 | "execution_count": 13,
298 | "metadata": {},
299 | "output_type": "execute_result"
300 | }
301 | ],
302 | "source": [
303 | "sleep_data"
304 | ]
305 | },
306 | {
307 | "cell_type": "code",
308 | "execution_count": 15,
309 | "id": "f2c6dfc1",
310 | "metadata": {},
311 | "outputs": [
312 | {
313 | "data": {
314 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAGKCAYAAAA43d1nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABYx0lEQVR4nO3dd5xcdb3/8fc5U7bN1uxueiW9GBJEipIISDVBYoEIRq6oiJSLXgVsP+sFruWCChfRK3ovKALKhUhHasAAgtT0QnazSTZbsju7M7s7O+Wc3x/nzOzMbEmAlD3h9Xw88sh+P/M531PmO+Uz33NmDNu2bQEAAAAA4FHmod4AAAAAAADeDQpbAAAAAICnUdgCAAAAADyNwhYAAAAA4GkUtgAAAAAAT6OwBQAAAAB4GoUtAGDYu/HGGzVjxowh/61fv/5t9XnSSSdpxYoVg7ZXrFihk046ab/tw/6SPhY7duw41Juyz97NNluW5al9BQAcGv5DvQEAAOyriy++WFOmTBnwtjFjxuz3dfX09OzXPvH2RKNR/cu//IsWL16syy+//FBvDgBgGKOwBQB4xvHHH69jjjnmoKzrgx/84EFZDwYXDof15ptvavHixYd6UwAAwxynIgMAAAAAPI3CFgBwWLFtW3/605/0yU9+UgsWLNC8efN0+umn6ze/+Y1s297nfvKvsV2xYoU+//nPa9WqVfr4xz+uefPm6cMf/rBuvPFGWZaVs+zrr7+uz372s1qwYIFOOOEE3Xjjjbrppps0Y8aMvW77TTfdpNNOO03z5s3T8ccfryuvvFKNjY1DLtfR0aEf/ehHOuGEEzR37lydccYZ+t///d9++7sveTfeeKNmz56tt956SytWrND8+fN10kkn6eabb1Yqldrrcdu+fbsuv/xyHX300TrmmGN0ww03DHjc165dq8svv1zHH3+85syZo+OOO05f+9rXtHv3bknSiy++qJNPPlmSMscufa1tfX29rr76ai1atEhz587VBz7wAV188cXavHnzXrcPAHB44lRkAIBnRCIRtbW19YuXlpYqEAhIkn7+85/rlltu0bJly3TOOeeoq6tL9913n/7zP/9TNTU1WrZs2Tte/6ZNm/SVr3xF5557rs4991w98MADuummm1RVVaXzzz9fkrRmzRp99rOfVXV1tS699FL19PTotttuk2nu/bPkW265Rf/1X/+l888/P1PI3XbbbVqzZo0eeOAB+Xy+fst0d3frM5/5jBobG3Xeeedp1KhReuGFF3Tttdeqrq5O3/ve995WnuQU2J/73Oc0bdo0XXnllXrxxRf1i1/8Qrt379YPf/jDQbe/tbVVy5cvVyKR0AUXXKDCwkLdcccd6uzszMnbuHGjzjvvPE2cOFEXXXSRioqK9Morr2jlypVqbm7W7bffriOOOELf/OY3dd111+mUU07RKaecoqqqKrW2tuqcc85RKBTSZz7zGVVWVmr9+vW6++67tXXrVj366KP7dKwBAIcXClsAgGdceumlA8Zvu+02HXPMMUokEvrDH/6gj370o/qP//iPzO2f+tSndNxxx+nRRx99V4Vtc3OzfvWrX2Vmcs8++2ydcMIJuv/++zOF7U9/+lMFg0H9+c9/VlVVlSTp5JNP1ic+8Ym99n///fdr0aJF+s53vpOJjR49Wn/605+0c+dOTZgwod8yt956q7Zt26Z77rknMyN83nnn6frrr9evf/1rnXvuuZo5c+Y+50nONxHPnTtXN910kwzD0Gc+8xl9/etf1913360LLrhARxxxxIDbf+utt6qtrU333HOP5syZI0latmyZlixZkpN3xx13yDAM3XbbbaqoqJAknXvuuUokEnrwwQcVDodVXV2tj3zkI7ruuus0Y8YMfexjH5Mk/eEPf1A4HNYdd9yRsx0lJSX6zW9+o/Xr12fWDQB47+AjTQCAZ1x99dX6/e9/3+9fuiALBAJavXp1v1nF9vZ2hUIhdXd3v6v1FxUV6cMf/nCmXVBQoMmTJ6u1tVWSc6rvP/7xD33sYx/LFLWSNHv27H36MqpRo0bpxRdf1P/+7/9m+ly+fLlWrlw5YFErSY899pimT5+umpoatbW1Zf595CMfkSQ99dRTbysv7aKLLpJhGJn25z73Odm23S8v26pVqzRv3rycwnLEiBH66Ec/mpP3/e9/X08++WSmqJWcb0AuKCiQpCHvp4suukirV6/OKWpjsVhmlvbd3scAAG9ixhYA4Blz5szZ67ciBwIBPf3003riiSe0bds21dfXq6OjQ5Le1jW2A6moqOh3mmswGMxcY9vQ0CDLsjRx4sR+y06ZMkXPPvvskP1fddVV+vKXv6xrr71W1113nebMmaOTTjpJ55xzjmpqagZcZvv27YrFYjruuOMGvD19fe6+5qXlz8qm92nnzp2Dbv/OnTsz18Vmy/+JJsMw1N7erl//+tfauHGjtm/frl27dmXun/xrlvMlEgndcMMNWrt2rbZv364dO3Zkrv/d27IAgMMThS0A4LBh27auvPJKPfDAAzrqqKO0YMECnXvuuTr66KN1wQUXvOv+93btZjKZlOQUu/nSs5FDmTlzph599FE9++yzeuqpp/Tss8/ql7/8pf7nf/5Hd95554CnAKdSKR111FG67LLLBuyztrb2beWlpa9ZTksXjANd55tmGIZ6e3v7xfM/UHj66ad1ySWXqLa2Vscee2zmS6Cee+45/frXvx60f8m5hnnFihUqLCzU8ccfr0984hOaPXu2tm/fPuT1vwCAwxuFLQDgsPHyyy/rgQce0CWXXKIrrrgiE08mkwqHwxo/fvwBXX+6/7q6un631dfXD7lsKpXShg0bFAqFdPLJJ2dmPh966CF99atf1Z///Gd94xvf6Lfc2LFj1dXVpeOPPz4n3tHRoeeffz4z07qveWkNDQ2aOnVqpp3ep4Fmo9PGjRs34L43NDTktH/0ox9p4sSJuueee1RcXJyJ33///YP2nfaTn/xEwWBQDz74YM7p3rfccstelwUAHL64xhYAcNgIh8OSlFOQSdLdd9+tnp6ezIzqgTJixAgtWLBADzzwQOb0Z8kp7FatWjXksqlUSp/97Gd17bXX5sTnz58vafDZ4pNOOkkbNmzQ008/nRP/1a9+pSuuuCLzEzj7mpd2++2357R///vfy+/35/wEUr5TTz1VmzdvztnXSCSilStX5uSFw2GNGTMmp6htbGzUY489JkmZ04rTs8PZpxeHw2FVVVXlFLWRSET33ntvzrIAgPcWZmwBAIeNBQsWKBQK6brrrtOuXbtUVlamF198UQ899JAKCgrU1dV1wLfh6quv1ooVK/TJT35Sy5cvVzwe1+23377X63uDwaBWrFihX/3qV7r00kt1wgknKBaL6a677lJRUdGg36r8pS99SY899pguu+wyLV++XNOmTdM///lPrVy5UosWLdKiRYveVl7avffeq2g0qoULF2ZOjb700ks1duzYQffhc5/7nP7617/q8ssv1wUXXKCqqirddddd/fZ90aJFeuihh/Td735X8+bN044dOzIfPkjK3E/pa5qffPJJjRkzRqeeeqoWLVqk//7v/9YVV1yhD33oQ2pp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\n",
315 | "text/plain": [
316 | ""
317 | ]
318 | },
319 | "metadata": {},
320 | "output_type": "display_data"
321 | }
322 | ],
323 | "source": [
324 | "sleep_labels=['9:00','9:30','10:00','10:30','11:00','11:30','12:00']\n",
325 | "plt.scatter(sleep_data['time_offset'],sleep_data['indicator'],s=60,alpha=0.01,facecolor='b',edgecolor='b')\n",
326 | "\n",
327 | "plt.yticks([0,1],['Awake','Asleep']);plt.xlabel('PM time')\n",
328 | "plt.title('Falling sleep data',size=18)\n",
329 | "plt.xticks([-60,-30,0,30,60,90,120],sleep_labels);"
330 | ]
331 | },
332 | {
333 | "cell_type": "code",
334 | "execution_count": 16,
335 | "id": "e2950e07",
336 | "metadata": {},
337 | "outputs": [],
338 | "source": [
339 | "sleep_data.sort_values('time_offset', inplace=True)\n",
340 | "time = np.array(sleep_data.loc[:,'time_offset'])\n",
341 | "sleep_obs = np.array(sleep_data.loc[:,'indicator'])"
342 | ]
343 | },
344 | {
345 | "cell_type": "code",
346 | "execution_count": 17,
347 | "id": "90d38ab7",
348 | "metadata": {},
349 | "outputs": [
350 | {
351 | "data": {
352 | "text/plain": [
353 | "array([0, 0, 0, ..., 1, 1, 1], dtype=int64)"
354 | ]
355 | },
356 | "execution_count": 17,
357 | "metadata": {},
358 | "output_type": "execute_result"
359 | }
360 | ],
361 | "source": [
362 | "sleep_obs"
363 | ]
364 | },
365 | {
366 | "cell_type": "code",
367 | "execution_count": 18,
368 | "id": "53e28f37",
369 | "metadata": {},
370 | "outputs": [
371 | {
372 | "data": {
373 | "text/plain": [
374 | "array([-60, -60, -60, ..., 119, 119, 119], dtype=int64)"
375 | ]
376 | },
377 | "execution_count": 18,
378 | "metadata": {},
379 | "output_type": "execute_result"
380 | }
381 | ],
382 | "source": [
383 | "time"
384 | ]
385 | },
386 | {
387 | "cell_type": "code",
388 | "execution_count": 19,
389 | "id": "44b58c78",
390 | "metadata": {},
391 | "outputs": [
392 | {
393 | "data": {
394 | "text/html": [
395 | "\n",
396 | "\n",
409 | "
\n",
410 | " \n",
411 | " \n",
412 | " | \n",
413 | " Unnamed: 0 | \n",
414 | " indicator | \n",
415 | " time_offset | \n",
416 | "
\n",
417 | " \n",
418 | " \n",
419 | " \n",
420 | " | 0 | \n",
421 | " 2017-12-01 21:00:00 | \n",
422 | " 0 | \n",
423 | " -60 | \n",
424 | "
\n",
425 | " \n",
426 | " | 4320 | \n",
427 | " 2017-12-25 21:00:00 | \n",
428 | " 0 | \n",
429 | " -60 | \n",
430 | "
\n",
431 | " \n",
432 | " | 1260 | \n",
433 | " 2017-12-08 21:00:00 | \n",
434 | " 0 | \n",
435 | " -60 | \n",
436 | "
\n",
437 | " \n",
438 | " | 10080 | \n",
439 | " 2018-01-26 21:00:00 | \n",
440 | " 0 | \n",
441 | " -60 | \n",
442 | "
\n",
443 | " \n",
444 | " | 6840 | \n",
445 | " 2018-01-08 21:00:00 | \n",
446 | " 0 | \n",
447 | " -60 | \n",
448 | "
\n",
449 | " \n",
450 | " | ... | \n",
451 | " ... | \n",
452 | " ... | \n",
453 | " ... | \n",
454 | "
\n",
455 | " \n",
456 | " | 8999 | \n",
457 | " 2018-01-19 23:59:00 | \n",
458 | " 1 | \n",
459 | " 119 | \n",
460 | "
\n",
461 | " \n",
462 | " | 2159 | \n",
463 | " 2017-12-12 23:59:00 | \n",
464 | " 1 | \n",
465 | " 119 | \n",
466 | "
\n",
467 | " \n",
468 | " | 9179 | \n",
469 | " 2018-01-20 23:59:00 | \n",
470 | " 1 | \n",
471 | " 119 | \n",
472 | "
\n",
473 | " \n",
474 | " | 5579 | \n",
475 | " 2017-12-31 23:59:00 | \n",
476 | " 1 | \n",
477 | " 119 | \n",
478 | "
\n",
479 | " \n",
480 | " | 11339 | \n",
481 | " 2018-02-01 23:59:00 | \n",
482 | " 1 | \n",
483 | " 119 | \n",
484 | "
\n",
485 | " \n",
486 | "
\n",
487 | "
11340 rows × 3 columns
\n",
488 | "
"
489 | ],
490 | "text/plain": [
491 | " Unnamed: 0 indicator time_offset\n",
492 | "0 2017-12-01 21:00:00 0 -60\n",
493 | "4320 2017-12-25 21:00:00 0 -60\n",
494 | "1260 2017-12-08 21:00:00 0 -60\n",
495 | "10080 2018-01-26 21:00:00 0 -60\n",
496 | "6840 2018-01-08 21:00:00 0 -60\n",
497 | "... ... ... ...\n",
498 | "8999 2018-01-19 23:59:00 1 119\n",
499 | "2159 2017-12-12 23:59:00 1 119\n",
500 | "9179 2018-01-20 23:59:00 1 119\n",
501 | "5579 2017-12-31 23:59:00 1 119\n",
502 | "11339 2018-02-01 23:59:00 1 119\n",
503 | "\n",
504 | "[11340 rows x 3 columns]"
505 | ]
506 | },
507 | "execution_count": 19,
508 | "metadata": {},
509 | "output_type": "execute_result"
510 | }
511 | ],
512 | "source": [
513 | "sleep_data"
514 | ]
515 | },
516 | {
517 | "cell_type": "code",
518 | "execution_count": 20,
519 | "id": "b8184785",
520 | "metadata": {},
521 | "outputs": [
522 | {
523 | "data": {
524 | "text/plain": [
525 | "array([0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0], dtype=int64)"
526 | ]
527 | },
528 | "execution_count": 20,
529 | "metadata": {},
530 | "output_type": "execute_result"
531 | }
532 | ],
533 | "source": [
534 | "sleep_obs[3260:3275]"
535 | ]
536 | },
537 | {
538 | "cell_type": "code",
539 | "execution_count": 21,
540 | "id": "6e966ca1",
541 | "metadata": {},
542 | "outputs": [],
543 | "source": [
544 | "time_offset=15"
545 | ]
546 | },
547 | {
548 | "cell_type": "code",
549 | "execution_count": 22,
550 | "id": "f2017f31",
551 | "metadata": {},
552 | "outputs": [],
553 | "source": [
554 | "awake_vals = sleep_data.loc[(sleep_data['time_offset']==time_offset)\n",
555 | " &(sleep_data['indicator']==0)]"
556 | ]
557 | },
558 | {
559 | "cell_type": "code",
560 | "execution_count": 23,
561 | "id": "35b7f108",
562 | "metadata": {},
563 | "outputs": [],
564 | "source": [
565 | "sleep_vals = sleep_data.loc[(sleep_data['time_offset'] == time_offset) \n",
566 | " & (sleep_data['indicator'] == 1)]"
567 | ]
568 | },
569 | {
570 | "cell_type": "code",
571 | "execution_count": 24,
572 | "id": "6895bd42",
573 | "metadata": {},
574 | "outputs": [
575 | {
576 | "name": "stdout",
577 | "output_type": "stream",
578 | "text": [
579 | "31 32\n"
580 | ]
581 | }
582 | ],
583 | "source": [
584 | "print(len(sleep_vals), len(awake_vals))"
585 | ]
586 | },
587 | {
588 | "cell_type": "code",
589 | "execution_count": 25,
590 | "id": "6eca6a13",
591 | "metadata": {},
592 | "outputs": [],
593 | "source": [
594 | "p_sleep_at_offset=len(sleep_vals)/(len(sleep_vals)+len(awake_vals))"
595 | ]
596 | },
597 | {
598 | "cell_type": "code",
599 | "execution_count": 26,
600 | "id": "8c86bdcb",
601 | "metadata": {},
602 | "outputs": [
603 | {
604 | "data": {
605 | "text/plain": [
606 | "0.49206349206349204"
607 | ]
608 | },
609 | "execution_count": 26,
610 | "metadata": {},
611 | "output_type": "execute_result"
612 | }
613 | ],
614 | "source": [
615 | "p_sleep_at_offset"
616 | ]
617 | },
618 | {
619 | "cell_type": "code",
620 | "execution_count": 27,
621 | "id": "12b162f3",
622 | "metadata": {},
623 | "outputs": [],
624 | "source": [
625 | "alpha = 0.977400\n",
626 | "beta = -0.067270\n",
627 | "\n",
628 | "def calculate_prior(time, alpha, beta):\n",
629 | " p = 1.0 / (1.0 + np.exp(np.dot(beta, time) + alpha))\n",
630 | " return p\n",
631 | "\n",
632 | " \n",
633 | "time_est = np.linspace(time.min()- 5, time.max() + 5, 1000)[:, None]\n",
634 | "\n",
635 | "\n",
636 | "sleep_est = calculate_prior(time_est, alpha, beta)"
637 | ]
638 | },
639 | {
640 | "cell_type": "code",
641 | "execution_count": 28,
642 | "id": "560613cb",
643 | "metadata": {},
644 | "outputs": [
645 | {
646 | "data": {
647 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAGECAYAAAALPBxtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAB3y0lEQVR4nO3dd3gUVdvH8e+m914pCb33ooiAgkpN6AiCikqzIqJYsXcfX7GjKI8dBQVpIl2w0Iv0DiEJhPTeszvvH5F9CAgESNiU3+e6uLL32Tlz7tk5JLlzZnZNhmEYiIiIiIiIiFQSdrZOQERERERERORSqJAVERERERGRSkWFrIiIiIiIiFQqKmRFRERERESkUlEhKyIiIiIiIpWKClkRERERERGpVFTIioiUgdjYWJo2bcqAAQOs//r3789PP/30r9uvWrWKV1555YrGfPLJJ+natSsDBgxg4MCBREREcN9995GcnHxJ+9m4cSMRERGXPH7jxo1JSUk5p/3MY7vjjjtYunQp8fHxjBgxAoCYmBgeeuihSxrrzGMdMGAAffv25bnnniMxMRGgxP7P50Ljntn/gw8+4KWXXrqk/ACmTp3K7t27AXjmmWdYt27dJe/j32RlZTFixAj69evH8uXLL3s/R44cYfz48URGRhIZGcntt9/Oli1bgOL527Zt2zLJt7zdcccd9OjRo8T/tQEDBpT5OJmZmdx5553WeMCAAWRkZJT5OGebPn06N954I0899ZS1LSMjw3qct9xyC61atbLGb775JuPGjePw4cPlnpuISEXiYOsERESqChcXFxYsWGCN4+PjiYiIoEWLFjRp0qTEtjfddBM33XTTFY951113MWbMGGv8xhtv8OKLL/L+++9f8b4v178dW3BwMD/88AMAJ0+e5NixY5e83zOP1TAMPv30U8aOHcu8efNK7P98LjRuafpfzLp16xg+fDgAr7766hXt60z79u0jOTmZFStWXNF+Jk6cyKRJk7jlllsA2Lx5MxMmTGDVqlVlkeZV9fjjj9O7d+9yHSM9PZ1du3ZZ4zP/b5enn376ibfffpsOHTpY27y8vKzjb9y4kZdffvmq5SMiUlFpRVZEpJwEBwcTHh5OVFQU8+bNY+TIkQwaNIg77riDefPmMWHCBABOnTrFvffeS2RkJBEREXz++edA8SrZDTfcwD333EOvXr1ISEi4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+PQl782bN6egoICcnBzWr19P79698fb2BrDemxobG/uv+/j9998ZPHgwbm5uANx555188sknFBQUANC9e3fs7Ozw8PAgPDz8nHN6of/z/fr1u+RjOlutWrVo1qwZAGFhYXh6euLk5ISfnx/u7u6kp6ezefNmEhISuOuuu6z9TCYT0dHR59wGISJSUamQFREpI2ffI3u207/4nslisWAYxjltpy/XdHJyOm9hAufeI3u+Mc1mMyaTqcRzhmFYxzm70DOZTDg4ODB58mTMZjN9+vThxhtvJC4urkS+Z/azWCwXzPV8Ro0axQsvvICDgwM9e/bE3d29VP0Mw2DPnj3W4um07t27s2zZMtatW8f69ev56KOPmDdv3jn9L/Tannm57dnHdebxny5ezsdisVzwdXdxcbG2m0ymc+bCpe7v3+YYFF8q/fPPP/PYY4/RuXNnOnfuzMMPP8xdd93FsmXLShSbFouFsWPHMnLkSOsxni7GLBYL7733HvXr1weK34TozHzOft3Ovmz51KlTDB8+nFtvvZX27dvTu3dv6yXprVq1YtWqVaxfv54NGzYwbNgwPvvsM1q0aHHB1+RsZ76GhYWFJZ5zdnYGsOZsGAb29vYljiEjI+OCb+p09jk48/8rXPycXuz//JVycnIqEf/bHLdYLFx33XUlLt+Oi4sjKCioTHIQEbkadI+siIgNeXh40Lp1a7777jug+B7E+fPn07lz5zIdp169ejg4OFjvW4yPj2fZsmXWcQ4cOMC+ffsAmD17Nu3bt8fV1ZU///yTBx54gL59+wKwY8cOzGazdb8///wzAHv27CE6OprWrVtfNBd7e/sSBUa7du2ws7Nj5syZF33n4dPMZjMfffQRvr6+dOzYscRzjz76KEuWLKFfv348//zzeHh4EB0dfc64F7J69WrS09Mxm83MmTOHbt26AZRY/dy4caP13sjTx3V2MXLdddfx559/EhMTA8D69euJi4sr1ev0by53fwEBAcyZM6fE/aNpaWnEx8dbV+9O69KlCz/99JP1vuD33nuPxx9/3Prcl19+iWEYFBQUcN999/Htt99a+56+73rPnj0cO3bsnHOze/du/Pz8uP/+++nSpYu1iDWbzbz99tt8/PHH3HzzzTzzzDM0aNCAQ4cOXdLrc+b5OXz4MAcOHLhon86dO7NixQrr8X7wwQd8+eWXODg4YDabzyk6u3btyty5c60ryd988w0dO3Y8p4A8n6v1f/5CrrvuOv766y+OHDkCwNq1a+nfv/85K+wiIhWZVmRFRGzs7bff5qWXXmLevHkUFBQQGRnJ4MGDOXHiRJmN4ejoyMcff8wrr7zCBx98gNls5oEHHqBTp05s3LiRevXq8eGHHxITE4O/vz9vvPEGAI888ggPPPAAbm5ueHh40LFjR6Kjo637jYmJYeDAgZhMJt555x18fHwumkuDBg1wdnZm6NCh/Pjjj5hMJgYPHsySJUsueFnj6cuoTSYTZrOZli1bMmPGjHO2u//++3nmmWeYPXs29vb23HzzzXTs2JH09HTruNOmTbtgjvXr12fChAlkZGTQvn17xo8fD8Bjjz3GCy+8wOzZs2nevDnNmze39rnllluYMmUKL7zwQoljff7553nwwQcxm824uLjwySefnPeS2Yu53P15e3vz1Vdf8X//93+89dZbuLq64uTkxIQJE7juuutKXEY7bNgw4uPjufXWWzGZTISGhlrnwzPPPMOrr75KZGQkhYWFdO7cmbFjx1r7btu2jTlz5mCxWJg2bZr1ct3Trr/+en766Sd69+6NyWTimmuuwc/Pj+PHjzN69GiefPJJIiIicHJyonHjxpd8qe19993Hk08+ydq1a6lXr16Jd/49nxtuuIHDhw9bL5Nv0KABL7/8Mq6urrRq1Yp+/fpZi06AoUOHEhcXx7Bhw7BYLISHh/P2229fUp7n+z9/tTRo0ICXXnqJyZMnYxgGDg4OTJ8+vdRXQ4iIVAQm42LXMYmIiJSjoqIiHnzwQfr3729d+ZXKp3Hjxqxfv956b7GIiEh50qXFIiJiM4cPH+a6667D19e33D8XVERERKoOrciKiIiIiIhIpaIVWREREREREalUVMiKiIiIiIhIpaJCVkRERERERCoVFbIiIiIiIiJSqVTqz5FNTc3GYqle71Xl7+9BcnKWrdMQG9IcEM0B0RwQzYHqTedfqsMcsLMz4et7/s+3rtSFrMViVLtCFqiWxywlaQ6I5oBoDojmQPWm8y/VfQ7o0mIRERERERGpVFTIioiIiIiISKWiQlZEREREREQqFRWyIiIiIiIiUqmokBUREREREZFKRYWsiIiIiIiIVCoqZEVERERERKRSUSErIiIiIiIilUq5FrJZWVlEREQQGxt7znP79u1j8ODB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zGoeWTmZeQMW45zvXeFfX80B0Ryo3nT+pTrMATs70wUXLsvtHtnOnTuzfv16UlJSyM3NZfny5db7YQHatm1LSkoK+/fvB2D16tU0b968vNIRERH5V7sSd3D/yrH8t9c3NPFraut0REREpBRKVciuXr0aw7i0lc/g4GAeeeQR7rzzTgYOHEhERAStWrVi3Lhx7Nq1CxcXFz766COmTp1Kv3792LhxI08++eRlHYSIiMjlOJ4Rxaglt/JWt3fpVKOzrdMRERGRUjIZpahQ7777bo4fP87QoUMZNmxYiTdxsiVdWizVkeaAaA6UjeTcZCJ+voWxLScwpuUEW6dzSTQHRHOgetP5l+owB8rk0uIvvviCL7/8kpycHG699VYefvhh1q9fX2ZJioiIXE05hTncvmQY/er2r3RFrIiIiFzCPbJhYWE88sgjPPnkk+zevZvJkycTGRlZ4iN1REREKroiSxETVtxNfZ+GPNPpeVunIyIiIpehVO9afPz4cebMmcOCBQto3LgxTz/9NN27d2fHjh1MmjSJ1atXl3eeIiIiV8wwDJ76Ywr55nym3fhhiY+FExERkcqjVIXssGHDGDRoEN9++y116tSxtrdt25ZrrrmmvHITEREpUx///QGb4jawePAyHO0dbZ2OiIiIXKZSFbLPPvsskZGRJdrmz5/PwIEDeeONN8olMRERkbK08PDPfLZzOr8MXoGnk5et0xEREZErcMFCdvXq1RQVFfHee+/h4uJi/QieoqIiPvjgAwYOHHg1chQREbkim+I28sTvk5nTfwE1PWvZOh0RERG5QhcsZPft28eGDRtITk7m66+//l8nBwfuuuuu8s5NRETkih1NP8I9y27nw5s+pWVAK1unIyIiImXggoXsAw88wAMPPMB3333HqFGjrlZOIiIiZSIlL5mRi4cypeNT3BTe09bpiIiISBm5YCG7YMECBgwYQH5+Pl988cU5z999993llpiIiMiVyCvKY/SvI+lbL5LRze+xdToiIiJShi5YyB4/fhyAQ4cOXZVkREREyoLFsPDw6vsIcQtlaqcXbJ2OiIiIlLELFrITJ04E4PXXX78qyYiIiJSF1ze+TGxWLHP7L8LOZGfrdERERKSMXbCQPfsjd862aNGiMk1GRETkSn295wsWHvmZJYNX4eLgYut0REREpBxcsJB99tlnr1YeIiIiV2x19Are3PQqiwYtxd/V39bpiIiISDm5YCHr7+9P/fr12bNnz9XKR0RE5LLsTtrFg6sm8EXvWdTzaWDrdERERKQcXbCQfeutt/j000956KGHznnOZDKxatWqcktMRESktE5mneD2X27l9a5vc21oJ1unIyIiIuXsgoXsp59+CsDq1auvSjIiIiKXKrMgg5G/DGNMqwkMaDDY1umIiIjIVXDBQva0nJwcpk+fzl9//YWjoyPdunVj3LhxODk5lXd+IiIi51VoLmTsstF0CL6GB9s8bOt0RERE5Cop1WcSvPjii5w6dYopU6bw8MMPc+jQIV555ZXyzk1EROS8DMPgyT8exWQy8Ua3tzGZTLZOSURERK6SUq3I7t27t8RH7Vx77bUMGDCg3JISERG5mA+2v8v2hG0sHPgrDnal+nEmIiIiVUSpVmS9vb1JS0uzxjk5OXh6epZXTiIiIhc0/9Bcvtj9Gd/1nYOHk34eiYiIVDcX/BP26cuHHRwcGDx4MD179sTOzo7Vq1fToIE+2kBERK6+DXHrefrPKfwYuZBQjxq2TkdERERs4IKFrI+PDwAdOnSgQ4cO1vaIiIhyTUpEROTfHEk7xJild/DRTZ/RPKCFrdMRERERG7lgIfvggw+e97mcnJwyT0ZEROR8knKTuG3xUJ669lm6h91k63RERETEhkr17hgrV67k/fffJycnB8MwsFgspKWlsX379vLOT0REhNyiXO5cMoKBDYZwe7PRtk5HREREbKxUhexbb73FpEmT+P777xk3bhwrV67E3d29vHMTERHBYlh4aNW9hHmF8eS1U22djoiIiFQApXrXYldXV/r27UubNm1wdnbmhRdeYM2aNeWcmoiICLyy4QUScuJ5r8d07Eyl+rElIiIiVVypfiNwdnamoKCAsLAw9u3bh52dnT54XkREyt2Xu2fy67HFfNnnO5ztnW2djoiIiFQQpbq0uEePHowfP54333yT4cOHs3XrVnx9fcs7NxERqcZWHV/O21veYOGgpfi5+Ns6HREREalASlXI3nvvvfTv35/g4GA+/vhjNm/erI/gERGRcrMraScPrb6Xr/p8Tz3v+rZOR0RERCqYUhWyAEeOHOGbb77BwcGBrl274u+vv46LiEjZO5l1gjt+Gc4bXf+PjiHX2jodERERqYBKdY/sJ598wuuvv46Liwt2dnY8++yzfPfdd+Wdm4iIVDOZBRmM/GUYY1vdS/8Gg2ydjoiIiFRQpVqRXbx4MXPmzMHDwwOAe+65h5EjRzJq1KhyTU5ERKqPIksR45bfRYfga3igzURbpyMiIiIVWKnftfjMz4319vbG2VnvHikiImXDMAye+P1RAN7o9rbeGV9EREQu6IIrssuXLwegbt263H///QwbNgx7e3vmz59PixYtrkqCIiJS9X3493tsi9/CokFLcbAr9ds3iIiISDV1wd8WvvnmmxLxF198YX2cnJxcPhmJiEi1suDwPP67awZLBq/Ew8nT1umIiIhIJXBJhWxRURGGYeDo6FiuSYmISPWwKW4jT/3xGHMiFxDqUcPW6YiIiEglUap7ZJOTkxk7dixt2rShVatW3HnnncTHx5d3biIiUoUdTT/CPctu58ObPqVFQEtbpyMiIiKVSKkK2Zdeeok2bdqwbt061q1bR4cOHXjhhRfKOTUREamqUvKSGbl4KI93fJoeYbfYOh0RERGpZEpVyEZFRfHggw/i5eWFr68vEydOJDo6urxzExGRKiivKI/Rv46kX73+3Nn8blunIyIiIpVQqQrZoqIi8vPzrXFubq4+GkFERC6ZxbDw8Or7CHEL5ZlOz9s6HREREamkSvUZB3379uWuu+5i8ODBmEwm5s6dS69evco7NxERqWLe2PgKsVmx/NR/IXamUv0tVUREROQcpSpkH3jgAUJCQvjjjz+wWCwMHjyYoUOHlnduIiJShXy392sWHJnHksGrcHVwtXU6IiIiUomVqpAdPXo0X331FUOGDCnvfEREpApaHb2S1za+xKJBS/F39bd1OiIiIlLJleq6rszMTHJycso7FxERqYJ2Jv7Ng6vG80Xv76jn08DW6YiIiEgVUKoVWVdXV7p3707jxo1xc3Oztn/yySfllpiIiFR+xzOiuH3JcP5zw3tcE3qtrdMRERGRKuKihezBgwe56aab6NKlCyEhIVcjJxERqQJS8pK5bfEQHm73KP3qRdo6HREREalCLljIzp07lzfffJPw8HCio6N5++236dq169XKTUREKqncolzuWDKC3nX7MableFunIyIiIlXMBQvZb775hkWLFhEcHMz27duZNm2aClkREbkgs8XMfSvGEuYZztROL9g6HREREamCLnppcXBwMABt27YlNTW13BMSEZHKyzAMpv71BJkFGczo+YU+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REREREREKhUVsiIiIiIiIlKpqJAVERERERGRSkWFrIiIiIiIiFQqKmRFRERERESkUlEhKyIiIiIiIpWKClkRERERERGpVFTIViAzZsygV69eREZGMn369HOe37dvH4MHD6ZXr14888wzFBUVAXDy5ElGjRpF7969ue+++8jOzr7aqUsZudgcWLFiBZGRkfTr148nn3ySgoICQHOgssvKyiIiIoLY2FgA1q1bR2RkJD179mTatGn/2ud85zwjI4Px48fTp08fRo0aRWJi4lU7Drl8lzMHtmzZwuDBg4mMjOTee+8lPT0d0ByorM6eAwCPP/448+bN+9ftz3eeCwoKmDJlCn369GHQoEEcOXLkquQvV+5S58Dhw4cZMWIE/fv354477uDEiROA5kBldvYcmD17NhEREURGRvLUU09Zf+87U3X+fUCFbAWxbt06Fi1axNy5c5k/fz47duxg+fLlJbaZMmUKzz33HMuWLcMwDObMmQPAiy++yMiRI1m6dCktWrTg448/tsUhyBW62BzIycnhpZde4osvvuCXX34hPz+fn3/+GdAcqMx27NjBbbfdRlRUFAB5eXk8/fTTfPzxxyxZsoTdu3ezdu3ac/qd75y/++67dOjQgV9//ZVhw4bx6quvXs3DkctwuXPgqaee4q233mLRokU0aNCAmTNnApoDldHZcyA+Pp57772XZcuWnbfP+c7zN998g6urK7/++itPP/00Tz311NU4BLlClzMHXnzxRe6//34WLlxI3759eeeddwDNgcrq7Dlw7NgxZs6cyQ8//MDChQuxWCzMmjXrnH7V+fcBFbIVxN69e+nSpQseHh7Y29vTtWtXVq5cybhx49i1axcnTpwgLy+PNm3aADB48GCWLl1KYWEhmzdvplevXiXapfK52Bxwc3Nj9erVBAQEkJubS3JyMl5eXpoDldycOXN4/vnnCQoKAmDnzp2Eh4dTu3ZtHBwciIyMtJ7PZ555hlWrVl3wnK9Zs4bIyEgAIiIi+P333yksLLTBkUlpXc4cAFiyZAkNGjSgsLCQ+Ph4vLy8AM2ByujsObBo0SJuuukm+vTpU2K79957j++//x44/3les2YN/fv3B6Bjx46kpKRw8uTJq3g0cjkuZw588cUXdOvWDYvFwsmTJ0t8D9AcqHzOngNOTk48//zzeHh4YDKZaNSokfU86veBYg62TkCKNW/enNdee40JEybg6urK6tWrMQyD//73vwBs376dwMBA6/aBgYHEx8eTmpqKh4cHDg4OJdql8rnYHABwdHRk7dq1PP744wQFBdGlSxfNgUru7L+QJiQklPi/HhQUZD2fp7dNSEg47zk/s7+DgwMeHh6kpKQQHBxc7scil+dy5gAUfz84cOAAd999Nw4ODkyePPmc/poDlcPZc2Ds2LEAbN26tUT7ww8/bH18vvN89vwJDAzk1KlT1KhRo7zSlzJwOXPAwcGBjIwM+vbtS15eHt988w1w7vcQzYHK4ew5ULNmTWrWrAlASkoK3333Ha+//nqJbav77wNaka0grrvuOgYPHswdd9zB2LFjad++PY6OjtbnLRYLJpPJGhuGgclksn4909mxVA4XmwOn3XDDDWzcuJHu3bvzwgsvaA5UMef7v36mSznnhmFgZ6dv9ZVJaebAaY0bN2bdunXcf//9PPLII/+6jeZA9XD6PJ89X3T+qzYvLy/+/PNP3nnnHe677z7MZrPmQBUTHx/P6NGjGTJkCNdee22J56r77wNV62gqsaysLHr27MmiRYv45ptvcHJyonbt2tbnQ0JCStyknZSURFBQEH5+fmRmZmI2mwFITEy0XpIglcvF5kBaWhp//vmnNY6MjOTAgQOaA1XM2f/X/+18XuicBwUFkZSUBEBRURHZ2dn4+PhcneSlTJRmDuTn57Ny5Upr3L9/fw4cOABoDlQX5zvPwcHBJCQkWLc7/fuCVD1LlizBMAwAunXrRl5eHunp6ZoDVciRI0cYMWIEgwYN4oEHHjjn+er++4AK2QoiNjaW+++/n6KiIjIzM/npp59K3BdRs2ZNnJ2drZeYLFiwgG7duuHo6EiHDh1YsmQJAPPnz6dbt242OQa5MhebA4ZhMGXKFOv9EUuXLqVdu3aaA1VM69atOXbsGMePH8dsNrN48eJzzueFzvkNN9zA/PnzgeJfcjp06PCvK/tScZVmDjg4OPDiiy+ye/duAH799VfatWsHaA5UF+c7zzfccAMLFiwAit/Z2tnZWZeUVlH//e9/WbFiBQAbNmzA19cXPz8/zYEqIisrizFjxvDwww9zzz33/Os21f73AUMqjA8//NDo06eP0bNnT2PWrFmGYRjG2LFjjZ07dxqGYRj79u0zhgwZYvTq1cuYPHmykZ+fbxiGYcTGxhq333670adPH+Oee+4x0tLSbHYMcmUuNgdWrFhhREREGJGRkcYjjzxiZGRkGIahOVAVdO/e3YiJiTEMwzDWrVtnREZGGj179jReffVVw2KxGIZhGE8//bSxcuVKwzDOf85TU1ONCRMmGH379jWGDx9u3adUfJc6BzZv3mwMGjTI6N+/vzFu3DgjLi7OMAzNgcrszDlgGIbxxBNPGHPnzrXG7777rvVnw/nOc15envH4448bffv2NQYOHGjs3r376h6EXJFLmQOHDh0yRowYYfTv398YNWqUcfDgQcMwNAcqu9Nz4IsvvjCaN29u9O/f3/rv3XffNQxDvw+cZjKMf65JEBEREREREakEdGmxiIiIiIiIVCoqZEVERERERKRSUSErIiIiIiIilYoKWREREREREalUVMiKiIiIiIhIpeJg6wRERESqitjYWG655RYaNWpkbTMMgzvvvJOhQ4eyceNG7rzzTgYOHMibb75Zou8dd9zB7t272b59e4n2V155hc2bNwNw5MgRatasiYuLCwDDhw8nKyuL8ePHl/ORiYiIVCwqZEVERMqQi4sLCxYssMbx8fFERETQokULAAIDA/ntt9/Izc3F1dUVgBMnTnDs2LF/3d/UqVOtj3v06MHbb79Ny5Yty/EIREREKj4VsiIiIuUoODiY8PBwoqKi8PX1xcfHh9q1a7Ny5UoiIyMBmD9/PpGRkfzwww+XtO8PPviA1NRUnnvuOXr06EFERAQbNmwgPT2dsWPHsm3bNvbs2YODgwPTp08nODiY+Ph4XnrpJeLi4igsLKRfv37ce++95XHoIiIi5Ub3yIqIiJSj7du3Ex0dTevWra1tAwcOLLFq++uvvxIREXHFY+Xn5zNnzhwefvhhnnvuOUaPHs3ChQsJDQ3l559/BmDKlCkMGTKEefPm8dNPP7Fu3TqWLFlyxWOLiIhcTVqRFRERKUN5eXkMGDAAALPZjK+vL//5z38IDQ0lOjoagO7du/PCCy+QlJTE8ePHqVevHt7e3lc8ds+ePQGoXbs2AQEBNGnSBICwsDDS09PJyclh8+bNpKen89577wGQk5PD/v376du37xWPLyIicrWokBURESlDZ98j+2+cnJzo2bMnv/zyC4cPH2bQoEFlMraTk5P1saOj4znPWywWDMPghx9+sN6fm5KSgrOzc5mMLyIicrXo0mIREREbGDhwID///DObN2+ma9euV2VMDw8P2rRpwxdffAFARkYGt912G6tWrboq44uIiJQVFbIiIiI20LZtW3Jzc+nevTsODlfvAqm3336bHTt2EBkZybBhw4iIiKB///5XbXwREZGyYDIMw7B1EiIiIiIiIiKlpRVZERERERERqVRUyIqIiIiIiEilokJWREREREREKhUVsiIiIiIiIlKpqJAVERERERGRSkWFrIiIiIiIiFQqKmRFRERERESkUlEhKyIiIiIiIpXK/wNO9Ntbd9yuJwAAAABJRU5ErkJggg==\n",
648 | "text/plain": [
649 | ""
650 | ]
651 | },
652 | "metadata": {},
653 | "output_type": "display_data"
654 | }
655 | ],
656 | "source": [
657 | "plt.plot(time_est,sleep_est,color='green',lw=1,label=\"Model\")\n",
658 | "plt.scatter(time,sleep_obs,edgecolor='navy',s=10,alpha=0.1,label='Observations')\n",
659 | "plt.title('Prior Probability Distribution for Sleep as Function of Time');\n",
660 | "plt.legend()\n",
661 | "plt.ylabel('Probability')\n",
662 | "plt.xlabel('PM Time');\n",
663 | "plt.xticks([-60, -30, 0, 30, 60, 90, 120], sleep_labels);"
664 | ]
665 | },
666 | {
667 | "cell_type": "code",
668 | "execution_count": 30,
669 | "id": "189abf70",
670 | "metadata": {},
671 | "outputs": [
672 | {
673 | "name": "stdout",
674 | "output_type": "stream",
675 | "text": [
676 | "9:30 PM probability of being asleep: 4.76%.\n",
677 | "10:00 PM probability of being asleep: 27.34%.\n",
678 | "10:30 PM probability of being asleep: 50.79%.\n"
679 | ]
680 | }
681 | ],
682 | "source": [
683 | "print('9:30 PM probability of being asleep: {:.2f}%.'.\n",
684 | " format(100 * calculate_prior(-30, alpha, beta)))\n",
685 | "print('10:00 PM probability of being asleep: {:.2f}%.'.\n",
686 | " format(100 * calculate_prior(0, alpha, beta)))\n",
687 | "print('10:30 PM probability of being asleep: {:.2f}%.'.\n",
688 | " format(100 * calculate_prior(15, alpha, beta)))"
689 | ]
690 | },
691 | {
692 | "cell_type": "code",
693 | "execution_count": null,
694 | "id": "c85d5d5d",
695 | "metadata": {},
696 | "outputs": [],
697 | "source": []
698 | },
699 | {
700 | "cell_type": "code",
701 | "execution_count": null,
702 | "id": "8f35b47b",
703 | "metadata": {},
704 | "outputs": [],
705 | "source": []
706 | },
707 | {
708 | "cell_type": "code",
709 | "execution_count": null,
710 | "id": "a8231cfa",
711 | "metadata": {},
712 | "outputs": [],
713 | "source": []
714 | }
715 | ],
716 | "metadata": {
717 | "kernelspec": {
718 | "display_name": "Python 3 (ipykernel)",
719 | "language": "python",
720 | "name": "python3"
721 | },
722 | "language_info": {
723 | "codemirror_mode": {
724 | "name": "ipython",
725 | "version": 3
726 | },
727 | "file_extension": ".py",
728 | "mimetype": "text/x-python",
729 | "name": "python",
730 | "nbconvert_exporter": "python",
731 | "pygments_lexer": "ipython3",
732 | "version": "3.8.11"
733 | }
734 | },
735 | "nbformat": 4,
736 | "nbformat_minor": 5
737 | }
738 |
--------------------------------------------------------------------------------