├── .idea
└── modules.xml
├── Can you form a triangle March 5, 2021.ipynb
├── Expected number of flips until N heads March 6 2021.ipynb
├── Is the coin biased March 10 2021.ipynb
├── LICENSE
├── Minimim of two random variables March 3 2021.ipynb
├── README.md
├── Simulating the fair coin with a biased one with March 7 2021.ipynb
├── Unfair Coin March 4 2021.ipynb
├── Which game would you choose March 9 2021.ipynb
└── fair coins and double head coin April 6 2021.ipynb
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Expected number of flips until N heads March 6 2021.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "ExecuteTime": {
7 | "end_time": "2021-03-03T15:06:18.500645Z",
8 | "start_time": "2021-03-03T15:06:18.455823Z"
9 | }
10 | },
11 | "source": [
12 | "sergazy.nurbavliyev@gmail.com © 2021"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "## Expected Number of flips until N heads"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "Question: Assume we have a fair coin. What is the expected number of coin flips needed to get $N$ consecutive heads."
27 | ]
28 | },
29 | {
30 | "cell_type": "markdown",
31 | "metadata": {},
32 | "source": [
33 | "### Intuition"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "Let us solve this for $N=2$ first. Then we will generalize the idea for any $N$. Let $X$ denote the number of flips that we need to get two consecutive heads. Then we want to find $\\mathbb{E}[X]$. We will denote the flip that results in head with $H$ and in tails as $T$. \n",
41 | "Then we can write $\\mathbb{E}[X]$ as:\n",
42 | "\\begin{equation}\n",
43 | "\\mathbb{E}[X]=\\mathbb{P}(H)(1+\\mathbb{E}[X|H])+\\mathbb{P}(T)(1+\\mathbb{E}[X|T])=\\frac{1}{2}(1+\\mathbb{E}[X|H])+\\frac{1}{2}(1+\\mathbb{E}[X|T])\n",
44 | "\\end{equation}\n",
45 | "where we conditioned on our first flip. Note that $\\mathbb{E}[X|T])=\\mathbb{E}[X])$ because after we see tails we need to start over again to see two consecutive heads. Then equation (1) becomes\n",
46 | "\\begin{equation}\n",
47 | "\\mathbb{E}[X]=\\frac{1}{2}(1+\\mathbb{E}[X|H])+\\frac{1}{2}(1+\\mathbb{E}[X])\n",
48 | "\\end{equation}\n",
49 | "Now we need to solve $\\mathbb{E}[X|H]$. We will conditioned further if we can get rid of these terms. Then we have\n",
50 | "\\begin{equation}\n",
51 | "\\mathbb{E}[X|H]=\\mathbb{P}(H)(1+\\mathbb{E}[X|HH])+\\mathbb{P}(T)(1+\\mathbb{E}[X|HT])=\\frac{1}{2}(1+\\mathbb{E}[X|HH])+\\frac{1}{2}(1+\\mathbb{E}[X|HT])\n",
52 | "\\end{equation}\n",
53 | "From here we can see that $\\mathbb{E}[X|HH]=0$ because we already see the pattern, and $\\mathbb{E}[X|HT])=\\mathbb{E}[X])$ since we need to start over again. The equation (3) will be \n",
54 | "\\begin{equation}\n",
55 | "\\mathbb{E}[X|H]=\\frac{1}{2}(1+0)+\\frac{1}{2}(1+\\mathbb{E}[X])=1+\\frac{1}{2}\\mathbb{E}[X]\n",
56 | "\\end{equation}\n",
57 | "So equation (2) will be \n",
58 | "\\begin{equation}\n",
59 | "\\mathbb{E}[X]=\\frac{1}{2}(1+\\mathbb{E}[X|H])+\\frac{1}{2}(1+\\mathbb{E}[X])=\\frac{1}{2}(1+(1+\\frac{1}{2}\\mathbb{E}[X]))+\\frac{1}{2}(1+\\mathbb{E}[X])=\\frac{1}{2}(2+\\frac{1}{2}\\mathbb{E}[X]))+\\frac{1}{2}(1+\\mathbb{E}[X])\n",
60 | "\\end{equation}\n",
61 | "After multiplying by 8 both sides we get\n",
62 | "\\begin{equation}\n",
63 | "8\\mathbb{E}[X]=4(2+\\frac{1}{2}\\mathbb{E}[X]))+4(1+\\mathbb{E}[X])=8+2\\mathbb{E}[X]))+4+4\\mathbb{E}[X])\\Rightarrow 2\\mathbb{E}[X] =12\\Rightarrow \\mathbb{E}[X] =6\n",
64 | "\\end{equation}"
65 | ]
66 | },
67 | {
68 | "cell_type": "markdown",
69 | "metadata": {},
70 | "source": [
71 | "## Theoritical result"
72 | ]
73 | },
74 | {
75 | "cell_type": "markdown",
76 | "metadata": {},
77 | "source": [
78 | "Lets denote $\\mathbb{E}_N$ for $N$ consecutive heads. With the same logic above, if we get one more head after $\\mathbb{E}_{N-1}$, then we are done because we would have $N$ consecutive heads. But if it is a tail then we need to start over again. Thus there are two cases:\n",
79 | "\n",
80 | "If we have a head, $\\mathbb{E}_{N-1}+1$.\n",
81 | "\n",
82 | "If we have a tail, $\\mathbb{E}_{N}+1$.\n",
83 | "\n",
84 | "\\begin{equation}\n",
85 | "\\mathbb{E}_{N}= \\mathbb{P}(H)(\\mathbb{E}_{N-1}+1)+\\mathbb{P}(T)(\\mathbb{E}_{N-1}+\\mathbb{E}_{N}+1)=\\frac{1}{2}(\\mathbb{E}_{N-1}+1)+\\frac{1}{2}(\\mathbb{E}_{N-1}+\\mathbb{E}_{N}+1)\n",
86 | "\\end{equation}\n",
87 | "Multiply by 2 both sides to get \n",
88 | "\\begin{equation}\n",
89 | "\\mathbb{E}_{N}=2\\mathbb{E}_{N-1}+2\n",
90 | "\\end{equation}"
91 | ]
92 | },
93 | {
94 | "cell_type": "markdown",
95 | "metadata": {},
96 | "source": [
97 | "## Python code for simulation"
98 | ]
99 | },
100 | {
101 | "cell_type": "code",
102 | "execution_count": 1,
103 | "metadata": {
104 | "ExecuteTime": {
105 | "end_time": "2021-03-07T08:53:25.752075Z",
106 | "start_time": "2021-03-07T08:53:25.745380Z"
107 | }
108 | },
109 | "outputs": [],
110 | "source": [
111 | "def expect(n):\n",
112 | " if n == 0:\n",
113 | " return 0\n",
114 | "\n",
115 | " return 2*expect(n-1)+2"
116 | ]
117 | },
118 | {
119 | "cell_type": "code",
120 | "execution_count": 2,
121 | "metadata": {
122 | "ExecuteTime": {
123 | "end_time": "2021-03-07T08:53:31.510661Z",
124 | "start_time": "2021-03-07T08:53:31.488678Z"
125 | }
126 | },
127 | "outputs": [
128 | {
129 | "data": {
130 | "text/plain": [
131 | "6"
132 | ]
133 | },
134 | "execution_count": 2,
135 | "metadata": {},
136 | "output_type": "execute_result"
137 | }
138 | ],
139 | "source": [
140 | "expect(2)"
141 | ]
142 | },
143 | {
144 | "cell_type": "code",
145 | "execution_count": 3,
146 | "metadata": {
147 | "ExecuteTime": {
148 | "end_time": "2021-03-07T08:53:38.501694Z",
149 | "start_time": "2021-03-07T08:53:38.490798Z"
150 | }
151 | },
152 | "outputs": [
153 | {
154 | "data": {
155 | "text/plain": [
156 | "14"
157 | ]
158 | },
159 | "execution_count": 3,
160 | "metadata": {},
161 | "output_type": "execute_result"
162 | }
163 | ],
164 | "source": [
165 | "expect(3)"
166 | ]
167 | },
168 | {
169 | "cell_type": "code",
170 | "execution_count": 4,
171 | "metadata": {
172 | "ExecuteTime": {
173 | "end_time": "2021-03-07T08:53:43.391896Z",
174 | "start_time": "2021-03-07T08:53:43.381271Z"
175 | }
176 | },
177 | "outputs": [
178 | {
179 | "data": {
180 | "text/plain": [
181 | "30"
182 | ]
183 | },
184 | "execution_count": 4,
185 | "metadata": {},
186 | "output_type": "execute_result"
187 | }
188 | ],
189 | "source": [
190 | "expect(4)"
191 | ]
192 | },
193 | {
194 | "cell_type": "code",
195 | "execution_count": 5,
196 | "metadata": {
197 | "ExecuteTime": {
198 | "end_time": "2021-03-07T08:53:49.093149Z",
199 | "start_time": "2021-03-07T08:53:49.080439Z"
200 | }
201 | },
202 | "outputs": [
203 | {
204 | "data": {
205 | "text/plain": [
206 | "62"
207 | ]
208 | },
209 | "execution_count": 5,
210 | "metadata": {},
211 | "output_type": "execute_result"
212 | }
213 | ],
214 | "source": [
215 | "expect(5)"
216 | ]
217 | },
218 | {
219 | "cell_type": "code",
220 | "execution_count": 6,
221 | "metadata": {
222 | "ExecuteTime": {
223 | "end_time": "2021-03-07T08:53:58.145446Z",
224 | "start_time": "2021-03-07T08:53:58.132668Z"
225 | }
226 | },
227 | "outputs": [
228 | {
229 | "data": {
230 | "text/plain": [
231 | "4094"
232 | ]
233 | },
234 | "execution_count": 6,
235 | "metadata": {},
236 | "output_type": "execute_result"
237 | }
238 | ],
239 | "source": [
240 | "expect(11)"
241 | ]
242 | },
243 | {
244 | "cell_type": "code",
245 | "execution_count": 7,
246 | "metadata": {
247 | "ExecuteTime": {
248 | "end_time": "2021-03-07T08:54:06.829973Z",
249 | "start_time": "2021-03-07T08:54:06.807643Z"
250 | }
251 | },
252 | "outputs": [
253 | {
254 | "data": {
255 | "text/plain": [
256 | "2535301200456458802993406410750"
257 | ]
258 | },
259 | "execution_count": 7,
260 | "metadata": {},
261 | "output_type": "execute_result"
262 | }
263 | ],
264 | "source": [
265 | "expect(100)"
266 | ]
267 | },
268 | {
269 | "cell_type": "code",
270 | "execution_count": null,
271 | "metadata": {},
272 | "outputs": [],
273 | "source": []
274 | }
275 | ],
276 | "metadata": {
277 | "author": "g",
278 | "hide_input": false,
279 | "kernelspec": {
280 | "display_name": "Python 3",
281 | "language": "python",
282 | "name": "python3"
283 | },
284 | "language_info": {
285 | "codemirror_mode": {
286 | "name": "ipython",
287 | "version": 3
288 | },
289 | "file_extension": ".py",
290 | "mimetype": "text/x-python",
291 | "name": "python",
292 | "nbconvert_exporter": "python",
293 | "pygments_lexer": "ipython3",
294 | "version": "3.7.5"
295 | },
296 | "latex_envs": {
297 | "LaTeX_envs_menu_present": true,
298 | "autoclose": false,
299 | "autocomplete": true,
300 | "bibliofile": "biblio.bib",
301 | "cite_by": "apalike",
302 | "current_citInitial": 1,
303 | "eqLabelWithNumbers": true,
304 | "eqNumInitial": 1,
305 | "hotkeys": {
306 | "equation": "Ctrl-E",
307 | "itemize": "Ctrl-I"
308 | },
309 | "labels_anchors": false,
310 | "latex_user_defs": false,
311 | "report_style_numbering": false,
312 | "user_envs_cfg": false
313 | }
314 | },
315 | "nbformat": 4,
316 | "nbformat_minor": 4
317 | }
318 |
--------------------------------------------------------------------------------
/Is the coin biased March 10 2021.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "ExecuteTime": {
7 | "end_time": "2021-03-03T15:06:18.500645Z",
8 | "start_time": "2021-03-03T15:06:18.455823Z"
9 | }
10 | },
11 | "source": [
12 | "sergazy.nurbavliyev@gmail.com © 2021"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "## Is the coin biased?"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "Question: A coin is flipped 1000 times and 560 times heads show up. Do you think the coin is biased?\n",
27 | "\n",
28 | "\n",
29 | "https://stats.stackexchange.com/questions/282786/a-job-interview-question-on-flipping-a-coin"
30 | ]
31 | },
32 | {
33 | "cell_type": "markdown",
34 | "metadata": {},
35 | "source": [
36 | "## Answer"
37 | ]
38 | },
39 | {
40 | "cell_type": "markdown",
41 | "metadata": {},
42 | "source": [
43 | "It is already answered pretty nice in the stackexchange website where I give the link above. I would definitely try exactly the same way. \n",
44 | "\n",
45 | "Since the 1000 sample size is large enough, we can apply the Central Limit Theorem. Assume probability of head is $p$ and probability of tails as $q$. Note $p+q=1$. We want to know if $p=1/2$ or not. \n",
46 | "\n",
47 | "Assuming each trial are independent of each other, if $p=1/2$ then we should have expected to see 500 heads.\n",
48 | "and the variance is given by:\n",
49 | "\\begin{equation}\n",
50 | "\\sigma^2= np(1-p)=1000\\frac{1}{2}\\frac{1}{2}=250 \n",
51 | "\\end{equation}\n",
52 | "then the standard deviation would be $\\sqrt{250}=15.81$. Remembering the 68-95-99.7 rule for a Normal Distribution\n",
53 | "we can calculate the z-score for 560 heads:\n",
54 | "\\begin{equation}\n",
55 | "z = \\frac{560-500}{15.81}=3.79\n",
56 | "\\end{equation}\n",
57 | "Remember that 99.7% of the data lies within 3 standard deviation (15.81) of the mean 500. However, we see that here z lies outside of the 99.7%. In other words, if our coin was fair, then probibility of seeing 560 heads is less than 0.03. This means that, most probably our coin is biased coin."
58 | ]
59 | },
60 | {
61 | "cell_type": "code",
62 | "execution_count": 6,
63 | "metadata": {
64 | "ExecuteTime": {
65 | "end_time": "2021-03-11T05:34:36.267381Z",
66 | "start_time": "2021-03-11T05:34:36.234937Z"
67 | }
68 | },
69 | "outputs": [
70 | {
71 | "data": {
72 | "text/plain": [
73 | "3.794733192202055"
74 | ]
75 | },
76 | "execution_count": 6,
77 | "metadata": {},
78 | "output_type": "execute_result"
79 | }
80 | ],
81 | "source": [
82 | "60/250**(1/2)"
83 | ]
84 | },
85 | {
86 | "cell_type": "code",
87 | "execution_count": null,
88 | "metadata": {},
89 | "outputs": [],
90 | "source": [
91 | "60"
92 | ]
93 | },
94 | {
95 | "cell_type": "markdown",
96 | "metadata": {},
97 | "source": [
98 | "## Python code for simulation"
99 | ]
100 | },
101 | {
102 | "cell_type": "code",
103 | "execution_count": 45,
104 | "metadata": {
105 | "ExecuteTime": {
106 | "end_time": "2021-03-11T06:06:42.488879Z",
107 | "start_time": "2021-03-11T06:06:40.983592Z"
108 | }
109 | },
110 | "outputs": [],
111 | "source": [
112 | "import random\n",
113 | "trial_list= [sum([random.randint(0,1) for i in range(1000)]) for j in range(1000)]"
114 | ]
115 | },
116 | {
117 | "cell_type": "code",
118 | "execution_count": 46,
119 | "metadata": {
120 | "ExecuteTime": {
121 | "end_time": "2021-03-11T06:06:43.395435Z",
122 | "start_time": "2021-03-11T06:06:43.223981Z"
123 | }
124 | },
125 | "outputs": [
126 | {
127 | "data": {
128 | "image/png": "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\n",
129 | "text/plain": [
130 | ""
131 | ]
132 | },
133 | "metadata": {
134 | "needs_background": "light"
135 | },
136 | "output_type": "display_data"
137 | }
138 | ],
139 | "source": [
140 | "from matplotlib import pyplot as plt\n",
141 | "plt.plot(trial_list)\n",
142 | "plt.axhline(y=560, color='r', linestyle='-')\n",
143 | "plt.show()"
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": null,
149 | "metadata": {},
150 | "outputs": [],
151 | "source": []
152 | },
153 | {
154 | "cell_type": "code",
155 | "execution_count": null,
156 | "metadata": {},
157 | "outputs": [],
158 | "source": []
159 | }
160 | ],
161 | "metadata": {
162 | "author": "g",
163 | "hide_input": false,
164 | "kernelspec": {
165 | "display_name": "Python 3",
166 | "language": "python",
167 | "name": "python3"
168 | },
169 | "language_info": {
170 | "codemirror_mode": {
171 | "name": "ipython",
172 | "version": 3
173 | },
174 | "file_extension": ".py",
175 | "mimetype": "text/x-python",
176 | "name": "python",
177 | "nbconvert_exporter": "python",
178 | "pygments_lexer": "ipython3",
179 | "version": "3.7.5"
180 | },
181 | "latex_envs": {
182 | "LaTeX_envs_menu_present": true,
183 | "autoclose": false,
184 | "autocomplete": true,
185 | "bibliofile": "biblio.bib",
186 | "cite_by": "apalike",
187 | "current_citInitial": 1,
188 | "eqLabelWithNumbers": true,
189 | "eqNumInitial": 1,
190 | "hotkeys": {
191 | "equation": "Ctrl-E",
192 | "itemize": "Ctrl-I"
193 | },
194 | "labels_anchors": false,
195 | "latex_user_defs": false,
196 | "report_style_numbering": false,
197 | "user_envs_cfg": false
198 | }
199 | },
200 | "nbformat": 4,
201 | "nbformat_minor": 4
202 | }
203 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Sergazy Nurbavliyev
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Minimim of two random variables March 3 2021.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "ExecuteTime": {
7 | "end_time": "2021-03-03T15:06:18.500645Z",
8 | "start_time": "2021-03-03T15:06:18.455823Z"
9 | }
10 | },
11 | "source": [
12 | "sergazy.nurbavliyev@gmail.com © 2021"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "## Minimum of two random variables"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "Question: Assume we have $X \\sim Uniform(0, 1)$ and $Y \\sim Uniform(0,1)$ and independent of each other. What is the expected value of the minimum of $X$ and $Y$?\n"
27 | ]
28 | },
29 | {
30 | "cell_type": "markdown",
31 | "metadata": {},
32 | "source": [
33 | "### Intuition"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "Before going to show the exact theoretical result, we can think heuristically,we have two uniform random variables that are independent of each other, we would expect two of these random variables to divide the interval (0,1) equally into 3 equal subintervals. Then the minimum would occur at 1/3 and the other one (which is maximum in this case) occurs at 2/3. We can even generalize our intuition for $n$ independent uniform random variables. In that case minimum would occur at $1/(n+1)$ and maximum would occur at $n/(n+1)$. Now let us verify intution theoretically. "
41 | ]
42 | },
43 | {
44 | "cell_type": "markdown",
45 | "metadata": {},
46 | "source": [
47 | "### Theoritical result"
48 | ]
49 | },
50 | {
51 | "cell_type": "markdown",
52 | "metadata": {},
53 | "source": [
54 | "Let $Z$ be minimum of X and Y. We write this as $Z=\\min(X,Y)$. \n",
55 | "\\begin{equation}\n",
56 | "\\mathbb{P}(Z\\leq z)= \\mathbb{P}(\\min(X,Y)\\leq z) =1-\\mathbb{P}(\\min(X,Y)\\geq z)=1-\\mathbb{P}(X> z, Y>z)\n",
57 | "\\end{equation}\n",
58 | "Since our distribution is between 0 and 1 the following is true for uniform distribution\n",
59 | "\\begin{equation}\n",
60 | "\\mathbb{P}(X\\leq z)= z \\text{ and } \\mathbb{P}(X> z)=1- z \n",
61 | "\\end{equation}\n",
62 | "Also same goes for $Y$. Now since they are independent we have\n",
63 | "\\begin{equation}\n",
64 | "\\mathbb{P}(X> z, Y>z)=\\mathbb{P}(X> z)\\mathbb{P}(Y>z)=(1-z)^{2}\n",
65 | "\\end{equation}\n",
66 | "Then equation (1) becomes\n",
67 | "\\begin{equation}\n",
68 | "\\mathbb{P}(Z\\leq z)=1-\\mathbb{P}(X> z, Y>z)=1-(1-z)^{2}\n",
69 | "\\end{equation}\n",
70 | "We just calculated cumulative distribution function of $z$. Usually denoted as \n",
71 | "\\begin{equation}\n",
72 | "F_{Z}(z)= \\mathbb{P}(Z\\leq z)\n",
73 | "\\end{equation}\n",
74 | "If we take derivative of this $ F_{Z}(z)$, we will get density function of z. In this case it would be\n",
75 | "\\begin{equation}\n",
76 | "F_{Z}'(z)=f_Z(z)=2(1-z)\n",
77 | "\\end{equation}\n",
78 | "As last part we would take integral of $zf_Z(z)$ between 0 and 1 to find an expected value of minimum of two uniform random variables.\n",
79 | "\\begin{equation}\n",
80 | "\\mathbb{E}[Z]=\\int_{0}^1 zf_Z(z)dz=\\int_{0}^1 2z(1-z)dz=2\\left(\\frac{1}{2}-\\frac{1}{3}\\right)=\\frac{1}{3}\n",
81 | "\\end{equation}"
82 | ]
83 | },
84 | {
85 | "cell_type": "code",
86 | "execution_count": 35,
87 | "metadata": {
88 | "ExecuteTime": {
89 | "end_time": "2021-03-03T17:11:24.658749Z",
90 | "start_time": "2021-03-03T17:11:24.610712Z"
91 | }
92 | },
93 | "outputs": [],
94 | "source": [
95 | "# If you are allowed to use any programming language then you can simulate.\n",
96 | "import numpy as np\n",
97 | "x = np.random.uniform(0,1,100000)\n",
98 | "y = np.random.uniform(0,1,100000)\n",
99 | "z =np.minimum(x,y)\n",
100 | "u =np.maximum(x,y)"
101 | ]
102 | },
103 | {
104 | "cell_type": "code",
105 | "execution_count": 40,
106 | "metadata": {
107 | "ExecuteTime": {
108 | "end_time": "2021-03-03T17:11:55.696036Z",
109 | "start_time": "2021-03-03T17:11:55.677315Z"
110 | }
111 | },
112 | "outputs": [
113 | {
114 | "data": {
115 | "text/plain": [
116 | "(0.33389155844548174, 0.6670118602826249)"
117 | ]
118 | },
119 | "execution_count": 40,
120 | "metadata": {},
121 | "output_type": "execute_result"
122 | }
123 | ],
124 | "source": [
125 | "np.mean(z), np.mean(u) # as you can see z is very close to 1/3"
126 | ]
127 | },
128 | {
129 | "cell_type": "markdown",
130 | "metadata": {},
131 | "source": [
132 | "### To see the histogram of Z and U"
133 | ]
134 | },
135 | {
136 | "cell_type": "code",
137 | "execution_count": 37,
138 | "metadata": {
139 | "ExecuteTime": {
140 | "end_time": "2021-03-03T17:11:26.933320Z",
141 | "start_time": "2021-03-03T17:11:26.140630Z"
142 | }
143 | },
144 | "outputs": [
145 | {
146 | "data": {
147 | "image/png": "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\n",
148 | "text/plain": [
149 | ""
150 | ]
151 | },
152 | "metadata": {
153 | "needs_background": "light"
154 | },
155 | "output_type": "display_data"
156 | }
157 | ],
158 | "source": [
159 | "import matplotlib.pyplot as plt\n",
160 | "count, bins, ignored = plt.hist(z, 100, density=True)\n",
161 | "plt.plot(bins, np.ones_like(bins), linewidth=2, color='r')\n",
162 | "plt.show()"
163 | ]
164 | },
165 | {
166 | "cell_type": "code",
167 | "execution_count": 38,
168 | "metadata": {
169 | "ExecuteTime": {
170 | "end_time": "2021-03-03T17:11:28.488465Z",
171 | "start_time": "2021-03-03T17:11:26.943898Z"
172 | }
173 | },
174 | "outputs": [
175 | {
176 | "data": {
177 | "image/png": "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\n",
178 | "text/plain": [
179 | ""
180 | ]
181 | },
182 | "metadata": {
183 | "needs_background": "light"
184 | },
185 | "output_type": "display_data"
186 | }
187 | ],
188 | "source": [
189 | "import matplotlib.pyplot as plt\n",
190 | "count, bins, ignored = plt.hist(u, 100, density=True)\n",
191 | "plt.plot(bins, np.ones_like(bins), linewidth=2, color='r')\n",
192 | "plt.show()"
193 | ]
194 | },
195 | {
196 | "cell_type": "code",
197 | "execution_count": null,
198 | "metadata": {},
199 | "outputs": [],
200 | "source": []
201 | },
202 | {
203 | "cell_type": "code",
204 | "execution_count": null,
205 | "metadata": {},
206 | "outputs": [],
207 | "source": []
208 | }
209 | ],
210 | "metadata": {
211 | "author": "g",
212 | "hide_input": false,
213 | "kernelspec": {
214 | "display_name": "Python 3",
215 | "language": "python",
216 | "name": "python3"
217 | },
218 | "language_info": {
219 | "codemirror_mode": {
220 | "name": "ipython",
221 | "version": 3
222 | },
223 | "file_extension": ".py",
224 | "mimetype": "text/x-python",
225 | "name": "python",
226 | "nbconvert_exporter": "python",
227 | "pygments_lexer": "ipython3",
228 | "version": "3.7.5"
229 | },
230 | "latex_envs": {
231 | "LaTeX_envs_menu_present": true,
232 | "autoclose": false,
233 | "autocomplete": true,
234 | "bibliofile": "biblio.bib",
235 | "cite_by": "apalike",
236 | "current_citInitial": 1,
237 | "eqLabelWithNumbers": true,
238 | "eqNumInitial": 1,
239 | "hotkeys": {
240 | "equation": "Ctrl-E",
241 | "itemize": "Ctrl-I"
242 | },
243 | "labels_anchors": false,
244 | "latex_user_defs": false,
245 | "report_style_numbering": false,
246 | "user_envs_cfg": false
247 | }
248 | },
249 | "nbformat": 4,
250 | "nbformat_minor": 4
251 | }
252 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Repo name is probability_stats_interveiw_questions, but it includes all ML, SQL and product questions as well.
2 |
3 |
4 |
5 | In this repository, I will try to solve interview questions that are mostly about probability theory, statistics, ML/DL/RL, SQL and Products and mostly asked by FAANGM(T) and some other big companies.
6 | 1. Minimum of two uniform random variables
7 | 2. Detecting Unfair coin
8 | 3. Can you form a triangle ?
9 | 4. Expected Number of flips until N heads
10 | 5. Simulating a Fair Coin with a Biased Coin
11 | 6. Which game you would choose?
12 | 7. Is the coin biased?
13 | 8. Fair coins and double headed coin
14 |
15 | ## Probability
16 | #### Difficulties: Easy, Medium, Hard, Extremely Hard.
17 | 1. Minimum of two uniform random variables:
18 |
19 | This problem was asked by Google. Probability, Medium
20 |
21 | Say we have X ~ Uniform(0, 1) and Y ~ Uniform(0, 1). What is the expected value of the minimum of X and Y?
22 |
23 | 2. Is this coin biased ?
24 |
25 | This problem was asked by Google. Probability, Medium.
26 |
27 | A coin was flipped 1000 times, and 550 times it showed heads. Do you think the coin is biased? Why or why not?
28 |
29 | 3. Forming a triangle
30 |
31 | This problem was asked by Google. Probability, Medium.
32 |
33 | Assume you have a stick of length 1 and you break it uniformly at random into three parts. What is the probability that the three parts form a triangle?
34 |
35 | 4. Flip until 2 heads
36 |
37 | This problem was asked by Lyft. Probability, Medium.
38 |
39 | What is the expected number of coin flips needed to get two consecutive heads?
40 |
41 |
42 | 5. Fair odds from unfair coin
43 |
44 | This problem was asked by Airbnb. Probability, Medium.
45 |
46 | Say you are given an unfair coin, with an unknown bias towards heads or tails. How can you generate fair odds using this coin?
47 |
48 |
49 |
50 | 6. Ant collision
51 |
52 | This problem was asked by Facebook. Probability, Medium.
53 |
54 | Three ants are sitting at the corners of an equilateral triangle. Each ant randomly picks a direction and starts moving along the edge of the triangle. What is the probability that none of the ants collide? Now, what if it is k ants on all k corners of an equilateral polygon?
55 |
56 |
57 | 7. Number of cards before an Ace
58 |
59 | This problem was asked by Lyft. Probability, Medium.
60 |
61 | How many cards would you expect to draw from a standard deck before seeing the first ace?
62 |
63 | 8. First to roll side K
64 |
65 | This problem was asked by Lyft. Probability, Medium.
66 |
67 | A and B are playing the following game: a number k from 1-6 is chosen, and A and B will toss a die until the first person sees the side k, and that person gets $100. How much is A willing to pay to play first in this game?
68 |
69 | 9. Flipping game
70 |
71 | This problem was asked by Facebook. Probability, Easy.
72 |
73 | You and your friend are playing a game. The two of you will continue to toss a coin until the sequence HH or TH shows up. If HH shows up first, you win. If TH shows up first, your friend wins. What is the probability of you winning?
74 |
75 | 10. Labeling content
76 |
77 | This problem was asked by Facebook. Probability, Easy.
78 |
79 | Facebook has a content team that labels pieces of content on the platform as spam or not spam. 90% of them are diligent raters and will label 20% of the content as spam and 80% as non-spam. The remaining 10% are non-diligent raters and will label 0% of the content as spam and 100% as non-spam. Assume the pieces of content are labeled independently from one another, for every rater. Given that a rater has labeled 4 pieces of content as good, what is the probability that they are a diligent rater?
80 | 11. Max dice roll
81 |
82 | This problem was asked by Spotify. Probability, Medium.
83 |
84 | A fair die is rolled n times. What is the probability that the largest number rolled is r, for each r in 1..6?
85 |
86 | 12. Mutual best friends
87 |
88 | This problem was asked by Snapchat. Probability, Hard.
89 |
90 | There are two groups of n Snapchat users, A and B, and each user in A is friends with those in B and vice versa. Each user in A will randomly choose a user in B as their best friend and each user in B will randomly choose a user in A as their best friend. If two people have chosen each other, they are mutual best friends. What is the probability that there will be no mutual best friendships?
91 |
92 | 13. Increase dice order
93 |
94 | This problem was asked by Uber. Probability, Medium.
95 |
96 | Say you roll three dice, one by one. What is the probability that you obtain 3 numbers in a strictly increasing order?
97 |
98 | 14. First toss
99 |
100 | This problem was asked by Lyft. Probability, Medium.
101 |
102 | A fair coin is tossed n times. Given that there were k heads in the n tosses, what is the probability that the first toss was heads?
103 |
104 |
105 | 15. Coin recursion
106 |
107 | This problem was asked by Robinhood. Probability, Medium
108 | A biased coin, with probability p of landing on heads, is tossed n times. Write a recurrence relation for the probability that the total number of heads after n tosses is even.
109 |
110 | 16. Random testing
111 |
112 | This problem was asked by Lyft. Probability, Easy.
113 |
114 | Say that you are pushing a new feature X out. You have 1000 users and each user is either a fan or not a fan of X, at random. There are 50 users out of 1000 that do not like X. You will decide whether to ship the feature or not, based on sampling 5 users independently and if they all like the feature, you will ship it. What is the probability that you will ship the feature?
115 |
116 | 17. Game series
117 |
118 | This problem was asked by Facebook. Probability, Medium.
119 |
120 | Alice and Bob are playing a new Facebook game together. They play a series of rounds until one of them wins two more rounds than the other. With probability p, Alice will win each round. What is the probability that Bob wins the overall series?
121 |
122 | 18. User virality
123 |
124 | This problem was asked by Snapchat. Probability, Medium
125 |
126 | You are analyzing the probability of failure or success of a small social media app competitor. Using some initial data, you estimate that at any step, if there is 1 user then after a day there is a 1/12 chance there will be 0 users, 5/12 chance there will be 1 user, and 1/2 chance there will be 2 users. Say the app starts with one user on day 1. What is the probability that the app will eventually have no users?
127 |
128 | 19. Replacement frequence.
129 |
130 | This problem was asked by Tesla. Probability, Hard.
131 |
132 | Suppose there is a new vehicle launch upcoming. Initial data suggests that any given day there is either a malfunction with some part of the vehicle or possibility of a crash, with probability p which then requires a replacement. Additionally, each vehicle that has been around for n days must be replaced. What is the long-term frequency of vehicle replacements?
133 |
134 |
135 | 20. Favorite show
136 |
137 | This problem was asked by Disney. Probability, Medium
138 |
139 | Alice and Bob are choosing their top 3 shows from a list of 50 shows. Assume that they choose independently of one another. Being relatively new to Hulu, assume also that they choose randomly within the 50 shows. What is the expected number of shows they have in common, and what is the probability that they do not have any shows in common?
140 | 21. Different Dice rolls
141 |
142 | This problem was asked by Facebook. Probability, Easy.
143 |
144 | Say you roll three dice and observe the sum of the three rolls. What is the probability that the sum of the outcomes is 12, given that the three rolls are different?
145 |
146 | 22. Mean roll times
147 |
148 | This problem was asked by Lyft. Probability, Medium
149 |
150 | Suppose you roll a fair die n times, where n is very large. What is the average time between occurrences of a given number?
151 | 23. Fan groups
152 |
153 | This problem was asked by Snapchat. Probability, Easy.
154 |
155 | You are testing a new feature with various sample groups of three people. Assume that each person is equally likely to be a fan or not a fan of the feature. What is the probability that a randomly chosen group has exactly one fan, given that there is a fan among the three?
156 | 24. Waiting time
157 |
158 | This problem was asked by Twilio. Probability, Easy.
159 |
160 | You are modeling the wait time a customer has for a support call as exponentially distributed with a mean of 10 minutes. Suppose a customer calls in and is told that all lines are currently busy, and the most recent last spot was occupied 5 minutes ago. What is the probability that the current customer will need to wait no more than another 5 minutes?
161 |
162 |
163 |
164 | 25. Hit shows
165 |
166 | This problem was asked by Netflix. Probability, Hard.
167 |
168 | Before a show is released, it is shown to several in-house raters. You assume there are two types of shows: hits, which have an 80% chance of being liked by any viewer, and misses, which have a 20% chance of being liked by any viewer. There is currently a new show which you believe has a prior distribution of 60% being a hit, and 40% being a miss. Given that 8 raters rated the show and 6 of the 8 liked the show, what is the new posterior distribution of being a hit or miss?
169 | 26. Random groups
170 |
171 | This problem was asked by Snapchat. Probability, Easy.
172 |
173 | Say we have M users and N groups that we want to assign users into. Define a group as having at least one or more users. How many N-user groups can be made using the M users?
174 |
175 | 27. First to pick
176 |
177 | This problem was asked by Facebook. Probability, Medium.
178 |
179 | Two people are picking random numbers among a set of M odd numbers and N even numbers without replacement. The first person to pick an even number wins. What is the probability that the first person who picks wins?
180 |
181 | 28. API availability
182 |
183 | This problem was asked by Twilio. Probability, Easy.
184 |
185 | Say we have N servers running to serve APIs, each of which has an uptime with probability p at any given time. Assume each server is up independently of other servers. A customer will always get an eventually valid API response if there are at least M of the N servers up. What is the probability that at any given time, a customer will not get an eventually valid API response?
186 |
187 |
188 |
189 | 29. Card colors
190 |
191 | This problem was asked by Facebook. Probability, Easy.
192 |
193 | Say you have a deck of 50 cards with 5 different colors, and 10 cards of each color. What is the probability that two cards you pick at random do not have the same color and are also not the same number?
194 | 30. Default time
195 |
196 | This problem was asked by Stripe. Probability, Easy.
197 |
198 | You are modeling time until default as an exponentially distributed random variable on a weekly basis. Say you have a given customer where you determine their chance of default within the next week is 0.4. What is that customer's probability of default within the next two weeks?
199 |
200 | 31. Monthly actives
201 |
202 | This problem was asked by Snapchat. Probability, Easy.
203 |
204 | Say you are analyzing the current set of monthly active users (MAUs). Suppose that if a user is currently a MAU, then the probability they will be a MAU next month is 0.9. Additionally, if a user is not currently a MAU then the probability that they will not be one next month is 0.7. In the long fraction what fraction of the current MAUs will still be MAUs?
205 |
206 | 32. Back and forth
207 |
208 | This problem was asked by Lyft. Probability, Easy.
209 | A and B are playing a game where they take turns flipping a biased coin, with the probability of landing on heads (and winning) as p. Player A starts the game and they pass the coin back and forth until one person flips heads and wins. What is the probability that A wins?
210 |
211 | 33. Filtering normal
212 |
213 | This problem was asked by Quora. Probability, Medium.
214 |
215 | Say you have N i.i.d. draws of a normal distribution with parameters μ and σ. What is the probability that k of those draws are larger than some value Y?
216 |
217 |
218 | 34. More likely outcome
219 |
220 | This problem was asked by Uber. Probability, medium
221 |
222 | A fair coin is tossed twice, and you have to decide whether it is more likely that two heads showed up given that either a) at least one toss was heads, and b) the second toss was heads. Does your answer change if the coin is unfair?
223 |
224 |
225 | 35. Full delivery
226 |
227 | This problem was asked by DoorDash. Probability, Medium.
228 |
229 | There are n of the same meals to be delivered at k delivery spots. Each meal is assigned a delivery spot at random, and the delivery driver will only stop at a delivery spot if there is a meal to be delivered there. What is the probability that the delivery driver will make a full k stops?
230 |
231 | 36. User threshold
232 |
233 | This problem was asked by Snapchat. Probability, Medium.
234 |
235 | Suppose that you are monitoring the number of daily active users (DAUs) on a daily basis. You determine that on any given day, that population follows a binomial random variable with a certain mean and variance and the population on each day is independent of other days. You set an alert threshold for this week whereby you want to be notified if the population falls below 0.9 * its mean. What is the probability that your alert will go off?
236 |
237 | 37. Empty topic
238 |
239 | This problem was asked by Twitter. Probability, Medium.
240 |
241 | There are n users and there are k topics. Assume that they select independently, and select a topic completely at random. What is the probability that exactly one topic will have nobody choosing it?
242 |
243 |
244 |
245 |
246 | 38. Political groups
247 |
248 | This problem was asked by Twitter. Probability, Medium.
249 |
250 | Say you have a large group of people, each is affiliated as either a Republican or a Democrat. Specifically, there are k groups and each group has R Republicans and D Democrats. At random, a person from group 1 is chosen and sent to group 2, then a person from group 2 is chosen and sent to group 3, etc. Finally, a random person is chosen from group k. What is the probability that the given person is a Republican?
251 |
252 | 39. Dice re-roll
253 |
254 | This problem was asked by JP Morgan. Probability, Easy.
255 |
256 | Say you are playing a game where you roll a 6-sided dice up to two times, where you can choose to stop at the end of first roll if you wish. You will get a dollar amount equal to the final rolled amount. How much are you willing to pay to play this game?
257 |
258 | 40. Going to 7.
259 |
260 | This problem was asked by Google. Probability, Easy.
261 |
262 | Say that two teams are playing a series in which each team has a 50% chance of winning any given round. What is the probability that the series will go to 7 games?
263 |
264 | 41. Gender guess
265 |
266 | This problem was asked by D.E. Shaw. Probability, Easy.
267 |
268 | Suppose you call a random person and ask if they have two children. The person says yes they have two children. You find out that one of their children is a boy - what is the probability that the second child is also a boy?
269 |
270 | 42. Chance of rain
271 | This problem was asked by Microsoft. Probability, easy
272 | Three friends in Seattle each told you it’s rainy, and each person has a 1/3 probability of lying. What is the probability that Seattle is rainy? Assume the probability of rain on any given day is 0.25.
273 |
274 |
275 |
276 | 41. Amoeba Survival
277 |
278 | This problem was asked by Goldman Sachs. Probability, easy
279 | Say you have a jar and it has a single amoeba in it to begin. At every minute, the amoeba has a 1 in 4 chance of doing one of four things: 1) dying out, 2) doing nothing, 3) splitting into 2. What is the probability that there will no amoeba eventually?
280 | 42. Counting paths
281 | This problem was asked by JP Morgan. Probability, easy
282 | Imagine you are in a 3D space. From (0,0,0) to (3,3,3), how many paths are there if you can only move up, right, and forward?
283 |
284 | 43. User transition
285 | This problem was asked by Pinterest. Probability, easy
286 | Suppose that you are modeling the monthly active status of a user. At every month, with probability p if the user was a monthly active, then the user will not monthly active user the next month. What is the probability that an arbitrary user will be a monthly active user after two months?
287 |
288 | 44. Subsequence chance.
289 |
290 | This problem was asked by Lyft. Probability, medium
291 | What is the probability that in a random sequence of H's and T's that HHT shows up before HTT?
292 |
293 | 45. Double draw
294 |
295 | This problem was asked by Zenefits. Probability, easy
296 | Say that you have a deck of 100 cards with values from 1 to 100, and draw two cards at random without replacement. What is the probability that one card is exactly double the other?
297 |
298 |
299 | 46. Consecutive sixes
300 |
301 | This problem was asked by JP Morgan. Probability, easy
302 | Say you roll a dice three times. What is the probability of getting two sixes in a row?
303 |
304 | 47. Colored Cubes
305 |
306 | This problem was asked by SIG. Probability, medium
307 | Suppose you are given a white cube that is broken into 3x3x3 = 27 pieces. However, before doing so, all 6 faces of the cube were painted green. You randomly pick a small cube and see that 5 faces are white. What is the probability that the bottom face is also white?
308 |
309 | 48. Random drawer
310 |
311 | This problem was asked by J.P. Morgan. Probability, easy
312 | There are 8 drawers. With probability 1/2, somebody put a letter in one of the drawers. With probability 1/2, that person did not don't put a letter in any drawer. You open the first 7 drawers, and find that they are all empty. What is the probability the 8th drawer has a letter in it?
313 |
314 |
315 | ## Statistics
316 |
317 |
318 | 1. Unfair Coin:
319 | This problem was asked by Facebook. Statistics, Medium
320 |
321 | There is a fair coin (one side heads, one side tails) and an unfair coin (both sides tails).
322 | You pick one at random, flip it 5 times, and observe that it comes up as tails all five times. What is the chance that you are flipping the unfair coin?
323 |
324 | 2. Ranking List of shows:
325 |
326 | This problem was asked by Netflix. Product/Statistics, Medium
327 | How would you design a metric to compare rankings of lists of shows for a given user?
328 |
329 | 3. Unbaised and consistency
330 | This problem was asked by Google. Statistics
331 | What does it mean for an estimator to be unbiased? What about consistent? Give examples of an unbiased but not consistent estimator, as well as a biased but consistent estimator.
332 |
333 | 4. p-value
334 |
335 | This problem was asked by Airbnb. Statistics
336 |
337 | How can you decide how long to run an experiment? What are some problems with just using a fixed p-value threshold and how do you work around them?
338 |
339 |
340 | 5. Picking between two dice games
341 | This problem was asked by Facebook., Statistics, hard
342 | There are two games involving dice that you can play. In the first game, you roll two die at once and get the dollar amount equivalent to the product of the rolls. In the second game, you roll one die and get the dollar amount equivalent to the square of that value. Which has the higher expected value and why?
343 |
344 |
345 | 6. Correlated predictors
346 |
347 | This problem was asked by Google. Statistics , medium
348 | Say you are running a multiple linear regression and believe there are several predictors that are correlated. How will the results of the regression be affected if they are indeed correlated? How would you deal with this problem?
349 |
350 | 7. MLE vs MAP
351 |
352 | This problem was asked by Netflix. Statistics, hard.
353 | What are MLE and MAP? What is the difference between the two?
354 |
355 | 8. Improving signups
356 |
357 | This problem was asked by Quora. Product/statistics, easy
358 | Assume you want to test whether a new feature increases signups to the site. How would you run this experiment? What statistical test(s) would you use?
359 |
360 | 9. Independent and uncorrelated.
361 |
362 | This problem was asked by Stripe. Statistics hard
363 | Say we have two random variables X and Y. What does it mean for X and Y to be independent? What about uncorrelated? Give an example where X and Y are uncorrelated but not independent.
364 |
365 | 10. A/B testing in streaming
366 |
367 | This problem was asked by Netflix. Product/statistics, medium,
368 | In the streaming context, for A/B testing, what are some metrics and data to track, and what are some differences versus more traditional A/B testing?
369 |
370 |
371 |
372 |
373 | 11. One extra coin toss
374 | This problem was asked by Robinhood. Statistics, Medium
375 | A and B are playing a game where A has n+1 coins, B has n coins, and they each flip all of their coins. What is the probability that A will have more heads than B?
376 |
377 | 12. Linear regression assumptions
378 |
379 | This problem was asked by Google. Statistics, easy
380 | What are the assumptions behind linear regression? How do you diagnose if any of these assumptions are violated?
381 |
382 | 13. Covariance of uniforms
383 | This problem was asked by Netflix. Statistics, hard
384 | Say we have X ~ Uniform(-1, 1) and Y = X^2. What is the covariance of X and Y?
385 |
386 | 14. Coin flips needed to detect bias
387 | This problem was asked by Lyft. Statistics, medium
388 | Say you have an unfair coin which will land on heads 60% of the time. How many coin flips are needed to detect that the coin is unfair?
389 |
390 | 15. Area of the circle
391 | This problem was asked by Lyft. Statistics , medium
392 | Say you pick the radius of a circle from a uniform distribution between 0 and 1. What is the probability density of the area of the resulting circle?
393 |
394 |
395 | 16. Customer churn MLE
396 |
397 | This problem was asked by Airbnb. Statistics, medium
398 | Say you model the lifetime for a set of customers using an exponential distribution with parameter λ, and you have the lifetime history (in months) of n customers. What is the MLE for λ?
399 | 17. Server wait time
400 | This problem was asked by Dropbox. Statistics, Medium
401 | Dropbox has just started and there are two servers that service users: a faster server and a slower server. When a user is on the website, they are routed to either server randomly, and the wait time is exponentially distributed with two different parameters. What is the probability density of a random user's waiting time?
402 |
403 | 18. Clicking variances
404 | This problem was asked by Google. Statistics, easy,
405 | Say you have two countries of interest and want to compare variances of clicking behavior from users (i.e. total distribution of clicks). How would you do this comparison, and what assumptions need to be met?
406 |
407 | 19. Uncorrelated condition
408 |
409 | This problem was asked by Airbnb. Statistics, medium
410 | Suppose we have two random variables X and Y. Under what condition are X+Y and X-Y uncorrelated?
411 | 82. Bernoulli samples
412 | This problem was asked by Stripe. Statistics, medium
413 | Consider a Bernoulli random variable with parameter p. Say you observe the following samples: [1, 0, 1, 1, 1]. What is the log likelihood function for p and what is the MLE of p?
414 |
415 | 20. Bernoulli samples
416 | This problem was asked by Stripe. Statistics, medium
417 | Consider a Bernoulli random variable with parameter p. Say you observe the following samples: [1, 0, 1, 1, 1]. What is the log likelihood function for p and what is the MLE of p?
418 |
419 |
420 |
421 |
422 | 20. Minimum dice roll
423 |
424 | This problem was asked by Uber. Stats, hard,
425 | A fair die is rolled n times. What is the expected value and the standard deviation of the smallest number rolled?
426 |
427 | 21. expected swaps
428 |
429 | This problem was asked by Robinhood. Stats medium
430 | Say you have n integers 1...n and take a random permutation. For any integers i, j let a swap be defined as when the integer i is in the jth position, and vice versa. What is the expected value of the total number of swaps?
431 |
432 | 22. Lifetime likelihood
433 | This problem was asked by Snapchat. Stats, medium
434 | Say you have a large amount of user data that measures the lifetime of each user. Assume you model each lifetime as exponentially distributed random variables. What is the likelihood ratio for assessing two potential λ values, one from the null hypothesis and the other from the alternative hypothesis?
435 | 23. Lifetime difference
436 |
437 | This problem was asked by Tesla. Stats medium
438 | Say that the lifetime of electric vehicles are modeled using a Gaussian distribution. Each type of electric vehicle has an expected lifetime and a lifetime variance. Say you chose two different types of electric vehicles at random. What is the probability that the two lifetimes will be within n time units?
439 |
440 | 24. Conditional Expectation
441 |
442 | This problem was asked by Robinhood. Stats hard
443 | Say X and Y are independent and uniformly distributed on (0, 1). What is the expected value of X, given that X > Y?
444 |
445 |
446 | 25. Geometric expectation
447 | This problem was asked by Facebook. Stats hard
448 | Derive the expectation for a geometric distributed random variable.
449 |
450 | 26. Roll correlation
451 |
452 | This problem was asked by Robinhood. Stats hard
453 | Say you roll a fair dice 5 times. Let X be the number of times a 2 was rolled, and Y the number of times a 3 was rolled. What is the correlation coefficient between X and Y?
454 |
455 | 27. Conditional roll
456 | This problem was asked by Tesla. Stats medium
457 | Say you roll a fair dice repeatedly. Let X be the number of rolls until a 1 is rolled, and Y the number of rolls until a 4 is rolled. What is E[X|Y=2]?
458 |
459 | 28. CDF distribution
460 |
461 | This problem was asked by Square. Stats hard
462 | Say we have a random variable X ~ D, where D is an arbitrary distribution. What is the distribution of F(X) where F is the CDF of X?
463 |
464 |
465 | 29. Customer credits
466 |
467 | This problem was asked by Slack. Stats medium
468 | Suppose that there is a new service with an API offering with credits where by each credit is capped to a certain amount of API usage. Each customer can use a credit and the lifetime of the credit can be modeled as exponentially distributed with an expectation of 2 days. A particular customer will need the API's capabilities for 60 days. How many credits should they purchase so that the probability of API shortage during the 60 days is no more than 1 percent?
469 |
470 |
471 | 30. Exponential conditional
472 | This problem was asked by Tesla. Stats hard
473 | Let X and Y be i.i.d exponentially distributed random variables. What is the expectation of X given that X > Y?
474 |
475 |
476 | 31. Uniform distribution
477 | This problem was asked by Apple. Stats medium
478 | Derive the mean and variance of the uniform distribution U(a, b).
479 |
480 | 32. Poisson MLE
481 | This problem was asked by Google. Stats hard
482 | Say you have N independent and identically distributed draws of a Poisson random variable. What is the best estimator for the parameter λ? What properties does this estimator have?
483 |
484 | 33. Uniform draws
485 |
486 | This problem was asked by Quora. Stats, medium
487 |
488 | Suppose you independently sample three values X ~ U(0, 1). What is the probability that the first value will be larger than the sum of the other two?
489 |
490 |
491 | 34. Joint density
492 | This problem was asked by Square. Stats hard
493 | Assume that you have two continuous random variables X and Y that have a joint density function of f(x, y) = x-y when 0 < y < x < 1 and 0 otherwise. What is the covariance of X and Y?
494 |
495 |
496 |
497 |
498 |
499 | 35. Normal mgf
500 | This problem was asked by Stripe. Stats hard
501 | Describe what a moment generating function (MGF) is. Derive the MGF for a normally distributed random variable X.
502 |
503 | 36. Lognormal mean.
504 | This problem was asked by Slack. Stats, hard
505 | Assume that log X ~ N(0, 1). What is the expectation of X?
506 |
507 | 37. Remaining politics
508 | This problem was asked by Twitter. Stats, easy
509 | Say you have two groups of random users for surveying, one side Democratic (with D total people) and the other side Republican (with R total people). At each time step, you remove a user randomly and survey them. You stop as soon as all of the Democratic side has been surveyed. At that point, how many Republican people do you expect to still be surveyed?
510 |
511 | 38. Summation Odds
512 |
513 | This problem was asked by Robinhood. Stats, hard
514 | Say you take N independent draws of a random variable X ~ Uniform(0, 1). What is the probability that the sum of those N draws is less than or equal to 1? Hint: try looking at N=2 and N=3.
515 |
516 |
517 | 39. Square root of uniform
518 | This problem was asked by Quora. Stats, medium.
519 | Let X be uniformly distributed between -1 and 1, i.e. X ~ U(-1, 1). Find the expectation of the square root of |X|.
520 |
521 |
522 | 40. Poisson sum
523 | This problem was asked by Twilio. Stats, hard
524 | Say you have two independent Possion random variables X and Y. What is the distribution of X+Y?
525 |
526 | 41. Central Limit Theorem
527 | This problem was asked by Uber. Stats, medium
528 | Explain the Central Limit Theorem and why it is useful.
529 |
530 | 42. Variance Bounds
531 |
532 | This problem was asked by Akuna Capital. Stats, medium
533 | Say you have two random variables X and Y, each with a standard deviation. What are the bounds on the variance of aX + bY for constants a and b?
534 |
535 | 43. Blended statistics
536 | This problem was asked by Google. Stats, hard
537 | Say you have two distinct subsets of a dataset for which you know their means and standard deviations. How do you calculate the blended mean and standard deviation of the total dataset? Can you extend it to K subsets?
538 |
539 | 44. Max of two rolls
540 |
541 | This problem was asked by Morgan Stanley. Stats, medium
542 | What is the expected value of the max of two dice rolls?
543 |
544 | 45. Confidence Intervals
545 | This problem was asked by Overstock. Stats, easy
546 | How would you explain a confidence interval to a non-technical audience?
547 | 46. Increasing rolls
548 | This problem was asked by Robinhood. Stats, hard
549 | Say you have an n-sided die. You keep rolling and sum the values as long as the current roll is larger than the previous. For example, if n = 6 then you might roll 1, 3, 2 and stop or 1, 4, 5, 3 and stop. In the first case, your total sum is 1 + 3 = 4, and in the second case your total sum if 1 + 4 + 5 = 10. What is the expected value of the sum?
550 |
551 | 47. Statistical power
552 | This problem was asked by Microsoft. Stats, easy
553 | Explain the statistical background behind power.
554 |
555 | 48. Random normal
556 |
557 | This problem was asked by Stripe. Stats, medium
558 | Say you have X ~ N(0, 1). Let Z = XY, where Y takes on two values, -1 and 1 equally with probability 0.5 each. What is the distribution of Z?
559 |
560 | 49. Monotonically increasing
561 |
562 | This problem was asked by Google. Stats, hard
563 | Assume you are drawing from an infinite set of iid random variables that are uniformly distributed from (0, 1). You keep drawing as long as the sequence you are getting is monotonically increasing. What is the expected length of the sequence you draw?
564 | 50. two fives
565 |
566 | This problem was asked by Akuna Capital. Stats, medium
567 | Say you’re rolling a fair six sided dice. What is the expected number of rolls until you roll two consecutive 5s?
568 | 51. hypothesis testing and p-value
569 | This problem was asked by Overstock. Stats, easy
570 | Describe hypothesis testing and p-values in layman's terms.
571 |
572 | 52. A/B testing
573 | This problem was asked by Overstock. Stats, easy,
574 | Describe some common pitfalls of A/B testing?
575 |
576 | 53. Type 1 and type 2 errors
577 |
578 | This problem was asked by Overstock, Stats, easy
579 | Describe what type I and type II errors are, and the tradeoffs between them.
580 |
581 | 54. Sampling from circle
582 |
583 | This problem was asked by Lyft. Stats hard,
584 | How do you uniformly sample points at random from a circle with radius R?
585 |
586 |
587 | ## Machine Learning
588 |
589 | 1. Fraud detection trade offs:
590 | This problem was asked by Affirm. Machine Learning. Medium
591 | Assume we have a classifier that produces a score between 0 and 1 for the probability of a particular loan application being fraudulent. In this scenario: a) what are false positives, b) what are false negatives, and c) what are the trade-offs between them in terms of dollars and how should the model be weighted accordingly?
592 |
593 | 2. Classification metrics
594 | This problem was asked by Uber. Machine Learning, medium
595 | Say you need to produce a binary classifier for fraud detection. What metrics would you look at, how is each defined, and what is the interpretation of each one?
596 |
597 | 3. Estimation of fraud
598 | This problem was asked by Affirm. Machine learning, Medium
599 | Assume we have some credit model, which has accurately calibrated (up to some error) score of how credit-worthy any individual person is. For example, if the model’s estimate is 92% then we can assume the actual score is between 91 and 93. If we take 92 as a score cutoff and deem everyone above that score as credit-worthy, are we overestimating or underestimating the actual population’s credit score?
600 |
601 | 4. Identifying synonyms
602 | This problem was asked by Google. ML . Medium,
603 | Say you are given a very large corpus of words. How would you identify synonyms?
604 |
605 | 5. L1 and L2 regularization
606 | This problem was asked by Uber. ML, Medium,
607 | What is L1 and L2 regularization? What are the differences between the two?
608 |
609 | 6. Square root of model squares
610 | This problem was asked by Affirm. ML, medium
611 | Assume we have a classifier that produces a score between 0 and 1 for the probability of a particular loan application behind a fraud. Say that for each application’s score, we take the square root of that score. How would the ROC curve change? If it doesn’t change, what kinds of functions would change the curve?
612 |
613 | 7. Bias -Variance Tradeoff
614 |
615 | This problem was asked by Microsoft., ML. Medium
616 | What is the bias-variance tradeoff? How is it expressed using an equation?
617 |
618 | 8. Modeling listing revenue
619 | This problem was asked by Airbnb. ML, medium
620 | Say you are modeling the yearly revenue of new listings. What kinds of features would you use? What data processing steps need to be taken, and what kind of model would run?
621 |
622 | 9. Recommending similar listings
623 | This problem was asked by Airbnb. ML, medium
624 | Say you are tasked with producing a model that can recommend similar listings to an Airbnb user when they are looking at any given listing. What kind of model would you use, what data is needed for that model, and how would you evaluate the model?
625 |
626 | 10. Adding noise
627 | This problem was asked by Google., ML, hard,
628 | Say we are running a probabilistic linear regression which does a good job modeling the underlying relationship between some y and x. Now assume all inputs have some noise ε added, which is independent of the training data. What is the new objective function? How do you compute it?
629 |
630 | 11. Item propensity modeling
631 | This problem was asked by Stitch Fix. ML, medium,
632 | How would you build a model to calculate a customer's propensity to buy a particular item? What are some pros and cons of your approach?
633 |
634 | 12. K-means clustering update
635 | This problem was asked by Netflix. ML, hard,
636 | What is the loss function used in k-means clustering for k clusters and n sample points? Compute the update formula using 1) batch gradient descent, 2) stochastic gradient descent for the cluster mean for cluster k using a learning rate ε.
637 |
638 | 13. Sensor sensitivity
639 | This problem was asked by Tesla. ML, hard
640 | You're working with several sensors that are designed to predict a particular energy consumption metric on a vehicle. Using the outputs of the sensors, you build a linear regression model to make the prediction. There are many sensors, and several of the sensors are prone to complete failure. What are some cost functions you might consider, and which would you decide to minimize in this scenario?
641 |
642 | 14. Expectation maximization
643 | This problem was asked by Netflix. ML, hard,
644 | What is Expectation-Maximization and when is it useful? Describe the setup algorithmically with formulas.
645 |
646 | 15. Fraud detection
647 |
648 | This problem was asked by Stripe. ML< hard
649 | Say we are using a Gaussian Mixture Model (GMM) for anomaly detection on fraudulent transactions to classify incoming transactions into K classes. Describe the model setup formulaically and how to evaluate the posterior probabilities and log likelihood. How can we determine if a new transaction should be deemed fraudulent?
650 |
651 | 16. Information gain and entropy
652 |
653 | This problem was asked by Microsoft. ML medium
654 | Explain what Information Gain and Entropy are in a Decision Tree.
655 |
656 | 17. Kernel regression estimator
657 | This problem was asked by Netflix. ML,hard
658 | Describe the idea and mathematical formulation of kernel smoothing. How do you compute the kernel regression estimator?
659 |
660 | 18. Guessing Gaussian
661 |
662 | This problem was asked by Stripe. ML hard,
663 | Say we have N observations for some variable which we model as being drawn from a Gaussian distribution. What are your best guesses for the parameters of the distribution? Derive it mathematically.
664 | 19. LS equivalent
665 |
666 | This problem was asked by Airbnb. ML hard
667 | Suppose you are running a linear regression and model the error terms as being normally distributed. Show that in this setup, maximizing the likelihood of the data is equivalent to minimizing the sum of squared residuals.
668 |
669 | 20. Logistic regression
670 | This problem was asked by Stripe. ML hard
671 | Describe the model formulation behind logistic regression. How do you maximize the log-likelihood of a given model (using the two-class case)?
672 |
673 | 21. Linear decision boundaries
674 | This problem was asked by Opendoor. ML hard
675 | Describe the setup and assumptions of using linear discriminant analysis (LDA). Show mathematically that the decision boundaries are linear.
676 |
677 | 22. LDA subspaces
678 |
679 | This problem was asked by Opendoor. ML, hard
680 |
681 | Suppose you are running a linear discriminant analysis (LDA) model on some data with K classes. Describe mathematically how you would project centroids to some L < K-1 dimensional subspace.
682 |
683 | 23. Bayesian linear regression
684 | This problem was asked by Airbnb. ML hard
685 | Suppose you use a Gaussian prior on β of a linear regression. Derive the MAP estimate of β.
686 |
687 | 24. Maximum entropy
688 | This problem was asked by Netflix. ML, hard
689 | Describe entropy in the context of machine learning, and show mathematically how to maximize it assuming N states.
690 |
691 | 25. Projection matrix
692 | This problem was asked by Airbnb. ML, hard
693 | In linear regression, what is the projection matrix? Derive the matrix formulation of it.
694 |
695 | 26. variance estimate for ls
696 | This problem was asked by Stripe. ML, hard
697 | Derive the variance-covariance matrix of the least squares parameter estimates in matrix form.
698 |
699 |
700 |
701 |
702 | 27. Deriving PCA
703 | This problem was asked by Netflix. ML, hard
704 | Describe the idea behind PCA and go through its formulation and derivation in matrix form. Go through the procedural description and solve the constrained maximization.
705 |
706 | 28. SVMs
707 | This problem was asked by Microsoft. ML, hard
708 | Formulate the background behind an SVM, and show the optimization problem it aims to solve.
709 |
710 | 29. Generative and discriminative
711 |
712 | This problem was asked by Amazon. ML, medium
713 | Describe both generative and discriminative models and give an example of each.
714 |
715 | 30. Gradient descent
716 | This problem was asked by Amazon. ML, medium
717 | Describe gradient descent and the motivations behind stochastic gradient descent.
718 |
719 | 31. Convex and Non-convex
720 |
721 | This problem was asked by Amazon. ML, medium
722 | Define what it means for a function to be convex. What is an example of a machine learning algorithm that is not convex and describe why that is so.
723 |
724 | 32. Random forest and boosting
725 | This problem was asked by Overstock. ML, medium
726 | Compare and contrast gradient boosting and random forests.
727 |
728 |
729 |
730 |
731 | 33. Improving logistic regression
732 |
733 | This problem was asked by Airbnb. ML, easy
734 | Say you are running a simple logistic regression on a problem but find the results to be unsatisfactory. What are some ways you might improve your model or what other models might you look into?
735 |
736 | 34. Cross validation
737 | This problem was asked by Overstock. ML, medium
738 | Define the cross validation process. What is the motivation behind using it?
739 |
740 | 35. GNB vs LR
741 | This problem was asked by Citadel. ML, medium
742 | Compare and contrast GNB and logistic regression. When would you use one over the other?
743 |
744 | 36. Boosting description
745 |
746 | This problem was asked by Overstock. ML, easy
747 | Describe the idea behind boosting. Give an example of one method and describe one advantage and disadvantage it has.
748 |
749 | 37. Precision and recall
750 |
751 | This problem was asked by Overstock ML easy
752 | Describe precision and recall and their formulas. Why are they important to look at and what is the trade-off between the two?
753 |
754 |
755 | ## Python/Coding
756 | Sum of the consecutive numbers
757 | This problem was asked by Robinhood. Python/Coding, Hard
758 | Given a number n, return the number of lists of consecutive positive integers that sum up to n.
759 |
760 | 2.
761 | This problem was asked by Lyft. Coding, Medium
762 | Say we are given a list of several categories (for example, the strings: A, B, C, and D) and want to sample from a list of such categories according to a particular weighting scheme. Such an example would be: for 100 items total, we want to see A 20% of the time, B 15% of the time, C 35% of the time, and D 30% of the time. How do we simulate this? What if we care about an arbitrary number of categories and about memory usage?
763 |
764 | 3. Generating integer partitions
765 | This problem was asked by Stripe. Coding, Medium,
766 | Write a program to generate the partitions for a number n. A partition for n is a list of positive integers that sum up to n. For example: if n = 4, we want to return the following partitions: [1,1,1,1], [1,1,2], [2,2], [1,3], and [4]. Note that a partition [1,3] is the same as [3,1] so only the former is included.
767 |
768 | 4. Correlation by hand
769 | This problem was asked by Robinhood. Coding, medium,
770 | Write a program to calculate correlation (without any libraries except for math) for two lists X and Y.
771 |
772 |
773 |
774 | 5. Max Sum increasing subsequence
775 |
776 | This problem was asked by Uber. Coding, medium,
777 | Given a list of positive integers, return the maximum increasing subsequence, that is, the largest increasing subsequence within the array that has the maximum sum. Examples: if the input is [5, 4, 3, 2, 1] then return 5 (since no subsequence is increasing), if the input is [3, 2, 5, 7, 6] return 15 = 3 + 5 + 7, etc.
778 |
779 | 6. perfect square count
780 | This problem was asked by Palantir. Coding, Medium,
781 | Given a positive integer n, find the smallest number of perfect squares that sum up to n. For example, for n = 7, you should return 4 since 7 = 4 + 1 + 1 +1, and for n = 13, you should return 2 since 13 = 4 + 9.
782 |
783 | 7. friendship distance
784 | This problem was asked by Facebook. Coding, Medium,
785 | You have the entire social graph of Facebook users, with nodes representing users and edges representing friendships between users. Given the edges of the graph and the number of nodes, write a function to return the smallest number of friendships in-between two users.
786 | For example, if the graph consists of 5 users A, B, C, D, E, and the friendship edges are: (A, B), (A, C), (B, D), (D, E) then the function should return 2 for the input A and E.
787 |
788 | 8. Estimating PI
789 |
790 | This problem was asked by Stripe. Coding medium
791 | Estimate π using a Monte Carlo method. Hint: think about throwing darts on a square and seeing where they land within a circle.
792 |
793 |
794 |
795 |
796 | 9. Median of data stream
797 |
798 | This problem was asked by Palantir. Coding, hard,
799 | Given a stream of elements (of arbitrary size), write a class to find the median at any given time. Your class should have a function to add numbers to the stream and a function to calculate the median.
800 |
801 | 10. Finding the peaks
802 | This problem was asked by Reddit. Coding, Medium
803 | Given an array A of positive integers, a peak element is defined as an element that is greater than its neighbors.
804 | For example, if A = [3, 5, 2, 4, 1] you should return either 1 or 3 since index 1 is 5, and index 3 is 4, and both are peak elements. Find the index of any peak elements.
805 |
806 | 11. Topic groups
807 |
808 | This problem was asked by Twitter. Coding, medium
809 | Say that there are n topics on Twitter and there is a notion of topics being related. Specifically, if topic A is related to topic B, and topic B is related to topic C, then topic A is indirectly related to topic C.
810 | Define a topic group to be any group of topics that either directly or indirectly related. Given an n by n adjacency matrix N, where N[i][j] = 1 if topic i and topic are j related and 0 otherwise, write a function to determine how many topic groups are there.
811 | 12. Permutations
812 | This problem was asked by Dropbox. Coding, medium
813 | Given n distinct integers, write a function to generate all permutations of those integers.
814 |
815 | 13. Intersection of two arrays.
816 |
817 | This problem was asked by Pinterest. Coding, easy
818 | Given two arrays, write a function to get the intersection of the two.
819 | For example, if A = [2, 4, 1, 5, 0], and B = [3, 4, 5] then you should return [4, 5].
820 | 14. Palindromic subset
821 | This problem was asked by Airbnb. Coding, medium
822 | Given a number x, define a palindromic subset as any subsequence within x that is a palindrome. Write a function that returns the number of digits of the longest palindromic subset.
823 | For example, if x is 93567619 then you should return 5 since the longest subset would be 96769, which is a 5 digit number.
824 |
825 | 15. Splitting parenthesis
826 | This problem was asked by Twitter. Coding medium,
827 | Given a string with lowercase characters and left and right parentheses, remove the minimum number of parentheses so that the string is valid.
828 | For example, if the string is ")a(b((cd)e(f)g)" then return "ab((cd)e(f)g)".
829 |
830 | 16. First Missing Positive
831 |
832 | This problem was asked by Snapchat. Coding, hard,
833 | Given an arbitrary array of positive integers, find the smallest missing positive integer. Can you do it with O(1) space?
834 | For example, if A = [1, 3, 6, 2, 7] and then you should return 4.
835 |
836 | 17. Obstacle paths
837 | This problem was asked by Twitch. Coding medium
838 | You are given an m by n matrix with with 0s and 1s, where a 1 represents an obstacle and a 0 represents no obstacle. Determine the number of ways to navigate from the top-left corner of the matrix to the bottom right corner given that at any point in time there is only a move down or to the right as long as there is not an obstacle in that spot.
839 | For example, if the matrix is given by: [[0, 0, 0], [1, 1, 0], [0, 1, 0]] then you should return 1 since there is exactly one path.
840 |
841 |
842 | 18. Max of sliding window
843 | This problem was asked by Lyft. Coding hard
844 | Given an array A of positive integers and an integer k, write a function to get the largest value within the sliding window of size k for A. Each sliding window is k numbers and moves from the leftmost to the rightmost within A, one position at a time.
845 | For example, if A = [2, 5, 3, 1, 4] and n = 2, then you should return [5, 5, 3, 4].
846 |
847 | 19. Smallest K pairs
848 |
849 | This problem was asked by Apple. Coding medium
850 | Given two sorted arrays of positive integers, and an integer k, determine the k smallest pairs among the two arrays, where a pair is defined as having exactly one element from the first array and one element from the second array.
851 | For example, if the k = 3 and the two arrays are [1, 3, 6, 10] and [2, 5, 7, 9] then [[1, 2], [3, 2], [1, 5]] since those are the three smallest pairs.
852 |
853 |
854 | 20. palindrome counting
855 | This problem was asked by Opendoor. Coding medium
856 | Given a string, return the count of substrings within the string that are palindromes.
857 | For example, if input is "aba": return 4, since the palindromes are: "a", "b", "a", and "aba".
858 |
859 | 21. All combinations
860 | This problem was asked by Twitch. Coding medium
861 | Given an integer n and an integer k, output a list of all of the combinations of k numbers from 1 to n.
862 | For example, if the n = 3, and k = 2 then return: [1, 2], [1, 3], [2, 3].
863 |
864 |
865 |
866 |
867 | 22. Anagram grouping
868 |
869 | This problem was asked by Slack. Coding medium
870 | Given an array of strings, return a list of lists whereby each list has the strings that are an anagram of one another.
871 | For example, if input is ["abc", "abd", "cab", "bad", "bca", "acd"] then return: [["abc", "cab", "bca"], ["abd", "bad"], ["acd"]].
872 |
873 | 23. Matrix Paths
874 |
875 | This problem was asked by Twitch. Coding hard
876 | Given an m by n matrix with positive integers, determine the length of the longest path of increasing integers within the matrix.
877 | For example, if the matrix is given by: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] then you should return 5.
878 |
879 | 24. Repeating subarrays
880 | This problem was asked by Dropbox. Coding medium,
881 | Given two arrays with integers, return the maximum length of a common subarray within both arrays.
882 | For example, if the two arrays are [1, 3, 5, 6, 7] and [2, 4, 3, 5, 6] then return 3 since the maximum length is [3, 5, 6].
883 |
884 | 25. Palindrome subsequence
885 | This problem was asked by Slack. Coding medium
886 | Given a string, find the length of its longest palindrome subsequence.
887 | For example, if the string is "acabcbabb" then return 5 since the longest palindrome subsequence is "abcba".
888 |
889 |
890 | 26. Tree diameter
891 | This problem was asked by Pinterest. Coding medium
892 | Given a binary tree, write a function to determine the diameter of the tree, which is the longest path between any two nodes.
893 |
894 | 27. choosing signs
895 |
896 | This problem was asked by Uber. Coding, medium
897 | You are given an array of integers and a target number. For each number, you can place either a + sign or a - sign in front of it. Write a function to calculate how many ways are there to do so such that the sum of the resulting expression is the target number.
898 | For example, if the array is: [1, 2, 3, 4] and the target is 4 then return 2 since the valid expressions are: -1-2+3+4 and +1+2-3+4.
899 |
900 | 28. Equal elements
901 |
902 | This problem was asked by Dropbox. Coding medium
903 | Find the minimum number of increments or decrements (by 1) needed to make all elements of an array be equal.
904 | For example, if the array is: [1, 2, 3, 4, 5] then return 1+2+0+2+1 = 6 since that is the smallest number of increments or decrements to make all elements of the array the same (3).
905 |
906 | 29. Total Anagrams
907 | This problem was asked by LinkedIn. Coding, medium
908 | You are given two strings A and B. Write a function to return a list of all the start indices within A for substrings of A that are anagrams of B.
909 | For example, if A = "abcdcbac" and B = "abc" then you want to return [0, 4, 5] since those are the starting indices of A whereby there are anagrams of B.
910 |
911 |
912 |
913 | 30. Internal removal
914 | This problem was asked by Pinterest. Coding, hard
915 | You are given an array of intervals, where each interval is represented by a start time and an end time, such as [1, 3]. Determine the smallest number of intervals to remove within the list such that the rest of the intervals are not overlapping (the times can "touch" such as [1, 3] and [3, 5] but overlap such as [1, 3] and [2, 5]).
916 | For example, if the interval list given is: [[1, 3], [3, 5], [2, 4], [6, 8]] then return 1 since the desired removal is the [2, 4] interval.
917 |
918 | 31. Closest points
919 |
920 | This problem was asked by Dropbox. Coding , easy
921 | Given a list of points, write a function to find the k closest points to the origin.
922 | For example, if the k = 3 and the points are: [[2, -1], [3, 2], [4, 1], [-1, -1], [-2,2]] then return [[-1, -1], [2, -1], [-2, 2]] since those are the three closest points.
923 |
924 | 32. List removal
925 | This problem was asked by Square. Coding, medium
926 | Write a function to remove the kth node from a linked list and return the head of the linked list.
927 | For example, if you have the linked list 3 → 2 → 5 → 1 → 4 and k = 3 then remove the 5 and return the linked list 3 → 2 → 1 → 4.
928 |
929 | 33. Subarray sum
930 |
931 | This problem was asked by Apple. Coding, medium
932 | You are given an array and an integer k. Determine the number of continuous subarrays that have a sum equal to k.
933 | For example, if the array list is given by [1, 2, 3, 2, 1] and k = 6, then return 2 since the two subarrays are: [1, 2, 3] and [3, 2, 1].
934 |
935 |
936 | 34. Minimal Sum
937 | This problem was asked by Square., Coding , medium
938 | You are given an m-by-n matrix with positive integers. Say you start at the top-left corner at each time step can move either right or down. Determine the minimal sum of elements along this traversal in reaching the bottom right corner.
939 |
940 | 35. Matching wildcards
941 |
942 | This problem was asked by Slack. Coding, hard
943 | You are given an input string composed of the lowercase letters a-z and a particular regular expression that contains lowercase a-z, ?, or * whereby the ? matches any one character, and the * matches an arbitrary number of characters (empty as well). Write a function to return whether the regex matches the input string.
944 |
945 | 36. String subsequence
946 | This problem was asked by Twitter. Coding ,easy
947 | Given two strings, determine if the first string is a subsequence of the second string. Note that relative positioning matters.
948 | For example, if the inputs are "abcd" and "xyazbcd" then return true, but if the inputs are "abcd" and "xyazbdc" then return false.
949 |
950 | 37. Inorder traversal
951 | This problem was asked by Citadel. Coding, easy
952 | Given a binary tree, conduct an inorder traversal and return the values in an array.
953 |
954 | 38. Longest parenthesis
955 | This problem was asked by Citadel. Coding, hard
956 | Given a string with left and right parentheses, write a function to determine the length of the longest well-formed substring.
957 | For example, if the input string is ")(())(" then return 4 since the longest substring is
958 |
959 | 39. max of three
960 |
961 | This problem was asked by D.E Shaw. Coding, easy
962 | Given an integer array, return the maximum product of any three numbers in the array.
963 | For example, if the input is [-5, 2, 6, -4, 8, 2] then return 160.
964 |
965 | 40. Product without self
966 |
967 | This problem was asked by Dropbox. Coding, easy
968 | Say you have an array of n integers. Write a function to output a new array of values such that each value is the total product of the original array except for the current element. Can you do it in O(n) time without using division?
969 | For example, if the input is [1, 2, 3] then return [6, 3, 2].
970 |
971 | 41. Max subarray
972 |
973 | This problem was asked by Akuna Capital. Coding, easy
974 | Given an integer array, find the sum of the largest contiguous subarray within the array.
975 | For example, if the input is [-1, -3, 5, -4, 3, -6, 9, 2] then return 11.
976 |
977 | 42. Sorted matrix kth smallest
978 |
979 | This problem was asked by Reddit. Coding, easy
980 | Say you have an n by n matrix of elements which is sorted in ascending order both in the columns and rows. Return the kth smallest element of the matrix.
981 | For example, if the input is [[1, 4, 7], [3, 5, 9], [6, 8, 11]] and k = 4 then return 5.
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 | 43. Splitting array
993 |
994 | This problem was asked by Snapchat. Coding, hard
995 | Given an array A of positive integers and an integer n, write a function to minimize the largest sum among any arbitrary split of A into n non-empty contiguous subarrays.
996 | For example, if A = [9, 3, 6, 8, 4] and n = 2, then you should return 18 since the best possible split is: [9, 3, 6] and [8, 4] which results in the largest sum of 18.
997 |
998 | 44. Dice Roll Target
999 |
1000 | This problem was asked by Uber. Coding, medium
1001 | Suppose you have n dice, and each has k faces from 1..k. Write a function to determine the number of ways of rolling the die such that the sum is a particular given target value.
1002 | For example, if n = 2, k = 6, and the target is 7, then you should return 6 since there are 6 possible ways to get a total sum of 7.
1003 |
1004 | 45. Minimum depths
1005 |
1006 | This problem was asked by Uber. Coding, easy
1007 | Given a binary tree, write a function to determine the minimum depth of the tree (the number of nodes on the shortest path from the root down to a leaf node).
1008 |
1009 |
1010 |
1011 | ## Open ended Product Questions
1012 | 1.Social graph comparison
1013 |
1014 | This problem was asked by Facebook. Easy, Product
1015 |
1016 | Imagine the social graphs for both Facebook and Twitter. How do they differ? What metric would you use to measure how skewed the social graphs are?
1017 |
1018 | 2. Surge pricing
1019 | This problem was asked by Uber. easy, product
1020 |
1021 | You’re on the data science team and are responsible for figuring out surge pricing. Why does it need to exist and what metrics and data should you track?
1022 |
1023 | 3. Difficulties in A/B testing
1024 |
1025 | This problem was asked by Airbnb., Easy, Product
1026 | What are some factors that might make testing metrics on the Airbnb platform difficult?
1027 |
1028 | 4. Rider app change
1029 | This problem was asked by Lyft. Product, easy
1030 | Your team is trying to figure out whether a new driver app with extra UI features will increase the number of rides taken. How would you test whether the extra features in the app make it better than the original version?
1031 |
1032 | 5. News feed metrics
1033 |
1034 | This problem was asked by Facebook. Product, easy,
1035 | Let’s say that you are the first person working on the Facebook News Feed. What metrics would you track and how would you improve those metrics?
1036 |
1037 |
1038 |
1039 |
1040 | 6. Improving product engagement
1041 |
1042 | This problem was asked by Twitter. Product, easy
1043 | How would you improve product engagement on Twitter?
1044 |
1045 | 7. Two factor authentication
1046 | This problem was asked by Robinhood. Product, easy
1047 | Say you are deciding whether to implement two-step authentication when users log in. What data would you look at and how can you make your decision?
1048 |
1049 | 8. Measuring the comments
1050 |
1051 | This problem was asked by Facebook. Product, easy,
1052 | Let's say Facebook has expanded into a previously untapped geographical region. Looking at weekly metrics, you see a slow decrease in the average number of comments per user over several months. You also know that new users have been growing at a steady linear rate in the area for the same time frame. What are some reasons why the average number of comments per user would be decreasing and what metrics would you look into?
1053 | 9. Posting drop.
1054 | This problem was asked by Facebook. Product, medium
1055 | Let’s say that the usage of a Facebook posting tool dropped from 2% posts per user last month to 1% post per user today. What might be some potential causes and how would you go about understanding this drop?
1056 | 10. Disney+ retention
1057 |
1058 | This problem was asked by Disney. Product, easy
1059 | Disney+ offers a 7-day free trial period. After 7 days, customers are charged whatever package they chose. Assume that there are customers who commit to Disney+ right away and therefore don't end up having a 7-day free trial period.
1060 | Disney wants to measure the success of the free trial. What metrics and analysis might you do to determine whether or not the free trial successfully acquires new customers?
1061 |
1062 | 11. shipping times
1063 | This problem was asked by Wayfair. Product , easy
1064 | If you are selling a product and want to decrease the shipment time from 2 days to 1 day to increase your amount of customers, what are 2 ways to quantify it and 2 risks of this idea?
1065 |
1066 | 12. Linkedin Status
1067 |
1068 | This problem was asked by LinkedIn. Product, easy
1069 | LinkedIn recently launched a "status" feature where you can now see if a LinkedIn connection is online, symbolized by a green dot, idle, symbolized by an orange dot, or offline (gray dot) status that says how long ago the user was active. Assume that this feature has been around for a few months. What metrics would you look at to assess the success of this feature?
1070 |
1071 | 13. Acquiring new customers
1072 | This question was asked by Dropbox. Product easy
1073 | You are a data scientist who works directly with the CEO. Your boss says she is incredibly ecstatic because the average cost of acquiring a customer is a lot lower than the expected value of a customer. She thinks that the acquisition cost has been minimized and the value of a customer has almost been maximized. Help her interpret the metric and give a suggestion about how she should use it to try and maximize revenue.
1074 |
1075 | 14. Slack Engagement
1076 |
1077 | This problem was asked by Slack. Product, easy
1078 | What are some metrics you would use to measure user engagement at Slack? How would you be able to tell early whether or not user engagement is declining?
1079 |
1080 |
1081 |
1082 |
1083 |
1084 |
1085 | 15. Uber eats
1086 | This problem was asked by Uber. Product easy
1087 | Say you are on the UberEats team and considering shipping out a potential feature X. What metrics would you look at in order to A/B test this change?
1088 |
1089 | 16. Uber Pro
1090 |
1091 | This problem was asked by Uber. Product easy
1092 | Uber Pro is a program that is designed to reward outstanding drivers. Think of it like a reward program on the driver side. What do you think are the important metrics for Uber Pro to look at, and how might Uber be able to tell if the service is effective?
1093 |
1094 | 17. Duolingo success
1095 | This problem was asked by Duolingo. Product easy
1096 | How would you measure Duolingo's success from a product standpoint, and another metric you would use to measure its success from a financial standpoint?
1097 |
1098 |
1099 | 18. Google doodle
1100 | This problem was asked by Google. Product easy
1101 | Let's say you are on the team for Google Doodles. What metrics would you use to measure how successful a given Doodle was?
1102 |
1103 | 19. New feature on duolingo
1104 |
1105 | This problem was asked by Duolingo. Product easy
1106 | Duolingo wants a feature that will increase the user engagement and overall network effect. What features would you recommend and what data would you test and or look at to support your hypotheses?
1107 |
1108 |
1109 |
1110 | 20. Fake news
1111 |
1112 | This problem was asked by Facebook. Product easy
1113 | How would you identify the volume of news feed posts on Facebook that should be deemed as "fake" via a machine learning model? What features and input data would be relevant?
1114 |
1115 | 21. Credit card stickiness
1116 | This problem was asked by Capital One. Product, easy
1117 | How would you assess the stickiness of the Capital One Quicksilver card?
1118 |
1119 | 22. growth or retention
1120 | This problem was asked by Netflix. Product, easy
1121 | Your manager has two potential features for Netflix to pursue. One is focused on increasing user growth while the other is focused on increasing user retention. Which product would you prioritize and what metric you would use to evaluate whether or not the product is successful?
1122 |
1123 | 23. Newest user batch
1124 |
1125 | This problem was asked by Facebook. Product, easy
1126 | You work at Facebook and see that there is an increase in the number of accounts created per month, but you want to see whether or not the amount of sticky/engaged users is growing or not from these sign-ups. How might you define and monitor the new batch of users?
1127 |
1128 | 24. Evaluating product engagement
1129 |
1130 | This problem was asked by LinkedIn. Product, easy
1131 | Say you are working at LinkedIn and your manager is worried that LinkedIn is a product that many people have due to the large professional network it has, but is not particularly engaging. What metrics would you look at to assess this?
1132 |
1133 |
1134 | 25. Decrease in active users
1135 |
1136 | This problem was asked by Snapchat. Product, easy
1137 | Let's say Snapchat saw an overall 10% decrease in daily active users, a trend that stayed consistent over the last two weeks. How would you try to look at the root cause of this?
1138 |
1139 | 26. News feed ranking
1140 | This problem was asked by Facebook. Product, easy
1141 | Suppose you are to build out Facebook's news feed ranking system. What types of signals would you look into and why?
1142 |
1143 | 27. Market expansion
1144 | This problem was asked by Walmart. Product easy
1145 | You work at Walmart, and need to figure out the next city for international expansion. How would you pick the city? What metrics would you look at to help inform this decision?
1146 |
1147 | 28. Driver time
1148 | This problem was asked by Lyft. Product, easy
1149 | The average wait time of a driver has increased. What factors do you think influenced this and why?
1150 |
1151 | 29. Mobile discrepancy
1152 | This problem was asked by Facebook. Product, easy
1153 | If 70% of Facebook users on iOS use Instagram, but only 35% of Facebook users on Android use Instagram, how would you investigate the discrepancy?
1154 |
1155 |
1156 |
1157 | 30. new pricing
1158 | This problem was asked by Netflix. Product, easy
1159 | Let's say Netflix is planning to launch its service in a few new countries internationally. How would you think about pricing for each country?
1160 |
1161 | 31. Handling outliers
1162 | This problem was asked by Spotify. Product, medium
1163 | How do you deal with outliers? What are some causes for them?
1164 |
1165 | 32. Market sizing
1166 | This problem was asked by Uber. Product, easy
1167 | How would you estimate the market size for Uber in the US in large cities? How might your assumptions be wrong?
1168 |
1169 | 33. Customer segmentation
1170 | This problem was asked by Apple. Product easy,
1171 | Say you have data on millions of users with many transactions across a variety of products. What types of insights would you look into and why?
1172 |
1173 |
--------------------------------------------------------------------------------
/Simulating the fair coin with a biased one with March 7 2021.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "ExecuteTime": {
7 | "end_time": "2021-03-03T15:06:18.500645Z",
8 | "start_time": "2021-03-03T15:06:18.455823Z"
9 | }
10 | },
11 | "source": [
12 | "sergazy.nurbavliyev@gmail.com © 2021"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "## Simulating a Fair Coin with a Biased Coin"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "Question: Assume we have a biased coin ($p\\neq1/2$). Can you simulate a fair coin using our a biased coin?"
27 | ]
28 | },
29 | {
30 | "cell_type": "markdown",
31 | "metadata": {},
32 | "source": [
33 | "## Answer"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "Let us first understand what the question is asking. We would like to get a fair using this biased coin even though we don't know how biased our coin is. Assume that head comes up with probability $p$, and tail comes up with probability $q$. Note $p+q=1$ In other words \n",
41 | "\\begin{equation*}\n",
42 | "\\mathbb{P}(H) = p \\text{ and } \n",
43 | "\\mathbb{P}(T) = 1-p=q\n",
44 | "\\end{equation*}\n",
45 | "We will use the great mathematician John von Neumann's solution. He suggests throw a biased coin twice and then calls heads and tails if the results of the biased coin are different. If the results of biased coin are the same then ignore the results and restart over. To see clearly, write \n",
46 | "\n",
47 | "$\\mathbb{P}(HH) = \\mathbb{P}(H) * \\mathbb{P}(H) = p * p $
\n",
48 | "$\\mathbb{P}(HT) = \\mathbb{P}(H) * \\mathbb{P}(T) = p * q $
\n",
49 | "$\\mathbb{P}(TH) = \\mathbb{P}(T) * \\mathbb{P}(H) = q * p $
\n",
50 | "$\\mathbb{P}(TT) = \\mathbb{P}(T) * \\mathbb{P}(T) = q * q $\n",
51 | "\n",
52 | "Since $p\\neq1/2$, we know $p^2\\neq q^2$. Thus we use $HT$ or $TH$ because $\\mathbb{P}(HT)=\\mathbb{P}(TH)$. \n",
53 | " \n",
54 | "Thus following Neumann's brilliant approach we call heads if we get $HT$ after flipping biased coin twice and call tails if we get $TH$. In other cases, we throw the results and start over again. "
55 | ]
56 | },
57 | {
58 | "cell_type": "code",
59 | "execution_count": null,
60 | "metadata": {},
61 | "outputs": [],
62 | "source": []
63 | },
64 | {
65 | "cell_type": "code",
66 | "execution_count": null,
67 | "metadata": {},
68 | "outputs": [],
69 | "source": []
70 | },
71 | {
72 | "cell_type": "markdown",
73 | "metadata": {},
74 | "source": [
75 | "## Python code for simulation"
76 | ]
77 | },
78 | {
79 | "cell_type": "code",
80 | "execution_count": 56,
81 | "metadata": {
82 | "ExecuteTime": {
83 | "end_time": "2021-03-08T05:28:05.288271Z",
84 | "start_time": "2021-03-08T05:28:05.267999Z"
85 | }
86 | },
87 | "outputs": [
88 | {
89 | "name": "stdout",
90 | "output_type": "stream",
91 | "text": [
92 | "0.45819079723218104 we chose random p between 0 and 1\n"
93 | ]
94 | }
95 | ],
96 | "source": [
97 | "import random\n",
98 | "p=random.uniform(0,1)\n",
99 | "print(p,'we chose random p between 0 and 1')\n",
100 | "def biased(p):\n",
101 | " return int(random.random() < p)\n",
102 | "def fair():\n",
103 | " coin_1, coin_2 = 0,0\n",
104 | " while coin_1 == coin_2:\n",
105 | " coin_1, coin_2 = biased(p), biased(p)\n",
106 | " return coin_1"
107 | ]
108 | },
109 | {
110 | "cell_type": "code",
111 | "execution_count": 57,
112 | "metadata": {
113 | "ExecuteTime": {
114 | "end_time": "2021-03-08T05:28:05.580518Z",
115 | "start_time": "2021-03-08T05:28:05.511614Z"
116 | }
117 | },
118 | "outputs": [
119 | {
120 | "data": {
121 | "text/plain": [
122 | "45813"
123 | ]
124 | },
125 | "execution_count": 57,
126 | "metadata": {},
127 | "output_type": "execute_result"
128 | }
129 | ],
130 | "source": [
131 | "sum(biased(p) for i in range(10000))"
132 | ]
133 | },
134 | {
135 | "cell_type": "code",
136 | "execution_count": 62,
137 | "metadata": {
138 | "ExecuteTime": {
139 | "end_time": "2021-03-08T05:36:02.472656Z",
140 | "start_time": "2021-03-08T05:34:05.097754Z"
141 | }
142 | },
143 | "outputs": [],
144 | "source": [
145 | "import numpy as np\n",
146 | "values = np.array([sum(fair() for i in range(j)) for j in range(10000)])"
147 | ]
148 | },
149 | {
150 | "cell_type": "code",
151 | "execution_count": 67,
152 | "metadata": {
153 | "ExecuteTime": {
154 | "end_time": "2021-03-08T05:38:59.528967Z",
155 | "start_time": "2021-03-08T05:38:59.512283Z"
156 | }
157 | },
158 | "outputs": [
159 | {
160 | "name": "stderr",
161 | "output_type": "stream",
162 | "text": [
163 | "/Users/sergazy/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: RuntimeWarning:\n",
164 | "\n",
165 | "invalid value encountered in long_scalars\n",
166 | "\n"
167 | ]
168 | }
169 | ],
170 | "source": [
171 | "values2 =np.array([j/i for i,j in zip(range(10000),values)])"
172 | ]
173 | },
174 | {
175 | "cell_type": "code",
176 | "execution_count": 70,
177 | "metadata": {
178 | "ExecuteTime": {
179 | "end_time": "2021-03-08T05:44:24.019275Z",
180 | "start_time": "2021-03-08T05:44:23.796804Z"
181 | }
182 | },
183 | "outputs": [
184 | {
185 | "data": {
186 | "image/png": "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\n",
187 | "text/plain": [
188 | ""
189 | ]
190 | },
191 | "metadata": {
192 | "needs_background": "light"
193 | },
194 | "output_type": "display_data"
195 | }
196 | ],
197 | "source": [
198 | "import matplotlib.pyplot as plt\n",
199 | "plt.plot(values2)\n",
200 | "plt.show()"
201 | ]
202 | },
203 | {
204 | "cell_type": "code",
205 | "execution_count": null,
206 | "metadata": {},
207 | "outputs": [],
208 | "source": []
209 | }
210 | ],
211 | "metadata": {
212 | "author": "g",
213 | "hide_input": false,
214 | "kernelspec": {
215 | "display_name": "Python 3",
216 | "language": "python",
217 | "name": "python3"
218 | },
219 | "language_info": {
220 | "codemirror_mode": {
221 | "name": "ipython",
222 | "version": 3
223 | },
224 | "file_extension": ".py",
225 | "mimetype": "text/x-python",
226 | "name": "python",
227 | "nbconvert_exporter": "python",
228 | "pygments_lexer": "ipython3",
229 | "version": "3.7.5"
230 | },
231 | "latex_envs": {
232 | "LaTeX_envs_menu_present": true,
233 | "autoclose": false,
234 | "autocomplete": true,
235 | "bibliofile": "biblio.bib",
236 | "cite_by": "apalike",
237 | "current_citInitial": 1,
238 | "eqLabelWithNumbers": true,
239 | "eqNumInitial": 1,
240 | "hotkeys": {
241 | "equation": "Ctrl-E",
242 | "itemize": "Ctrl-I"
243 | },
244 | "labels_anchors": false,
245 | "latex_user_defs": false,
246 | "report_style_numbering": false,
247 | "user_envs_cfg": false
248 | }
249 | },
250 | "nbformat": 4,
251 | "nbformat_minor": 4
252 | }
253 |
--------------------------------------------------------------------------------
/Unfair Coin March 4 2021.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "ExecuteTime": {
7 | "end_time": "2021-03-03T15:06:18.500645Z",
8 | "start_time": "2021-03-03T15:06:18.455823Z"
9 | }
10 | },
11 | "source": [
12 | "sergazy.nurbavliyev@gmail.com © 2021"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "## Detecting Unfair Coin"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "Question: Assume we have a fair coin (one side heads and the other side tails) also we have an unfair coin (both sides heads). You pick randomly one coin, and flip it 5 times. You get 5 heads in a row. What is the probability that you are indeed flipping the unfair coin?\n"
27 | ]
28 | },
29 | {
30 | "cell_type": "markdown",
31 | "metadata": {},
32 | "source": [
33 | "### Intuition"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "Assume you flip a fair coin 5 times, what is the probability of getting 5 heads in a row. That is $\\frac{1}{2^5}$. \n",
41 | "If this is confusing, think this way, take 5 fair coin and flip once, and now the same question what is the probability of getting 5 heads? The same answer that is $\\frac{1}{2^5}$. Which is around 0.03125. If you dont have a calculator, then rougly you can guess $3/96\\approx 3/100=0.03$. That tells us probability of flipping an unfair coin is around 0.97. \n",
42 | "\n",
43 | "If you are flipping an unfair coin well then probability of getting 5 head is 1. Now correct answer should be close to these numbers."
44 | ]
45 | },
46 | {
47 | "cell_type": "code",
48 | "execution_count": 1,
49 | "metadata": {
50 | "ExecuteTime": {
51 | "end_time": "2021-03-04T16:06:19.118849Z",
52 | "start_time": "2021-03-04T16:06:19.007415Z"
53 | }
54 | },
55 | "outputs": [
56 | {
57 | "data": {
58 | "text/plain": [
59 | "0.03125"
60 | ]
61 | },
62 | "execution_count": 1,
63 | "metadata": {},
64 | "output_type": "execute_result"
65 | }
66 | ],
67 | "source": [
68 | "1/32"
69 | ]
70 | },
71 | {
72 | "cell_type": "code",
73 | "execution_count": null,
74 | "metadata": {},
75 | "outputs": [],
76 | "source": []
77 | },
78 | {
79 | "cell_type": "markdown",
80 | "metadata": {},
81 | "source": [
82 | "### Theoritical result"
83 | ]
84 | },
85 | {
86 | "cell_type": "markdown",
87 | "metadata": {},
88 | "source": [
89 | "As you can guess we will use Bayes theorem here. \n",
90 | "We will denote with $U$ letter if we are flipping the unfair coin and $F$ letter if we are flipping a fair\n",
91 | "Since we are picking randomly one coin, $\\mathbb{P}(U)=\\mathbb{P}(F)=1/2$.\n",
92 | "\n",
93 | "Let 5H represent the case where we get 5 heads in a row. Then we want to find the probability that we are flipping the unfair coin, given that we saw 5 heads in a row.\n",
94 | "i.e. $\\mathbb{P}(U|5H)$. \n",
95 | "If we are given an unfair coin and then the probability of getting 5 heads in a row would be 1. i.e. $\\mathbb{P}(5H|U)=1$. With the same logic if we have fair coin and then the probability of getting 5 heads in a row would be 1/32. i.e. $\\mathbb{P}(5H|F)=\\frac{1}{2^5}.$ We actually collected all the information we want. Now using Bayes rule we get\n",
96 | "\\begin{equation}\n",
97 | "\\mathbb{P}(U|5H)=\\dfrac{\\mathbb{P}(5H|U)\\mathbb{P}(U)}{\\mathbb{P}(5H|U)\\mathbb{P}(U)+\\mathbb{P}(5H|F)\\mathbb{P}(F)}=\\frac{\\frac{1}{2}*1}{\\frac{1}{2}*1+\\frac{1}{2}*\\frac{1}{2^5}}=\\frac{32}{33}= 0.9696969696969697\n",
98 | "\\end{equation}"
99 | ]
100 | },
101 | {
102 | "cell_type": "code",
103 | "execution_count": 2,
104 | "metadata": {
105 | "ExecuteTime": {
106 | "end_time": "2021-03-04T16:06:19.141301Z",
107 | "start_time": "2021-03-04T16:06:19.130704Z"
108 | }
109 | },
110 | "outputs": [
111 | {
112 | "data": {
113 | "text/plain": [
114 | "0.9696969696969697"
115 | ]
116 | },
117 | "execution_count": 2,
118 | "metadata": {},
119 | "output_type": "execute_result"
120 | }
121 | ],
122 | "source": [
123 | "32/33"
124 | ]
125 | },
126 | {
127 | "cell_type": "markdown",
128 | "metadata": {},
129 | "source": [
130 | "## Python code for our intuition"
131 | ]
132 | },
133 | {
134 | "cell_type": "code",
135 | "execution_count": 3,
136 | "metadata": {
137 | "ExecuteTime": {
138 | "end_time": "2021-03-04T16:06:19.165738Z",
139 | "start_time": "2021-03-04T16:06:19.154640Z"
140 | }
141 | },
142 | "outputs": [],
143 | "source": [
144 | "import scipy.stats as stats\n",
145 | "def fair(n_trials):\n",
146 | " return stats.bernoulli.rvs(0.5, size=n_trials) # this returns an array of 0s and 1s\n",
147 | "def unfair(n_trials):\n",
148 | " return stats.bernoulli.rvs(1, size=n_trials) ## this returns an array of 1s"
149 | ]
150 | },
151 | {
152 | "cell_type": "code",
153 | "execution_count": 17,
154 | "metadata": {
155 | "ExecuteTime": {
156 | "end_time": "2021-03-04T16:22:01.826906Z",
157 | "start_time": "2021-03-04T16:22:01.791422Z"
158 | }
159 | },
160 | "outputs": [],
161 | "source": [
162 | "import numpy as np\n",
163 | "count_f=0\n",
164 | "count_unf=0\n",
165 | "for j in range(100):\n",
166 | " data = fair(5)\n",
167 | " if np.sum(data)==5:\n",
168 | " count_f+=1\n",
169 | "for j in range(100):\n",
170 | " data = unfair(5)\n",
171 | " if np.sum(data)==5:\n",
172 | " count_unf+=1\n",
173 | " "
174 | ]
175 | },
176 | {
177 | "cell_type": "code",
178 | "execution_count": 18,
179 | "metadata": {
180 | "ExecuteTime": {
181 | "end_time": "2021-03-04T16:22:02.084969Z",
182 | "start_time": "2021-03-04T16:22:02.065757Z"
183 | }
184 | },
185 | "outputs": [
186 | {
187 | "data": {
188 | "text/plain": [
189 | "(0.06, 0.01)"
190 | ]
191 | },
192 | "execution_count": 18,
193 | "metadata": {},
194 | "output_type": "execute_result"
195 | }
196 | ],
197 | "source": [
198 | "count_f/100,count_unf/10000"
199 | ]
200 | },
201 | {
202 | "cell_type": "code",
203 | "execution_count": null,
204 | "metadata": {},
205 | "outputs": [],
206 | "source": []
207 | }
208 | ],
209 | "metadata": {
210 | "author": "g",
211 | "hide_input": false,
212 | "kernelspec": {
213 | "display_name": "Python 3",
214 | "language": "python",
215 | "name": "python3"
216 | },
217 | "language_info": {
218 | "codemirror_mode": {
219 | "name": "ipython",
220 | "version": 3
221 | },
222 | "file_extension": ".py",
223 | "mimetype": "text/x-python",
224 | "name": "python",
225 | "nbconvert_exporter": "python",
226 | "pygments_lexer": "ipython3",
227 | "version": "3.7.5"
228 | },
229 | "latex_envs": {
230 | "LaTeX_envs_menu_present": true,
231 | "autoclose": false,
232 | "autocomplete": true,
233 | "bibliofile": "biblio.bib",
234 | "cite_by": "apalike",
235 | "current_citInitial": 1,
236 | "eqLabelWithNumbers": true,
237 | "eqNumInitial": 1,
238 | "hotkeys": {
239 | "equation": "Ctrl-E",
240 | "itemize": "Ctrl-I"
241 | },
242 | "labels_anchors": false,
243 | "latex_user_defs": false,
244 | "report_style_numbering": false,
245 | "user_envs_cfg": false
246 | }
247 | },
248 | "nbformat": 4,
249 | "nbformat_minor": 4
250 | }
251 |
--------------------------------------------------------------------------------
/Which game would you choose March 9 2021.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {
6 | "ExecuteTime": {
7 | "end_time": "2021-03-03T15:06:18.500645Z",
8 | "start_time": "2021-03-03T15:06:18.455823Z"
9 | }
10 | },
11 | "source": [
12 | "sergazy.nurbavliyev@gmail.com © 2021"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "## Which game would you choose "
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "Question: Assume you and your friend decided to play the game in a casino. There are two games that you can play. \n",
27 | "Game 1. You roll two uniform fair dice. You can get the amount of dollars that is equivalent to the product of the numbers shown on both dies. \n",
28 | "Game 2. You roll one uniform fair die. You will get the dollar amount of the square of the value shown on the die. Which game will you choose? To be more clear: Which game has the higher expected value?"
29 | ]
30 | },
31 | {
32 | "cell_type": "markdown",
33 | "metadata": {},
34 | "source": [
35 | "## Answer"
36 | ]
37 | },
38 | {
39 | "cell_type": "markdown",
40 | "metadata": {},
41 | "source": [
42 | "Without calculating the real expected values. (This part is left to the reader.) We can stil answer the question.\n",
43 | " \n",
44 | "Let $X$ be the random variable that shows the outcome of the uniform fair die. Then the game 1 is asking to find $\\mathbb{E}[X]*\\mathbb{E}[X]$. In other words, the product of the expectation of the two independent rolls. However the game 2 is asking to find $\\mathbb{E}[X^2]$. In other words the expectation of the square of the single roll. Remember the definition of the variance. We know it is always non-negative. That is \n",
45 | "$Var(X)\\geq 0$.\n",
46 | "\\begin{equation}\n",
47 | "Var(X)=\\mathbb{E}[X^2]-\\mathbb{E}[X]^2\\geq 0\n",
48 | "\\end{equation}\n",
49 | "This implies that $\\mathbb{E}[X^2]\\geq \\mathbb{E}[X]^2$. Indeed, $\\mathbb{E}[X^2]> \\mathbb{E}[X]^2$ unless the two games are exactly the same. This implies that the second game has a higher expected value and we should choose that one."
50 | ]
51 | },
52 | {
53 | "cell_type": "code",
54 | "execution_count": null,
55 | "metadata": {},
56 | "outputs": [],
57 | "source": []
58 | },
59 | {
60 | "cell_type": "code",
61 | "execution_count": null,
62 | "metadata": {},
63 | "outputs": [],
64 | "source": []
65 | },
66 | {
67 | "cell_type": "markdown",
68 | "metadata": {},
69 | "source": [
70 | "## Python code for exact value"
71 | ]
72 | },
73 | {
74 | "cell_type": "code",
75 | "execution_count": 1,
76 | "metadata": {
77 | "ExecuteTime": {
78 | "end_time": "2021-03-10T05:35:05.365184Z",
79 | "start_time": "2021-03-10T05:35:04.552824Z"
80 | }
81 | },
82 | "outputs": [],
83 | "source": [
84 | "import sympy as S\n",
85 | "from sympy.stats import E, Die,variance\n",
86 | "x=Die('D1',6)\n",
87 | "y=Die('D2',6)"
88 | ]
89 | },
90 | {
91 | "cell_type": "code",
92 | "execution_count": 2,
93 | "metadata": {
94 | "ExecuteTime": {
95 | "end_time": "2021-03-10T05:35:05.476554Z",
96 | "start_time": "2021-03-10T05:35:05.371494Z"
97 | }
98 | },
99 | "outputs": [
100 | {
101 | "data": {
102 | "text/plain": [
103 | "(7/2, 91/6, 35/12)"
104 | ]
105 | },
106 | "execution_count": 2,
107 | "metadata": {},
108 | "output_type": "execute_result"
109 | }
110 | ],
111 | "source": [
112 | "E(x),E(x**2),variance(x)"
113 | ]
114 | },
115 | {
116 | "cell_type": "code",
117 | "execution_count": 3,
118 | "metadata": {
119 | "ExecuteTime": {
120 | "end_time": "2021-03-10T05:35:05.516596Z",
121 | "start_time": "2021-03-10T05:35:05.488862Z"
122 | }
123 | },
124 | "outputs": [
125 | {
126 | "data": {
127 | "text/plain": [
128 | "(7/2, 91/6, 35/12)"
129 | ]
130 | },
131 | "execution_count": 3,
132 | "metadata": {},
133 | "output_type": "execute_result"
134 | }
135 | ],
136 | "source": [
137 | "E(y),E(y**2),variance(y)"
138 | ]
139 | },
140 | {
141 | "cell_type": "code",
142 | "execution_count": 4,
143 | "metadata": {
144 | "ExecuteTime": {
145 | "end_time": "2021-03-10T05:35:05.536319Z",
146 | "start_time": "2021-03-10T05:35:05.524363Z"
147 | }
148 | },
149 | "outputs": [],
150 | "source": [
151 | "z =x*y"
152 | ]
153 | },
154 | {
155 | "cell_type": "code",
156 | "execution_count": 5,
157 | "metadata": {
158 | "ExecuteTime": {
159 | "end_time": "2021-03-10T05:35:05.714708Z",
160 | "start_time": "2021-03-10T05:35:05.545588Z"
161 | }
162 | },
163 | "outputs": [
164 | {
165 | "data": {
166 | "text/plain": [
167 | "(49/4, 8281/36, 11515/144)"
168 | ]
169 | },
170 | "execution_count": 5,
171 | "metadata": {},
172 | "output_type": "execute_result"
173 | }
174 | ],
175 | "source": [
176 | "E(z),E(z**2),variance(z)"
177 | ]
178 | },
179 | {
180 | "cell_type": "code",
181 | "execution_count": 6,
182 | "metadata": {
183 | "ExecuteTime": {
184 | "end_time": "2021-03-10T05:35:05.773407Z",
185 | "start_time": "2021-03-10T05:35:05.723303Z"
186 | }
187 | },
188 | "outputs": [
189 | {
190 | "data": {
191 | "text/latex": [
192 | "$\\displaystyle \\text{True}$"
193 | ],
194 | "text/plain": [
195 | "True"
196 | ]
197 | },
198 | "execution_count": 6,
199 | "metadata": {},
200 | "output_type": "execute_result"
201 | }
202 | ],
203 | "source": [
204 | "E(z)**2"
354 | ]
355 | },
356 | "metadata": {
357 | "needs_background": "light"
358 | },
359 | "output_type": "display_data"
360 | }
361 | ],
362 | "source": [
363 | "from matplotlib import pyplot as plt\n",
364 | "plt.plot(trial_list)\n",
365 | "plt.axhline(y=0.7530894710825506, color='r', linestyle='-')\n",
366 | "plt.show()"
367 | ]
368 | },
369 | {
370 | "cell_type": "markdown",
371 | "metadata": {},
372 | "source": [
373 | "\n",
374 | "For further discussions:\n",
375 | "https://www.quora.com/A-jar-has-1000-coins-of-which-999-are-fair-and-1-is-double-headed-Pick-a-coin-at-random-and-toss-it-10-times-Given-that-you-see-10-heads-what-is-the-probability-that-the-next-toss-of-that-coin-is-also-a-heads"
376 | ]
377 | },
378 | {
379 | "cell_type": "code",
380 | "execution_count": null,
381 | "metadata": {},
382 | "outputs": [],
383 | "source": []
384 | }
385 | ],
386 | "metadata": {
387 | "author": "g",
388 | "hide_input": false,
389 | "kernelspec": {
390 | "display_name": "Python 3",
391 | "language": "python",
392 | "name": "python3"
393 | },
394 | "language_info": {
395 | "codemirror_mode": {
396 | "name": "ipython",
397 | "version": 3
398 | },
399 | "file_extension": ".py",
400 | "mimetype": "text/x-python",
401 | "name": "python",
402 | "nbconvert_exporter": "python",
403 | "pygments_lexer": "ipython3",
404 | "version": "3.7.5"
405 | },
406 | "latex_envs": {
407 | "LaTeX_envs_menu_present": true,
408 | "autoclose": false,
409 | "autocomplete": true,
410 | "bibliofile": "biblio.bib",
411 | "cite_by": "apalike",
412 | "current_citInitial": 1,
413 | "eqLabelWithNumbers": true,
414 | "eqNumInitial": 1,
415 | "hotkeys": {
416 | "equation": "Ctrl-E",
417 | "itemize": "Ctrl-I"
418 | },
419 | "labels_anchors": false,
420 | "latex_user_defs": false,
421 | "report_style_numbering": false,
422 | "user_envs_cfg": false
423 | }
424 | },
425 | "nbformat": 4,
426 | "nbformat_minor": 4
427 | }
428 |
--------------------------------------------------------------------------------