diff --git a/Multiplicative Algorithm/Extreme_Events.ipynb b/Multiplicative Algorithm/Extreme_Events.ipynb index eb5167aa8d91046eb7a3425dba56f6eca3d55781..3fb15cfc1f1b23ac9530371f6a43b8d70f8cbc20 100644 --- a/Multiplicative Algorithm/Extreme_Events.ipynb +++ b/Multiplicative Algorithm/Extreme_Events.ipynb @@ -7,6 +7,8 @@ "outputs": [], "source": [ "import numpy as np\n", + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", "\n", "W = np.loadtxt('W_trips.txt')" ] @@ -104,6 +106,46 @@ "source": [ "sorted(enumerate(X.max(axis=1)), key=lambda day:day[1], reverse=True)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "days_of_week = ['Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thurday', 'Friday']\n", + "for sig in range(50):\n", + " date = 236; dname = 'Aug25' # August 25, Hurrnicane Irene day 1\n", + " date = 237; dname = 'Aug26' # August 26, Hurrnicane Irene day 2\n", + " date = 238; dname = 'Aug27' # August 27, Hurrnicane Irene day 3\n", + " date = 239; dname = 'Aug28' # August 28, Hurrnicane Irene day 4\n", + " date = 240; dname = 'Aug29' # August 29, Hurrnicane Irene day 5\n", + " date = 30; dname = 'Jan31' # January 31, North American Blizzard day 0\n", + " date = 31; dname = 'Feb01' # February 1, North American Blizzard day 1\n", + " date = 32; dname = 'Feb02' # February 2, North American Blizzard day 2\n", + " date = 287; dname = 'Oct15' # October 15, Occupy WallStreet\n", + " date = 259; dname = 'Sep17' # September 17, Occupy WallStreet + UFO sighting\n", + " date = 56; dname = 'Feb26' # February 26, Wisconsin Labor Rally\n", + " date = 357; dname = 'Dec24' # December 24, Boxing Day\n", + " date = 358; dname = 'Dec25' # December 25, Christmas\n", + " dow = days_of_week[date%7]\n", + "\n", + " w = W[:,sig]\n", + " w2 = w.reshape(len(w)//24, 24)[date%7::7]\n", + "\n", + " plt.figure(figsize = (10,5), dpi=200)\n", + " plt.plot(w[date%7*24 : 24 + date%7*24], linewidth = 1, label = 'other {}s'.format(dow), color='g')\n", + " [plt.plot(w[day*24 : 24 + day*24], linewidth = 1, color='g') for day in range(date%7, 365, 7)]\n", + " plt.plot(np.mean(w2, axis=0), 'r', label = 'average {}'.format(dow))\n", + " plt.plot(w[date*24 : 24 + date*24], label = '{}, {}'.format(dow, dname), color='k')\n", + " plt.xlabel('Time of day')\n", + " plt.ylabel('Relative taxi count')\n", + " plt.title('Signature {} on {}s'.format(sig, dow))\n", + " plt.legend()\n", + " plt.savefig('./Images/Extreme_Events/Day_{}/sig{}'.format(date, sig))\n", + " plt.show()\n", + " print('sig =', sig)" + ] } ], "metadata": { @@ -122,7 +164,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, diff --git a/Multiplicative Algorithm/Images/Extreme_Events.zip b/Multiplicative Algorithm/Images/Extreme_Events.zip new file mode 100644 index 0000000000000000000000000000000000000000..a143b8512b2071fd7a39c01778cc86bdc7d348d5 Binary files /dev/null and b/Multiplicative Algorithm/Images/Extreme_Events.zip differ