├── .gitignore └── Logistic regression.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints 2 | -------------------------------------------------------------------------------- /Logistic regression.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Логистическая регрессия" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "# Логистическая регрессия - метод, который позволяет исследовать взаимосвязи между\n", 17 | "# номинативной зависимой переменной (ЗП) и различными предикторами.\n", 18 | "\n", 19 | "# Уравнение логистической регрессии:" 20 | ] 21 | }, 22 | { 23 | "cell_type": "markdown", 24 | "metadata": {}, 25 | "source": [ 26 | "\\begin{equation}\n", 27 | "log(odds) = B_0 + B_1 x_1 + B_2 x_2 + ... + B_k x_k\n", 28 | "\\end{equation}" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 2, 34 | "metadata": {}, 35 | "outputs": [], 36 | "source": [ 37 | "# log - натуральный логарифм.\n", 38 | "# odds - шансы положительного исхода (далее просто \"шансы\")." 39 | ] 40 | }, 41 | { 42 | "cell_type": "markdown", 43 | "metadata": {}, 44 | "source": [ 45 | "\\begin{equation}\n", 46 | "p = \\frac{e^{log(odds)}}{1 + e^{log(odds)}} = \\frac{exp(log(odds))}{1 + exp(log(odds))}\n", 47 | "\\end{equation}" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 3, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "# p - вероятность положительного исхода (далее просто \"вероятность\")." 57 | ] 58 | }, 59 | { 60 | "cell_type": "markdown", 61 | "metadata": {}, 62 | "source": [ 63 | "## Шансы и вероятность" 64 | ] 65 | }, 66 | { 67 | "cell_type": "code", 68 | "execution_count": 4, 69 | "metadata": {}, 70 | "outputs": [], 71 | "source": [ 72 | "import pandas as pd\n", 73 | "import numpy as np\n", 74 | "import matplotlib.pyplot as plt\n", 75 | "import seaborn as sns\n", 76 | "import statsmodels.api as sm\n", 77 | "import statsmodels.formula.api as smf" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": 5, 83 | "metadata": {}, 84 | "outputs": [ 85 | { 86 | "data": { 87 | "text/html": [ 88 | "
\n", 89 | "\n", 102 | "\n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | "
coin_state
00
10
21
30
40
50
61
70
80
90
\n", 152 | "
" 153 | ], 154 | "text/plain": [ 155 | " coin_state\n", 156 | "0 0\n", 157 | "1 0\n", 158 | "2 1\n", 159 | "3 0\n", 160 | "4 0\n", 161 | "5 0\n", 162 | "6 1\n", 163 | "7 0\n", 164 | "8 0\n", 165 | "9 0" 166 | ] 167 | }, 168 | "execution_count": 5, 169 | "metadata": {}, 170 | "output_type": "execute_result" 171 | } 172 | ], 173 | "source": [ 174 | "# Разберем на примере подбрасывания монетки. Пусть у нас было 10 бросков и мы получили следующие результаты:\n", 175 | "# 1 - орел (в примере мы хотим, чтобы выпадали орлы, это будет положительный исход)\n", 176 | "# 0 - решка (отрицательный исход)\n", 177 | "\n", 178 | "df = pd.DataFrame({'coin_state': [0, 0, 1, 0, 0, 0, 1, 0, 0, 0]})\n", 179 | "df" 180 | ] 181 | }, 182 | { 183 | "cell_type": "code", 184 | "execution_count": 6, 185 | "metadata": {}, 186 | "outputs": [ 187 | { 188 | "data": { 189 | "text/plain": [ 190 | "0 8\n", 191 | "1 2\n", 192 | "Name: coin_state, dtype: int64" 193 | ] 194 | }, 195 | "execution_count": 6, 196 | "metadata": {}, 197 | "output_type": "execute_result" 198 | } 199 | ], 200 | "source": [ 201 | "# 2 орла, 8 решек\n", 202 | "df.coin_state.value_counts()" 203 | ] 204 | }, 205 | { 206 | "cell_type": "code", 207 | "execution_count": 7, 208 | "metadata": {}, 209 | "outputs": [], 210 | "source": [ 211 | "# Рассчитаем вероятность:" 212 | ] 213 | }, 214 | { 215 | "cell_type": "markdown", 216 | "metadata": {}, 217 | "source": [ 218 | "\\begin{equation}\n", 219 | "p = \\frac{pos}{pos + neg}\n", 220 | "\\end{equation} " 221 | ] 222 | }, 223 | { 224 | "cell_type": "code", 225 | "execution_count": 8, 226 | "metadata": {}, 227 | "outputs": [ 228 | { 229 | "data": { 230 | "text/plain": [ 231 | "0.2" 232 | ] 233 | }, 234 | "execution_count": 8, 235 | "metadata": {}, 236 | "output_type": "execute_result" 237 | } 238 | ], 239 | "source": [ 240 | "pos = df.coin_state.value_counts()[1] # количество положительных исходов\n", 241 | "neg = df.coin_state.value_counts()[0] # количество отрицательных исходов\n", 242 | "\n", 243 | "p = pos / (pos + neg)\n", 244 | "p" 245 | ] 246 | }, 247 | { 248 | "cell_type": "code", 249 | "execution_count": 9, 250 | "metadata": {}, 251 | "outputs": [], 252 | "source": [ 253 | "# Рассчитаем шансы:" 254 | ] 255 | }, 256 | { 257 | "cell_type": "markdown", 258 | "metadata": {}, 259 | "source": [ 260 | "\\begin{equation}\n", 261 | "odds = \\frac{pos}{neg}\n", 262 | "\\end{equation}" 263 | ] 264 | }, 265 | { 266 | "cell_type": "code", 267 | "execution_count": 10, 268 | "metadata": {}, 269 | "outputs": [ 270 | { 271 | "data": { 272 | "text/plain": [ 273 | "0.25" 274 | ] 275 | }, 276 | "execution_count": 10, 277 | "metadata": {}, 278 | "output_type": "execute_result" 279 | } 280 | ], 281 | "source": [ 282 | "odds = pos / neg\n", 283 | "odds" 284 | ] 285 | }, 286 | { 287 | "cell_type": "code", 288 | "execution_count": 11, 289 | "metadata": {}, 290 | "outputs": [], 291 | "source": [ 292 | "# Шансы можно посчитать, зная вероятность:" 293 | ] 294 | }, 295 | { 296 | "cell_type": "markdown", 297 | "metadata": {}, 298 | "source": [ 299 | "\\begin{equation}\n", 300 | "odds = \\frac{p}{1 - p}\n", 301 | "\\end{equation}" 302 | ] 303 | }, 304 | { 305 | "cell_type": "code", 306 | "execution_count": 12, 307 | "metadata": {}, 308 | "outputs": [ 309 | { 310 | "data": { 311 | "text/plain": [ 312 | "0.25" 313 | ] 314 | }, 315 | "execution_count": 12, 316 | "metadata": {}, 317 | "output_type": "execute_result" 318 | } 319 | ], 320 | "source": [ 321 | "p / (1 - p)" 322 | ] 323 | }, 324 | { 325 | "cell_type": "code", 326 | "execution_count": 13, 327 | "metadata": {}, 328 | "outputs": [], 329 | "source": [ 330 | "# Вероятность можно посчитать, зная шансы:" 331 | ] 332 | }, 333 | { 334 | "cell_type": "markdown", 335 | "metadata": {}, 336 | "source": [ 337 | "\\begin{equation}\n", 338 | "p = \\frac{odds}{1 + odds}\n", 339 | "\\end{equation}" 340 | ] 341 | }, 342 | { 343 | "cell_type": "code", 344 | "execution_count": 14, 345 | "metadata": {}, 346 | "outputs": [ 347 | { 348 | "data": { 349 | "text/plain": [ 350 | "0.2" 351 | ] 352 | }, 353 | "execution_count": 14, 354 | "metadata": {}, 355 | "output_type": "execute_result" 356 | } 357 | ], 358 | "source": [ 359 | "odds / (1 + odds)" 360 | ] 361 | }, 362 | { 363 | "cell_type": "markdown", 364 | "metadata": {}, 365 | "source": [ 366 | "## При чем тут натуральный логарифм?" 367 | ] 368 | }, 369 | { 370 | "cell_type": "code", 371 | "execution_count": 15, 372 | "metadata": {}, 373 | "outputs": [], 374 | "source": [ 375 | "# Проследим за различным соотношением положительных и отрицательных исходов\n", 376 | "# и рассчитанными на их основе вероятностью, шансами и натуральным логарифмом шансов (далее просто \"логарифм шансов\").\n", 377 | "\n", 378 | "# Вероятность - число от нуля до единицы\n", 379 | "# Шансы - число от нуля до плюс бесконечности\n", 380 | "# Логарифм шансов - число от минус бесконечности до плюс бесконечности" 381 | ] 382 | }, 383 | { 384 | "cell_type": "code", 385 | "execution_count": 16, 386 | "metadata": {}, 387 | "outputs": [ 388 | { 389 | "data": { 390 | "text/html": [ 391 | "
\n", 392 | "\n", 405 | "\n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | "
posnegpoddslog(odds)
00100.00.00NaN
1100.10.11-2.20
2280.20.25-1.39
3370.30.43-0.85
4460.40.66-0.41
5550.51.000.00
6640.61.500.41
7730.72.330.85
8820.84.001.39
9910.99.002.20
101001.0NaNNaN
\n", 507 | "
" 508 | ], 509 | "text/plain": [ 510 | " pos neg p odds log(odds)\n", 511 | "0 0 10 0.0 0.00 NaN\n", 512 | "1 1 0 0.1 0.11 -2.20\n", 513 | "2 2 8 0.2 0.25 -1.39\n", 514 | "3 3 7 0.3 0.43 -0.85\n", 515 | "4 4 6 0.4 0.66 -0.41\n", 516 | "5 5 5 0.5 1.00 0.00\n", 517 | "6 6 4 0.6 1.50 0.41\n", 518 | "7 7 3 0.7 2.33 0.85\n", 519 | "8 8 2 0.8 4.00 1.39\n", 520 | "9 9 1 0.9 9.00 2.20\n", 521 | "10 10 0 1.0 NaN NaN" 522 | ] 523 | }, 524 | "execution_count": 16, 525 | "metadata": {}, 526 | "output_type": "execute_result" 527 | } 528 | ], 529 | "source": [ 530 | "pd.DataFrame({\n", 531 | " 'pos': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n", 532 | " 'neg': [10, 0, 8, 7, 6, 5, 4, 3, 2, 1, 0],\n", 533 | " 'p': [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],\n", 534 | " 'odds': [0, 0.11, 0.25, 0.43, 0.66, 1, 1.5, 2.33, 4, 9, np.nan],\n", 535 | " 'log(odds)': [np.nan, -2.2, -1.39, -0.85, -0.41, 0, 0.41, 0.85, 1.39, 2.2, np.nan],\n", 536 | "})" 537 | ] 538 | }, 539 | { 540 | "cell_type": "code", 541 | "execution_count": 17, 542 | "metadata": {}, 543 | "outputs": [ 544 | { 545 | "data": { 546 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEZCAYAAACNebLAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXwU9f3H8dcnN4FAQALKjQIRVBRFUFsrnj+titbaetVaW6+2tNaj1qq11tajd221h/VqvdFWRcWqVeJRT0DuQ8Id7hsScufz+2MmusRNCJDsZDfv5+ORR3ZmvjPz+e7OzGe+39mdMXdHRESkobSoAxARkbZJCUJEROJSghARkbiUIEREJC4lCBERiUsJQkRE4lKCEBGRuNpVgjCzfDN7xczWmNkWM1tiZr81sw5RxyYiOzKzAWbmZpYRdSztVbtKEEAVcCvQx927AIcDI4CbIo1KRKQNalcJwt23u/vb7l5dPwqoA9YDmFlXM3vBzNaZ2abwdZ/6+c2syMwqzKzUzNaa2W0x0x4ys1/EDE+MPfsxs25m9qCZrQyX/Ww4foyZlcTM99VwvkvC4W+Ew1fFlPliOC52fZeaWbGZbTSzCWbWK2baAWb2ajhtjZndYGZHhvUoNbNqM6uKGe4Xrvft5ryvYdnacN6tZva6mfWOmX6amU0zs81m9o6ZDY+ZtsTMfmxmc8L35UEzy2lmvc40s/lmti1ct4dnndfF1KXOzMrD17Mb+awGmZnHDPcK17UxXPelMdPSw/dvYbjeKWbW18yeD9dRFsZRv/6/xtTzhPB1p/BzaPT9NbOxZjY7fM+KzGxoOP7umGV7uL5SM3upiWXFbrcVsettbD0xMZfHrO+dcPwoM3s3nGdVGFNWzHxuZt83s0Vmtt7Mfm1maTHbSuz6rwvL1783Xc3sP2a2BhgXFrvVgn1ygpl1DsuNCee7K2ZZw8Jxj8SMe8rMVlvQY/CmmR2wk/fpkpjhEjMbE77OCJfdJxw+1cw+smB7X25mt8TM95mWj5k90qDMGRbsE1vDbenkcHxT294tFuyrpeF7/4yZ5TVWn5bQrhJEPTN71MxKgXXAOnf/fTgpDXgQ6A/0A8qBuxvMPs7dOwGfB64xswPjLH8MMLzB6IeBXOAAoAfw+wbTMbNM4OfAqgaTioGLYoYvAebGzHcccAfwVWAfYCnwRDgtD/gv8B+gFzAIeM3d33X3TmFdHgV+VT/s7ssaxtYM74bL6gFUAleF6z8UeAC4HNgL+BswwcyyY+a9APg/YD9gCGGLrql6hf4K3OHueUB+/Uh3/1VM3ZYBp4fDjR4cGngcKCF4v84Gbjez48NpVwPnAV8EOgPfBLa7++nh+urXkR+u84o4y/8hUB1nPGG9h4Qx/AAoACYCz5tZlruPi6kbwMHh8ClN1CcN+G44zyfxNLWemHlPj9kujgrH1RJ8vt2BI4Hjge80WOeXgJHAocAZBO9Tw3p2Bb4PbI4Z/XNgCzAAqAjHrSLYH2uBW2LKrgNOidmWdtgvQi8Bgwm2y6kE23pLKAO+TrDdnQp828zObM6MZjYK+CfBdpAPfAFYEk5uatsDeDL8HPsBA9nxuNDi2mWCcPcLgDxgKDDUzK4Ox29w93+FLY1twG3AMY0sJoNgg90SO9LMDPgVcHPMuH2AU4Ar3H2Tu1e7+xtxlnk58D7wcYPxa4AlFpz19yBIYB/ETL8AeMDdp7p7JfBj4EgzGwCcBqx299+6e4W7b3P395t8g/ZMWvi3IRy+FPibu7/v7rXu/g+CBHJEzDx3u/tyd99I8J6f14x61csI3/MWYWZ9CZL/j8L3axpwH3BhWOQS4CZ3n++B6e6+obHlxVl+T+BbwO+aKHYO8KK7vxq2dn8DdACOamKepmQRdK+2yHrcfYq7v+fuNe6+hCDpN9xPfunuG8OTjT/w6Wca60aCk4fYfeh04B53Lyd43wH+Eg7fBZwVU7aKIKmdFSa1U4BnG8T6QLjNVxIkl4PNrEtT9WsOdy9y95nuXufuMwgO7I0dKxr6FsF2/Wo4/wp3n9eMbS9WOjvuZ62iXSYIgHDnngfcSXAmgJnlmtnfzGypmW0F3gTyzSw9ZtY/mtlmYDbBh7y8waK/SvChvR4zri+w0d03NRZPeKZ/HfCTRorcR3Bw+gbB2UesXgRn1/V1Kw1j6B2ue2Fj692JI8Km7EYLuoZG7qwswdngQOChcHx/gpbW5vq/MKZeMfPGvodLY6Y1VS8I3ovrCVp663exbtfGxDM1Znwvgs9qW4OY6te5J+8nBAepPwEbmyjTsN51BO9R70bnaFo3IN62t1vrMbMhFnS/rg73k9sJWhOxGvtM65fRj2Bf+XWD+XoStAziWQvs3WDcfQQH3DMJWsmfJEILugPvDLtwtvLpWXrDWHeZmY02s0lh19cWgpZZw+Wuj9nGvhozvrFtaGfbHsBXw+WtI2jFPL+ndWlKu00QMdIJrkMAXAMUAqPdvTNB0w8g9gz1++6eT7DTfd7MYs+M6ruIftRgHcuBbmaWT+N+CIx396WNTH8J+BxBk/LhBtNWEhyIg2DNOhJ056wI171fE+ttynthXQuAV/lsd1u8sjnAI3yaIJYDt7l7fsxfrrs/HjNv35jX/cL67KxehDFtITjD2tWd/jf18RB0g9RbSfBZxfbt9otZ5568n0MIutL+uJNyDettBO/RikbnaER4Zt2fz7ZK92Q9fwHmAYPD/eQGdtxHoPHPtN4vCLo1tzUYv47GP8seBK3pT7j7LIKu25v4tMVR73yC7q0TgC4E3VbEiXV3PAZMAPqGX3j5a5zldo/ZxsbHjG9sG9rZtgfBMSKfoM4zgd/uWTWa1q4SRHgR64dmtlc4PJTgYP5YWCSP4Gx0s5l1A37axOJqCS5yF8SMuxB4J2xyfsLdVxEc4P9swUW4TDP7QkyRPOBigu6VuNy9Fvgl8EjYFRPrMeBiMzsk7I+9HXg/bP6/AOxtZj8ws2wzyzOz0U3Uq7F1b6F524sTvDf178vfgSvCMy4zs47hBb7YneC7ZtYnfM9vAJ5sRr0gSOgr3f2pXalPk8EHLcJ3gDvMLMeCC+rf4tO+6/uAn5vZ4LA+w+u3p2a4Cbg17C5pynjgVDM7PrwudQ1Bt9w7u1IXCy723wwUu3u8BLG768kDtgKlZrY/8O04ZX4Ybut9gSv59DOF4DrYaIKuqYYmAt+x4Kvn9ReMvx0Of5/4Z8y3A/9199lx4qwkaHXmhuVaSh7B2X5FeE3h/F2Y936C7fp4M0szs95mtn8ztr1YdXz2+NPi2lWCIOj+GANMC5ucTxH0d/4mnP4Hgj7Y9cB7BE3Whu624AL3EoKzqPtjpnWl8S6iCwkuTM4jaCr/IGZaZ+CPTXVBAbj7g+5+R5zxr4Xr/RfBBb39gHPDaduAEwn6dlcDC4Bjm1pPjMMt+CZHCcH1gCubKHtk+L5sIegnHheufzLBdYi7Cbo5igm6hmI9BrwCLAr/frGzepnZfgQHtIYXR1vCeQRnmyuBZ4Cfuvur4bTfERxYXyE4SN5PsM00xwY+2z34Ge4+H/gaQVfUeoLP7nR3j3cdoSk3EVxPOLuF13MtwQFxG8EJwJNxyjwHTAGmAS+y437Sk+A6TrwL9TcRHPSWAvUXn/cmOOvOIc7+5e4vuPvVcZb1z3A5K4A5BPv0zvwqZpvfG3gqfL2kQbnvEHy7ahtBEh5PM7n7BwQnhL8n2F/e4NOWXFPbHsA54X62ARhGcELVasz1wCCJkJktAS5x9/9GHYu0DAu+MjzY3Yv3cDkDgMVAprvXtEBosovaWwtCRESaSQlCRETiUheTiIjEpRaEiIjEldR3SczPz/dBgwZFHUarKSsro2PHjlGH0WpSuX6pXDdQ/ZLdlClT1rv7Tr8im9QJomfPnkyePDnqMFpNUVERY8aMiTqMVpPK9UvluoHql+zMrLEf5O5AXUwiIhKXEoSIiMSlBCEiInEpQYiISFxKECIiEpcShIiIxKUEISIicSlBiIhIXEoQIiISlxKEiIjEpQQhIiJxKUGIiEhcShAiIhJXQhKEmT1gZmvNbFYj083M/mhmxWY2w8wOTURcIiLSuES1IB4CTm5i+inA4PDvMuAvCYhJRESakJAE4e5vAhubKHIG8E8PvAfkm9k+iYhNRETiaysPDOoNLI8ZLgnHrWpY0MwuI2hlUFBQQFFRUSLii0Rpaanql6RSuW6g+rUUd6eqDiprobImeF1V61TVhv/roLoWquuc6jrCP6emDmpiXtfWQY1DTf2wB+Nq/dPh7h2MKw7O2aX42kqCsDjjPF5Bd78XuBegsLDQU/mpT6n+VKtUrl8q1w1Uv3pVNXVs3l7Fpu3VbNpexebt1Wwtr2ZLeTVbK4LXWytq2FZRQ2llNaWVNZRV1lJaWcP2yhq2V9ficY90O5eRZmRlpJGZHvxlZ6SRmW5kpKcF07LSyE4zOqYH4/t2zWXMmOG7to7dC63FlQB9Y4b7ACsjikVE2jF3p6zambd6K6u2VLB2awVrt1aydlsl67ZVsr60kg1lVawvrWRbRU2jy0kz6JSdQV5OJp07ZJKXnUFBp2wGds+kY1Y6uVkZdMpOp0NWBrlZ6XTISqdDZviXlU5OZhrZGenkZKaTnZFGdjicnZFGVnoaaWnxzqtbVltJEBOAcWb2BDAa2OLun+leEhFpCRXVtSzdsJ0lG8pYvnE7yzZuZ/nG7ZRsKmfF5nK2V9XCa2/tME9+biYFnbLp3imbA3p1pnunbLp1zKJrxyy65mbSNTeLLh0yyc/NpEuHTDplZ2DW+gfx1pSQBGFmjwNjgO5mVgL8FMgEcPe/AhOBLwLFwHbg4kTEJSKprayyho/XbGPe6m0sWFNK8bpSFq4tZeWW8h26dvJyMujbNZeB3Tvy+cHd2b5+JUcfdgB7d85h7y45FORlk52RHl1FIpKQBOHu5+1kugPfTUQsIpKatlVUM7NkC9NLtjBr5RbmrNzK4vVln0zPyUxjv4JOjBzQlX2792VA9yAh9O/WkS65mTssq6hoHWOG90p0FdqcttLFJCLSbO7O8o3lfLBkI1OWbmTykk0Uryv9pFXQt1sHDuzVhS+N6M3+e+ex/96d6dO1Q0L67VOJEoSIJIX1pZW8tWAdby/YwHuLNrBiczkAnXMyOKx/V04/uBeH9M1neJ8u5OdmRRxtalCCEJE2yd2ZtWIrr85dw6R5a5m5YgsAXXMzOWLfvbj8mH0ZPXAvBvfopJZBK1GCEJE2o67OmbpsEy/MWMV/Zq1m9dYK0gwO7deVa08awjFDenBAr85KCAmiBCEikft4zTb+PXUFz01bwaotFWRlpDFmSAHXHlDIcfv3oFtHdRlFQQlCRCJRWlnDhGkreeLDZcwo2UJ6mnHMkAKuP2V/jh/ak07ZOjxFTZ+AiCRU8dptPPTOEp6ZuoKyqlr23zuPm08bxthDetG9U3bU4UkMJQgRaXXuzv+KN/D3txbxxsfryMpIY+zBvTh/dD9G9M1P+l8cpyolCBFpNXV1zqtz1/DnScVML9lCQV4215w4hPNH92MvtRbaPCUIEWlx7s7r89by21c+Zs6qrfTrlssdZx3EWYf2bpe3rEhWShAi0qImL9nIbRPn8tGyzfTfK5ffffVgxh7ci4z0RD3AUlqKEoSItIilG8q486V5vDRrNT07Z3PHWQdx9mF9yFRiSFpKECKyRyqqa/lz0UL+WrSQ9DTjqhOGcOkXBpKbpcNLstMnKCK7rWj+Wn7y3CyWbyxn7MG9uPHUofTsvGuPtZS2SwlCRHZZaZVzzfjp/GtqCfsVdOSxS0Zz1KDuUYclLUwJQkR2yevz1nDj/8oprV7B944bxLjjBumbSSlKCUJEmqW8qpbbJs7hkfeW0TcvjUcvO4oDe3eJOixpRUoQIrJTc1dtZdxjU1m4roxLjx7IqA5rlBzaAX3/TESaNH7ycs68539sq6jhkW+N5sZTh5Gp2223C2pBiEhcFdW13PzcLMZPLuGo/fbirnNHUJCn22O0J0oQIvIZa7ZWcPnDU5i2fDPjjh3EVScOIV2thnZHCUJEdjB9+WYue3gy2ypq+OvXDuXkA/eJOiSJiBKEiHzi5dmrufKJj9irYzb/+vZRDN2nc9QhSYSUIEQEgIf+t5ifvTCH4X3yuf+ikXp4jyhBiLR37s4v/zOfv76xkBOH9eSP546gQ5Z++CZKECLtWm2dc9Ozs3j8g2V87Yh+/GzsgboYLZ9QghBpp6pr67h6/HSen76S7x67H9eeVKhHf8oOlCBE2qGqmjrGPTaVV+as4fpT9ueKY/aLOiRpgxL2S2ozO9nM5ptZsZldH2d6PzObZGYfmdkMM/tiomITaU9ik8Mtpw9TcpBGJSRBmFk6cA9wCjAMOM/MhjUodhMw3t1HAOcCf05EbCLtSXXtjsnhG58bGHVI0oYlqgUxCih290XuXgU8AZzRoIwD9V+67gKsTFBsIu1CbZ1z1ZPTlByk2czdW38lZmcDJ7v7JeHwhcBodx8XU2Yf4BWgK9AROMHdp8RZ1mXAZQAFBQWHjR8/vtXjj0ppaSmdOnWKOoxWk8r1a2t1c3cenF3FmyU1fLUwky8OzNqj5bW1+rW0VK/fscceO8XdR+6sXKIuUsf7akTDzHQe8JC7/9bMjgQeNrMD3b1uh5nc7wXuBSgsLPQxY8a0RrxtQlFREapfcmpLdXN3bp84lzdLFjPu2EFc+3+Fe7zMtlS/1pDq9WuuRHUxlQB9Y4b78NkupG8B4wHc/V0gB9AzDEX20H1vLebvby3moiP7c81JQ6IOR5JIohLEh8BgMxtoZlkEF6EnNCizDDgewMyGEiSIdQmKTyQlPTdtBbdNnMupw/fhp6cfoN85yC5JSIJw9xpgHPAyMJfg20qzzexWMxsbFrsGuNTMpgOPA9/wRFwgEUlR7xSv59qnpjN6YDd++5WDSdMvpGUXJeyHcu4+EZjYYNzNMa/nAJ9LVDwiqax47TYuf2QKA7t35N6vjyQnU/dWkl2nR46KpJiNZVV886HJZGek8cA3DqdLh8yoQ5IkpVttiKSQypparnh4Cqu3VvDEZUfQp2tu1CFJElMLQiRFuDs3PzubD5Zs5NdnD+fQfl2jDkmSnBKESIp45L2lPDl5OeOOHcQZh/SOOhxJAUoQIingg8Ub+dnzczhu/x5cfaJ+6yAtQwlCJMmt2lLOdx6dQr9uufz+nEP0dVZpMbpILZLEqmrq+O6jUymvquWJy47QN5akRSlBiCSxO1+ax9Rlm7n7/BEM6pEXdTiSYtTFJJKkJs5cxQP/W8w3jhrAacN7RR2OpCAlCJEktGR9Gdc9PYMR/fK54YtDow5HUpQShEiSqaypZdzjU0lPM+4+/1CyMrQbS+vQNQiRJPOr/8xn1oqt3HvhYfTO7xB1OJLCdOohkkRen7eG+98OrjucdMDeUYcjKU4JQiRJrN1awbVPzWDYPp25/pT9ow5H2gElCJEkUFfnXPv0DLZX1fDH80bo9t2SEEoQIkngH+8u4c2P13HjqcMY1KNT1OFIO6EEIdLGzV+9jTtemsfx+/fga6P7RR2OtCNKECJtWFVNHT94chqdczL45dnD9UxpSSh9zVWkDbvrtY+Zu2or9319JN07ZUcdjrQzakGItFEfLdvEX4oW8pXD+nDCsJ5RhyPtkBKESBtUXlXLNeOns0+XDtx8+rCow5F2Sl1MIm3Qr16ex6L1ZTx26WjycnQLb4mGWhAibcwHizfy0DtLuOjI/hy1X/eow5F2TAlCpA0pr6rluqen06drB36kX0tLxNTFJNKG/OaV+SzZsJ3HLh1NbpZ2T4mWWhAibcSUpRt54H+LufAIdS1J26AEIdIGVFTXct3TM+jVRV1L0nYkLEGY2clmNt/Mis3s+kbKfNXM5pjZbDN7LFGxiUTtnknFLFxXxu1nHUSnbHUtSduQkC3RzNKBe4ATgRLgQzOb4O5zYsoMBn4MfM7dN5lZj0TEJhK1OSu38peihXz50D4cM6Qg6nBEPpGoFsQooNjdF7l7FfAEcEaDMpcC97j7JgB3X5ug2EQiU1Nbx4/+NYP83Ex+cpqeLS1tS6Lasr2B5THDJcDoBmWGAJjZ/4B04BZ3/0/DBZnZZcBlAAUFBRQVFbVGvG1CaWmp6pekmlu3lxZXM3NFFd85JJtpH7zT+oG1kFT+7CD169dciUoQ8W5B6Q2GM4DBwBigD/CWmR3o7pt3mMn9XuBegMLCQh8zZkyLB9tWFBUVofolp+bUbfnG7Ux47U1OGNqDH54zMqnu1JrKnx2kfv2aK1FdTCVA35jhPsDKOGWec/dqd18MzCdIGCIpx9258dlZpBncesaBSZUcpP1IVIL4EBhsZgPNLAs4F5jQoMyzwLEAZtadoMtpUYLiE0moCdNX8ubH6/jh/xXSK79D1OGIxJWQBOHuNcA44GVgLjDe3Web2a1mNjYs9jKwwczmAJOAH7r7hkTEJ5JIm8qquPX5ORzcN58LjxwQdTgijUrYF67dfSIwscG4m2NeO3B1+CeSsu58aR6by6t55KyDSE9T15K0XfoltUgCvb9oA09OXs4lRw9k6D6dow5HpElKECIJUllTyw3PzKRP1w5ceby+fyFtn37TL5Igf3tjEQvXlfHgxYfrTq2SFNSCEEmAxevLuHtSMacO34djC3UXGUkOShAirczdufm5WWSnp/HT0/R8aUkeShAirWzC9JW8tWA9Pzy5kB6dc6IOR6TZlCBEWtGW8mp+/sJchvfpwgWj+0cdjsgu0ZUykVb0m5fns7GskocuPly/eZCkoxaESCuZtnwzj7y/lIuOGsCBvbtEHY7ILlOCEGkFtXXOjc/MpEdeNlefOCTqcER2i7qYRFrBa8tqmL1yO3++4FDycjKjDkdkt6gFIdLCVm+p4N8LqhhTWMApB+4ddTgiu63ZCcLMssK7ry4ws7Lw/8/NTN/bE4lx6wuzqXW4daye8yDJbVe6mP4CFALfB5YC/YEfEzxO9JstH5pI8pk0by0TZ67mrMGZ9NsrN+pwRPbIriSIM4H9Yh4BOsfM3geKUYIQobyqlpsnzGK/go6cMrDhE3VFks+uXINYDTQ8JeoArGq5cESS1z2Tilm+sZxfnHkQmfrNg6SAXWlBPAz8x8z+xKfPmP4u8E8zO66+kLu/3rIhirR9xWu38bc3F3LWiN4cud9eFC2POiKRPbcrCeLy8P8NDcZfEf4BOLDvngYlkkzcnRuemUVuVgY3nDo06nBEWkyzE4S7D2zNQESS1dNTSvhg8UbuOOsgunfKjjockRaj30GI7IFNZVXcPnEuh/Xvyjkj+0YdjkiLUoIQ2QN3vDSXbRU13PalA0nThWlJMUoQIrvp/UUbGD+5hG8dPZD99+4cdTgiLU4JQmQ3VNbUcsMzM+nTtQNXHj846nBEWoVu1ieyG/72xiIWrivjwYsPJzdLu5GkJrUgRHbRonWl3D2pmNOG78OxhT2iDkek1ShBiOwCd+fGZ2aRnZHGzacNizockValBCGyC56aUsK7izbw41OG0qOzbmQsqS1hCcLMTjaz+WZWbGbXN1HubDNzMxuZqNhEmmN9aSW3vTiXUQO6ce7h+s2DpL6EJAgzSwfuAU4BhgHnmdln2udmlkdwO/H3ExGXyK649fk5lFfVcvtZ+s2DtA+JakGMAordfZG7VwFPAGfEKfdz4FdARYLiEmmWSfPXMmH6Sr5z7H4M6pEXdTgiCZGo7+f1BmLvb1kCjI4tYGYjgL7u/oKZXdvYgszsMuAygIKCAoqKilo+2jaitLRU9WsDymucG98up1dH44C0FRQVrdzpPMlSt92l+rUPiUoQ8drjnzxRxczSgN8D39jZgtz9XuBegMLCQh8zZkzLRNgGFRUVofpF76fPzWJT5VKevuIoDuvftVnzJEvddpfq1z4kqoup/vkR9foAsadhecCBQJGZLQGOACboQrVE7cMlG/nne0v5xlEDmp0cRFJFohLEh8BgMxtoZlnAucCE+onuvsXdu7v7AHcfALwHjHX3yQmKT+QzKqpr+dG/ZtA7vwPXnlQYdTgiCZeQBOHuNcA44GVgLjDe3Web2a1mNjYRMYjsqrteW8CidWXccdZBdMzW7TSk/UnYVu/uE4GJDcbd3EjZMYmISaQx05dv5m9vLOTcw/ty9OCCqMMRiYR+SS3SQGVNLdc+NZ2enXP0CFFp19RuFmngj68tYMHaUh66+HA652RGHY5IZNSCEIkxbflm/vrGIr5yWB/G6E6t0s4pQYiEKqpruXr8NHrmZfOT03WnVhF1MYmEfvmfeSxaV8ajl4xW15IIakGIAPDOwvU8+L8lXHRkfz43qHvU4Yi0CUoQ0u5tKa/mh0/NYGD3jlx/ir61JFJPXUzS7t383CxWb63g6SuOpENWetThiLQZakFIu/bctBU8N20lVx4/mBH9dK8lkVhKENJulWzazk3PzuKw/l35zpj9og5HpM1RgpB2qaa2jquenIY7/OGcQ8hI164g0pCuQUi79MfXFvDhkk3cde4h9O2WG3U4Im2STpuk3Xln4Xr+NKmYrxzWhzMO6R11OCJtlhKEtCsbSiv5wRPTGNi9Iz8744CowxFp05QgpN2orXN+8OQ0NpdXc/d5h5KbpR5WkaYoQUi78afXF/DWgvXcOvYAhvXqHHU4Im2eEoS0C29+vI67XlvAlw/twzmH9935DCKiBCGpb8Xmcq584iMKe+bxizMPxMyiDkkkKShBSEqrqK7l8ocnU1Pr/PmCQ3UrDZFdoKt0krLcnR//eyazV27lvq+PZN+CTlGHJJJU1IKQlPXA/5bwzEcruOqEIRw/tGfU4YgkHSUISUlvfLyO2yfO5aRhPRl37KCowxFJSkoQknIWrNnGuEenMqRnHr8/5xDS0nRRWmR3KEFIStlQWsk3//EhOVnp3H/RSDpm6zKbyO5SgpCUEXxjaQprt1by96+PpFd+h6hDEklqOr2SlFBb51z5xEdMWbaJe84/lEP65kcdkkjSUwtCkp67c8uE2bw8ew03nzaMLx60T9QhiaSEhCUIMzvZzOabWbGZXR9n+tVmNsfMZpjZa2bWP1GxSXK7Z1IxD7+3lMu/sC8Xf9NA84kAAA/+SURBVG5g1OGIpIyEJAgzSwfuAU4BhgHnmdmwBsU+Aka6+3DgaeBXiYhNkts/3lnCb175mC+N6M2PTt4/6nBEUkqiWhCjgGJ3X+TuVcATwBmxBdx9krtvDwffA/okKDZJUk9PKeGnE2Zz4rCe/Prs4fo6q0gLM3dv/ZWYnQ2c7O6XhMMXAqPdfVwj5e8GVrv7L+JMuwy4DKCgoOCw8ePHt17gESstLaVTp9S9PcSe1O+D1TX8ZVolQ/dK4weH5pCV3raSgz675Jbq9Tv22GOnuPvInZVL1LeY4u29cTOTmX0NGAkcE2+6u98L3AtQWFjoY8aMaaEQ256ioiJUv896ccYq/vbKRxzWvyv/+OaoNvlbB312yS3V69dcidqzSoDYm/D3AVY2LGRmJwA3Ase4e2WCYpMk8uKMVXz/iY8Y0Tefh9pochBJFYm6BvEhMNjMBppZFnAuMCG2gJmNAP4GjHX3tQmKS5LIMx+V7JAcOik5iLSqhCQId68BxgEvA3OB8e4+28xuNbOxYbFfA52Ap8xsmplNaGRx0g49/O4SrnpyOqMGdFNyEEmQhO1l7j4RmNhg3M0xr09IVCySPNydPxct5Ncvz+eEoT25+/wR5GTqoT8iiaDTMGmzamrruOX52Tzy3jLOPKQXv/7KwWSm68f/IomiBCFt0vaqGr732Ee8Nm8tVxyzH9f9X6F+5yCSYEoQ0uas3FzOZQ9PZs7Krfz8jAO48MgBUYck0i4pQUibMmXpRi5/eCoV1bX8/esj9ahQkQgpQUib4O48/sFyfjphFr3zO/D4paMZ3DMv6rBE2jUlCInc9qoabnpmFv/+aAVHD+7On84bQX5uVtRhibR7ShASqY/XbGPcY1NZsLaUq04YwrjjBpGui9EibYIShETC3Xl1aTVP/fdtOudk8M9vjuLowQVRhyUiMZQgJOFWbSnn+n/N5I2Pqzhu/x788svDKcjLjjosEWlACUISxt158sPl3PbiXGrqnAuHZXHrhSMxU5eSSFukBCEJsXBdKT95dhbvLNzAEft245dfHs7imR8qOYi0YUoQ0qrKq2q5e9IC7n1zETmZ6fzizAM5f1Q/0tKMxVEHJyJNUoKQVlFX5zw7bQW/fnk+q7ZUcNahvfnxKUN1rUEkiShBSItyd95ZuIE7X5rHzBVbGN6nC3edO4JRA7tFHZqI7CIlCGkxk5ds5DevzOe9RRvp1SWHP5xzCGMP7qWb7IkkKSUI2SPuztvF6/nzpIW8u2gD3Ttlc8vpwzhvdD+yM/TcBpFkpgQhu6Wqpo6JM1dx/9uLmbliCz07Z3PTqUO5YHR/OmQpMYikAiUI2SVrtlYw/sPlPPL+UtZsrWTfgo7c/qWD+PJhvdViEEkxShCyU9W1dby1YB1PfLCc1+atpbbOOXpwd+788nCOGVygawwiKUoJQuJyd6Yt38yE6St5fvpK1pdWsVfHLC49el/OPbwvA7p3jDpEEWllShDyido656Nlm3hlzhpenLGKFZvLyUpP44RhPThrRB+OKSzQM6FF2hEliHZu8/Yq3i5eT9H8dUyat5YNZVVkphufH9Sdq04cwonDetKlQ2bUYYpIBJQg2pmyyhqmLtvEOws38M7CDcws2UydQ+ecDMYU9uDEYT05prCAzjlKCiLtnRJECnN3SjaVM235Zj5atpnJSzcye+VWauucjDTjkL75jDtuMMcMKeDgPl3IUPeRiMRQgkgRNbV1LF5fxrzV25izaiuzVmxh9sqtbCyrAiAnM41D+ubz7WP24/CB3RjZvysds/Xxi0jjdIRIMtsqqlmyfjuLN5SxaF0pxWuDv0XryqiqrQMgM90Y0jOPE4b2YHiffA7pm0/h3nm6wCwiu0QJog1xdzZvr2bVlgpWbSmnaFk17740lxWbylm+qZzlG7d/0iIAMIM+XTswqKATXxhSwP5751G4dx6DenTSj9ZEZI8pQbSyiupaNm2vYlNZNZu3V7FxexUby6rYUFrF+tJK1pdWsm5bJWvDv6qauh3mz0pfwj75OfTrlsvJB+5N3665DOyey4DuHenfraNuayEirSZhCcLMTgbuAtKB+9z9zgbTs4F/AocBG4Bz3H1JouKD4BkGVbV1VFTXUl5dS0V1HeVVtZRX11BeVcf2qhq2V9VSVlXD9spaSitrKKusobSyhm2VNWyrqGFbRTVby6vZWlHDlvLqzxzw65lB19wsunfKonunbA4f0I0eedn06JxDry457N0lh6VzPmLsScfql8oiEomEJAgzSwfuAU4ESoAPzWyCu8+JKfYtYJO7DzKzc4FfAuc0tdxNFc5tL86hps6pqXVq6urC/8GBvqa2jupap7q2jqqaOqrD4aqaOqrCcZU1dVTW1FJZU9fowbwpuVnpdMrOoFNOBnnZGXTukEmvLh3Iy8mgS24mXTpkkt8hi665meTnZtGtY/DXNTdzp98a2rIoTclBRCKTqBbEKKDY3RcBmNkTwBlAbII4A7glfP00cLeZmbt7YwvdUuU88t4yMtKMjHQjIz2NjDQjMz2NjHQjMy2NzIxgODMtjdysDLIy0shMN7Iz0snKSCMrI43s8H9ORjo5menkZKZ98r9DZjodsjLIzUqnQ2Y6uVnp5GZl0DE7+J+uA7iIpKhEJYjewPKY4RJgdGNl3L3GzLYAewHrYwuZ2WXAZQAFBQX85ficJlZb3yKo3bVoq8O/kANl4V8ilZaWUlRUlOC1Jk4q1y+V6waqX3uRqAQR7zS7YcugOWVw93uBewEKCwt9zJgxexxcW1VUVITql5xSuW6g+rUXifpifAnQN2a4D7CysTJmlgF0ATYmJDoREfmMRCWID4HBZjbQzLKAc4EJDcpMAC4KX58NvN7U9QcREWldCeliCq8pjANeJvia6wPuPtvMbgUmu/sE4H7gYTMrJmg5nJuI2EREJL6E/Q7C3ScCExuMuznmdQXwlUTFIyIiTdPNeUREJC4lCBERiUsJQkRE4lKCEBGRuJQgREQkLiUIERGJSwlCRETiUoIQEZG4lCBERCQuJQgREYlLCUJEROJSghARkbgsme+obWbbgPlRx9GKutPgiXopJpXrl8p1A9Uv2RW6e97OCiXsbq6tZL67j4w6iNZiZpNVv+SUynUD1S/Zmdnk5pRTF5OIiMSlBCEiInEle4K4N+oAWpnql7xSuW6g+iW7ZtUvqS9Si4hI60n2FoSIiLQSJQgREYkrJRKEmX3PzOab2Wwz+1XU8bQGM7vWzNzMukcdS0sxs1+b2Twzm2Fmz5hZftQxtQQzOzncHovN7Pqo42lJZtbXzCaZ2dxwf7sy6phampmlm9lHZvZC1LG0NDPLN7Onw/1urpkd2VT5pE8QZnYscAYw3N0PAH4TcUgtzsz6AicCy6KOpYW9Chzo7sOBj4EfRxzPHjOzdOAe4BRgGHCemQ2LNqoWVQNc4+5DgSOA76ZY/QCuBOZGHUQruQv4j7vvDxzMTuqZ9AkC+DZwp7tXArj72ojjaQ2/B64DUuobBe7+irvXhIPvAX2ijKeFjAKK3X2Ru1cBTxCcwKQEd1/l7lPD19sIDjC9o42q5ZhZH+BU4L6oY2lpZtYZ+AJwP4C7V7n75qbmSYUEMQQ42szeN7M3zOzwqANqSWY2Fljh7tOjjqWVfRN4KeogWkBvYHnMcAkpdACNZWYDgBHA+9FG0qL+QHAyVhd1IK1gX2Ad8GDYhXafmXVsaoakuNWGmf0X2DvOpBsJ6tCVoLl7ODDezPb1JPr+7k7qdwNwUmIjajlN1c3dnwvL3EjQdfFoImNrJRZnXNJsi81lZp2AfwE/cPetUcfTEszsNGCtu08xszFRx9MKMoBDge+5+/tmdhdwPfCTpmZo89z9hMammdm3gX+HCeEDM6sjuNHWukTFt6caq5+ZHQQMBKabGQRdMFPNbJS7r05giLutqc8OwMwuAk4Djk+mpN6EEqBvzHAfYGVEsbQKM8skSA6Puvu/o46nBX0OGGtmXwRygM5m9oi7fy3iuFpKCVDi7vUtvqcJEkSjUqGL6VngOAAzGwJkkSJ3YXT3me7ew90HuPsAgg/40GRJDjtjZicDPwLGuvv2qONpIR8Cg81soJllAecCEyKOqcVYcKZyPzDX3X8XdTwtyd1/7O59wn3tXOD1FEoOhMeN5WZWGI46HpjT1DxJ0YLYiQeAB8xsFlAFXJQiZ6Ltwd1ANvBq2EJ6z92viDakPePuNWY2DngZSAcecPfZEYfVkj4HXAjMNLNp4bgb3H1ihDFJ830PeDQ8eVkEXNxUYd1qQ0RE4kqFLiYREWkFShAiIhKXEoSIiMSlBCEiInEpQYiISFxKENJumNkSM2vyh3vNXM5JZvbsbs57i5k90sT0ncZoZj3DO3Fm704MIs2lBCGy624H7oxq5e6+BpgEXBZVDNI+KEGI7ILwZpBd3P29iEN5FLg84hgkxSlBSLtjZtlm9gczWxn+/SG2u8bMrjOzVeG0S8IHNQ0KJ58CvNFgeUeZ2YdmtiX8f1TMtIHhXYa3mdmrBPcJi533QjNbamYbwpsWxk4bZWaTzWyrma0xs9hbW7wP7Gtm/VvobRH5DCUIaY9uJLj77yEED00ZBdwEn9wf6mrgBGAQcEyDeQ8C5tcPmFk34EXgj8BewO+AF81sr7DIY8AUgsTwc+CimHmHAX8huHVFr3D+2Gdi3AXc5e6dgf2A8fUTwudoFIfxi7QKJQhpjy4AbnX3te6+DvgZwUEa4KvAg+4+O7yB4M8azJsPbIsZPhVY4O4Pu3uNuz8OzANON7N+BLeg/4m7V7r7m8DzMfOeDbzg7m+GD7z6CTs+h6AaGGRm3d29NE631rYwHpFWoQQh7VEvYGnM8NJwXP202Af+xL4G2ATkNbGs+uX1DqdtcveyBtNi5/1k+WG5DTHTv0XwQKx5YdfVaQ3Wkwc0+UQwkT2hBCHt0Uogtu++H58+s2EVO3bzxD7bAWAGwUG7sWXVL29FuKyuDZ7a1S/m9arY5ZtZLkE3EwDuvsDdzwN6AL8Enq5flpllEHSBpfqTBiVCShDSHj0O3GRmBWbWHbgZqP9twnjgYjMbGh6wb24w70R2vC4xERhiZuebWYaZnQMMI+g6WgpMBn5mZllm9nng9Jh5nwZOM7PPh7dfvpWYfdLMvmZmBe5ex6cthdrw/yhgSbgOkVahBCHt0S8IDtwzgJnA1HAc7v4SwQXnSQQXgd8N56kMp08FtpjZ6HB4A8ET8a4h6B66DjjN3esfWnU+MBrYCPwU+Gd9EOFzIr5LcCF7FUH3VUlMnCcDs82slOCC9bnuXhFOuwD4656/FSKN0/MgRJpgZkOBWUB2+M0hzOwk4DvufmZEMfUg+KrtiJiEIdLilCBEGjCzLxF8dbUj8A+gLqpkIBIldTGJfNblwDpgIUGf/7ejDUckGmpBiIhIXGpBiIhIXEoQIiISlxKEiIjEpQQhIiJxKUGIiEhc/w/OVga+MS/ehwAAAABJRU5ErkJggg==\n", 547 | "text/plain": [ 548 | "
" 549 | ] 550 | }, 551 | "metadata": { 552 | "needs_background": "light" 553 | }, 554 | "output_type": "display_data" 555 | } 556 | ], 557 | "source": [ 558 | "# Вспомним уравнение логистической регрессии - в правой части число от минус бесконечности до плюс бесконечности,\n", 559 | "# в левой - логарифм шансов, зная который, мы можем рассчитать вероятность.\n", 560 | "\n", 561 | "# Визуализируем зависимость вероятности от логарифма шансов:\n", 562 | "\n", 563 | "log_odds = np.arange(-6, 6, 0.1)\n", 564 | "p = np.exp(log_odds) / (1 + np.exp(log_odds))\n", 565 | "\n", 566 | "plt.plot(log_odds, p)\n", 567 | "plt.grid()\n", 568 | "plt.xlim(-6, 6)\n", 569 | "plt.ylim(-0.1, 1.1)\n", 570 | "plt.title('Зависимость вероятности от логарифма шансов', fontsize=12)\n", 571 | "plt.xlabel('log(odds)', fontsize=12)\n", 572 | "plt.ylabel('p', fontsize=12)\n", 573 | "\n", 574 | "plt.show()\n", 575 | "plt.close()" 576 | ] 577 | }, 578 | { 579 | "cell_type": "markdown", 580 | "metadata": {}, 581 | "source": [ 582 | "## Модель без предикторов" 583 | ] 584 | }, 585 | { 586 | "cell_type": "code", 587 | "execution_count": 18, 588 | "metadata": {}, 589 | "outputs": [ 590 | { 591 | "data": { 592 | "text/html": [ 593 | "
\n", 594 | "\n", 607 | "\n", 608 | " \n", 609 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", 703 | "
" 704 | ], 705 | "text/plain": [ 706 | " PassengerId Survived Pclass \\\n", 707 | "0 1 0 3 \n", 708 | "1 2 1 1 \n", 709 | "2 3 1 3 \n", 710 | "3 4 1 1 \n", 711 | "4 5 0 3 \n", 712 | "\n", 713 | " Name Sex Age SibSp \\\n", 714 | "0 Braund, Mr. Owen Harris male 22.0 1 \n", 715 | "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", 716 | "2 Heikkinen, Miss. Laina female 26.0 0 \n", 717 | "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", 718 | "4 Allen, Mr. William Henry male 35.0 0 \n", 719 | "\n", 720 | " Parch Ticket Fare Cabin Embarked \n", 721 | "0 0 A/5 21171 7.2500 NaN S \n", 722 | "1 0 PC 17599 71.2833 C85 C \n", 723 | "2 0 STON/O2. 3101282 7.9250 NaN S \n", 724 | "3 0 113803 53.1000 C123 S \n", 725 | "4 0 373450 8.0500 NaN S " 726 | ] 727 | }, 728 | "execution_count": 18, 729 | "metadata": {}, 730 | "output_type": "execute_result" 731 | } 732 | ], 733 | "source": [ 734 | "# Датасет Титаника\n", 735 | "\n", 736 | "df = pd.read_csv('https://stepic.org/media/attachments/course/524/train.csv')\n", 737 | "df = df[df.Age.notnull()]\n", 738 | "df.head()" 739 | ] 740 | }, 741 | { 742 | "cell_type": "code", 743 | "execution_count": 19, 744 | "metadata": {}, 745 | "outputs": [ 746 | { 747 | "data": { 748 | "text/html": [ 749 | "\n", 750 | "\n", 751 | "\n", 752 | " \n", 753 | "\n", 754 | "\n", 755 | " \n", 756 | "\n", 757 | "\n", 758 | " \n", 759 | "\n", 760 | "\n", 761 | " \n", 762 | "\n", 763 | "\n", 764 | " \n", 765 | "\n", 766 | "\n", 767 | " \n", 768 | "\n", 769 | "\n", 770 | " \n", 771 | "\n", 772 | "\n", 773 | " \n", 774 | "\n", 775 | "\n", 776 | " \n", 777 | "\n", 778 | "
Generalized Linear Model Regression Results
Dep. Variable: Survived No. Observations: 714
Model: GLM Df Residuals: 713
Model Family: Binomial Df Model: 0
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -482.26
Date: Tue, 08 Jun 2021 Deviance: 964.52
Time: 20:53:33 Pearson chi2: 714.
No. Iterations: 4
Covariance Type: nonrobust
\n", 779 | "\n", 780 | "\n", 781 | " \n", 782 | "\n", 783 | "\n", 784 | " \n", 785 | "\n", 786 | "
coef std err z P>|z| [0.025 0.975]
Intercept -0.3799 0.076 -4.985 0.000 -0.529 -0.230
" 787 | ], 788 | "text/plain": [ 789 | "\n", 790 | "\"\"\"\n", 791 | " Generalized Linear Model Regression Results \n", 792 | "==============================================================================\n", 793 | "Dep. Variable: Survived No. Observations: 714\n", 794 | "Model: GLM Df Residuals: 713\n", 795 | "Model Family: Binomial Df Model: 0\n", 796 | "Link Function: logit Scale: 1.0000\n", 797 | "Method: IRLS Log-Likelihood: -482.26\n", 798 | "Date: Tue, 08 Jun 2021 Deviance: 964.52\n", 799 | "Time: 20:53:33 Pearson chi2: 714.\n", 800 | "No. Iterations: 4 \n", 801 | "Covariance Type: nonrobust \n", 802 | "==============================================================================\n", 803 | " coef std err z P>|z| [0.025 0.975]\n", 804 | "------------------------------------------------------------------------------\n", 805 | "Intercept -0.3799 0.076 -4.985 0.000 -0.529 -0.230\n", 806 | "==============================================================================\n", 807 | "\"\"\"" 808 | ] 809 | }, 810 | "execution_count": 19, 811 | "metadata": {}, 812 | "output_type": "execute_result" 813 | } 814 | ], 815 | "source": [ 816 | "glm_binomial = smf.glm(formula='Survived ~ 1', data=df, family=sm.families.Binomial()).fit()\n", 817 | "glm_binomial.summary()\n", 818 | "\n", 819 | "# Intercept - логарифм шансов (шансов выжить)" 820 | ] 821 | }, 822 | { 823 | "cell_type": "code", 824 | "execution_count": 20, 825 | "metadata": {}, 826 | "outputs": [], 827 | "source": [ 828 | "# Получаем модель:\n", 829 | "# log(odds) = -0.3799" 830 | ] 831 | }, 832 | { 833 | "cell_type": "code", 834 | "execution_count": 21, 835 | "metadata": {}, 836 | "outputs": [ 837 | { 838 | "data": { 839 | "text/plain": [ 840 | "0 424\n", 841 | "1 290\n", 842 | "Name: Survived, dtype: int64" 843 | ] 844 | }, 845 | "execution_count": 21, 846 | "metadata": {}, 847 | "output_type": "execute_result" 848 | } 849 | ], 850 | "source": [ 851 | "# Распределение частот ЗП\n", 852 | "df.Survived.value_counts()" 853 | ] 854 | }, 855 | { 856 | "cell_type": "code", 857 | "execution_count": 22, 858 | "metadata": {}, 859 | "outputs": [ 860 | { 861 | "data": { 862 | "text/plain": [ 863 | "" 864 | ] 865 | }, 866 | "execution_count": 22, 867 | "metadata": {}, 868 | "output_type": "execute_result" 869 | }, 870 | { 871 | "data": { 872 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAASuUlEQVR4nO3dfZBdd33f8fcHyQ9pTPyA1tRImspD1CQmEwRsjIv/KLUzjXEa5KSYmkJQqGcEMyaFSdrEpH/ElHqadAoukOBEqY1lJsVWINQq4ya4Ni4hBJsVEcayQ1HBQYsUa40fwKFxK/HtH/e3x4t0JV3bOveufd+vmTv3nO/5nbPf9Wj24/OcqkKSJIDnTboBSdLyYShIkjqGgiSpYyhIkjqGgiSps3LSDTwTq1atqnXr1k26DUl6VtmxY8dDVTUzbNmzOhTWrVvH3NzcpNuQpGeVJH91pGUePpIkdQwFSVLHUJAkdQwFSVLHUJAkdQwFSVLHUJAkdQwFSVLHUJAkdZ7VdzQfD3P/8m2TbkHL0OwHfnfSLUgT4Z6CJKljKEiSOoaCJKljKEiSOoaCJKljKEiSOoaCJKnTeygkWZHkL5J8ss2fneSuJF9NcnOSE1v9pDa/uy1f13dvkqTvN449hXcA9y+Z/y3gmqpaDzwCXN7qlwOPVNUPA9e0cZKkMeo1FJKsAX4G+M9tPsAFwMfakK3AJW16Y5unLb+wjZckjUnfewr/CfhV4Htt/gXAo1V1oM3PA6vb9GpgD0Bb/lgb/32SbE4yl2RuYWGhz94laer0FgpJ/gmwv6p2LC0PGVojLHuyULWlqmaranZmZuY4dCpJWtTnA/HOB16b5GLgZOCHGOw5nJZkZdsbWAPsbePngbXAfJKVwKnAwz32J0k6RG97ClX1rqpaU1XrgMuAO6rqjcCngde1YZuAW9r09jZPW35HVR22pyBJ6s8k7lP4NeCXk+xmcM7gula/DnhBq/8ycOUEepOkqTaW9ylU1Z3AnW36a8C5Q8b8LXDpOPqRJA3nHc2SpI6hIEnqGAqSpI6hIEnqGAqSpI6hIEnqGAqSpI6hIEnqGAqSpI6hIEnqGAqSpI6hIEnqGAqSpI6hIEnqGAqSpI6hIEnq9BYKSU5OcneSLyXZleTdrX5Dkq8n2dk+G1o9ST6QZHeSe5K8vK/eJEnD9fnmtSeAC6rq8SQnAJ9N8t/bsn9dVR87ZPxrgPXt80rg2vYtSRqT3vYUauDxNntC+9RRVtkI3NjW+zxwWpKz+upPknS4Xs8pJFmRZCewH7itqu5qi65uh4iuSXJSq60G9ixZfb7VDt3m5iRzSeYWFhb6bF+Spk6voVBVB6tqA7AGODfJjwPvAn4U+EngDODX2vAM28SQbW6pqtmqmp2Zmempc0maTmO5+qiqHgXuBC6qqn3tENETwIeBc9uweWDtktXWAHvH0Z8kaaDPq49mkpzWpn8A+CngLxfPEyQJcAlwb1tlO/DmdhXSecBjVbWvr/4kSYfr8+qjs4CtSVYwCJ9tVfXJJHckmWFwuGgn8LY2/lbgYmA38F3gLT32JkkaordQqKp7gJcNqV9whPEFXNFXP5KkY/OOZklSx1CQJHUMBUlSx1CQJHUMBUlSx1CQJHUMBUlSx1CQJHUMBUlSx1CQJHUMBUlSx1CQJHUMBUlSx1CQJHUMBUlSp883r52c5O4kX0qyK8m7W/3sJHcl+WqSm5Oc2Oontfndbfm6vnqTJA3X557CE8AFVfVSYANwUXvN5m8B11TVeuAR4PI2/nLgkar6YeCaNk6SNEa9hUINPN5mT2ifAi4APtbqWxm8pxlgY5unLb+wvcdZkjQmvZ5TSLIiyU5gP3Ab8L+BR6vqQBsyD6xu06uBPQBt+WPAC4Zsc3OSuSRzCwsLfbYvSVOn11CoqoNVtQFYA5wL/NiwYe172F5BHVao2lJVs1U1OzMzc/yalSSN5+qjqnoUuBM4Dzgtycq2aA2wt03PA2sB2vJTgYfH0Z8kaaDPq49mkpzWpn8A+CngfuDTwOvasE3ALW16e5unLb+jqg7bU5Ak9WflsYc8bWcBW5OsYBA+26rqk0nuA25K8u+AvwCua+OvAz6SZDeDPYTLeuxNkjREb6FQVfcALxtS/xqD8wuH1v8WuLSvfqRnm7d9bm7SLWgZ+t1Xzfa6fe9oliR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUqfP13GuTfLpJPcn2ZXkHa1+VZJvJtnZPhcvWeddSXYn+UqSn+6rN0nScH2+jvMA8CtV9cUkzwd2JLmtLbumqv7j0sFJzmHwCs6XAC8C/keSv19VB3vsUZK0RG97ClW1r6q+2Ka/A9wPrD7KKhuBm6rqiar6OrCbIa/tlCT1ZyznFJKsY/C+5rta6e1J7klyfZLTW201sGfJavMMCZEkm5PMJZlbWFjosWtJmj69h0KSU4CPA++sqm8D1wIvBjYA+4D3Lg4dsnodVqjaUlWzVTU7MzPTU9eSNJ1GCoUkt49SGzLmBAaB8AdV9UcAVfVgVR2squ8Bv8+Th4jmgbVLVl8D7B2lP0nS8XHUUEhycpIzgFVJTk9yRvusY3Ay+GjrBrgOuL+q3rekftaSYT8H3NumtwOXJTkpydnAeuDup/oLSZKevmNdffRW4J0MAmAHTx7i+TbwO8dY93zgF4AvJ9nZar8OvCHJBgaHhh5oP4Oq2pVkG3AfgyuXrvDKI0kar6OGQlW9H3h/kl+qqg8+lQ1X1WcZfp7g1qOsczVw9VP5OZKk42ek+xSq6oNJXgWsW7pOVd3YU1+SpAkYKRSSfITBFUM7gcVDOgUYCpL0HDLqHc2zwDlVddglopKk545R71O4F/i7fTYiSZq8UfcUVgH3JbkbeGKxWFWv7aUrSdJEjBoKV/XZhCRpeRj16qP/2XcjkqTJG/Xqo+/w5HOITgROAP6mqn6or8YkSeM36p7C85fOJ7kEH2stSc85T+spqVX1X4ELjnMvkqQJG/Xw0c8vmX0eg/sWvGdBkp5jRr366GeXTB9g8CC7jce9G0nSRI16TuEtfTciSZq8UV+ysybJJ5LsT/Jgko8nWdN3c5Kk8Rr1RPOHGbwE50UM3pv831pNkvQcMmoozFTVh6vqQPvcABz1BclJ1ib5dJL7k+xK8o5WPyPJbUm+2r5Pb/Uk+UCS3UnuSfLyZ/SbSZKeslFD4aEkb0qyon3eBHzrGOscAH6lqn4MOA+4Isk5wJXA7VW1Hri9zQO8hsErONcDm4Frn+LvIkl6hkYNhX8BvB74a2Af8DrgqCefq2pfVX2xTX8HuJ/BoaeNwNY2bCtwSZveCNxYA58HTjvkfc6SpJ6NGgrvATZV1UxVnckgJK4a9YckWQe8DLgLeGFV7YNBcABntmGrgT1LVptvtUO3tTnJXJK5hYWFUVuQJI1g1FD4iap6ZHGmqh5m8Ef+mJKcAnwceGdVfftoQ4fUDrtBrqq2VNVsVc3OzBz1tIYk6SkaNRSet3hCGAYnixnhHockJzAIhD+oqj9q5QcXDwu17/2tPg+sXbL6GmDviP1Jko6DUUPhvcDnkrwnyb8FPgf8h6OtkCTAdcD9VfW+JYu2A5va9CbgliX1N7erkM4DHls8zCRJGo9R72i+Mckcg4fgBfj5qrrvGKudD/wC8OUkO1vt14HfBLYluRz4BnBpW3YrcDGwG/guxziRLUk6/kZ99hEtBI4VBEvHf5bh5wkALhwyvoArRt2+JOn4e1qPzpYkPTcZCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSer0FgpJrk+yP8m9S2pXJflmkp3tc/GSZe9KsjvJV5L8dF99SZKOrM89hRuAi4bUr6mqDe1zK0CSc4DLgJe0dT6UZEWPvUmShugtFKrqM8DDIw7fCNxUVU9U1dcZvJLz3L56kyQNN4lzCm9Pck87vHR6q60G9iwZM99qkqQxGncoXAu8GNgA7APe2+rD3uVcwzaQZHOSuSRzCwsL/XQpSVNqrKFQVQ9W1cGq+h7w+zx5iGgeWLtk6Bpg7xG2saWqZqtqdmZmpt+GJWnKjDUUkpy1ZPbngMUrk7YDlyU5KcnZwHrg7nH2JkmClX1tOMlHgVcDq5LMA78BvDrJBgaHhh4A3gpQVbuSbAPuAw4AV1TVwb56kyQN11soVNUbhpSvO8r4q4Gr++pHknRs3tEsSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkjqEgSeoYCpKkTm+hkOT6JPuT3LukdkaS25J8tX2f3upJ8oEku5Pck+TlffUlSTqyPvcUbgAuOqR2JXB7Va0Hbm/zAK9h8F7m9cBm4Noe+5IkHUFvoVBVnwEePqS8EdjaprcClyyp31gDnwdOS3JWX71JkoYb9zmFF1bVPoD2fWarrwb2LBk332qHSbI5yVySuYWFhV6blaRps1xONGdIrYYNrKotVTVbVbMzMzM9tyVJ02XcofDg4mGh9r2/1eeBtUvGrQH2jrk3SZp64w6F7cCmNr0JuGVJ/c3tKqTzgMcWDzNJksZnZV8bTvJR4NXAqiTzwG8AvwlsS3I58A3g0jb8VuBiYDfwXeAtffUlSTqy3kKhqt5whEUXDhlbwBV99SJJGs1yOdEsSVoGDAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1DAVJUsdQkCR1enufwtEkeQD4DnAQOFBVs0nOAG4G1gEPAK+vqkcm0Z8kTatJ7in8o6raUFWzbf5K4PaqWg/c3uYlSWO0nA4fbQS2tumtwCUT7EWSptKkQqGATyXZkWRzq72wqvYBtO8zh62YZHOSuSRzCwsLY2pXkqbDRM4pAOdX1d4kZwK3JfnLUVesqi3AFoDZ2dnqq0FJmkYT2VOoqr3tez/wCeBc4MEkZwG07/2T6E2SptnYQyHJDyZ5/uI08I+Be4HtwKY2bBNwy7h7k6RpN4nDRy8EPpFk8ef/l6r64yRfALYluRz4BnDpBHqTpKk29lCoqq8BLx1S/xZw4bj7kSQ9aTldkipJmjBDQZLUMRQkSR1DQZLUMRQkSR1DQZLUMRQkSR1DQZLUMRQkSR1DQZLUMRQkSR1DQZLUMRQkSR1DQZLUMRQkSR1DQZLUWXahkOSiJF9JsjvJlZPuR5KmybIKhSQrgN8BXgOcA7whyTmT7UqSpseyCgXgXGB3VX2tqv4vcBOwccI9SdLUGPs7mo9hNbBnyfw88MqlA5JsBja32ceTfGVMvU2DVcBDk25iWfjg7026A30//202x+lf5t870oLlFgoZUqvvm6naAmwZTzvTJclcVc1Oug/pUP7bHJ/ldvhoHli7ZH4NsHdCvUjS1FluofAFYH2Ss5OcCFwGbJ9wT5I0NZbV4aOqOpDk7cCfACuA66tq14TbmiYeltNy5b/NMUlVHXuUJGkqLLfDR5KkCTIUJEkdQ0E+WkTLVpLrk+xPcu+ke5kWhsKU89EiWuZuAC6adBPTxFCQjxbRslVVnwEennQf08RQ0LBHi6yeUC+SJsxQ0DEfLSJpehgK8tEikjqGgny0iKSOoTDlquoAsPhokfuBbT5aRMtFko8Cfw78SJL5JJdPuqfnOh9zIUnquKcgSeoYCpKkjqEgSeoYCpKkjqEgSeoYChKQ5N8k2ZXkniQ7k7zyOGzztcfrqbNJHj8e25GOxUtSNfWS/APgfcCrq+qJJKuAE6vqmHd2J1nZ7vXou8fHq+qUvn+O5J6CBGcBD1XVEwBV9VBV7U3yQAsIkswmubNNX5VkS5JPATcmuSvJSxY3luTOJK9I8otJfjvJqW1bz2vL/06SPUlOSPLiJH+cZEeSP03yo23M2Un+PMkXkrxnzP89NMUMBQk+BaxN8r+SfCjJPxxhnVcAG6vqnzN43PjrAZKcBbyoqnYsDqyqx4AvAYvb/VngT6rq/zF4If0vVdUrgH8FfKiNeT9wbVX9JPDXz/g3lEZkKGjqVdXjDP7IbwYWgJuT/OIxVtteVf+nTW8DLm3Trwf+cMj4m4F/1qYvaz/jFOBVwB8m2Qn8HoO9FoDzgY+26Y88pV9IegZWTroBaTmoqoPAncCdSb4MbAIO8OT/OJ18yCp/s2Tdbyb5VpKfYPCH/61DfsR24N8nOYNBAN0B/CDwaFVtOFJbT/PXkZ429xQ09ZL8SJL1S0obgL8CHmDwBxzgnx5jMzcBvwqcWlVfPnRh2xu5m8FhoU9W1cGq+jbw9SSXtj6S5KVtlT9jsEcB8Man/ltJT4+hIMEpwNYk9yW5h8G7qq8C3g28P8mfAgePsY2PMfgjvu0oY24G3tS+F70RuDzJl4BdPPkq1HcAVyT5AnDqU/t1pKfPS1IlSR33FCRJHUNBktQxFCRJHUNBktQxFCRJHUNBktQxFCRJnf8PgOj/RBhAWRoAAAAASUVORK5CYII=\n", 873 | "text/plain": [ 874 | "
" 875 | ] 876 | }, 877 | "metadata": { 878 | "needs_background": "light" 879 | }, 880 | "output_type": "display_data" 881 | } 882 | ], 883 | "source": [ 884 | "sns.countplot(x='Survived', data=df, palette='hls')" 885 | ] 886 | }, 887 | { 888 | "cell_type": "code", 889 | "execution_count": 23, 890 | "metadata": {}, 891 | "outputs": [ 892 | { 893 | "data": { 894 | "text/plain": [ 895 | "0.6839622641509434" 896 | ] 897 | }, 898 | "execution_count": 23, 899 | "metadata": {}, 900 | "output_type": "execute_result" 901 | } 902 | ], 903 | "source": [ 904 | "# df.Survived.value_counts()[1] - количество выживших 290\n", 905 | "# df.Survived.value_counts()[0] - количество погибших 424\n", 906 | "odds = df.Survived.value_counts()[1] / df.Survived.value_counts()[0]\n", 907 | "odds" 908 | ] 909 | }, 910 | { 911 | "cell_type": "code", 912 | "execution_count": 24, 913 | "metadata": {}, 914 | "outputs": [ 915 | { 916 | "data": { 917 | "text/plain": [ 918 | "-0.37985253225143806" 919 | ] 920 | }, 921 | "execution_count": 24, 922 | "metadata": {}, 923 | "output_type": "execute_result" 924 | } 925 | ], 926 | "source": [ 927 | "# Логарифм шансов - это и есть Intercept.\n", 928 | "log_odds = np.log(odds)\n", 929 | "log_odds" 930 | ] 931 | }, 932 | { 933 | "cell_type": "code", 934 | "execution_count": 25, 935 | "metadata": {}, 936 | "outputs": [ 937 | { 938 | "data": { 939 | "text/plain": [ 940 | "0.6839622641509434" 941 | ] 942 | }, 943 | "execution_count": 25, 944 | "metadata": {}, 945 | "output_type": "execute_result" 946 | } 947 | ], 948 | "source": [ 949 | "# Рассчитаем шансы:\n", 950 | "odds = np.exp(log_odds)\n", 951 | "odds" 952 | ] 953 | }, 954 | { 955 | "cell_type": "code", 956 | "execution_count": 26, 957 | "metadata": {}, 958 | "outputs": [ 959 | { 960 | "data": { 961 | "text/plain": [ 962 | "0.4061624649859944" 963 | ] 964 | }, 965 | "execution_count": 26, 966 | "metadata": {}, 967 | "output_type": "execute_result" 968 | } 969 | ], 970 | "source": [ 971 | "# Рассчитаем вероятность:\n", 972 | "p = odds / (1 + odds)\n", 973 | "p" 974 | ] 975 | }, 976 | { 977 | "cell_type": "code", 978 | "execution_count": 27, 979 | "metadata": {}, 980 | "outputs": [ 981 | { 982 | "data": { 983 | "text/plain": [ 984 | "966.5159648555248" 985 | ] 986 | }, 987 | "execution_count": 27, 988 | "metadata": {}, 989 | "output_type": "execute_result" 990 | } 991 | ], 992 | "source": [ 993 | "# aic - показатель остатков модели.\n", 994 | "# Чем он ниже, тем лучше модель (по аналогии с суммой квадратов остатков в линейной регрессии).\n", 995 | "glm_binomial.aic" 996 | ] 997 | }, 998 | { 999 | "cell_type": "markdown", 1000 | "metadata": {}, 1001 | "source": [ 1002 | "## Модель с одним номинативным предиктором" 1003 | ] 1004 | }, 1005 | { 1006 | "cell_type": "code", 1007 | "execution_count": 28, 1008 | "metadata": {}, 1009 | "outputs": [ 1010 | { 1011 | "data": { 1012 | "text/html": [ 1013 | "\n", 1014 | "\n", 1015 | "\n", 1016 | " \n", 1017 | "\n", 1018 | "\n", 1019 | " \n", 1020 | "\n", 1021 | "\n", 1022 | " \n", 1023 | "\n", 1024 | "\n", 1025 | " \n", 1026 | "\n", 1027 | "\n", 1028 | " \n", 1029 | "\n", 1030 | "\n", 1031 | " \n", 1032 | "\n", 1033 | "\n", 1034 | " \n", 1035 | "\n", 1036 | "\n", 1037 | " \n", 1038 | "\n", 1039 | "\n", 1040 | " \n", 1041 | "\n", 1042 | "
Generalized Linear Model Regression Results
Dep. Variable: Survived No. Observations: 714
Model: GLM Df Residuals: 712
Model Family: Binomial Df Model: 1
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -375.35
Date: Tue, 08 Jun 2021 Deviance: 750.70
Time: 20:53:34 Pearson chi2: 714.
No. Iterations: 4
Covariance Type: nonrobust
\n", 1043 | "\n", 1044 | "\n", 1045 | " \n", 1046 | "\n", 1047 | "\n", 1048 | " \n", 1049 | "\n", 1050 | "\n", 1051 | " \n", 1052 | "\n", 1053 | "
coef std err z P>|z| [0.025 0.975]
Intercept 1.1243 0.144 7.814 0.000 0.842 1.406
C(Sex)[T.male] -2.4778 0.185 -13.392 0.000 -2.840 -2.115
" 1054 | ], 1055 | "text/plain": [ 1056 | "\n", 1057 | "\"\"\"\n", 1058 | " Generalized Linear Model Regression Results \n", 1059 | "==============================================================================\n", 1060 | "Dep. Variable: Survived No. Observations: 714\n", 1061 | "Model: GLM Df Residuals: 712\n", 1062 | "Model Family: Binomial Df Model: 1\n", 1063 | "Link Function: logit Scale: 1.0000\n", 1064 | "Method: IRLS Log-Likelihood: -375.35\n", 1065 | "Date: Tue, 08 Jun 2021 Deviance: 750.70\n", 1066 | "Time: 20:53:34 Pearson chi2: 714.\n", 1067 | "No. Iterations: 4 \n", 1068 | "Covariance Type: nonrobust \n", 1069 | "==================================================================================\n", 1070 | " coef std err z P>|z| [0.025 0.975]\n", 1071 | "----------------------------------------------------------------------------------\n", 1072 | "Intercept 1.1243 0.144 7.814 0.000 0.842 1.406\n", 1073 | "C(Sex)[T.male] -2.4778 0.185 -13.392 0.000 -2.840 -2.115\n", 1074 | "==================================================================================\n", 1075 | "\"\"\"" 1076 | ] 1077 | }, 1078 | "execution_count": 28, 1079 | "metadata": {}, 1080 | "output_type": "execute_result" 1081 | } 1082 | ], 1083 | "source": [ 1084 | "glm_binomial = smf.glm(formula='Survived ~ C(Sex)', data=df, family=sm.families.Binomial()).fit()\n", 1085 | "glm_binomial.summary()\n", 1086 | "\n", 1087 | "# Intercept - логарифм шансов для женщин\n", 1088 | "# C(Sex)[T.male] - логарифм отношения шансов для мужчин к шансам для женщин" 1089 | ] 1090 | }, 1091 | { 1092 | "cell_type": "code", 1093 | "execution_count": 29, 1094 | "metadata": {}, 1095 | "outputs": [ 1096 | { 1097 | "data": { 1098 | "text/html": [ 1099 | "
\n", 1100 | "\n", 1113 | "\n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \n", 1118 | " \n", 1119 | " \n", 1120 | " \n", 1121 | " \n", 1122 | " \n", 1123 | " \n", 1124 | " \n", 1125 | " \n", 1126 | " \n", 1127 | " \n", 1128 | " \n", 1129 | " \n", 1130 | " \n", 1131 | " \n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | "
Sexfemalemale
Survived
064360
119793
\n", 1139 | "
" 1140 | ], 1141 | "text/plain": [ 1142 | "Sex female male\n", 1143 | "Survived \n", 1144 | "0 64 360\n", 1145 | "1 197 93" 1146 | ] 1147 | }, 1148 | "execution_count": 29, 1149 | "metadata": {}, 1150 | "output_type": "execute_result" 1151 | } 1152 | ], 1153 | "source": [ 1154 | "# Таблица сопряженности между переменными выжил/не выжил и пол\n", 1155 | "cross_table = pd.crosstab(df.Survived, df.Sex)\n", 1156 | "cross_table" 1157 | ] 1158 | }, 1159 | { 1160 | "cell_type": "code", 1161 | "execution_count": 30, 1162 | "metadata": {}, 1163 | "outputs": [ 1164 | { 1165 | "data": { 1166 | "text/plain": [ 1167 | "Text(0, 0.5, 'Количество')" 1168 | ] 1169 | }, 1170 | "execution_count": 30, 1171 | "metadata": {}, 1172 | "output_type": "execute_result" 1173 | }, 1174 | { 1175 | "data": { 1176 | "image/png": "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zV7nnDlzuPjii7sgOujfv3+XrMdjCmZ1rOnCXxYdQlWevfiYQrf/4IMPcscdd/Doo4/St29fli9fzpo1azpeEFi7di29e1f+qp04cSITJ07sylA3m1sKZmYdWLp0KYMGDaJv374ADBo0iF133ZWmpiaWL18OwNy5cxk/fjwA06ZNY+rUqRxxxBGceuqpHHjggTzxxNt3oB0/fjzNzc1cd911nHfeeaxatYqmpibWr18PwOuvv87QoUN56623eOaZZzjqqKPYf//9OfTQQ/njH/8IwKJFizj44IMZN24cX/1qhzeBq1rNkoKkfpIekfSYpCckfSOVXydpkaR56TEmlUvS9yQtlDRf0vva34KZWfc44ogjWLx4Me95z3s455xzuO+++zpcprm5mdtuu42bbrqJKVOmMHv2bCBLMEuWLGH//ffP6w4YMIDRo0fn67399ts58sgj6dOnD1OnTuXKK6+kubmZSy+9lHPOOQeACy64gLPPPpvf/e53vPvd1d6JtmO1bCm8CRwWEaOBMcBRkg5K8z4fEWPSY14qOxoYkR5TgatqGJuZWdX69+9Pc3MzM2bMoKGhgcmTJ3Pddde1u8zEiRPZdtttAZg0aRI/+9nPAJg9ezYnnnjiRvUnT57MLbfcAsCsWbOYPHkyr776Kg888AAnnngiY8aM4ayzzmLp0qUA/M///A8nnXQSAKecckpX7WrtxhTSzclfTZN90qO9O/ocB1yflntI0kBJgyNiaa1iNDOrVq9evRg/fjzjx49nn332YebMmfTu3Tvv8ml96ue73vWu/PmQIUPYaaedmD9/PrfccgtXX331RuufOHEiF110ES+++CLNzc0cdthhvPbaawwcOJB58+ZtVB9qc5ZUTccUJPWSNA94AbgnIkrD9dNTF9HlkvqmsiHA4rLFW1KZmVmhFixYwNNPP51Pz5s3j912242mpiaam5sBuPXWW9tdx5QpU7jkkktYtWoV++yzz0bz+/fvzwEHHMAFF1zAscceS69evdh+++0ZPnx43sqICB577DEADjnkEGbNmgXAjTfe2CX7CTVOChGxLiLGAI3AAZLeC1wE/A0wDtgR+GKqXinlbdSykDRV0lxJc5ctW1ajyM3M3vbqq69y2mmnMXLkSPbdd1+efPJJpk2bxte//nUuuOACDj30UHr16tXuOk444QRmzZrFpEmT2qwz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\n", 1177 | "text/plain": [ 1178 | "
" 1179 | ] 1180 | }, 1181 | "metadata": { 1182 | "needs_background": "light" 1183 | }, 1184 | "output_type": "display_data" 1185 | } 1186 | ], 1187 | "source": [ 1188 | "# Визуализировать таблицу сопряженности можно так:\n", 1189 | "pd.crosstab(df.Sex, df.Survived).plot(kind='bar')\n", 1190 | "plt.title('Количество мужчин и женщин на Титанике')\n", 1191 | "plt.xlabel('Пол')\n", 1192 | "plt.ylabel('Количество')" 1193 | ] 1194 | }, 1195 | { 1196 | "cell_type": "code", 1197 | "execution_count": 31, 1198 | "metadata": {}, 1199 | "outputs": [ 1200 | { 1201 | "data": { 1202 | "text/plain": [ 1203 | "3.078125" 1204 | ] 1205 | }, 1206 | "execution_count": 31, 1207 | "metadata": {}, 1208 | "output_type": "execute_result" 1209 | } 1210 | ], 1211 | "source": [ 1212 | "# cross_table.female[0] - количество погибших женщин\n", 1213 | "# cross_table.female[1] - количество выживших женщин\n", 1214 | "odds_female = cross_table.female[1] / cross_table.female[0]\n", 1215 | "odds_female" 1216 | ] 1217 | }, 1218 | { 1219 | "cell_type": "code", 1220 | "execution_count": 32, 1221 | "metadata": {}, 1222 | "outputs": [ 1223 | { 1224 | "data": { 1225 | "text/plain": [ 1226 | "1.1243206453783166" 1227 | ] 1228 | }, 1229 | "execution_count": 32, 1230 | "metadata": {}, 1231 | "output_type": "execute_result" 1232 | } 1233 | ], 1234 | "source": [ 1235 | "# Логарифм шансов для женщин - это и есть Intercept\n", 1236 | "np.log(odds_female)" 1237 | ] 1238 | }, 1239 | { 1240 | "cell_type": "code", 1241 | "execution_count": 33, 1242 | "metadata": {}, 1243 | "outputs": [ 1244 | { 1245 | "data": { 1246 | "text/plain": [ 1247 | "0.25833333333333336" 1248 | ] 1249 | }, 1250 | "execution_count": 33, 1251 | "metadata": {}, 1252 | "output_type": "execute_result" 1253 | } 1254 | ], 1255 | "source": [ 1256 | "# cross_table.male[0] - количество погибших мужчин\n", 1257 | "# cross_table.male[1] - количество выживших мужчин\n", 1258 | "odds_male = cross_table.male[1] / cross_table.male[0]\n", 1259 | "odds_male" 1260 | ] 1261 | }, 1262 | { 1263 | "cell_type": "code", 1264 | "execution_count": 34, 1265 | "metadata": {}, 1266 | "outputs": [ 1267 | { 1268 | "data": { 1269 | "text/plain": [ 1270 | "0.08392554991539763" 1271 | ] 1272 | }, 1273 | "execution_count": 34, 1274 | "metadata": {}, 1275 | "output_type": "execute_result" 1276 | } 1277 | ], 1278 | "source": [ 1279 | "odds_ratio = odds_male / odds_female\n", 1280 | "odds_ratio" 1281 | ] 1282 | }, 1283 | { 1284 | "cell_type": "code", 1285 | "execution_count": 35, 1286 | "metadata": {}, 1287 | "outputs": [ 1288 | { 1289 | "data": { 1290 | "text/plain": [ 1291 | "-2.4778251836752165" 1292 | ] 1293 | }, 1294 | "execution_count": 35, 1295 | "metadata": {}, 1296 | "output_type": "execute_result" 1297 | } 1298 | ], 1299 | "source": [ 1300 | "np.log(odds_ratio)\n", 1301 | "# Логарифм отношения шансов для мужчин к шансам для женщин - это и есть значение C(Sex)[T.male]" 1302 | ] 1303 | }, 1304 | { 1305 | "cell_type": "code", 1306 | "execution_count": 36, 1307 | "metadata": {}, 1308 | "outputs": [ 1309 | { 1310 | "data": { 1311 | "text/plain": [ 1312 | "-1.3534999999999997" 1313 | ] 1314 | }, 1315 | "execution_count": 36, 1316 | "metadata": {}, 1317 | "output_type": "execute_result" 1318 | } 1319 | ], 1320 | "source": [ 1321 | "# Получаем модель:\n", 1322 | "# log(odds) = 1.1243 - (2.4778 * Sex_male)\n", 1323 | "\n", 1324 | "# Если предсказываем логарифм шансов для женщин (Sex_male = 0):\n", 1325 | "# log(odds) = 1.1243 - (2.4778 * 0)\n", 1326 | "# log(odds) = 1.1243\n", 1327 | "\n", 1328 | "# Если предсказываем логарифм шансов для мужчин (Sex_male = 1):\n", 1329 | "# log(odds) = 1.1243 - (2.4778 * 1)\n", 1330 | "# log(odds) = 1.1243 - 2.4778\n", 1331 | "# log(odds) -1.3535\n", 1332 | "\n", 1333 | "log_odds_male = 1.1243 - 2.4778\n", 1334 | "log_odds_male" 1335 | ] 1336 | }, 1337 | { 1338 | "cell_type": "code", 1339 | "execution_count": 37, 1340 | "metadata": {}, 1341 | "outputs": [ 1342 | { 1343 | "data": { 1344 | "text/plain": [ 1345 | "754.7002061466517" 1346 | ] 1347 | }, 1348 | "execution_count": 37, 1349 | "metadata": {}, 1350 | "output_type": "execute_result" 1351 | } 1352 | ], 1353 | "source": [ 1354 | "# aic у этой модели ниже, чем у предыдущей, значит эта модель лучше.\n", 1355 | "glm_binomial.aic" 1356 | ] 1357 | }, 1358 | { 1359 | "cell_type": "markdown", 1360 | "metadata": {}, 1361 | "source": [ 1362 | "## Модель с двумя номинативными предикторами" 1363 | ] 1364 | }, 1365 | { 1366 | "cell_type": "code", 1367 | "execution_count": 38, 1368 | "metadata": {}, 1369 | "outputs": [ 1370 | { 1371 | "data": { 1372 | "text/html": [ 1373 | "\n", 1374 | "\n", 1375 | "\n", 1376 | " \n", 1377 | "\n", 1378 | "\n", 1379 | " \n", 1380 | "\n", 1381 | "\n", 1382 | " \n", 1383 | "\n", 1384 | "\n", 1385 | " \n", 1386 | "\n", 1387 | "\n", 1388 | " \n", 1389 | "\n", 1390 | "\n", 1391 | " \n", 1392 | "\n", 1393 | "\n", 1394 | " \n", 1395 | "\n", 1396 | "\n", 1397 | " \n", 1398 | "\n", 1399 | "\n", 1400 | " \n", 1401 | "\n", 1402 | "
Generalized Linear Model Regression Results
Dep. Variable: Survived No. Observations: 714
Model: GLM Df Residuals: 708
Model Family: Binomial Df Model: 5
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -321.14
Date: Tue, 08 Jun 2021 Deviance: 642.28
Time: 20:53:34 Pearson chi2: 714.
No. Iterations: 6
Covariance Type: nonrobust
\n", 1403 | "\n", 1404 | "\n", 1405 | " \n", 1406 | "\n", 1407 | "\n", 1408 | " \n", 1409 | "\n", 1410 | "\n", 1411 | " \n", 1412 | "\n", 1413 | "\n", 1414 | " \n", 1415 | "\n", 1416 | "\n", 1417 | " \n", 1418 | "\n", 1419 | "\n", 1420 | " \n", 1421 | "\n", 1422 | "\n", 1423 | " \n", 1424 | "\n", 1425 | "
coef std err z P>|z| [0.025 0.975]
Intercept 3.3081 0.588 5.628 0.000 2.156 4.460
C(Sex)[T.male] -3.7301 0.622 -5.997 0.000 -4.949 -2.511
C(Pclass)[T.2] -0.8804 0.726 -1.213 0.225 -2.303 0.542
C(Pclass)[T.3] -3.4653 0.620 -5.585 0.000 -4.681 -2.249
C(Sex)[T.male]:C(Pclass)[T.2] -0.4204 0.804 -0.523 0.601 -1.997 1.156
C(Sex)[T.male]:C(Pclass)[T.3] 2.1542 0.676 3.185 0.001 0.829 3.480
" 1426 | ], 1427 | "text/plain": [ 1428 | "\n", 1429 | "\"\"\"\n", 1430 | " Generalized Linear Model Regression Results \n", 1431 | "==============================================================================\n", 1432 | "Dep. Variable: Survived No. Observations: 714\n", 1433 | "Model: GLM Df Residuals: 708\n", 1434 | "Model Family: Binomial Df Model: 5\n", 1435 | "Link Function: logit Scale: 1.0000\n", 1436 | "Method: IRLS Log-Likelihood: -321.14\n", 1437 | "Date: Tue, 08 Jun 2021 Deviance: 642.28\n", 1438 | "Time: 20:53:34 Pearson chi2: 714.\n", 1439 | "No. Iterations: 6 \n", 1440 | "Covariance Type: nonrobust \n", 1441 | "=================================================================================================\n", 1442 | " coef std err z P>|z| [0.025 0.975]\n", 1443 | "-------------------------------------------------------------------------------------------------\n", 1444 | "Intercept 3.3081 0.588 5.628 0.000 2.156 4.460\n", 1445 | "C(Sex)[T.male] -3.7301 0.622 -5.997 0.000 -4.949 -2.511\n", 1446 | "C(Pclass)[T.2] -0.8804 0.726 -1.213 0.225 -2.303 0.542\n", 1447 | "C(Pclass)[T.3] -3.4653 0.620 -5.585 0.000 -4.681 -2.249\n", 1448 | "C(Sex)[T.male]:C(Pclass)[T.2] -0.4204 0.804 -0.523 0.601 -1.997 1.156\n", 1449 | "C(Sex)[T.male]:C(Pclass)[T.3] 2.1542 0.676 3.185 0.001 0.829 3.480\n", 1450 | "=================================================================================================\n", 1451 | "\"\"\"" 1452 | ] 1453 | }, 1454 | "execution_count": 38, 1455 | "metadata": {}, 1456 | "output_type": "execute_result" 1457 | } 1458 | ], 1459 | "source": [ 1460 | "glm_binomial = smf.glm(formula='Survived ~ C(Sex) * C(Pclass)', data=df, family=sm.families.Binomial()).fit()\n", 1461 | "glm_binomial.summary()\n", 1462 | "\n", 1463 | "# Intercept - логарифм шансов для Ж в 1кл\n", 1464 | "# C(Sex)[T.male] - логарифм отношения шансов для М в 1кл к шансам Ж в 1кл\n", 1465 | "# C(Pclass)[T.2] - логарифм отношения шансов для Ж во 2кл к шансам Ж в 1кл\n", 1466 | "# C(Pclass)[T.3] - логарифм отношения шансов для Ж в 3кл к шансам Ж в 1кл\n", 1467 | "# C(Sex)[T.male]:C(Pclass)[T.2] - разность логарифмов отношения шансов, рассчитанных для М/Ж во 2кл и М/Ж в 1кл\n", 1468 | "# C(Sex)[T.male]:C(Pclass)[T.3] - разность логарифмов отношения шансов, рассчитанных для М/Ж во 3кл и М/Ж в 1кл" 1469 | ] 1470 | }, 1471 | { 1472 | "cell_type": "code", 1473 | "execution_count": 39, 1474 | "metadata": {}, 1475 | "outputs": [ 1476 | { 1477 | "data": { 1478 | "text/html": [ 1479 | "
\n", 1480 | "\n", 1493 | "\n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | " \n", 1515 | " \n", 1516 | " \n", 1517 | " \n", 1518 | " \n", 1519 | " \n", 1520 | " \n", 1521 | " \n", 1522 | "
Pclass123
Survived
03655
1826847
\n", 1523 | "
" 1524 | ], 1525 | "text/plain": [ 1526 | "Pclass 1 2 3\n", 1527 | "Survived \n", 1528 | "0 3 6 55\n", 1529 | "1 82 68 47" 1530 | ] 1531 | }, 1532 | "execution_count": 39, 1533 | "metadata": {}, 1534 | "output_type": "execute_result" 1535 | } 1536 | ], 1537 | "source": [ 1538 | "# Таблица сопряженности между переменными выжил/не выжил и классом пассажира для женщин.\n", 1539 | "cross_table_female = pd.crosstab(df[df.Sex == 'female'].Survived, df.Pclass)\n", 1540 | "cross_table_female" 1541 | ] 1542 | }, 1543 | { 1544 | "cell_type": "code", 1545 | "execution_count": 40, 1546 | "metadata": {}, 1547 | "outputs": [ 1548 | { 1549 | "data": { 1550 | "text/plain": [ 1551 | "Text(0, 0.5, 'Количество')" 1552 | ] 1553 | }, 1554 | "execution_count": 40, 1555 | "metadata": {}, 1556 | "output_type": "execute_result" 1557 | }, 1558 | { 1559 | "data": { 1560 | "image/png": "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19ZhmJltVOrr6xdExBo3w9soEn9dXR0zZ85s6zDMzDYqkv5crtxdPWZmBePEb2ZWME78ZmYFs1H08ZuZtbZPPvmEhoYGli9f3tahbLAuXbpQW1tLp06dKprfid/MCqmhoYHu3btTV1fHmndC33hEBAsXLqShoYF+/fpVtIy7esyskJYvX06vXr026qQPIIlevXq16MjFid/MCmtjT/qNWrodTvxmZslll13GgAED2HvvvRk0aBAzZszY4HVOnTqVyy+/vBWig27duq17pgq4j789GNejyvUtrm59ZhuBxx57jGnTpvHkk0+y+eabs2DBAlasKPtM9zWsXLmSjh3Lp9Nhw4YxbNiw1gx1g7nFb2YGzJs3j969e7P55tljc3v37s2OO+5IXV0dCxYsAGDmzJkMHToUgHHjxjF27FiOPPJITj31VPbff3+ef/4vD+MbOnQo9fX1TJgwgXPPPZfFixdTV1fHp59+CsCHH35I3759+eSTT3jllVc4+uij2XfffTn44IN58cXswWmvvfYaBx54IEOGDOFHP/pRq21rrolf0rclPS/pOUl3pGev9pM0Q9IcSZMldc4zBjOzShx55JG8+eab7Lbbbpx99tk8/PDD61ymvr6eKVOmcPvttzNy5EjuvDN7ouW8efOYO3cu++677+p5e/TowcCBA1ev97777uOoo46iU6dOjB07lmuvvZb6+nquuuoqzj47eyTx+eefzze+8Q2eeOIJtt9++zUDWE+5Jf709PnzgMERsSfZA5xHkj379OcRsSvZ80Gbe6aqmVnVdOvWjfr6esaPH09NTQ0jRoxgwoQJa11m2LBhdO3aFYBTTjmFu+7Knm1/5513Mnz48DXmHzFiBJMnZ4/tnTRpEiNGjGDZsmU8+uijDB8+nEGDBnHWWWcxb948AP70pz8xatQoAL72ta+11qbm3sffEegq6RNgC7Kn0B9K9vBigInAOOD6nOMwM1unDh06MHToUIYOHcpee+3FxIkT6dix4+rumaaXTG655Zarh/v06UOvXr145plnmDx5MjfccMMa6x82bBgXXXQR7733HvX19Rx66KF88MEHbL311syaNatsTHlceZRbiz8i3gKuAt4gS/iLgXpgUUSsTLM1AH3KLS9prKSZkmbOnz8/rzDNzAB46aWXmDNnzurxWbNmsfPOO1NXV0d9fT0A99xzz1rX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\n", 1561 | "text/plain": [ 1562 | "
" 1563 | ] 1564 | }, 1565 | "metadata": { 1566 | "needs_background": "light" 1567 | }, 1568 | "output_type": "display_data" 1569 | } 1570 | ], 1571 | "source": [ 1572 | "pd.crosstab(df.Pclass[df.Sex == 'female'], df.Survived).plot(kind='bar')\n", 1573 | "plt.title('Выживаемость женщин в разных классах')\n", 1574 | "plt.xlabel('Класс пассажира')\n", 1575 | "plt.ylabel('Количество')" 1576 | ] 1577 | }, 1578 | { 1579 | "cell_type": "code", 1580 | "execution_count": 41, 1581 | "metadata": {}, 1582 | "outputs": [ 1583 | { 1584 | "data": { 1585 | "text/html": [ 1586 | "
\n", 1587 | "\n", 1600 | "\n", 1601 | " \n", 1602 | " \n", 1603 | " \n", 1604 | " \n", 1605 | " \n", 1606 | " \n", 1607 | " \n", 1608 | " \n", 1609 | " \n", 1610 | " \n", 1611 | " \n", 1612 | " \n", 1613 | " \n", 1614 | " \n", 1615 | " \n", 1616 | " \n", 1617 | " \n", 1618 | " \n", 1619 | " \n", 1620 | " \n", 1621 | " \n", 1622 | " \n", 1623 | " \n", 1624 | " \n", 1625 | " \n", 1626 | " \n", 1627 | " \n", 1628 | " \n", 1629 | "
Pclass123
Survived
06184215
1401538
\n", 1630 | "
" 1631 | ], 1632 | "text/plain": [ 1633 | "Pclass 1 2 3\n", 1634 | "Survived \n", 1635 | "0 61 84 215\n", 1636 | "1 40 15 38" 1637 | ] 1638 | }, 1639 | "execution_count": 41, 1640 | "metadata": {}, 1641 | "output_type": "execute_result" 1642 | } 1643 | ], 1644 | "source": [ 1645 | "# Таблица сопряженности между переменными выжил/не выжил и классом пассажира для мужчин.\n", 1646 | "cross_table_male = pd.crosstab(df[df.Sex == 'male'].Survived, df.Pclass)\n", 1647 | "cross_table_male" 1648 | ] 1649 | }, 1650 | { 1651 | "cell_type": "code", 1652 | "execution_count": 42, 1653 | "metadata": {}, 1654 | "outputs": [ 1655 | { 1656 | "data": { 1657 | "text/plain": [ 1658 | "Text(0, 0.5, 'Количество')" 1659 | ] 1660 | }, 1661 | "execution_count": 42, 1662 | "metadata": {}, 1663 | "output_type": "execute_result" 1664 | }, 1665 | { 1666 | "data": { 1667 | "image/png": "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69luu+2ora2lyCPcO4yIYNWqVdTX1zNs2LBqh2NmXUSnaz5av349/fr169AJAUAS/fr16xQ1HjPrODpdUgA6fEJo0FnWw8w6jk6ZFIo599xzGTFiBHvvvTejRo3i/vvvf8/zXLBgAeedd14bRAe9e/dueSQzszLrdOcUirn33nu5+eabeeihh+jZsycrV65kw4ai7/jewsaNG+nevfhmGj9+POPHj2/LUM2siNqzbqno8pacd3RFl9eedImawooVK+jfvz89e/YEoH///gwaNIja2lpWrlwJwIMPPsjYsWMBmDlzJtOmTePwww9nypQp7LfffjzxxNsvTxs7dix1dXXMnj2b6dOns2bNGmpra9m8eTMAr7/+OkOGDOGtt97i2Wef5cgjj2Sfffbh4IMP5umnnwbgueee44ADDmDMmDGcffbZFdwaZmZN6xJJ4fDDD2fp0qV86EMf4vTTT+euu+5qcZq6ujrmz5/PNddcw6RJk5g3L3vj3ooVK1i+fDn77LNPPm6fPn0YOXJkPt+bbrqJI444gh49ejBt2jQuueQS6urquOCCCzj99Ox1rTNmzOC0007jgQce4P3vL/WNjmZm5dUlkkLv3r2pq6tj1qxZDBgwgIkTJzJ79uxmpxk/fjzbbLMNABMmTOD6668HYN68eZx44olbjD9x4kSuu+46AObOncvEiRNZt24d99xzDyeeeCKjRo3i1FNPZcWKFQD8+c9/ZvLkyQB87nOfa6tVNTN7T7rEOQWAbt26MXbsWMaOHctee+3FnDlz6N69e97k0/jSz2233TbvHjx4MP369ePRRx/luuuu42c/+9kW8x8/fjzf+ta3WL16NXV1dXziE5/gtddeY4cddmDhwoVFY/LVRWbW3nSJmsKiRYt45pln8v6FCxeyyy67UFtbS11dHQA33HBDs/OYNGkS559/PmvWrGGvvfbaYnjv3r3Zd999mTFjBscccwzdunVj++23Z9iwYXktIyJ45JFHADjwwAOZO3cuAFdffXWbrKeZ2XvVJZLCunXrmDp1KsOHD2fvvffmySefZObMmZxzzjnMmDGDgw8+mG7dujU7jxNOOIG5c+cyYcKEJseZOHEiV111FRMnTszLrr76aq644gpGjhzJiBEjmD9/PgAXXXQRl112GWPGjGHNmjVts6JmZu9Rh35H8+jRo6Px+xSeeuop9thj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\n", 1668 | "text/plain": [ 1669 | "
" 1670 | ] 1671 | }, 1672 | "metadata": { 1673 | "needs_background": "light" 1674 | }, 1675 | "output_type": "display_data" 1676 | } 1677 | ], 1678 | "source": [ 1679 | "pd.crosstab(df.Pclass[df.Sex == 'male'], df.Survived).plot(kind='bar')\n", 1680 | "plt.title('Выживаемость мужчин в разных классах')\n", 1681 | "plt.xlabel('Класс пассажира')\n", 1682 | "plt.ylabel('Количество')" 1683 | ] 1684 | }, 1685 | { 1686 | "cell_type": "code", 1687 | "execution_count": 43, 1688 | "metadata": {}, 1689 | "outputs": [ 1690 | { 1691 | "data": { 1692 | "image/png": "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\n", 1693 | "text/plain": [ 1694 | "
" 1695 | ] 1696 | }, 1697 | "metadata": { 1698 | "needs_background": "light" 1699 | }, 1700 | "output_type": "display_data" 1701 | } 1702 | ], 1703 | "source": [ 1704 | "# График сопряженности между классом пассажира, полом и переменной выжил/не выжил.\n", 1705 | "\n", 1706 | "from statsmodels.graphics.mosaicplot import mosaic\n", 1707 | "\n", 1708 | "mosaic(df, ['Pclass', 'Sex', 'Survived'], title='Мозаичный график', horizontal=0, gap=0.03)\n", 1709 | "plt.show()" 1710 | ] 1711 | }, 1712 | { 1713 | "cell_type": "code", 1714 | "execution_count": 44, 1715 | "metadata": {}, 1716 | "outputs": [ 1717 | { 1718 | "data": { 1719 | "text/plain": [ 1720 | "27.333333333333332" 1721 | ] 1722 | }, 1723 | "execution_count": 44, 1724 | "metadata": {}, 1725 | "output_type": "execute_result" 1726 | } 1727 | ], 1728 | "source": [ 1729 | "odds_female_pc1 = cross_table_female[1][1] / cross_table_female[1][0]\n", 1730 | "odds_female_pc1" 1731 | ] 1732 | }, 1733 | { 1734 | "cell_type": "code", 1735 | "execution_count": 45, 1736 | "metadata": {}, 1737 | "outputs": [ 1738 | { 1739 | "data": { 1740 | "text/plain": [ 1741 | "3.3081069585961433" 1742 | ] 1743 | }, 1744 | "execution_count": 45, 1745 | "metadata": {}, 1746 | "output_type": "execute_result" 1747 | } 1748 | ], 1749 | "source": [ 1750 | "np.log(odds_female_pc1)\n", 1751 | "# Это значение Intercept" 1752 | ] 1753 | }, 1754 | { 1755 | "cell_type": "code", 1756 | "execution_count": 46, 1757 | "metadata": {}, 1758 | "outputs": [ 1759 | { 1760 | "data": { 1761 | "text/plain": [ 1762 | "0.6557377049180327" 1763 | ] 1764 | }, 1765 | "execution_count": 46, 1766 | "metadata": {}, 1767 | "output_type": "execute_result" 1768 | } 1769 | ], 1770 | "source": [ 1771 | "odds_male_pc1 = cross_table_male[1][1] / cross_table_male[1][0]\n", 1772 | "odds_male_pc1" 1773 | ] 1774 | }, 1775 | { 1776 | "cell_type": "code", 1777 | "execution_count": 47, 1778 | "metadata": {}, 1779 | "outputs": [ 1780 | { 1781 | "data": { 1782 | "text/plain": [ 1783 | "-3.7301013686555184" 1784 | ] 1785 | }, 1786 | "execution_count": 47, 1787 | "metadata": {}, 1788 | "output_type": "execute_result" 1789 | } 1790 | ], 1791 | "source": [ 1792 | "np.log(odds_male_pc1 / odds_female_pc1)\n", 1793 | "# Это значение C(Sex)[T.male]" 1794 | ] 1795 | }, 1796 | { 1797 | "cell_type": "code", 1798 | "execution_count": 48, 1799 | "metadata": {}, 1800 | "outputs": [ 1801 | { 1802 | "data": { 1803 | "text/plain": [ 1804 | "11.333333333333334" 1805 | ] 1806 | }, 1807 | "execution_count": 48, 1808 | "metadata": {}, 1809 | "output_type": "execute_result" 1810 | } 1811 | ], 1812 | "source": [ 1813 | "odds_female_pc2 = cross_table_female[2][1] / cross_table_female[2][0]\n", 1814 | "odds_female_pc2" 1815 | ] 1816 | }, 1817 | { 1818 | "cell_type": "code", 1819 | "execution_count": 49, 1820 | "metadata": {}, 1821 | "outputs": [ 1822 | { 1823 | "data": { 1824 | "text/plain": [ 1825 | "-0.8803587226480917" 1826 | ] 1827 | }, 1828 | "execution_count": 49, 1829 | "metadata": {}, 1830 | "output_type": "execute_result" 1831 | } 1832 | ], 1833 | "source": [ 1834 | "np.log(odds_female_pc2 / odds_female_pc1)\n", 1835 | "# Это значение C(Pclass)[T.2]" 1836 | ] 1837 | }, 1838 | { 1839 | "cell_type": "code", 1840 | "execution_count": 50, 1841 | "metadata": {}, 1842 | "outputs": [ 1843 | { 1844 | "data": { 1845 | "text/plain": [ 1846 | "0.8545454545454545" 1847 | ] 1848 | }, 1849 | "execution_count": 50, 1850 | "metadata": {}, 1851 | "output_type": "execute_result" 1852 | } 1853 | ], 1854 | "source": [ 1855 | "odds_female_pc3 = cross_table_female[3][1] / cross_table_female[3][0]\n", 1856 | "odds_female_pc3" 1857 | ] 1858 | }, 1859 | { 1860 | "cell_type": "code", 1861 | "execution_count": 51, 1862 | "metadata": {}, 1863 | "outputs": [ 1864 | { 1865 | "data": { 1866 | "text/plain": [ 1867 | "-3.4652925421185556" 1868 | ] 1869 | }, 1870 | "execution_count": 51, 1871 | "metadata": {}, 1872 | "output_type": "execute_result" 1873 | } 1874 | ], 1875 | "source": [ 1876 | "np.log(odds_female_pc3 / odds_female_pc1)\n", 1877 | "# Это значение C(Pclass)[T.3]" 1878 | ] 1879 | }, 1880 | { 1881 | "cell_type": "code", 1882 | "execution_count": 52, 1883 | "metadata": {}, 1884 | "outputs": [ 1885 | { 1886 | "data": { 1887 | "text/plain": [ 1888 | "0.17857142857142858" 1889 | ] 1890 | }, 1891 | "execution_count": 52, 1892 | "metadata": {}, 1893 | "output_type": "execute_result" 1894 | } 1895 | ], 1896 | "source": [ 1897 | "odds_male_pc2 = cross_table_male[2][1] / cross_table_male[2][0]\n", 1898 | "odds_male_pc2" 1899 | ] 1900 | }, 1901 | { 1902 | "cell_type": "code", 1903 | "execution_count": 53, 1904 | "metadata": {}, 1905 | "outputs": [ 1906 | { 1907 | "data": { 1908 | "text/plain": [ 1909 | "-0.42041346503363686" 1910 | ] 1911 | }, 1912 | "execution_count": 53, 1913 | "metadata": {}, 1914 | "output_type": "execute_result" 1915 | } 1916 | ], 1917 | "source": [ 1918 | "np.log(odds_male_pc2 / odds_female_pc2) - np.log(odds_male_pc1 / odds_female_pc1)\n", 1919 | "# Это значение C(Sex)[T.male]:C(Pclass)[T.2]" 1920 | ] 1921 | }, 1922 | { 1923 | "cell_type": "code", 1924 | "execution_count": 54, 1925 | "metadata": {}, 1926 | "outputs": [ 1927 | { 1928 | "data": { 1929 | "text/plain": [ 1930 | "0.17674418604651163" 1931 | ] 1932 | }, 1933 | "execution_count": 54, 1934 | "metadata": {}, 1935 | "output_type": "execute_result" 1936 | } 1937 | ], 1938 | "source": [ 1939 | "odds_male_pc3 = cross_table_male[3][1] / cross_table_male[3][0]\n", 1940 | "odds_male_pc3" 1941 | ] 1942 | }, 1943 | { 1944 | "cell_type": "code", 1945 | "execution_count": 55, 1946 | "metadata": {}, 1947 | "outputs": [ 1948 | { 1949 | "data": { 1950 | "text/plain": [ 1951 | "2.154235083776654" 1952 | ] 1953 | }, 1954 | "execution_count": 55, 1955 | "metadata": {}, 1956 | "output_type": "execute_result" 1957 | } 1958 | ], 1959 | "source": [ 1960 | "np.log(odds_male_pc3 / odds_female_pc3) - np.log(odds_male_pc1 / odds_female_pc1)\n", 1961 | "# Это значение C(Sex)[T.male]:C(Pclass)[T.3]" 1962 | ] 1963 | }, 1964 | { 1965 | "cell_type": "code", 1966 | "execution_count": 56, 1967 | "metadata": {}, 1968 | "outputs": [ 1969 | { 1970 | "data": { 1971 | "text/plain": [ 1972 | "-0.42200000000000015" 1973 | ] 1974 | }, 1975 | "execution_count": 56, 1976 | "metadata": {}, 1977 | "output_type": "execute_result" 1978 | } 1979 | ], 1980 | "source": [ 1981 | "# Получаем модель:\n", 1982 | "# log(odds) = 3.3081 - (3.7301 * Sex_male) - (0.8804 * Pclass2) - (3.4653 * Pclass3) - (0.4204 * Sex_male * Pclass2) + (2.1542 * Sex_male * Pclass3)\n", 1983 | "\n", 1984 | "# Если предсказываем логарифм шансов для Ж в 1кл (Sex_male = 0, Pclass2 = 0, Pclass3 = 0):\n", 1985 | "# log(odds) = 3.3081 - (3.7301 * 0) - (0.8804 * 0) - (3.4653 * 0) - (0.4204 * 0 * 0) + (2.1542 * 0 * 0)\n", 1986 | "# log(odds) = 3.3081\n", 1987 | "\n", 1988 | "# Если предсказываем логарифм шансов для М в 1кл (Sex_male = 1, Pclass2 = 0, Pclass3 = 0):\n", 1989 | "# log(odds) = 3.3081 - (3.7301 * 1) - (0.8804 * 0) - (3.4653 * 0) - (0.4204 * 1 * 0) + (2.1542 * 1 * 0)\n", 1990 | "# log(odds) = 3.3081 - 3.7301\n", 1991 | "# log(odds) = -0.422\n", 1992 | "\n", 1993 | "log_odds_male = 3.3081 - 3.7301\n", 1994 | "log_odds_male" 1995 | ] 1996 | }, 1997 | { 1998 | "cell_type": "code", 1999 | "execution_count": 57, 2000 | "metadata": {}, 2001 | "outputs": [ 2002 | { 2003 | "data": { 2004 | "text/plain": [ 2005 | "2.4277" 2006 | ] 2007 | }, 2008 | "execution_count": 57, 2009 | "metadata": {}, 2010 | "output_type": "execute_result" 2011 | } 2012 | ], 2013 | "source": [ 2014 | "# Если предсказываем логарифм шансов для Ж во 2кл (Sex_male = 0, Pclass2 = 1, Pclass3 = 0):\n", 2015 | "# log(odds) = 3.3081 - (3.7301 * 0) - (0.8804 * 1) - (3.4653 * 0) - (0.4204 * 0 * 1) + (2.1542 * 0 * 0)\n", 2016 | "# log(odds) = 3.3081 - 0.8804\n", 2017 | "# log(odds) = 2.4277\n", 2018 | "\n", 2019 | "log_odds_female_pc2 = 3.3081 - 0.8804\n", 2020 | "log_odds_female_pc2" 2021 | ] 2022 | }, 2023 | { 2024 | "cell_type": "code", 2025 | "execution_count": 58, 2026 | "metadata": {}, 2027 | "outputs": [ 2028 | { 2029 | "data": { 2030 | "text/plain": [ 2031 | "-0.1572" 2032 | ] 2033 | }, 2034 | "execution_count": 58, 2035 | "metadata": {}, 2036 | "output_type": "execute_result" 2037 | } 2038 | ], 2039 | "source": [ 2040 | "# Если предсказываем логарифм шансов для Ж в 3кл (Sex_male = 0, Pclass2 = 0, Pclass3 = 1):\n", 2041 | "# log(odds) = 3.3081 - (3.7301 * 0) - (0.8804 * 0) - (3.4653 * 1) - (0.4204 * 0 * 0) + (2.1542 * 0 * 1)\n", 2042 | "# log(odds) = 3.3081 - 3.4653\n", 2043 | "# log(odds) = -0.1572\n", 2044 | "\n", 2045 | "log_odds_female_pc3 = 3.3081 - 3.4653\n", 2046 | "log_odds_female_pc3" 2047 | ] 2048 | }, 2049 | { 2050 | "cell_type": "code", 2051 | "execution_count": 59, 2052 | "metadata": {}, 2053 | "outputs": [ 2054 | { 2055 | "data": { 2056 | "text/plain": [ 2057 | "-1.7227999999999999" 2058 | ] 2059 | }, 2060 | "execution_count": 59, 2061 | "metadata": {}, 2062 | "output_type": "execute_result" 2063 | } 2064 | ], 2065 | "source": [ 2066 | "# Если предсказываем логарифм шансов для М во 2кл (Sex_male = 1, Pclass2 = 1, Pclass3 = 0):\n", 2067 | "# log(odds) = 3.3081 - (3.7301 * 1) - (0.8804 * 1) - (3.4653 * 0) - (0.4204 * 1 * 1) + (2.1542 * 1 * 0)\n", 2068 | "# log(odds) = 3.3081 - 3.7301 - 0.8804 - 0.4204\n", 2069 | "# log(odds) = -1.7228\n", 2070 | "\n", 2071 | "log_odds_male_pc2 = 3.3081 - 3.7301 - 0.8804 - 0.4204\n", 2072 | "log_odds_male_pc2" 2073 | ] 2074 | }, 2075 | { 2076 | "cell_type": "code", 2077 | "execution_count": 60, 2078 | "metadata": {}, 2079 | "outputs": [ 2080 | { 2081 | "data": { 2082 | "text/plain": [ 2083 | "-1.7331000000000003" 2084 | ] 2085 | }, 2086 | "execution_count": 60, 2087 | "metadata": {}, 2088 | "output_type": "execute_result" 2089 | } 2090 | ], 2091 | "source": [ 2092 | "# Если предсказываем логарифм шансов для М в 3кл (Sex_male = 1, Pclass2 = 0, Pclass3 = 1):\n", 2093 | "# log(odds) = 3.3081 - (3.7301 * 1) - (0.8804 * 0) - (3.4653 * 1) - (0.4204 * 1 * 0) + (2.1542 * 1 * 1)\n", 2094 | "# log(odds) = 3.3081 - 3.7301 - 3.4653 + 2.1542\n", 2095 | "# log(odds) = -1.7331\n", 2096 | "\n", 2097 | "log_odds_male_pc3 = 3.3081 - 3.7301 - 3.4653 + 2.1542\n", 2098 | "log_odds_male_pc3" 2099 | ] 2100 | }, 2101 | { 2102 | "cell_type": "code", 2103 | "execution_count": 61, 2104 | "metadata": {}, 2105 | "outputs": [ 2106 | { 2107 | "data": { 2108 | "text/plain": [ 2109 | "654.2750443468178" 2110 | ] 2111 | }, 2112 | "execution_count": 61, 2113 | "metadata": {}, 2114 | "output_type": "execute_result" 2115 | } 2116 | ], 2117 | "source": [ 2118 | "# aic у этой модели ниже, чем у двух предыдущих, значит эта модель лучше.\n", 2119 | "glm_binomial.aic" 2120 | ] 2121 | }, 2122 | { 2123 | "cell_type": "markdown", 2124 | "metadata": {}, 2125 | "source": [ 2126 | "## Комбинация предикторов разного типа" 2127 | ] 2128 | }, 2129 | { 2130 | "cell_type": "code", 2131 | "execution_count": 62, 2132 | "metadata": {}, 2133 | "outputs": [ 2134 | { 2135 | "data": { 2136 | "text/html": [ 2137 | "\n", 2138 | "\n", 2139 | "\n", 2140 | " \n", 2141 | "\n", 2142 | "\n", 2143 | " \n", 2144 | "\n", 2145 | "\n", 2146 | " \n", 2147 | "\n", 2148 | "\n", 2149 | " \n", 2150 | "\n", 2151 | "\n", 2152 | " \n", 2153 | "\n", 2154 | "\n", 2155 | " \n", 2156 | "\n", 2157 | "\n", 2158 | " \n", 2159 | "\n", 2160 | "\n", 2161 | " \n", 2162 | "\n", 2163 | "\n", 2164 | " \n", 2165 | "\n", 2166 | "
Generalized Linear Model Regression Results
Dep. Variable: Survived No. Observations: 714
Model: GLM Df Residuals: 709
Model Family: Binomial Df Model: 4
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -323.64
Date: Tue, 08 Jun 2021 Deviance: 647.28
Time: 20:53:35 Pearson chi2: 767.
No. Iterations: 5
Covariance Type: nonrobust
\n", 2167 | "\n", 2168 | "\n", 2169 | " \n", 2170 | "\n", 2171 | "\n", 2172 | " \n", 2173 | "\n", 2174 | "\n", 2175 | " \n", 2176 | "\n", 2177 | "\n", 2178 | " \n", 2179 | "\n", 2180 | "\n", 2181 | " \n", 2182 | "\n", 2183 | "\n", 2184 | " \n", 2185 | "\n", 2186 | "
coef std err z P>|z| [0.025 0.975]
Intercept 3.7770 0.401 9.416 0.000 2.991 4.563
C(Sex)[T.male] -2.5228 0.207 -12.164 0.000 -2.929 -2.116
C(Pclass)[T.2] -1.3098 0.278 -4.710 0.000 -1.855 -0.765
C(Pclass)[T.3] -2.5806 0.281 -9.169 0.000 -3.132 -2.029
Age -0.0370 0.008 -4.831 0.000 -0.052 -0.022
" 2187 | ], 2188 | "text/plain": [ 2189 | "\n", 2190 | "\"\"\"\n", 2191 | " Generalized Linear Model Regression Results \n", 2192 | "==============================================================================\n", 2193 | "Dep. Variable: Survived No. Observations: 714\n", 2194 | "Model: GLM Df Residuals: 709\n", 2195 | "Model Family: Binomial Df Model: 4\n", 2196 | "Link Function: logit Scale: 1.0000\n", 2197 | "Method: IRLS Log-Likelihood: -323.64\n", 2198 | "Date: Tue, 08 Jun 2021 Deviance: 647.28\n", 2199 | "Time: 20:53:35 Pearson chi2: 767.\n", 2200 | "No. Iterations: 5 \n", 2201 | "Covariance Type: nonrobust \n", 2202 | "==================================================================================\n", 2203 | " coef std err z P>|z| [0.025 0.975]\n", 2204 | "----------------------------------------------------------------------------------\n", 2205 | "Intercept 3.7770 0.401 9.416 0.000 2.991 4.563\n", 2206 | "C(Sex)[T.male] -2.5228 0.207 -12.164 0.000 -2.929 -2.116\n", 2207 | "C(Pclass)[T.2] -1.3098 0.278 -4.710 0.000 -1.855 -0.765\n", 2208 | "C(Pclass)[T.3] -2.5806 0.281 -9.169 0.000 -3.132 -2.029\n", 2209 | "Age -0.0370 0.008 -4.831 0.000 -0.052 -0.022\n", 2210 | "==================================================================================\n", 2211 | "\"\"\"" 2212 | ] 2213 | }, 2214 | "execution_count": 62, 2215 | "metadata": {}, 2216 | "output_type": "execute_result" 2217 | } 2218 | ], 2219 | "source": [ 2220 | "glm_binomial = smf.glm(formula='Survived ~ C(Sex) + C(Pclass) + Age', data=df, family=sm.families.Binomial()).fit()\n", 2221 | "glm_binomial.summary()\n", 2222 | "\n", 2223 | "# Intercept - логарифм шансов для Ж в 1кл при условии, что их возраст равен нулю.\n", 2224 | "# Age - коэффициент при возрасте показывает,\n", 2225 | "# на сколько изменяется логарифм шансов для базового уровня при единичном изменении возраста." 2226 | ] 2227 | }, 2228 | { 2229 | "cell_type": "code", 2230 | "execution_count": 63, 2231 | "metadata": {}, 2232 | "outputs": [ 2233 | { 2234 | "data": { 2235 | "text/plain": [ 2236 | "3.037" 2237 | ] 2238 | }, 2239 | "execution_count": 63, 2240 | "metadata": {}, 2241 | "output_type": "execute_result" 2242 | } 2243 | ], 2244 | "source": [ 2245 | "# Получаем модель:\n", 2246 | "# log(odds) = 3.7770 - (2.5228 * Sex_male) - (1.3098 * Pclass2) - (2.5806 * Pclass3) - (0.0370 * Age)\n", 2247 | "\n", 2248 | "# Если предсказываем логарифм шансов для Ж в 1кл в возрасте 20 лет:\n", 2249 | "# log(odds) = 3.7770 - (2.5228 * 0) - (1.3098 * 0) - (2.5806 * 0) - (0.0370 * 20)\n", 2250 | "# log(odds) = 3.7770 - (0.0370 * 20)\n", 2251 | "# log(odds) = 3.037\n", 2252 | "\n", 2253 | "3.7770 - (0.0370 * 20)" 2254 | ] 2255 | }, 2256 | { 2257 | "cell_type": "code", 2258 | "execution_count": 64, 2259 | "metadata": {}, 2260 | "outputs": [ 2261 | { 2262 | "data": { 2263 | "text/plain": [ 2264 | "657.2831255018241" 2265 | ] 2266 | }, 2267 | "execution_count": 64, 2268 | "metadata": {}, 2269 | "output_type": "execute_result" 2270 | } 2271 | ], 2272 | "source": [ 2273 | "# Кстати, модель без учета возраста была лучше.\n", 2274 | "glm_binomial.aic" 2275 | ] 2276 | }, 2277 | { 2278 | "cell_type": "code", 2279 | "execution_count": null, 2280 | "metadata": {}, 2281 | "outputs": [], 2282 | "source": [] 2283 | } 2284 | ], 2285 | "metadata": { 2286 | "kernelspec": { 2287 | "display_name": "Python 3", 2288 | "language": "python", 2289 | "name": "python3" 2290 | }, 2291 | "language_info": { 2292 | "codemirror_mode": { 2293 | "name": "ipython", 2294 | "version": 3 2295 | }, 2296 | "file_extension": ".py", 2297 | "mimetype": "text/x-python", 2298 | "name": "python", 2299 | "nbconvert_exporter": "python", 2300 | "pygments_lexer": "ipython3", 2301 | "version": "3.7.4" 2302 | } 2303 | }, 2304 | "nbformat": 4, 2305 | "nbformat_minor": 2 2306 | } 2307 | --------------------------------------------------------------------------------