{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Recreating the Nile result" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import csv\n", "import datetime\n", "import matplotlib\n", "import matplotlib.pylab as plt\n", "import matplotlib.dates as mdates\n", "import numpy as np\n", "import os\n", "import pytest\n", "import sys\n", "%matplotlib inline\n", "\n", "sys.path.append('..')\n", "\n", "from cp_probability_model import CpModel\n", "from BVAR_NIG import BVARNIG\n", "from detector import Detector\n", "from Evaluation_tool import EvaluationTool" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Read in the data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "nile_file = os.path.join(os.getcwd(), \"..\", \"Data\", \"nile.txt\")\n", "raw_data = []\n", "count = 0\n", "with open(nile_file) as csvfile:\n", " reader = csv.reader(csvfile)\n", " for row in reader:\n", " raw_data += row\n", "\n", "raw_data_float = []\n", "for entry in raw_data:\n", " raw_data_float.append(float(entry))\n", "raw_data = raw_data_float\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Put data into format compatible with the Detector class" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "T = int(len(raw_data) / 2)\n", "S1, S2 = 1, 1\n", "data = np.array(raw_data).reshape(T, 2)\n", "dates = data[:, 0]\n", "river_height = data[:, 1]\n", "mean, variance = np.mean(river_height), np.var(river_height)\n", "river_height = (river_height - mean) / np.sqrt(variance)\n", "\n", "\"\"\"STEP 3: Get dates\"\"\"\n", "all_dates = []\n", "for i in range(622+2, 1285):\n", " all_dates.append(datetime.date(i, 1,1))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set up initial hyperparameters and lag lengths\n", "\n", "These values will be updated and optimised as we go along." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "intensity = 100\n", "cp_model = CpModel(intensity)\n", "a, b = 1, 1\n", "prior_mean_scale, prior_var_scale = 0, 0.075" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set up the autoregression models\n", "\n", "For a set of initial hyperparameters across a range of lag times, generate the model objects." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "upper_AR = 3\n", "lower_AR = 1\n", "AR_models = []\n", "\n", "for lag in range(lower_AR, upper_AR + 1):\n", " \"\"\"Generate next model object\"\"\"\n", " AR_models += [BVARNIG(\n", " prior_a=a, prior_b=b,\n", " S1=S1, S2=S2,\n", " prior_mean_scale=prior_mean_scale,\n", " prior_var_scale=prior_var_scale,\n", " intercept_grouping=None,\n", " nbh_sequence=[0] * lag,\n", " restriction_sequence=[0] * lag,\n", " hyperparameter_optimization=\"online\")]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create the model universe \n", "\n", "Put all the model objects together, create model universe and the model priors.\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "model_universe = np.array(AR_models)\n", "model_prior = np.array([1 / len(model_universe)] * len(model_universe))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Build and run the detector" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initializing BVAR object\n", "Initializing BVAR object\n", "Initializing BVAR object\n", "Processing observation #50\n", "Last iteration took 0.02185644600000014 seconds\n", "Processing observation #100\n", "Last iteration took 0.02313601899999984 seconds\n", "Processing observation #150\n", "Last iteration took 0.017225827999999943 seconds\n", "Processing observation #200\n", "Last iteration took 0.021389671000000554 seconds\n", "Processing observation #250\n", "Last iteration took 0.019469242999999636 seconds\n", "Processing observation #300\n", "Last iteration took 0.018416655000000226 seconds\n", "Processing observation #350\n", "Last iteration took 0.020114790999999244 seconds\n", "Processing observation #400\n", "Last iteration took 0.06588933599999969 seconds\n", "Processing observation #450\n", "Last iteration took 0.018745616000000354 seconds\n", "Processing observation #500\n", "Last iteration took 0.02035073699999934 seconds\n", "Processing observation #550\n", "Last iteration took 0.02278785900000102 seconds\n", "Processing observation #600\n", "Last iteration took 0.04124334199999957 seconds\n", "Processing observation #650\n", "Last iteration took 0.030681625999999795 seconds\n" ] } ], "source": [ "detector = Detector(\n", " data=river_height,\n", " model_universe=model_universe,\n", " model_prior=model_prior,\n", " cp_model=cp_model,\n", " S1=S1, S2=S2, T=T,\n", " store_rl=True, store_mrl=True,\n", " trim_type=\"keep_K\", threshold=50,\n", " notifications=50,\n", " save_performance_indicators=True,\n", " generalized_bayes_rld=\"kullback_leibler\",\n", " alpha_param_learning=\"individual\",\n", " alpha_param=0.01,\n", " alpha_param_opt_t=30,\n", " alpha_rld_learning=True,\n", " loss_der_rld_learning=\"squared_loss\",\n", " loss_param_learning=\"squared_loss\")\n", "detector.run()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MSE: 0.548\n", "NLL: 1.117\n" ] } ], "source": [ "print ('MSE: {:3.3f}'.format(np.mean(detector.MSE)))\n", "print ('NLL: {:3.3f}'.format(np.mean(detector.negative_log_likelihood)))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "EvT = EvaluationTool()\n", "EvT.build_EvaluationTool_via_run_detector(detector)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rmax = 660\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\"\"\"get MAP CPs in range\"\"\"\n", "segmentation = np.array(EvT.results[EvT.names.index(\"MAP CPs\")][-2])\n", "models = np.union1d([e[1] for e in segmentation],\n", " [e[1] for e in segmentation]) \n", "\n", "\n", "\"\"\"Obtain the plot for RLD\"\"\"\n", "start, stop = (2007 + 7/12), 2009\n", "#start, stop = datetime.date(2007, 8, 1), datetime.date(2008, 12, 31)\n", "height_ratio =[10,14]\n", "custom_colors = [\"blue\", \"purple\"] #[\"green\", \"darkviolet\", \"orange\", \"purple\", \"turquoise\"]\n", "fig, ax_array = plt.subplots(2, figsize=(8,5), sharex = True, \n", " gridspec_kw = {'height_ratios':height_ratio})\n", "plt.subplots_adjust(hspace = .35, left = None, bottom = None, right = None, top = None)\n", "\n", "\"\"\"Get the date format\"\"\"\n", "years = mdates.YearLocator() # every year\n", "yearsFmt = mdates.DateFormatter('%Y')\n", "\n", "\"\"\"placement of y-labels\"\"\"\n", "ylabel_coords = [-0.065, 0.5]\n", "\n", "EvT.plot_raw_TS(river_height[2:].reshape(T-2,1), \n", " indices = [0], \n", " xlab = None, \n", " show_MAP_CPs = True, \n", " time_range = np.linspace(1,\n", " T-2, \n", " T-2, dtype=int), \n", " print_plt = False,\n", " ylab = \"River Height\", ax = ax_array[0],\n", " all_dates = np.linspace(622 + 1, 1284, 1284 - (622 + 1), dtype = int),#None, #all_dates, \n", " custom_colors_series = [\"black\"],\n", " custom_colors_CPs = [\"blue\", \"blue\"],\n", " custom_linestyles = [\"solid\"]*2,\n", " ylab_fontsize = 14,\n", " ylabel_coords = ylabel_coords,\n", " set_ylims = (-2.75, 3.95)\n", " )\n", "\n", "EvT.plot_run_length_distr(\n", " buffer=0, \n", " show_MAP_CPs = True, \n", " mark_median = False, \n", " mark_max = True, \n", " upper_limit = 660, \n", " print_colorbar = True, \n", " colorbar_location= 'bottom',\n", " log_format = True, \n", " aspect_ratio = 'auto', \n", " C1=0,C2=1, \n", " time_range = np.linspace(1,\n", " T-2, \n", " T-2, dtype=int), \n", " start = 622 + 2, stop = 1284, #start=start, stop = stop, \n", " all_dates = None, #all_dates,\n", " event_time_list=[715 ],#datetime.date(715,1,1)], \n", " label_list=[\"nilometer\"], space_to_colorbar = 0.52,\n", " custom_colors = [\"blue\", \"blue\"], #[\"blue\"]*len(event_time_list),\n", " custom_linestyles = [\"solid\"]*3,\n", " custom_linewidth = 3,\n", " arrow_colors= [\"black\"],\n", " number_fontsize = 14,\n", " arrow_length = 135,\n", " arrow_thickness = 3.0,\n", " xlab_fontsize =14,\n", " ylab_fontsize = 14, \n", " arrows_setleft_indices = [0],\n", " arrows_setleft_by = [50],\n", " zero_distance = 0.0,\n", " ax = ax_array[1], figure = fig,\n", " no_transform = True,\n", " date_instructions_formatter = None, #yearsFmt,\n", " date_instructions_locator = None,\n", " ylabel_coords = ylabel_coords,\n", " xlab = \"Year\",\n", " arrow_distance = 25\n", " )\n", "\n", "plt.show()\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:bocpdms]", "language": "python", "name": "conda-env-bocpdms-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }