{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"PS-Drift.ipynb","provenance":[{"file_id":"10k3jTG5_w06nbcXpjRQb9PEiQzKEQ-WR","timestamp":1652124021852}],"collapsed_sections":[],"authorship_tag":"ABX9TyPufpsocALa/ELTk4vp7xsa"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":8,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":246},"id":"fspmXxJyvMi4","executionInfo":{"status":"ok","timestamp":1652199619691,"user_tz":-60,"elapsed":801,"user":{"displayName":"Claudia Soares","userId":"01695063174396797696"}},"outputId":"0a1ff8ad-95ff-4603-b264-481b9579080b"},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}],"source":["## Tutorial from river.xyz\n","\n","import numpy as np\n","import matplotlib.pyplot as plt\n","from matplotlib import gridspec\n","\n","# Generate data for 3 distributions\n","random_state = np.random.RandomState(seed=42)\n","dist_a = random_state.normal(0.8, 0.05, 1000)\n","dist_b = random_state.normal(0.4, 0.02, 1000)\n","dist_c = random_state.normal(0.6, .1, 1000)\n","\n","# Concatenate data to simulate a data stream with 2 drifts\n","stream = np.concatenate((dist_a, dist_b, dist_c))\n","\n","# Auxiliary function to plot the data\n","def plot_data(dist_a, dist_b, dist_c, drifts=None):\n"," fig = plt.figure(figsize=(7,3), tight_layout=True)\n"," gs = gridspec.GridSpec(1, 2, width_ratios=[3, 1])\n"," ax1, ax2 = plt.subplot(gs[0]), plt.subplot(gs[1])\n"," ax1.grid()\n"," ax1.plot(stream, label='Stream')\n"," ax2.grid(axis='y')\n"," ax2.hist(dist_a, label=r'$dist_a$')\n"," ax2.hist(dist_b, label=r'$dist_b$')\n"," ax2.hist(dist_c, label=r'$dist_c$')\n"," if drifts is not None:\n"," for drift_detected in drifts:\n"," ax1.axvline(drift_detected, color='red')\n"," plt.show()\n","\n","plot_data(dist_a, dist_b, dist_c)\n"]},{"cell_type":"code","source":["#!pip install river\n","from river import drift\n","\n","drift_detector = drift.ADWIN()\n","drifts = []\n","\n","for i, val in enumerate(stream):\n"," drift_detector.update(val) # Data is processed one sample at a time\n"," if drift_detector.change_detected:\n"," # The drift detector indicates after each sample if there is a drift in the data\n"," print(f'Change detected at index {i}')\n"," drifts.append(i)\n"," drift_detector.reset() # As a best practice, we reset the detector\n","\n","plot_data(dist_a, dist_b, dist_c, drifts)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":279},"id":"xEfU1tUovS0c","executionInfo":{"status":"ok","timestamp":1652199621811,"user_tz":-60,"elapsed":765,"user":{"displayName":"Claudia Soares","userId":"01695063174396797696"}},"outputId":"e23d277e-9833-4619-a571-231f993401f2"},"execution_count":9,"outputs":[{"output_type":"stream","name":"stdout","text":["Change detected at index 1055\n","Change detected at index 2079\n"]},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":["\n","\n","\n"],"metadata":{"id":"wR6bf36938Za"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[""],"metadata":{"id":"omjiQCT95vNR"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["#model.forecast()\n"],"metadata":{"id":"CXc8lsks4TLC"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[""],"metadata":{"id":"H7LF_IH8JOKv"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[""],"metadata":{"id":"ulD6z4nu6soE"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["# apply classifyer to stream with drift\n"],"metadata":{"id":"lyqMYCa94q2Y"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["from river.drift import DDM\n","ddm = DDM()\n","\n","## Here we need a binary classifier working on our data.\n","error_stream = np.random.randint(2, size=2000) # here we simulate the ERROR of our classifier. \n","error_stream[1000:1200] = [np.random.binomial(1, .8) for _ in range(200)] ## Increase in error rate\n","\n","for i, val in enumerate(error_stream):\n"," in_drift, in_warning = ddm.update(val)\n"," if in_drift:\n"," print(f\"Change detected at index {i}, input value: {val}\")\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xqj1QdSbvW-q","executionInfo":{"status":"ok","timestamp":1652106828652,"user_tz":-60,"elapsed":234,"user":{"displayName":"Claudia Soares","userId":"01695063174396797696"}},"outputId":"8e43052d-404d-4f5b-ee61-69326742250c"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Change detected at index 1164, input value: 1\n"]}]},{"cell_type":"code","source":[""],"metadata":{"id":"l1JLBpfY1JRE"},"execution_count":null,"outputs":[]}]}