├── README.md ├── data.p ├── .gitignore ├── MAE_complex.ipynb ├── MSE_complex.ipynb ├── main.py ├── Untitled2.ipynb ├── Untitled1.ipynb ├── Untitled3.ipynb └── Untitled.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # dofamin-stats 2 | Plot distibution graph from https://dofamin.org/ 3 | -------------------------------------------------------------------------------- /data.p: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergei-bondarenko/dofamin-stats/master/data.p -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | *.py[cod] 3 | *.png 4 | *.csv 5 | *.svg 6 | .* 7 | !/.gitignore 8 | -------------------------------------------------------------------------------- /MAE_complex.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 50, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "%matplotlib inline \n", 12 | "\n", 13 | "import matplotlib.pyplot as plt\n", 14 | "import numpy as np" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 51, 20 | "metadata": {}, 21 | "outputs": [], 22 | "source": [ 23 | "def mae(y_pred, y_true):\n", 24 | " '''\n", 25 | " A mean absolute error.\n", 26 | "\n", 27 | " Input:\n", 28 | " y_pred - predicted values;\n", 29 | " y_true - true values.\n", 30 | "\n", 31 | " Output a mean absolute error.\n", 32 | " '''\n", 33 | " return np.abs(y_pred - y_true).mean()" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 52, 39 | "metadata": { 40 | "collapsed": true 41 | }, 42 | "outputs": [], 43 | "source": [ 44 | "def dmae(y_pred, y_true):\n", 45 | " '''\n", 46 | " Derivative of a mean absolute error.\n", 47 | "\n", 48 | " Input:\n", 49 | " y_pred - predicted values;\n", 50 | " y_true - true values.\n", 51 | " \n", 52 | " Output derivatives of a mean absolute error.\n", 53 | " '''\n", 54 | " return (y_pred > y_true) * 2 - 1" 55 | ] 56 | }, 57 | { 58 | "cell_type": "code", 59 | "execution_count": 57, 60 | "metadata": {}, 61 | "outputs": [ 62 | { 63 | "name": "stdout", 64 | "output_type": "stream", 65 | "text": [ 66 | "0.525\n" 67 | ] 68 | } 69 | ], 70 | "source": [ 71 | "x = np.array([0.4, 0.6, 0.2, 1.1])\n", 72 | "y = np.array([1, 1, 2, 2.3])\n", 73 | "m = len(x)\n", 74 | "eps = 10**(-5)\n", 75 | "a = 2\n", 76 | "yc = a * x\n", 77 | "res = mae(yc, y)\n", 78 | "print(res)" 79 | ] 80 | }, 81 | { 82 | "cell_type": "code", 83 | "execution_count": 58, 84 | "metadata": {}, 85 | "outputs": [ 86 | { 87 | "data": { 88 | "text/plain": [ 89 | "array([ 0.8, 1.2, 0.4, 2.2])" 90 | ] 91 | }, 92 | "execution_count": 58, 93 | "metadata": {}, 94 | "output_type": "execute_result" 95 | } 96 | ], 97 | "source": [ 98 | "yc" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 59, 104 | "metadata": {}, 105 | "outputs": [ 106 | { 107 | "data": { 108 | "text/plain": [ 109 | "array([-1, 1, -1, -1])" 110 | ] 111 | }, 112 | "execution_count": 59, 113 | "metadata": {}, 114 | "output_type": "execute_result" 115 | } 116 | ], 117 | "source": [ 118 | "dmae(yc, y)" 119 | ] 120 | }, 121 | { 122 | "cell_type": "code", 123 | "execution_count": 60, 124 | "metadata": {}, 125 | "outputs": [ 126 | { 127 | "name": "stdout", 128 | "output_type": "stream", 129 | "text": [ 130 | "-0.275000000005\n", 131 | "-0.275\n" 132 | ] 133 | } 134 | ], 135 | "source": [ 136 | "aplus = a + eps\n", 137 | "aminus = a - eps\n", 138 | "resplus = mae(aplus * x, y)\n", 139 | "resminus = mae(aminus * x, y)\n", 140 | "da = (resplus - resminus) / (2 * eps)\n", 141 | "print(da)\n", 142 | "yc = a * x\n", 143 | "da = np.sum(1/m * dmae(yc, y) * x)\n", 144 | "print(da)" 145 | ] 146 | }, 147 | { 148 | "cell_type": "code", 149 | "execution_count": null, 150 | "metadata": { 151 | "collapsed": true 152 | }, 153 | "outputs": [], 154 | "source": [] 155 | } 156 | ], 157 | "metadata": { 158 | "kernelspec": { 159 | "display_name": "Python 3", 160 | "language": "python", 161 | "name": "python3" 162 | }, 163 | "language_info": { 164 | "codemirror_mode": { 165 | "name": "ipython", 166 | "version": 3 167 | }, 168 | "file_extension": ".py", 169 | "mimetype": "text/x-python", 170 | "name": "python", 171 | "nbconvert_exporter": "python", 172 | "pygments_lexer": "ipython3", 173 | "version": "3.6.3" 174 | } 175 | }, 176 | "nbformat": 4, 177 | "nbformat_minor": 2 178 | } 179 | -------------------------------------------------------------------------------- /MSE_complex.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 7, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "%matplotlib inline \n", 12 | "\n", 13 | "import matplotlib.pyplot as plt\n", 14 | "import numpy as np" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 8, 20 | "metadata": { 21 | "collapsed": true 22 | }, 23 | "outputs": [], 24 | "source": [ 25 | "def mse(y1, y2):\n", 26 | " '''\n", 27 | " Mean square error.\n", 28 | "\n", 29 | " Input:\n", 30 | " y1 - first numpy array;\n", 31 | " y2 - second numpy array.\n", 32 | "\n", 33 | " Output a mean square error.\n", 34 | " '''\n", 35 | " return ((y1 - y2) ** 2).mean()" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": 9, 41 | "metadata": {}, 42 | "outputs": [ 43 | { 44 | "name": "stdout", 45 | "output_type": "stream", 46 | "text": [ 47 | "40447743.4867\n" 48 | ] 49 | } 50 | ], 51 | "source": [ 52 | "x = np.array([0.1, 0.2, 0.3, 0.4])\n", 53 | "y = np.array([650, 1000, 1500, 2200])\n", 54 | "m = len(x)\n", 55 | "eps = 10**(-5)\n", 56 | "a = 1.2\n", 57 | "b = 1.4\n", 58 | "c = 1.6\n", 59 | "d = 1.8\n", 60 | "h = 2\n", 61 | "k = 2.2\n", 62 | "p = 2.4\n", 63 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 64 | "res = mse(yc, y)\n", 65 | "print(res)" 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 10, 71 | "metadata": {}, 72 | "outputs": [ 73 | { 74 | "name": "stdout", 75 | "output_type": "stream", 76 | "text": [ 77 | "78320859.6017\n", 78 | "78320859.6013\n" 79 | ] 80 | } 81 | ], 82 | "source": [ 83 | "aplus = a + eps\n", 84 | "aminus = a - eps\n", 85 | "resplus = mse(aplus * np.exp((b * np.exp(c * x + d) + h) * x + k) + p, y)\n", 86 | "resminus = mse(aminus * np.exp((b * np.exp(c * x + d) + h) * x + k) + p, y)\n", 87 | "da = (resplus - resminus) / (2 * eps)\n", 88 | "print(da)\n", 89 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 90 | "da = np.sum(2/m * (yc - y) * np.exp(x * (b * np.exp(c * x + d) + h) + k))\n", 91 | "print(da)" 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": 11, 97 | "metadata": {}, 98 | "outputs": [ 99 | { 100 | "name": "stdout", 101 | "output_type": "stream", 102 | "text": [ 103 | "431859418.096\n", 104 | "431859417.41\n" 105 | ] 106 | } 107 | ], 108 | "source": [ 109 | "bplus = b + eps\n", 110 | "bminus = b - eps\n", 111 | "resplus = mse(a * np.exp((bplus * np.exp(c * x + d) + h) * x + k) + p, y)\n", 112 | "resminus = mse(a * np.exp((bminus * np.exp(c * x + d) + h) * x + k) + p, y)\n", 113 | "db = (resplus - resminus) / (2 * eps)\n", 114 | "print(db)\n", 115 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 116 | "db = np.sum(2/m * (yc - y) * a * x * np.exp(x * (b * np.exp(c * x + d) + h) + c * x + d + k))\n", 117 | "print(db)" 118 | ] 119 | }, 120 | { 121 | "cell_type": "code", 122 | "execution_count": 12, 123 | "metadata": {}, 124 | "outputs": [ 125 | { 126 | "name": "stdout", 127 | "output_type": "stream", 128 | "text": [ 129 | "241950478.778\n", 130 | "241950478.621\n" 131 | ] 132 | } 133 | ], 134 | "source": [ 135 | "cplus = c + eps\n", 136 | "cminus = c - eps\n", 137 | "resplus = mse(a * np.exp((b * np.exp(cplus * x + d) + h) * x + k) + p, y)\n", 138 | "resminus = mse(a * np.exp((b * np.exp(cminus * x + d) + h) * x + k) + p, y)\n", 139 | "dc = (resplus - resminus) / (2 * eps)\n", 140 | "print(dc)\n", 141 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 142 | "dc = np.sum(2/m * (yc - y) * a * b * x**2 * np.exp(x * (b * np.exp(c * x + d) + h) + c * x + d + k))\n", 143 | "print(dc)" 144 | ] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": 13, 149 | "metadata": {}, 150 | "outputs": [ 151 | { 152 | "name": "stdout", 153 | "output_type": "stream", 154 | "text": [ 155 | "604603186.685\n", 156 | "604603184.374\n" 157 | ] 158 | } 159 | ], 160 | "source": [ 161 | "dplus = d + eps\n", 162 | "dminus = d - eps\n", 163 | "resplus = mse(a * np.exp((b * np.exp(c * x + dplus) + h) * x + k) + p, y)\n", 164 | "resminus = mse(a * np.exp((b * np.exp(c * x + dminus) + h) * x + k) + p, y)\n", 165 | "dd = (resplus - resminus) / (2 * eps)\n", 166 | "print(dd)\n", 167 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 168 | "dd = np.sum(2/m * (yc - y) * a * b * x * np.exp(x * (b * np.exp(c * x + d) + h) + c * x + d + k))\n", 169 | "print(dd)" 170 | ] 171 | }, 172 | { 173 | "cell_type": "code", 174 | "execution_count": 14, 175 | "metadata": {}, 176 | "outputs": [ 177 | { 178 | "name": "stdout", 179 | "output_type": "stream", 180 | "text": [ 181 | "37629070.6232\n", 182 | "37629070.6258\n" 183 | ] 184 | } 185 | ], 186 | "source": [ 187 | "hplus = h + eps\n", 188 | "hminus= h - eps\n", 189 | "resplus = mse(a * np.exp((b * np.exp(c * x + d) + hplus) * x + k) + p, y)\n", 190 | "resminus = mse(a * np.exp((b * np.exp(c * x + d) + hminus) * x + k) + p, y)\n", 191 | "dh = (resplus - resminus) / (2 * eps)\n", 192 | "print(dh)\n", 193 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 194 | "dh = np.sum(2/m * (yc - y) * a * x * np.exp(x * (b * np.exp(c * x + d) + h) + k))\n", 195 | "print(dh)" 196 | ] 197 | }, 198 | { 199 | "cell_type": "code", 200 | "execution_count": 15, 201 | "metadata": {}, 202 | "outputs": [ 203 | { 204 | "name": "stdout", 205 | "output_type": "stream", 206 | "text": [ 207 | "93985031.5332\n", 208 | "93985031.5215\n" 209 | ] 210 | } 211 | ], 212 | "source": [ 213 | "kplus = k + eps\n", 214 | "kminus= k - eps\n", 215 | "resplus = mse(a * np.exp((b * np.exp(c * x + d) + h) * x + kplus) + p, y)\n", 216 | "resminus = mse(a * np.exp((b * np.exp(c * x + d) + h) * x + kminus) + p, y)\n", 217 | "dk = (resplus - resminus) / (2 * eps)\n", 218 | "print(dk)\n", 219 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 220 | "dk = np.sum(2/m * (yc - y) * a * np.exp(x * (b * np.exp(c * x + d) + h) + k))\n", 221 | "print(dk)" 222 | ] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": 16, 227 | "metadata": {}, 228 | "outputs": [ 229 | { 230 | "name": "stdout", 231 | "output_type": "stream", 232 | "text": [ 233 | "5465.91095626\n", 234 | "5465.9110091\n" 235 | ] 236 | } 237 | ], 238 | "source": [ 239 | "pplus = p + eps\n", 240 | "pminus= p - eps\n", 241 | "resplus = mse(a * np.exp((b * np.exp(c * x + d) + h) * x + k) + pplus, y)\n", 242 | "resminus = mse(a * np.exp((b * np.exp(c * x + d) + h) * x + k) + pminus, y)\n", 243 | "dp = (resplus - resminus) / (2 * eps)\n", 244 | "print(dp)\n", 245 | "yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 246 | "dp = np.sum(2/m * (yc - y))\n", 247 | "print(dp)" 248 | ] 249 | }, 250 | { 251 | "cell_type": "code", 252 | "execution_count": null, 253 | "metadata": { 254 | "collapsed": true 255 | }, 256 | "outputs": [], 257 | "source": [] 258 | } 259 | ], 260 | "metadata": { 261 | "kernelspec": { 262 | "display_name": "Python 3", 263 | "language": "python", 264 | "name": "python3" 265 | }, 266 | "language_info": { 267 | "codemirror_mode": { 268 | "name": "ipython", 269 | "version": 3 270 | }, 271 | "file_extension": ".py", 272 | "mimetype": "text/x-python", 273 | "name": "python", 274 | "nbconvert_exporter": "python", 275 | "pygments_lexer": "ipython3", 276 | "version": "3.6.3" 277 | } 278 | }, 279 | "nbformat": 4, 280 | "nbformat_minor": 2 281 | } 282 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Project page: https://github.com/grez911/dofamin-stats 3 | 4 | import requests 5 | import matplotlib.pyplot as plt 6 | import numpy as np 7 | from bs4 import BeautifulSoup 8 | 9 | def get_data(): 10 | ''' 11 | Get data from the site. 12 | 13 | Inputs nothing. 14 | 15 | Output: 16 | data - dictionary with days as keys and values as number of people. 17 | ''' 18 | page = 0 19 | data = dict() 20 | while True: 21 | page += 1 22 | print(f"Collecting data from page #{page}...") 23 | html = requests.get(f"https://dofamin.org/index.php?v=Main&page={page}") 24 | html = html.content.decode('UTF-8', errors='ignore') 25 | soup = BeautifulSoup(html, 'html.parser') 26 | divs = soup.find_all('div', class_="nofap-ranks__element " 27 | + "nofap-ranks__element_period") 28 | if len(divs) == 0: 29 | break 30 | for div in divs: 31 | days = int(div.text.split()[0]) 32 | data.setdefault(days, 0) 33 | data[days] += 1 34 | return data 35 | 36 | def prepare(data): 37 | ''' 38 | Make lists for x and y axis for plotting. 39 | 40 | Input: 41 | data - dictionary with days as keys and values as number of people. 42 | 43 | Output: 44 | x - numpy array with values for x axis; 45 | y - numpy array with values for y axis. 46 | ''' 47 | x = [] 48 | y = [] 49 | for day in range(0, max(data) + 1): 50 | x.append(day) 51 | if day in data: 52 | y.append(data[day]) 53 | else: 54 | y.append(0) 55 | # Add half a day because on the sitedisplayed floor values, 56 | # e.g. "2 days" means time between 2 and 3 days, so we are 57 | # taking an average. 58 | x = np.array(x) + 0.5 59 | y = np.array(y) 60 | y = y / np.sum(y) 61 | 62 | y = fill_gaps(y) 63 | y = np.log(y) 64 | return x, y 65 | 66 | def fill_gaps(y): 67 | ''' 68 | Replace zeros in `y` with mean values. E.g. 69 | [8, 4, 0, 2, 0, 0, 0, 1] will become 70 | [8, 4, 1, 1, 0.25, 0.25, 0.25, 0.25]. 71 | 72 | Input: 73 | y - array with zeros. 74 | 75 | Output: 76 | y - array without zeros. 77 | ''' 78 | last_nonzero = len(y) - 1 79 | counter = 1 80 | for i in reversed(range(len(y))): 81 | if y[i] != 0: 82 | y[i+1:last_nonzero+1] = y[last_nonzero] / counter 83 | counter = 1 84 | last_nonzero = i 85 | else: 86 | counter += 1 87 | return(y) 88 | 89 | def mse(y1, y2): 90 | ''' 91 | Mean square error. 92 | 93 | Input: 94 | y1 - first numpy array; 95 | y2 - second numpy array. 96 | 97 | Output a mean square error. 98 | ''' 99 | return ((y1 - y2) ** 2).mean() 100 | 101 | def mae(y_pred, y_true): 102 | ''' 103 | A mean absolute error. 104 | 105 | Input: 106 | y_pred - predicted values; 107 | y_true - true values. 108 | 109 | Output a mean absolute error. 110 | ''' 111 | return np.abs(y_pred - y_true).mean() 112 | 113 | def dmae(y_pred, y_true): 114 | ''' 115 | Derivative of a mean absolute error. 116 | 117 | Input: 118 | y_pred - predicted values; 119 | y_true - true values. 120 | 121 | Output derivatives of a mean absolute error. 122 | ''' 123 | return (y_pred > y_true) * 2 - 1 124 | 125 | def find_curve(x, y, learning_rate): 126 | ''' 127 | Find distribution function via gradient descend. 128 | 129 | Input: 130 | x - numpy array with values for x axis (actual data); 131 | y - numpy array with values for y axis (actual data); 132 | learning_rate - learning rate; 133 | 134 | Output: 135 | xc - numpy array with values for x axis (fitted curve). 136 | yc - numpy array with values for y axis (fitted curve). 137 | ''' 138 | print("Making gradient descent...") 139 | m = len(x) # Number of training points. 140 | 141 | p = np.random.randn(7) * 0.1 142 | p[6] = -10 143 | dp = np.zeros(7) 144 | eps = 10**(-8) 145 | M = np.zeros(7) 146 | R = np.zeros(7) 147 | beta1 = 0.9 148 | beta2 = 0.999 149 | 150 | # a = 3.279210148249056 151 | # b = -0.006483609824476167 152 | # c = 0.5965040704470368 153 | # d = -10.612307583296714 154 | i = 0 155 | try: 156 | while True: 157 | # yc = a * np.exp(b * x + c) + d 158 | yc = p[0] * np.exp((p[1] * np.exp(p[2] * x + p[3]) + p[4]) * x + p[5]) + p[6] 159 | if i % 1000 == 0: 160 | #loss = mae(yc, y) 161 | loss = mse(yc, y) 162 | print(f"Epoch {i}: loss = {loss}") 163 | # print(f"a = {a}, b = {b}, c = {c}, d = {d}") 164 | print(p[0], p[1], p[2], p[3], p[4], p[5], p[6]) 165 | 166 | # da = np.sum(2/m * (yc - y) * (np.exp(b * x + c))) 167 | # db = np.sum(2/m * (yc - y) * a * x * np.exp(b * x + c)) 168 | # dc = np.sum(2/m * (yc - y) * a * b * np.exp(b * (x + c))) 169 | # dd = np.sum(2/m * (yc - y)) 170 | 171 | dp[0] = np.sum(2/m * (yc - y) * np.exp(x * (p[1] * np.exp(p[2] * x + p[3]) + p[4]) + p[5])) 172 | dp[1] = np.sum(2/m * (yc - y) * p[0] * x * np.exp(x * (p[1] * np.exp(p[2] * x + p[3]) + p[4]) + p[2] * x + p[3] + p[5])) 173 | dp[2] = np.sum(2/m * (yc - y) * p[0] * p[1] * x**2 * np.exp(x * (p[1] * np.exp(p[2] * x + p[3]) + p[4]) + p[2] * x + p[3] + p[5])) 174 | dp[3] = np.sum(2/m * (yc - y) * p[0] * p[1] * x * np.exp(x * (p[1] * np.exp(p[2] * x + p[3]) + p[4]) + p[2] * x + p[3] + p[5])) 175 | dp[4] = np.sum(2/m * (yc - y) * p[0] * x * np.exp(x * (p[1] * np.exp(p[2] * x + p[3]) + p[4]) + p[5])) 176 | dp[5] = np.sum(2/m * (yc - y) * p[0] * np.exp(x * (p[1] * np.exp(p[2] * x + p[3]) + p[4]) + p[5])) 177 | dp[6] = np.sum(2/m * (yc - y)) 178 | 179 | # da = np.sum(2/m * dmae(yc, y) * np.exp(x * (b * np.exp(c * x + d) + h) + k)) 180 | # #db = np.sum(2/m * dmae(yc, y) * a * x * np.exp(x * (b * np.exp(c * x + d) + h) + c * x + d + k)) 181 | # #dc = np.sum(2/m * dmae(yc, y) * a * b * x**2 * np.exp(x * (b * np.exp(c * x + d) + h) + c * x + d + k)) 182 | # #dd = np.sum(2/m * dmae(yc, y) * a * b * x * np.exp(x * (b * np.exp(c * x + d) + h) + c * x + d + k)) 183 | # dh = np.sum(2/m * dmae(yc, y) * a * x * np.exp(x * (b * np.exp(c * x + d) + h) + k)) 184 | # dk = np.sum(2/m * dmae(yc, y) * a * np.exp(x * (b * np.exp(c * x + d) + h) + k)) 185 | # #dp = np.sum(2/m * dmae(yc, y)) 186 | 187 | M = beta1 * M + (1.0 - beta1) * dp 188 | R = beta2 * R + (1.0 - beta2) * dp**2 189 | m_hat = M / (1.0 - beta1**(i+1)) 190 | r_hat = R / (1.0 - beta2**(i+1)) 191 | p -= learning_rate * m_hat / (np.sqrt(r_hat) + eps) 192 | i += 1 193 | except KeyboardInterrupt: 194 | 195 | 196 | # a -= da * learning_rate * 100000 197 | # b -= db * learning_rate * 100000 198 | # c -= dc * learning_rate * 10000 199 | # d -= dd * learning_rate * 100000 200 | # h -= dh * learning_rate 201 | # k -= dk * learning_rate * 1000 202 | # p -= dp * learning_rate * 1000 203 | 204 | #a = np.around(a, 3) 205 | #b = np.around(b, 3) 206 | print("-------") 207 | # print("Found solution for the function y(x) = a * np.exp(b * x + c) + d:") 208 | #print("Found solution for the function y(x) = a * e^((b * e^(c * x + d) + h) * x + k) + p:") 209 | print(f"p[0] = {p[0]}") 210 | print(f"p[1] = {p[1]}") 211 | print(f"p[2] = {p[2]}") 212 | print(f"p[3] = {p[3]}") 213 | print(f"p[4] = {p[4]}") 214 | print(f"p[5] = {p[5]}") 215 | print(f"p[6] = {p[6]}") 216 | xc = np.logspace(np.log10(0.5), np.log10(max(x))) 217 | #yc = a * np.exp(b * xc + c) + d 218 | yc = p[0] * np.exp((p[1] * np.exp(p[2] * xc + p[3]) + p[4]) * xc + p[5]) + p[6] 219 | #return xc, yc, (a, b, c, d) 220 | return xc, yc, p 221 | 222 | def plot(x, y): 223 | ''' 224 | Draw plot. 225 | 226 | Outputs nothing. 227 | ''' 228 | fig, ax = plt.subplots() 229 | #ax.plot(x, y, 'b.') 230 | ax.semilogx(x, y, 'b.') 231 | xc, yc, params = find_curve(x, y, learning_rate=1 * 10**(-3)) 232 | ax.semilogx(xc, yc, '#ff7f0e')#, label=f'${params[0]}e^{{{params[1]}x}}$') 233 | #ax.plot(xc, yc, '#ff7f0e') 234 | plt.title("Nofap time distribution") 235 | plt.xlabel("nofap time (days)") 236 | plt.ylabel("proportion of people") 237 | ax.grid() 238 | plt.legend() 239 | plt.show() 240 | 241 | def main(): 242 | ''' 243 | Main function. 244 | Inputs and outputs nothing. 245 | ''' 246 | plt.rc('font', size=16) 247 | # data = get_data() 248 | 249 | import pickle 250 | # pickle.dump(data, open("data.p", "wb")) 251 | data = pickle.load(open("data.p", "rb" )) 252 | x, y = prepare(data) 253 | plot(x, y) 254 | 255 | if __name__ == '__main__': 256 | main() 257 | -------------------------------------------------------------------------------- /Untitled2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 58, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "%matplotlib inline \n", 12 | "\n", 13 | "import matplotlib.pyplot as plt\n", 14 | "import numpy as np" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 59, 20 | "metadata": {}, 21 | "outputs": [ 22 | { 23 | "data": { 24 | "image/png": "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\n", 25 | "text/plain": [ 26 | "
" 27 | ] 28 | }, 29 | "metadata": {}, 30 | "output_type": "display_data" 31 | } 32 | ], 33 | "source": [ 34 | "fig, ax = plt.subplots()\n", 35 | "\n", 36 | "lambd = 2\n", 37 | "x = np.arange(10)\n", 38 | "y = np.exp(-lambd * x)\n", 39 | "ax.plot(x, y)\n", 40 | "plt.show()" 41 | ] 42 | }, 43 | { 44 | "cell_type": "code", 45 | "execution_count": 60, 46 | "metadata": {}, 47 | "outputs": [ 48 | { 49 | "data": { 50 | "text/plain": [ 51 | "0.11565176403659053" 52 | ] 53 | }, 54 | "execution_count": 60, 55 | "metadata": {}, 56 | "output_type": "execute_result" 57 | } 58 | ], 59 | "source": [ 60 | "np.mean(y)" 61 | ] 62 | }, 63 | { 64 | "cell_type": "code", 65 | "execution_count": 68, 66 | "metadata": {}, 67 | "outputs": [ 68 | { 69 | "name": "stdout", 70 | "output_type": "stream", 71 | "text": [ 72 | "0.34657359027997264\n" 73 | ] 74 | } 75 | ], 76 | "source": [ 77 | "# Период полураспада.\n", 78 | "T = np.log(2) / lambd\n", 79 | "print(T)" 80 | ] 81 | }, 82 | { 83 | "cell_type": "code", 84 | "execution_count": 62, 85 | "metadata": {}, 86 | "outputs": [ 87 | { 88 | "name": "stdout", 89 | "output_type": "stream", 90 | "text": [ 91 | "0.5\n" 92 | ] 93 | } 94 | ], 95 | "source": [ 96 | "print(np.exp(-lambd * T))" 97 | ] 98 | }, 99 | { 100 | "cell_type": "code", 101 | "execution_count": 66, 102 | "metadata": {}, 103 | "outputs": [ 104 | { 105 | "data": { 106 | "text/plain": [ 107 | "0.002478752176666359" 108 | ] 109 | }, 110 | "execution_count": 66, 111 | "metadata": {}, 112 | "output_type": "execute_result" 113 | } 114 | ], 115 | "source": [ 116 | "# Вероятность.\n", 117 | "p = 1/np.exp(lambd)\n", 118 | "p**3" 119 | ] 120 | }, 121 | { 122 | "cell_type": "code", 123 | "execution_count": 67, 124 | "metadata": {}, 125 | "outputs": [ 126 | { 127 | "data": { 128 | "text/plain": [ 129 | "0.0024787521766663585" 130 | ] 131 | }, 132 | "execution_count": 67, 133 | "metadata": {}, 134 | "output_type": "execute_result" 135 | } 136 | ], 137 | "source": [ 138 | "y[3]" 139 | ] 140 | }, 141 | { 142 | "cell_type": "code", 143 | "execution_count": null, 144 | "metadata": { 145 | "collapsed": true 146 | }, 147 | "outputs": [], 148 | "source": [] 149 | } 150 | ], 151 | "metadata": { 152 | "kernelspec": { 153 | "display_name": "Python 3", 154 | "language": "python", 155 | "name": "python3" 156 | }, 157 | "language_info": { 158 | "codemirror_mode": { 159 | "name": "ipython", 160 | "version": 3 161 | }, 162 | "file_extension": ".py", 163 | "mimetype": "text/x-python", 164 | "name": "python", 165 | "nbconvert_exporter": "python", 166 | "pygments_lexer": "ipython3", 167 | "version": "3.6.4" 168 | } 169 | }, 170 | "nbformat": 4, 171 | "nbformat_minor": 2 172 | } 173 | -------------------------------------------------------------------------------- /Untitled1.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "%matplotlib inline \n", 10 | "\n", 11 | "import matplotlib.pyplot as plt\n", 12 | "import numpy as np" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 5, 18 | "metadata": {}, 19 | "outputs": [ 20 | { 21 | "data": { 22 | "image/png": "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\n", 23 | "text/plain": [ 24 | "
" 25 | ] 26 | }, 27 | "metadata": {}, 28 | "output_type": "display_data" 29 | } 30 | ], 31 | "source": [ 32 | "fig, ax = plt.subplots()\n", 33 | "\n", 34 | "a = 0.2071115853282763\n", 35 | "b = 0.22558578261029436\n", 36 | "c = -0.13080004408767462\n", 37 | "d = 0.11987149384005813\n", 38 | "h = -0.3835566172190995\n", 39 | "k = 0.0020480366624179777\n", 40 | "p = 0\n", 41 | "x = np.arange(50)\n", 42 | "y = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 43 | "ax.plot(x, y)\n", 44 | "plt.show()" 45 | ] 46 | }, 47 | { 48 | "cell_type": "code", 49 | "execution_count": 21, 50 | "metadata": {}, 51 | "outputs": [ 52 | { 53 | "data": { 54 | "image/png": "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\n", 55 | "text/plain": [ 56 | "
" 57 | ] 58 | }, 59 | "metadata": {}, 60 | "output_type": "display_data" 61 | } 62 | ], 63 | "source": [ 64 | "fig, ax = plt.subplots()\n", 65 | "\n", 66 | "a = 0.21665571120237653\n", 67 | "b = -0.1539442632922988\n", 68 | "c = -0.050076809619707875\n", 69 | "d = 0.10627643356092598\n", 70 | "h = -0.048276196056565905\n", 71 | "k = 0.004070252173642147\n", 72 | "p = 0\n", 73 | "x = np.arange(50)\n", 74 | "y = b * np.exp(c * x + d) + h\n", 75 | "ax.plot(x, y)\n", 76 | "plt.show()" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": 12, 82 | "metadata": {}, 83 | "outputs": [ 84 | { 85 | "data": { 86 | "text/plain": [ 87 | "0.12587706351166125" 88 | ] 89 | }, 90 | "execution_count": 12, 91 | "metadata": {}, 92 | "output_type": "execute_result" 93 | } 94 | ], 95 | "source": [ 96 | "x = 50\n", 97 | "a * np.exp(-0.01* x + k) + p" 98 | ] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "execution_count": null, 103 | "metadata": {}, 104 | "outputs": [], 105 | "source": [] 106 | } 107 | ], 108 | "metadata": { 109 | "kernelspec": { 110 | "display_name": "Python 3", 111 | "language": "python", 112 | "name": "python3" 113 | }, 114 | "language_info": { 115 | "codemirror_mode": { 116 | "name": "ipython", 117 | "version": 3 118 | }, 119 | "file_extension": ".py", 120 | "mimetype": "text/x-python", 121 | "name": "python", 122 | "nbconvert_exporter": "python", 123 | "pygments_lexer": "ipython3", 124 | "version": "3.6.4" 125 | } 126 | }, 127 | "nbformat": 4, 128 | "nbformat_minor": 2 129 | } 130 | -------------------------------------------------------------------------------- /Untitled3.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 8, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "%matplotlib inline \n", 12 | "\n", 13 | "import requests\n", 14 | "import pickle\n", 15 | "import matplotlib.pyplot as plt\n", 16 | "import numpy as np\n", 17 | "from bs4 import BeautifulSoup" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 9, 23 | "metadata": { 24 | "collapsed": true 25 | }, 26 | "outputs": [], 27 | "source": [ 28 | "def prepare(data):\n", 29 | " '''\n", 30 | " Make lists for x and y axis for plotting.\n", 31 | "\n", 32 | " Input:\n", 33 | " data - dictionary with days as keys and values as number of people.\n", 34 | "\n", 35 | " Output:\n", 36 | " x - numpy array with values for x axis;\n", 37 | " y - numpy array with values for y axis.\n", 38 | " '''\n", 39 | " x = []\n", 40 | " y = []\n", 41 | " for day in range(0, max(data) + 1):\n", 42 | " x.append(day)\n", 43 | " if day in data:\n", 44 | " y.append(data[day])\n", 45 | " else:\n", 46 | " y.append(0)\n", 47 | " # Add half a day because on the sitedisplayed floor values,\n", 48 | " # e.g. \"2 days\" means time between 2 and 3 days, so we are\n", 49 | " # taking an average.\n", 50 | " x = np.array(x) + 0.5\n", 51 | " y = np.array(y)\n", 52 | " y = y / np.sum(y)\n", 53 | " y = fill_gaps(y)\n", 54 | " y = np.log(y)\n", 55 | " return x, y" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 10, 61 | "metadata": { 62 | "collapsed": true 63 | }, 64 | "outputs": [], 65 | "source": [ 66 | "def fill_gaps(y):\n", 67 | " '''\n", 68 | " Replace zeros in `y` with mean values. E.g.\n", 69 | " [8, 4, 0, 2, 0, 0, 0, 1] will become\n", 70 | " [8, 4, 1, 1, 0.25, 0.25, 0.25, 0.25].\n", 71 | " \n", 72 | " Input:\n", 73 | " y - array with zeros.\n", 74 | " \n", 75 | " Output:\n", 76 | " y - array without zeros.\n", 77 | " '''\n", 78 | " last_nonzero = len(y) - 1\n", 79 | " counter = 1\n", 80 | " for i in reversed(range(len(y))):\n", 81 | " if y[i] != 0:\n", 82 | " y[i+1:last_nonzero+1] = y[last_nonzero] / counter\n", 83 | " counter = 1\n", 84 | " last_nonzero = i\n", 85 | " else:\n", 86 | " counter += 1\n", 87 | " return(y)" 88 | ] 89 | }, 90 | { 91 | "cell_type": "code", 92 | "execution_count": 234, 93 | "metadata": {}, 94 | "outputs": [], 95 | "source": [ 96 | "def plot(x, y):\n", 97 | " '''\n", 98 | " Draw plot.\n", 99 | "\n", 100 | " Outputs nothing.\n", 101 | " '''\n", 102 | " #fig, ax = plt.subplots()\n", 103 | " #ax.semilogx(x, y, 'b.')\n", 104 | " #ax.plot(x, y, 'b.')\n", 105 | " #ax.loglog(x, y, 'b.')\n", 106 | "\n", 107 | " #a = 10\n", 108 | " #b = -0.020\n", 109 | " #c = 0\n", 110 | " #d = -11\n", 111 | " #yc = a * np.exp(b * x + c) + d\n", 112 | " #ax.plot(x, yc, '#000000')\n", 113 | " \n", 114 | " #a = 54.77698157775709\n", 115 | " #b = 1.73500255275099\n", 116 | " #c = -0.42807827017037\n", 117 | " #d = -0.998703651495454\n", 118 | " #h = -0.004799746206899513\n", 119 | " #k = -2.288667014878367\n", 120 | " #p = -10.901119290138688\n", 121 | " #yc = a * np.exp((b * np.exp(c * x + d) + h) * x + k) + p\n", 122 | " #lambd = (b * np.exp(c * x + d) + h)\n", 123 | " #ax.plot(x, yc, '#000000')\n", 124 | "\n", 125 | " #plt.title(\"Nofap time distribution\")\n", 126 | " #plt.xlabel(\"nofap time (days)\")\n", 127 | " #plt.ylabel(\"proportion of people\")\n", 128 | " #ax.grid()\n", 129 | " #plt.legend()\n", 130 | " #plt.show()\n", 131 | "\n", 132 | " p = np.zeros(7)\n", 133 | " p[0] = 1.0947247405472849 #0.507\n", 134 | " p[1] = -0.01461641952997808\n", 135 | " p[2] = -0.014079710222347655\n", 136 | " p[3] = 0.17202282070496477\n", 137 | " p[4] = -0.004927137010013891\n", 138 | " p[5] = 2.0952222086823413\n", 139 | " p[6] = -11.41549571072583\n", 140 | " \n", 141 | " p[0] = 0.9859814622460819 #0.527\n", 142 | " p[1] = 0.40685245659935465\n", 143 | " p[2] = -0.4159445472787521\n", 144 | " p[3] = 0.4325751476205563\n", 145 | " p[4] = -0.004541151705278947\n", 146 | " p[5] = 1.744043484713113\n", 147 | " p[6] = -11.117631206084367\n", 148 | "\n", 149 | " p[0] = 1.6379664881377958 #0.527\n", 150 | " p[1] = 0.19382065793290304\n", 151 | " p[2] = -0.41740466067087284\n", 152 | " p[3] = 1.177194927905827\n", 153 | " p[4] = -0.004604626846593521\n", 154 | " p[5] = 1.2337713214436086\n", 155 | " p[6] = -11.086805519667783\n", 156 | " \n", 157 | " p[0] = 1.1002364141324916 #0.527\n", 158 | " p[1] = 0.8958821599942233\n", 159 | " p[2] = -0.41721698289403397\n", 160 | " p[3] = -0.354018270265914\n", 161 | " p[4] = -0.0045940529050629226\n", 162 | " p[5] = 1.6321153199632454\n", 163 | " p[6] = -11.091563408506572\n", 164 | " \n", 165 | " p[0] = 0.7524080766986727 #0.507\n", 166 | " p[1] = -0.01634274140621778\n", 167 | " p[2] = -0.014488822489973942\n", 168 | " p[3] = 0.09900766455311166\n", 169 | " p[4] = -0.0051368477222813345\n", 170 | " p[5] = 2.463788184507843\n", 171 | " p[6] = -11.31316206668596\n", 172 | "\n", 173 | " p[0] = 0.9244518687303227 #0.527\n", 174 | " p[1] = 0.46311492847784397\n", 175 | " p[2] = -0.4184610460194958\n", 176 | " p[3] = 0.3088106049103846\n", 177 | " p[4] = -0.004645099441296526\n", 178 | " p[5] = 1.804660780958831\n", 179 | " p[6] = -11.07353239399682\n", 180 | " \n", 181 | " p[0] = 1.1698510053559326 #0.507\n", 182 | " p[1] = -0.01596337832373146\n", 183 | " p[2] = -0.014376936502561324\n", 184 | " p[3] = 0.11197407457388073\n", 185 | " p[4] = -0.005084895753800288\n", 186 | " p[5] = 2.0233661556152174\n", 187 | " p[6] = -11.333071657732939\n", 188 | "\n", 189 | " yc = p[0] * np.exp((p[1] * np.exp(p[2] * x + p[3]) + p[4]) * x + p[5]) + p[6]\n", 190 | " lambd = (p[1] * np.exp(p[2] * x + p[3]) + p[4])\n", 191 | " \n", 192 | " plt.subplot(3, 1, 1)\n", 193 | " plt.plot(x, y, 'b.')\n", 194 | " plt.plot(x, yc, '#000000')\n", 195 | " plt.title(\"Nofap time distribution\")\n", 196 | " plt.xlabel(\"nofap time (days)\")\n", 197 | " plt.ylabel(\"proportion of people\")\n", 198 | "\n", 199 | " plt.subplot(3, 1, 2)\n", 200 | " plt.semilogx(x, y, 'b.')\n", 201 | " plt.semilogx(x, yc, '#000000')\n", 202 | "\n", 203 | " plt.subplot(3, 1, 3)\n", 204 | " plt.semilogx(x, lambd, '#000000')\n", 205 | "\n", 206 | " plt.show()" 207 | ] 208 | }, 209 | { 210 | "cell_type": "code", 211 | "execution_count": 235, 212 | "metadata": {}, 213 | "outputs": [ 214 | { 215 | "data": { 216 | "image/png": "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\npLt169Zpzpw5mjNnjubOnasvvvhCmZmZCoVCOv3003X66acrLy9PGV50XQEAACDlEBITEBLRldTU\n1KisrExz5szRyy+/rMWLF0uKDl095ZRTVFJSopNOOknDhw/3t1B0iNb2ULL5NAAAXUtah0QzGyvp\nXkndJNVK+r5z7s09vYaQiK5s8+bNevXVVzVnzhy98sor+vjjjyVJBx98sE466SRNmjRJkyZN0qBB\ng3yuFMlqy6qpGRnRFUVLSwmKAAB0BW0JiVkdXUwH+JWkXzjnXjKzM2OPi/0tCQiuAQMG6OKLL9bF\nF18s55xWr16tefPmad68eXr66af1wAMPSJKOOOIInXTSSTrppJNUXFysvn37+lw52qotq6bW13+1\noighEQAANJaKIdFJ6hn7upekDT7WAqQUM9NRRx2lo446Sj/4wQ9UV1enFStWxEPjzJkz9cc//lGS\nNGbMGE2aNEkTJkzQCSecoAEDBvhcPfamYdXU1vYksqIoAABoTioONz1S0hxJpugWHsc559Y1c940\nSdMkaejQoePXrdvtFAAJampqVFFRoXnz5qm0tFSRSES7du2SJB1++OE68cQTNWHCBE2YMEHDhg2T\nmflcMRIxJxEAADQn5eckmtlcSQObeeomSSWS/tc595SZTZY0zTl38p7aY04igsar7Q86ejuBqqoq\nLV68WAsXLtTChQv12muvaevWrZKkwYMHNwmNRx55JKunAgAABFTKh8Q9MbOtkno755xFuzG2Oud6\n7uk1hEQESVsWF2mv3Fxp/nzve4nq6uq0atWqeGhcuHChNm7cKEnq06ePTjjhBE2YMEHHHXecxo0b\np27dunlbAAAAANol3Reu2SBpoqSwpJMkvetrNUAbtWVxkfbqqAVJMjMzNWbMGI0ZM0Y/+MEP5JzT\ne++9p4ULF2rBggVauHChnn/+eUlSTk6Oxo8fr1AopOOOO06hUIgVVAEAAFJAKvYkniDpbkUD7i5F\nt8BYvKfX0JOIIEnlnsTW+PjjjxWJRPTGG28oEolo0aJFqqqqkiQNGzYsHhiPO+44jR49WtnZ2Z1f\nJAAAQBeT1sNN24OQiKBJlTmJXqiurtayZcv0xhtvxG8fffSRJKl79+4qKCho0tvYr18/nysGAABI\nP4TEBIREIFg++OCDeE/jG2+8oaVLl6q2tlaSNHLkSB133HEqKipSYWGhjjnmGGVlpeLIeAAAgOAg\n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\n9+/3tunTp0+14JiamqqkpCRukgMAAOCDkOiDkAgEB2utdu7cWaPXcfPmzar8f1l8fLzOOussjRkz\nRmPGjNEpp5zCUFUAABDyCIk+CIlAcCsuLtbXX3+t1atX6/PPP9fy5cu1fft2SVKHDh10xhlneEPj\naaedpjZt2jhcMQAAQOsiJPogJAKhZ/v27frss8+0fPlyLV++XOvWrZMkRUVFKS0tTWPGjNFZZ52l\nM888U7GxsQ5XCwAA0LIIiT4IiQD279/v7WX87LPPlJ2drdLSUhljNHTo0GpDVBMTE50uFwAAoFkR\nEn0QEgH4Onz4sL744gtvaFyxYoWKi4slSb169aoWGgcNGsTNcAAAQEAjJPogJAI4kbKyMuXk5FQb\norpnzx5JUpcuXbyh8ayzztKpp56qyMhIhysGAACoP0KiD0IigIay1mrz5s3VQuO3334rSWrbtq1G\njx6tc845R+eff75GjhzJHVQBAIBfIyT6ICQCaA67d+/2hsbPPvtMa9askbVWXbt21cSJEzVp0iSd\nd955iouLc7pUAACAagiJPgiJAFrCvn379NFHH2nRokX68MMPtXfvXhljlJaWpkmTJun888/XqFGj\n6GUEAACOIyT6ICQCaGkVFRX66quvtGjRIi1atEgrV65URUWFOnfuXK2XsXv37k6XCgAAQhAh0Qch\nEUBr279/vz766CMtXrxYixcvVmFhoSTp1FNP1aRJkzRp0iSdfvrpioiIcLhSAAAQCgiJPgiJAJxU\nUVGhNWvWaNGiRVq8eLGysrJUXl6uTp06Vetl7NGjh9OlAgCAIEVI9EFIBOBPDhw4oCVLlnhD4+7d\nuyVJqampmjRpki644AKlp6crLCzM4UoBAECwICT6ICQC8FfWWq1du9Z7LePnn3+u8vJy9ejRQxdf\nfLGmTp2qMWPGNPjmN1lZksslZWRI6ektUjoAAAgghEQfhEQAgeLgwYNatGiR5s2bp4ULF+rIkSPq\n1q2bLrroIl1yySXKyMhQZGRkndvIypLGj5dKSqSoKCkzk6AIAECoa0hIZCwTAPiRk046SZdffrnm\nzZunvXv36p133tHYsWP12muvaeLEiYqPj9f111+vRYsWqaSkpNZtuFzugFhe7p67XK16CAAAIMAR\nEgHAT7Vr105Tp07Vm2++qb179+r999/X5MmTNW/ePE2ePFndunXT1VdfrQULFujo0aPez2VkuHsQ\n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\n/TfntuvzMzzRZ1pbVpb0yitSQYEUHy9dfbUzdQD+zhizylqbVq/G1tqAmiStkfSApJWSPpV02nHa\n3SQpW1J2UlKSBQCgvlassLZNG2vDw93zFSvqt64+6xu6v+aouTX47v/ZZ49fT0VFhX3++edtx44d\nbZs2beycOXNsWVlZq9bX1O+n6vaioqyNjrY2LMxayVpjap+HhTXfz6Zy/5X7bI5tN+RneLzPOHHe\nRUW5v4PKKTq69esAAoGkbFvPzOWXw02NMUuMMV/XMv1CUoSkWEmjJd0l6W1jjPHdhrX2OWttmrU2\nLS4urpWPAAAQyFwuqaREKi93z12u+q2rz/qG7q85am4Nvvt/993j12OM0Q033KB169Zp3Lhxuv32\n2zVmzBht2LCh1epr6vdTdXulpe7XlaNnKwdp+c4rKprvZ1O5/8p9Nse2G/IzPN5nnDjvSkurL3Oi\nDiDY+GVItNaea60dWsv0gaR8Se95AvEXkiokdXW2YgBAMMnIkKKipPBw97xyOOGJ1tVnfUP31xw1\ntwbf/V9yyYnrSUxM1P/93//ptdde08aNG5WamqrZs2er1Pe3/haor6nfT9XtRUa6X4d5fquq/NO1\n7zwsrPl+NpX7r9xnc2y7MT9DfzjvIiOrL3OiDiDYBOI1iTdLSrDWzjLGDJCUKSnJ1nEgXJMIAGgo\nrkls+v4bUk9hYaGmT5+uefPmacSIEZo7d65SU1NbtL7m3J7ENYlckwj4t4ZckxiIITFK0lxJqZJK\nJN1prf2krs8QEgEACAzvvvuubrnlFn3//feaMWOGZs6cqejoaKfLAoCA15CQ6JfDTetirS2x1k7z\nDD899UQBEQAABI5LLrlE69ev15VXXqkHH3xQI0eO1BdffOF0WQAQUgIuJAIAgODWuXNn/f3vf9e/\n/vUvHTx4UOnp6brrrrt05MgRp0sDgJBASAQAAH5p8uTJWrdunW688Ub9+c9/1vDhw7V8+XKnywKA\noEdIBAAAfqtjx4565plnlJmZqbKyMp199tmaPn26Dh065HRpABC0CIkAAMDvjRs3Trm5ubr11lv1\n1FNPadiwYfr444+dLgsAghIhEQAABIR27drp8ccf12effaaYmBhNnDhR119/vYqKipwuDQCCCiER\nAAAElDPOOENr1qzR73//e/39739XSkqKFixY4HRZABA0CIkAACDgxMTEaPbs2Vq5cqXi4uL0i1/8\n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\nyck5/CoAAAC4XDt27ND999+vG264QR988IEiIiKcjgTgMuToxjXGmLWSshvQZkgOP8dkM89e5jo5\n2pa1Nk5SnCRFRUVd6rMAAACQBwcPHtR9992nYsWKacWKFSpRooTTkQBcphyVRGttswu9Z4w5bIwp\nb609ZIwpL+nXbBY7KCk60+tISQmX+NiDkq6TdNAYEyapuKSjmeZn3tbPl/oOAAAAyB9//PGHWrVq\npePHj+uTTz5RxYoVnY4EIA+8cbrpUknn7lbaXdKSbJZZJam5Maak+4Y1zd3zcrrdByStt9Za9/wu\n7rufVpZUXdKWPH4HAAAAXIbU1FR16NBBO3fuVHx8vG699VanIwHII2+UxDGS7jXG7JV0r/u1jDFR\nxpi3JMlae1TSSEmfu6cR7nkyxowzxhyUVNQYc9AYM8y93RmSShtjvpXUX+67plprv5a0QNI3klZK\n6mutTffC9wAAAEAuWGvVq1cvrV+/XjNmzNC9997rdCQAXmBcB+cCW1RUlE1KSnI6BgAAQEAZPny4\nhg0bphEjRui5555zOg6AizDGbLXWRuVkWe5JDAAAgFybN2+ehg0bpu7du2vo0KFOxwHgRZREAAAA\n5Monn3yimJgYRUdHKy4uTq6hrAEECkoiAAAAcmzv3r1q3769KleurPj4eBUqVMjpSAC8jJIIAACA\nHDly5IhatWqlkJAQffTRRypVqpTTkQDkgxyNkwgAAIDglpKSovbt2+vAgQNat26dqlat6nQkAPmE\nkggAAICLstYqJiZGmzdv1rvvvquGDRs6HQlAPuJ0UwAAAFzU8OHDNX/+fL344ovq0qWL03EA5DNK\nIgAAAC5o7ty5Gj58uHr06KFnn33W6TgACgAlEQAAANnatGmTYmJi1LhxY02bNo2hLoAgQUkEAADA\nX+zevVvt27dXlSpVGOoCCDKURAAAAJznt99+U+vWrRUWFqYVK1aoZMmSTkcCUIC4uykAAAA8zpw5\no/bt2+vgwYPasGGDqlSp4nQkAAWMkggAAABJfw518emnn+q9995TgwYNnI4EwAGcbgoAAABJ0rBh\nw/TOO+9o1KhR6ty5s9NxADiEkggAAAC9/fbbGjFihHr27KnBgwc7HQeAgyiJAAAAQW7jxo3q1auX\nmjRpoqlTpzLUBRDkKIkAAABBbM+ePbr//vtVtWpVLVq0iKEuAFASAQAAgtXRo0f197////buPU7n\nOv//+PPlOCYVilHZqabVFqPUTkmzFRsjI2cbooTSwTkp1e+LpbW03bQm2UUqVCoqh4ZkjGlSOUx0\nUNoGSZYcGsl5Tu/fHy7XDo1mxhw+13XN4367XbdrPp/r/flcz0s+rnn2Od2uihUrKjExkVtdAJDE\n1U0BAADKpczMTHXq1Enff/+9kpOTudUFAD9KIgAAQDnjnNP999+vDz74QK+88opiY2O9jgQggHC4\nKQAAQDkzYcIEvfzyyxo5cqR69OjhdRwAAYaSCAAAUI7MmzdPjz/+uLp3767Ro0d7HQdAAKIkAgAA\nlBNr167VXXfdpaZNm+rFF1/kVhcA8kVJBAAAKAe2bdumdu3aqW7dupo/f77CwsK8jgQgQHHhGgAA\ngBB34MAB3X777Tp8+LCSkpJUp04dryMBCGCURAAAgBCWk5Oj7t276+uvv9bixYvVsGFDryMBCHCU\nRAAAgBA2bNgwJSYmasqUKYqLi/M6DoAgwDmJAAAAIWrKlCmaNGmShgwZogcffNDrOACCBCURAAAg\nBC1dulSDBg3S7bffrmeeecbrOACCCCURAAAgxGzYsEF33HGHGjZsqNdee00VK1b0OhKAIEJJBAAA\nCCG7du3S7bffrvDwcL377rs6++yzvY4EIMhw4RoAAIAQceTIEXXo0EG7d+9Wamqqfve733kdCUAQ\noiQCAACEgNzcXPXu3VurVq3SW2+9pZiYGK8jAQhSHG4KAAAQAkaPHq033nhD48ePV6dOnbyOAyCI\nURIBAACC3CuvvKKxY8eqT58+evTRR72OAyDIURIBAACC2MqVK9W3b181a9ZM//rXv2RmXkcCEOQo\niQAAAEFq8+bN6tChgy655BK99dZbqlKliteRAIQASiIAAEAQ2rdvn26//XY55/Tuu++qVq1aXkcC\nECK4uikAAECQycrKUpcuXbR582YtW7ZM9evX9zoSgBBCSQQAAAgizjn1799fycnJevnll3XLLbd4\nHQlAiCnW4aZmVsvMlplZuu+55mnG9fKNSTezXnnm/83MfjCzg6eMf9jMvjazL8xsuZldnOe1HDP7\nzPdYWJz8AAAAwWbixImaPn26nnjiCfXq1avgBQCgiIp7TuIIScudc/UlLfdNn8TMakkaJamJpOsl\njcpTJhf55p1qvaQY59xVkuZJejrPa0ecc419j3bFzA8AABA05s+fr+HDh6tLly4aO3as13EAhKji\nlsT2kmb6fp4pqUM+Y1pJWuacy3DO7ZO0TNJtkuScW+Wc23nqAs65Fc65w77JVZLqFTMnAABAUFu3\nbp169OihmJgYzZw5UxUqcP1BAKWjuP+6RJwoeb7nOvmMuUjSD3mmt/vmFVZfSUvyTIeZWZqZrTKz\n/EopAABASPnvf/+rtm3b6vzzz9fChQsVHh7udSQAIazAC9eYWZKkuvm89GQh3yO/O7q6Qi1o1lNS\njKS8Z2RHOud2mFmUpGQz+9I5tzmfZftJ6idJkZGRhYwKAAAQWA4ePKi2bdvql19+0UcffaS6dfP7\ntQwASk6BJdE51+J0r5nZLjO7wDm308wukLQ7n2HbJTXLM11PUkpB72tmLXS8iN7inDuWJ88O3/MW\nM0uRdI2kX5VE59w0SdMkKSYmplClFAAAIJBkZ2erW7du+vzzz7Vo0SJdddVVXkcCUA4U93DThZJO\nXFarl6QF+YxZKinOzGr6LlgT55t3WmZ2jaSpkto553bnmV/TzKr6fj5fUqykr4v5GQAAAAKOc05D\nhgxRYmKiJk+erPj4eK8jASgnilsSx0tqaWbpklr6pmVmMWb2giQ55zIkjZW01vcY45snM3vazLZL\nCjez7WY22rfef0iqLmnuKbe6uFJSmpl9LmmFpPHOOUoiAAAIOf/85z/1/PPPa9iwYXrwwQe9jgOg\nHDHnQv9IzJiYGJeWluZ1DAAAgEJ555131LlzZ3Xs2FFz587lSqYAis3MPnXOxRRmLP/iAAAABJA1\na9aoR48euu666zR79mwKIoAyx786AAAAAWLr1q1q27at6taty60uAHimwKubAgAAoPT9/PPPio+P\nV2ZmplJSUhQREeF1JADlFCURAADAY5mZmercubM2bdqk999/X1deeaXXkQCUY5REAAAADznn1K9f\nPyUnJ2vmzJlq1qyZ15EAlHOckwgAAOChp556SjNnztSoUaN09913ex0HACiJAAAAXnn11Vc1cuRI\n3XXXXRo1apTXcQBAEiURAADAE6mpqerTp49uueUWTZ8+XWbmdSQAkERJBAAAKHP/+c9/1KFDB0VF\nRemdd95R1apVvY4EAH6URAAAgDK0Z88excfHq1KlSkpMTFTNmjW9jgQAJ+HqpgAAAGXkyJEjat++\nvXbs2KGUlBRFRUV5HQkAfoWSCAAAUAZycnLUs2dPrVq1SnPnzlWTJk28jgQA+aIkAgAAlDLnnB5+\n+GG9/fbbmjhxojp37ux1JAA4Lc5JBAAAKGUTJ05UQkKChg4dqqFDh3odBwB+EyURAACgFL3++ut6\n5JFHdMcdd+iZZ57xOg4AFIiSCAAAUEpSUlLUq1cv3XzzzZo5c6YqVOBXLwCBj3+pAAAASsGGDRvU\noUMHXXbZZZo/f77CwsK8jgQAhUJJBAAAKGHbt29X69atFR4ervfee497IQIIKlzdFAAAoATt379f\n8fHx2r9/vz788ENFRkZ6HQkAioSSCAAAUEIyMzPVqVMnbdy4UUuWLNHVV1/tdSQAKDJKIgAAQAnI\nzc1V7969lZycrFmzZqlFixZeRwKAM8I5iQAAACXgiSee0GuvvaZx48bprrvu8joOAJwxSiIAAEAx\nPf/885owYYIeeOABjRgxwus4AFAslEQAAIBieOuttzRw4EC1a9dOkydPlpl5HQkAioWSCAAAcIZW\nrFihO++8U02bNtWcOXNUsWJFryMBQLFREgEAAM7A+vXr1b59e9WvX1+LFi1SeHi415EAoERQEgEA\nAIpo8+bNat26tWrUqKH33ntPtWrV8joSAJQYboEBAABQBD/++KPi4uKUnZ2tlJQU1atXz+tIAFCi\nKIkAAACFtH//frVu3Vo//vijkpOTdcUVV3gdCQBKHCURAACgEI4ePaoOHTpow4YNevfdd9WkSROv\nIwFAqaAkAgAAFCAnJ0c9evRQSkqKXnnlFbVq1crrSABQarhwDQAAwG9wzql///56++239eyzz6pH\njx5eRwKAUkVJBAAA+A2jR4/W1KlTNWLECA0ZMsTrOABQ6iiJAAAApzF58mSNGTNGffr00bhx47yO\nAwBlgpIIAACQj1mzZmngwIFq166dpk6dKjPzOhIAlAlKIgAAwCneeecd9enTR7feeqveeOMNVarE\ntf4AlB+URAAAgDySkpLUrVs3xcTEaP78+QoLC/M6EgCUKUoiAACAzyeffKL27dvrD3/4gxYvXqzq\n1at7HQkAyhwlEQAAQNLnn3+u+Ph4XXjhhXr//fdVq1YtryMBgCcoiQAAoNz79ttvFRcXp+rVqysp\nKUl169b1OhIAeIaSCAAAyrVt27apRYsWcs4pKSlJF198sdeRAMBTxSqJZlbLzJaZWbrvueZpxvXy\njUk3s1555v/NzH4ws4OnjL/HzPaY2We+x70FrQsAAKCodu3apZYtW+qXX37R0qVL9Yc//MHrSADg\n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\nfVWxYkUtWLBA7dq18zoSACCAsScRAIAQdfDgQd133336y1/+oiuvvFLr16+nIAIACkRJBAAgBK1e\nvVrXXHONZsyYoccee4zDSwEAhUZJBAAghGRnZ2vMmDGKjY1VZmamUlJSNH78eFWpUsXraACAIME5\niQAAhIjNmzerZ8+eWrVqlXr06KHJkyerRo0aXscCAAQZ9iQCABDknHN68cUX1bhxY23cuFGvvfaa\nXnnlFQoiAOCMUBIBAAhiP/30k7p06aK+ffsqJiZGX3zxhbp37+51LABAEKMkAgAQpN5//301atRI\nixYt0tNPP63ly5crMjLS61gAgCBHSQQAIMgcPnxYgwcPVqtWrVSzZk2tWbNGw4cPV4UKfK0DAIqP\nbxMAAILIypUrdfXVVyshIUEDBw5UWlqaGjdu7HUsAEAIoSQCABAEDh8+rKFDh+rmm29WTk6OkpOT\nlZCQoGrVqnkdDQAQYrgFBgAAAW7lypXq3bu3Nm3apP79+2v8+PGqXr2617EAACGKPYkAAASogwcP\nasiQISftPZw8eTIFEQBQqiiJAAAEoPfee0/R0dFKSEjQQw89pC+++ELNmzf3OhYAoBygJAIAEED2\n7t2rnj17qnXr1goPD9eHH37I3kMAQJmiJAIAEACcc3r11Vd15ZVX6s0339SoUaO0fv16xcbGeh0N\nAFDOcOEaAAA8tmnTJg0YMEBLly7VDTfcoBdeeEENGzb0OhYAoJxiTyIAAB45duyYxowZo+joaH38\n8cdKSEjQypUrKYgAAE+xJxEAAA8kJSXpoYceUnp6urp27aqJEyfqwgsv9DoWAADsSQQAoCzt3LlT\n3bt3V8uWLeWc09KlS/X6669TEAEAAYOSCABAGcjKytI///lPXXHFFXr77bc1atQoffnll4qLi/M6\nGgAAJ+FwUwAASllSUpIGDRqkjRs3qlWrVnruuedUv359r2MBAJAv9iQCAFBKvvvuO3Xq1EktW7bU\nsWPHtHDhQi1ZsoSCCAAIaOxJBACghB0+fFgTJkzQ008/rQoVKmjcuHEaOnSowsLCvI4GAECBKIkA\nAJSQ3NxczZkzR48//rh++OEH3XnnnZowYYLq1avndTQAAAqNw00BACgBqampatKkiXr27KnatWsr\nNTVVr776KgURABB0KIkAABTDt99+q44dO+qWW27Rjz/+qNmzZ2vt2rW66aabvI4GAMAZoSQCAHAG\n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\n", 217 | "text/plain": [ 218 | "" 219 | ] 220 | }, 221 | "metadata": {}, 222 | "output_type": "display_data" 223 | } 224 | ], 225 | "source": [ 226 | "plt.rcParams['figure.figsize'] = [15, 24]\n", 227 | "data = pickle.load(open(\"data.p\", \"rb\" ))\n", 228 | "x, y = prepare(data)\n", 229 | "plot(x, y)" 230 | ] 231 | }, 232 | { 233 | "cell_type": "code", 234 | "execution_count": 225, 235 | "metadata": {}, 236 | "outputs": [ 237 | { 238 | "data": { 239 | "text/plain": [ 240 | "1.1023340045584719e-05" 241 | ] 242 | }, 243 | "execution_count": 225, 244 | "metadata": {}, 245 | "output_type": "execute_result" 246 | } 247 | ], 248 | "source": [ 249 | "p = np.zeros(7)\n", 250 | "x = 70000\n", 251 | "p[0] = 1.0947247405472849\n", 252 | "p[1] = -0.01461641952997808\n", 253 | "p[2] = -0.014079710222347655\n", 254 | "p[3] = 0.17202282070496477\n", 255 | "p[4] = -0.004927137010013891\n", 256 | "p[5] = 2.0952222086823413\n", 257 | "p[6] = -11.41549571072583\n", 258 | "np.exp(p[0] * np.exp((p[1] * np.exp(p[2] * x + p[3]) + p[4]) * x + p[5]) + p[6])" 259 | ] 260 | }, 261 | { 262 | "cell_type": "code", 263 | "execution_count": null, 264 | "metadata": { 265 | "collapsed": true 266 | }, 267 | "outputs": [], 268 | "source": [] 269 | } 270 | ], 271 | "metadata": { 272 | "kernelspec": { 273 | "display_name": "Python 3", 274 | "language": "python", 275 | "name": "python3" 276 | }, 277 | "language_info": { 278 | "codemirror_mode": { 279 | "name": "ipython", 280 | "version": 3 281 | }, 282 | "file_extension": ".py", 283 | "mimetype": "text/x-python", 284 | "name": "python", 285 | "nbconvert_exporter": "python", 286 | "pygments_lexer": "ipython3", 287 | "version": "3.6.3" 288 | } 289 | }, 290 | "nbformat": 4, 291 | "nbformat_minor": 2 292 | } 293 | -------------------------------------------------------------------------------- /Untitled.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "%matplotlib inline \n", 12 | "\n", 13 | "import pickle\n", 14 | "import matplotlib.pyplot as plt\n", 15 | "import numpy as np" 16 | ] 17 | }, 18 | { 19 | "cell_type": "code", 20 | "execution_count": 2, 21 | "metadata": { 22 | "collapsed": true 23 | }, 24 | "outputs": [], 25 | "source": [ 26 | "x, y = pickle.load(open(\"data.p\", 'rb'))" 27 | ] 28 | }, 29 | { 30 | "cell_type": "code", 31 | "execution_count": 8, 32 | "metadata": { 33 | "collapsed": true 34 | }, 35 | "outputs": [], 36 | "source": [ 37 | "plt.rcParams['figure.figsize'] = [10, 10]" 38 | ] 39 | }, 40 | { 41 | "cell_type": "code", 42 | "execution_count": 70, 43 | "metadata": { 44 | "scrolled": true 45 | }, 46 | "outputs": [ 47 | { 48 | "data": { 49 | "image/png": "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\nY4wxxoSw/w9wCLFDsaoX4wAAAABJRU5ErkJggg==\n", 50 | "text/plain": [ 51 | "" 52 | ] 53 | }, 54 | "metadata": {}, 55 | "output_type": "display_data" 56 | } 57 | ], 58 | "source": [ 59 | "plt.subplot(2, 1, 1)\n", 60 | "plt.semilogx(x, y, '.')\n", 61 | "a = 0.15\n", 62 | "b = -0.2\n", 63 | "c = 0\n", 64 | "d = 0\n", 65 | "yc = a * np.exp(b * x + c) + d\n", 66 | "plt.semilogx(x, yc, '-')\n", 67 | "plt.title(\"Nofap time distribution\")\n", 68 | "plt.xlabel(\"nofap time (days)\")\n", 69 | "plt.ylabel(\"proportion of people\")\n", 70 | "\n", 71 | "plt.subplot(2, 1, 2)\n", 72 | "plt.plot(x2, y2, '.-')\n", 73 | "plt.xlabel(\"nofap time (days)\")\n", 74 | "plt.ylabel(\"proportion of people\")\n", 75 | "\n", 76 | "plt.show()" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": 35, 82 | "metadata": { 83 | "collapsed": true 84 | }, 85 | "outputs": [], 86 | "source": [ 87 | "def mse(y1, y2):\n", 88 | " '''\n", 89 | " Mean square error.\n", 90 | "\n", 91 | " Input:\n", 92 | " y1 - first numpy array;\n", 93 | " y2 - second numpy array.\n", 94 | "\n", 95 | " Output a mean square error.\n", 96 | " '''\n", 97 | " return ((y1 - y2) ** 2).mean()" 98 | ] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "execution_count": 44, 103 | "metadata": { 104 | "collapsed": true 105 | }, 106 | "outputs": [], 107 | "source": [ 108 | "x = np.array([0.1, 0.2, 0.3, 0.4])\n", 109 | "y = np.array([650, 1000, 1500, 2200])\n", 110 | "m = len(x)\n", 111 | "eps = 10**(-5)\n", 112 | "a = 3\n", 113 | "b = 4\n", 114 | "c = 5\n", 115 | "d = 6\n", 116 | "res = mse(a * np.exp(b * x + c) + d, y)" 117 | ] 118 | }, 119 | { 120 | "cell_type": "code", 121 | "execution_count": 45, 122 | "metadata": {}, 123 | "outputs": [ 124 | { 125 | "data": { 126 | "text/plain": [ 127 | "198.48834143482657" 128 | ] 129 | }, 130 | "execution_count": 45, 131 | "metadata": {}, 132 | "output_type": "execute_result" 133 | } 134 | ], 135 | "source": [ 136 | "res" 137 | ] 138 | }, 139 | { 140 | "cell_type": "code", 141 | "execution_count": 60, 142 | "metadata": {}, 143 | "outputs": [ 144 | { 145 | "name": "stdout", 146 | "output_type": "stream", 147 | "text": [ 148 | "1993.02914897\n", 149 | "1993.02914891\n" 150 | ] 151 | } 152 | ], 153 | "source": [ 154 | "aplus = a + eps\n", 155 | "aminus = a - eps\n", 156 | "resplus = mse(aplus * np.exp(b * x + c) + d, y)\n", 157 | "resminus = mse(aminus * np.exp(b * x + c) + d, y)\n", 158 | "da = (resplus - resminus) / (2 * eps)\n", 159 | "print(da)\n", 160 | "yc = a * np.exp(b * x + c) + d\n", 161 | "da = np.sum(2/m * (yc - y) * (np.exp(b * x + c)))\n", 162 | "print(da)" 163 | ] 164 | }, 165 | { 166 | "cell_type": "code", 167 | "execution_count": 62, 168 | "metadata": {}, 169 | "outputs": [ 170 | { 171 | "name": "stdout", 172 | "output_type": "stream", 173 | "text": [ 174 | "1848.77452094\n", 175 | "1848.7745115\n" 176 | ] 177 | } 178 | ], 179 | "source": [ 180 | "bplus = b + eps\n", 181 | "bminus = b - eps\n", 182 | "resplus = mse(a * np.exp(bplus * x + c) + d, y)\n", 183 | "resminus = mse(a * np.exp(bminus * x + c) + d, y)\n", 184 | "db = (resplus - resminus) / (2 * eps)\n", 185 | "print(db)\n", 186 | "yc = a * np.exp(b * x + c) + d\n", 187 | "db = np.sum(2/m * (yc - y) * a * x * np.exp(b * x + c))\n", 188 | "print(db)" 189 | ] 190 | }, 191 | { 192 | "cell_type": "code", 193 | "execution_count": 59, 194 | "metadata": {}, 195 | "outputs": [ 196 | { 197 | "name": "stdout", 198 | "output_type": "stream", 199 | "text": [ 200 | "5979.08765843\n", 201 | "5979.08765843\n" 202 | ] 203 | } 204 | ], 205 | "source": [ 206 | "cplus = c + eps\n", 207 | "cminus = c - eps\n", 208 | "resplus = mse(a * np.exp(b * x + cplus) + d, y)\n", 209 | "resminus = mse(a * np.exp(b * x + cminus) + d, y)\n", 210 | "dс = (resplus - resminus) / (2 * eps)\n", 211 | "print(dс)\n", 212 | "yc = a * np.exp(b * x + c) + d\n", 213 | "dc = np.sum(2/m * (yc - y) * a * b * np.exp(b * (x + c)))\n", 214 | "print(dс)" 215 | ] 216 | }, 217 | { 218 | "cell_type": "code", 219 | "execution_count": 57, 220 | "metadata": {}, 221 | "outputs": [ 222 | { 223 | "name": "stdout", 224 | "output_type": "stream", 225 | "text": [ 226 | "6.32530978635\n", 227 | "6.3253096736\n" 228 | ] 229 | } 230 | ], 231 | "source": [ 232 | "dplus = d + eps\n", 233 | "dminus = d - eps\n", 234 | "resplus = mse(a * np.exp(b * x + c) + dplus, y)\n", 235 | "resminus = mse(a * np.exp(b * x + c) + dminus, y)\n", 236 | "dd = (resplus - resminus) / (2 * eps)\n", 237 | "print(dd)\n", 238 | "yc = a * np.exp(b * x + c) + d\n", 239 | "dd = np.sum(2/m * (yc - y))\n", 240 | "print(dd)" 241 | ] 242 | }, 243 | { 244 | "cell_type": "code", 245 | "execution_count": null, 246 | "metadata": { 247 | "collapsed": true 248 | }, 249 | "outputs": [], 250 | "source": [] 251 | }, 252 | { 253 | "cell_type": "code", 254 | "execution_count": null, 255 | "metadata": { 256 | "collapsed": true 257 | }, 258 | "outputs": [], 259 | "source": [] 260 | }, 261 | { 262 | "cell_type": "code", 263 | "execution_count": null, 264 | "metadata": { 265 | "collapsed": true 266 | }, 267 | "outputs": [], 268 | "source": [] 269 | }, 270 | { 271 | "cell_type": "code", 272 | "execution_count": null, 273 | "metadata": { 274 | "collapsed": true 275 | }, 276 | "outputs": [], 277 | "source": [] 278 | }, 279 | { 280 | "cell_type": "code", 281 | "execution_count": 4, 282 | "metadata": {}, 283 | "outputs": [ 284 | { 285 | "data": { 286 | "image/png": "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\n", 287 | "text/plain": [ 288 | "" 289 | ] 290 | }, 291 | "metadata": {}, 292 | "output_type": "display_data" 293 | } 294 | ], 295 | "source": [ 296 | "fig, ax = plt.subplots()\n", 297 | "ax.semilogx(x, y/np.sum(y), 'b.')\n", 298 | "ax.set(xlabel='nofap time (days)', ylabel='proportion of people',\n", 299 | " title='Nofap time distribution')\n", 300 | "ax.grid(True, which='both')\n", 301 | "\n", 302 | "t = np.arange(0.5, 500.5, 1)\n", 303 | "a = 0.2\n", 304 | "b = -0.08*t\n", 305 | "c = 0\n", 306 | "ax.semilogx(t, a*np.exp(b * (t + c)))\n", 307 | "\n", 308 | "plt.show()" 309 | ] 310 | }, 311 | { 312 | "cell_type": "code", 313 | "execution_count": 83, 314 | "metadata": {}, 315 | "outputs": [ 316 | { 317 | "data": { 318 | "image/png": "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\n", 319 | "text/plain": [ 320 | "" 321 | ] 322 | }, 323 | "metadata": {}, 324 | "output_type": "display_data" 325 | } 326 | ], 327 | "source": [ 328 | "fig, ax = plt.subplots()\n", 329 | "\n", 330 | "x = np.arange(0, 11, 1)\n", 331 | "c = 1024\n", 332 | "p = 0.5\n", 333 | "y1 = []\n", 334 | "for i in x:\n", 335 | " y1.append(c)\n", 336 | " p *= 0.8\n", 337 | " c *= p\n", 338 | "\n", 339 | "y1 = np.array(y1)\n", 340 | "ax.plot(x, y1)\n", 341 | "#ax.semilogx(x, y1)\n", 342 | "\n", 343 | "c = 1024\n", 344 | "p = 0.5\n", 345 | "b = -np.log(1/p)\n", 346 | "y2 = c * np.exp(b*x)\n", 347 | "ax.plot(x, y2)\n", 348 | "#ax.semilogx(x, y2)\n", 349 | "plt.show()" 350 | ] 351 | }, 352 | { 353 | "cell_type": "code", 354 | "execution_count": 67, 355 | "metadata": {}, 356 | "outputs": [ 357 | { 358 | "data": { 359 | "text/plain": [ 360 | "array([ 1.02400000e+03, 5.12000000e+02, 2.56000000e+02,\n", 361 | " 1.28000000e+02, 6.40000000e+01, 3.20000000e+01,\n", 362 | " 1.60000000e+01, 8.00000000e+00, 4.00000000e+00,\n", 363 | " 2.00000000e+00, 1.00000000e+00])" 364 | ] 365 | }, 366 | "execution_count": 67, 367 | "metadata": {}, 368 | "output_type": "execute_result" 369 | } 370 | ], 371 | "source": [ 372 | "y1" 373 | ] 374 | }, 375 | { 376 | "cell_type": "code", 377 | "execution_count": null, 378 | "metadata": { 379 | "collapsed": true 380 | }, 381 | "outputs": [], 382 | "source": [ 383 | " # a = 1\n", 384 | " # b = 1\n", 385 | " # c = 0\n", 386 | " # for i in range(100000):\n", 387 | " # yc = a * np.exp(-b * (x - c))\n", 388 | " # if i % 1000 == 0:\n", 389 | " # print(f\"Step {i}: loss = {mse(yc, y)}\")\n", 390 | " # print(a,b,c)\n", 391 | " # da = np.sum(2/m * (yc - y) * (np.exp(-b * (x - c))))\n", 392 | " # db = np.sum(-2/m * (yc - y) * a * (x - c) * np.exp(-b * (x - c)))\n", 393 | " # dc = np.sum(2/m * (yc - y) * a * b * np.exp(-b * (x - c)))\n", 394 | " # a -= da * learning_rate\n", 395 | " # b -= db * learning_rate\n", 396 | " # c -= dc * learning_rate\n", 397 | "\n", 398 | " # a = 0.9\n", 399 | " # b = 1\n", 400 | " # c = 1\n", 401 | " # d = 0.01\n", 402 | " # for i in range(200000):\n", 403 | " # yc = a**(b * x + c) + d\n", 404 | " # if i % 2000 == 0:\n", 405 | " # print(f\"Step {i}: loss = {mse(yc, y)}\")\n", 406 | " # da = np.sum(2/m * (yc - y) * (b * x + c) * a**(b * x + c - 1))\n", 407 | " # db = np.sum(2/m * (yc - y) * x * np.log(a) * a**(b * x + c))\n", 408 | " # dc = np.sum(2/m * (yc - y) * np.log(a) * a**(b * x + c))\n", 409 | "\n", 410 | " # print(a,b,c)\n", 411 | " # da = np.sum(2/m * (yc - y) * (np.exp(-b * (x - c))))\n", 412 | " # db = np.sum(-2/m * (yc - y) * a * (x - c) * np.exp(-b * (x - c))\n", 413 | " # dc = np.sum(2/m * (yc - y) * a * b * np.exp(-b * (x - c)))\n", 414 | " # a -= da * learning_rate\n", 415 | " # b -= db * learning_rate\n", 416 | " # c -= dc * learning_rate\n", 417 | "\n", 418 | " # a = 0.9\n", 419 | " # b = 1\n", 420 | " # c = 1\n", 421 | " # d = 0.01\n", 422 | " # yc = a**(b * x + c) + d" 423 | ] 424 | } 425 | ], 426 | "metadata": { 427 | "kernelspec": { 428 | "display_name": "Python 3", 429 | "language": "python", 430 | "name": "python3" 431 | }, 432 | "language_info": { 433 | "codemirror_mode": { 434 | "name": "ipython", 435 | "version": 3 436 | }, 437 | "file_extension": ".py", 438 | "mimetype": "text/x-python", 439 | "name": "python", 440 | "nbconvert_exporter": "python", 441 | "pygments_lexer": "ipython3", 442 | "version": "3.6.3" 443 | } 444 | }, 445 | "nbformat": 4, 446 | "nbformat_minor": 2 447 | } 448 | --------------------------------------------------------------------------------