|  | 
| 107 | 107 |       "\n", | 
| 108 | 108 |       "plt.ylim(4.35, 4.65)\n", | 
| 109 | 109 |       "plt.title(\"Convergence of the average of \\n random variables to its \\\n", | 
| 110 |  | -      "expected value\" )\n", | 
|  | 110 | +      "expected value\")\n", | 
| 111 | 111 |       "plt.ylabel(\"average of $n$ samples\")\n", | 
| 112 | 112 |       "plt.xlabel(\"# of samples, $n$\")\n", | 
| 113 | 113 |       "plt.legend();" | 
|  | 
| 156 | 156 |       "figsize(12.5, 4)\n", | 
| 157 | 157 |       "\n", | 
| 158 | 158 |       "N_Y = 250  # use this many to approximate D(N)\n", | 
| 159 |  | -      "# use this many samples in the approx. to the variance.\n", | 
| 160 |  | -      "N_array = np.arange(1000, 50000, 2500)\n", | 
|  | 159 | +      "N_array = np.arange(1000, 50000, 2500)  # use this many samples in the approx. to the variance.\n", | 
| 161 | 160 |       "D_N_results = np.zeros(len(N_array))\n", | 
| 162 | 161 |       "\n", | 
| 163 | 162 |       "lambda_ = 4.5\n", | 
|  | 
| 244 | 243 |      "input": [ | 
| 245 | 244 |       "import pymc as pm\n", | 
| 246 | 245 |       "N = 10000\n", | 
| 247 |  | -      "print np.mean([pm.rexponential(0.5) > 10 for i in range(N)]);" | 
|  | 246 | +      "print np.mean([pm.rexponential(0.5) > 10 for i in range(N)])" | 
| 248 | 247 |      ], | 
| 249 | 248 |      "language": "python", | 
| 250 | 249 |      "metadata": {}, | 
|  | 
| 366 | 365 |       "print population[np.argsort(average_across_county)[:10]]\n", | 
| 367 | 366 |       "print\n", | 
| 368 | 367 |       "print \"Population sizes of 10 'tallest' counties: \"\n", | 
| 369 |  | -      "print population[np.argsort(-average_across_county)[:10]];" | 
|  | 368 | +      "print population[np.argsort(-average_across_county)[:10]]" | 
| 370 | 369 |      ], | 
| 371 | 370 |      "language": "python", | 
| 372 | 371 |      "metadata": {}, | 
|  | 
| 498 | 497 |       "# adding a number to the end of the %run call with get the ith top photo.\n", | 
| 499 | 498 |       "%run top_pic_comments.py 2\n", | 
| 500 | 499 |       "\n", | 
| 501 |  | -      "Image(top_post_url);" | 
|  | 500 | +      "Image(top_post_url)" | 
| 502 | 501 |      ], | 
| 503 | 502 |      "language": "python", | 
| 504 | 503 |      "metadata": {}, | 
|  | 
| 537 | 536 |       "for i in comments:\n", | 
| 538 | 537 |       "    print '\"' + contents[i] + '\"'\n", | 
| 539 | 538 |       "    print\"upvotes/downvotes: \", votes[i, :]\n", | 
| 540 |  | -      "    print;" | 
|  | 539 | +      "    print" | 
| 541 | 540 |      ], | 
| 542 | 541 |      "language": "python", | 
| 543 | 542 |      "metadata": {}, | 
|  | 
| 581 | 580 |       "\n", | 
| 582 | 581 |       "def posterior_upvote_ratio(upvotes, downvotes, samples=20000):\n", | 
| 583 | 582 |       "    \"\"\"\n", | 
| 584 |  | -      "    This function accepts the number of upvotes and downvotes a particular comment recieved,\n", | 
|  | 583 | +      "    This function accepts the number of upvotes and downvotes a particular comment received, \n", | 
| 585 | 584 |       "    and the number of posterior samples to return to the user. Assumes a uniform prior.\n", | 
| 586 | 585 |       "    \"\"\"\n", | 
| 587 | 586 |       "    N = upvotes + downvotes\n", | 
| 588 | 587 |       "    upvote_ratio = pm.Uniform(\"upvote_ratio\", 0, 1)\n", | 
| 589 |  | -      "    observations = pm.Binomial(\n", | 
| 590 |  | -      "        \"obs\",\n", | 
| 591 |  | -      "        N,\n", | 
| 592 |  | -      "        upvote_ratio,\n", | 
| 593 |  | -      "        value=upvotes,\n", | 
| 594 |  | -      "        observed=True)\n", | 
|  | 588 | +      "    observations = pm.Binomial(\"obs\", N, upvote_ratio, value=upvotes, observed=True)\n", | 
| 595 | 589 |       "    # do the fitting; first do a MAP as it is cheap and useful.\n", | 
| 596 | 590 |       "    map_ = pm.MAP([upvote_ratio, observations]).fit()\n", | 
| 597 | 591 |       "    mcmc = pm.MCMC([upvote_ratio, observations])\n", | 
| 598 | 592 |       "    mcmc.sample(samples, samples / 4)\n", | 
| 599 |  | -      "    return mcmc.trace(\"upvote_ratio\")[:];" | 
|  | 593 | +      "    return mcmc.trace(\"upvote_ratio\")[:]" | 
| 600 | 594 |      ], | 
| 601 | 595 |      "language": "python", | 
| 602 | 596 |      "metadata": {}, | 
|  | 
| 687 | 681 |       "    plt.hist(posteriors[i], bins=20, normed=True, alpha=.2,\n", | 
| 688 | 682 |       "             histtype=\"stepfilled\", color=colours[i], lw=3, )\n", | 
| 689 | 683 |       "    v = np.sort(posteriors[i])[int(0.05 * N)]\n", | 
| 690 |  | -      "    #plt.vlines(v, 0, 15 , color = \"k\", alpha = 1, linewidths=3 )\n", | 
|  | 684 | +      "    # plt.vlines( v, 0, 15 , color = \"k\", alpha = 1, linewidths=3 )\n", | 
| 691 | 685 |       "    plt.vlines(v, 0, 10, color=colours[i], linestyles=\"--\", linewidths=3)\n", | 
| 692 | 686 |       "    lower_limits.append(v)\n", | 
| 693 | 687 |       "    plt.legend(loc=\"upper left\")\n", | 
| 694 | 688 |       "\n", | 
| 695 | 689 |       "plt.legend(loc=\"upper left\")\n", | 
| 696 |  | -      "plt.title(\"Posterior distributions of upvote ratios on different comments\")\n", | 
|  | 690 | +      "plt.title(\"Posterior distributions of upvote ratios on different comments\");\n", | 
| 697 | 691 |       "order = np.argsort(-np.array(lower_limits))\n", | 
| 698 |  | -      "print order, lower_limits;" | 
|  | 692 | +      "print order, lower_limits" | 
| 699 | 693 |      ], | 
| 700 | 694 |      "language": "python", | 
| 701 | 695 |      "metadata": {}, | 
|  | 
| 767 | 761 |       "for i in order[:40]:\n", | 
| 768 | 762 |       "    ordered_contents.append(contents[i])\n", | 
| 769 | 763 |       "    print votes[i, 0], votes[i, 1], contents[i]\n", | 
| 770 |  | -      "    print \"-------------\";" | 
|  | 764 | +      "    print \"-------------\"" | 
| 771 | 765 |      ], | 
| 772 | 766 |      "language": "python", | 
| 773 | 767 |      "metadata": {}, | 
|  | 
| 905 | 899 |       "             xerr=std_err[r_order], xuplims=True, capsize=0, fmt=\"o\",\n", | 
| 906 | 900 |       "             color=\"#7A68A6\")\n", | 
| 907 | 901 |       "plt.xlim(0.3, 1)\n", | 
| 908 |  | -      "plt.yticks(np.arange(len(r_order) - 1, -1, -1),\n", | 
| 909 |  | -      "           map(lambda x: x[:30].replace(\"\\n\", \"\"), ordered_contents));" | 
|  | 902 | +      "plt.yticks(np.arange(len(r_order) - 1, -1, -1), map(lambda x: x[:30].replace(\"\\n\", \"\"), ordered_contents));" | 
| 910 | 903 |      ], | 
| 911 | 904 |      "language": "python", | 
| 912 | 905 |      "metadata": {}, | 
|  | 
| 1020 | 1013 |       "exp = stats.expon(scale=4)\n", | 
| 1021 | 1014 |       "N = 1e5\n", | 
| 1022 | 1015 |       "X = exp.rvs(N)\n", | 
| 1023 |  | -      "# ...;" | 
|  | 1016 | +      "# ..." | 
| 1024 | 1017 |      ], | 
| 1025 | 1018 |      "language": "python", | 
| 1026 | 1019 |      "metadata": {}, | 
|  | 
| 1101 | 1094 |       "def css_styling():\n", | 
| 1102 | 1095 |       "    styles = open(\"../styles/custom.css\", \"r\").read()\n", | 
| 1103 | 1096 |       "    return HTML(styles)\n", | 
| 1104 |  | -      "css_styling();" | 
|  | 1097 | +      "css_styling()" | 
| 1105 | 1098 |      ], | 
| 1106 | 1099 |      "language": "python", | 
| 1107 | 1100 |      "metadata": {}, | 
|  | 
0 commit comments