├── Drilling Activity Prediction - Report.pdf ├── README.md └── Data Modeling - Holt Winters Method.ipynb /Drilling Activity Prediction - Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/HEAD/Drilling Activity Prediction - Report.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Oil-Gas-Drilling-Activity-Prediction 2 | Drilling Activity Prediction: Oil and Gas operations are dramatically affected by supply, demand and several other factors that compromise the operational planning of resources. To overcome this challenge, predictive analytics could be applied to forecast rotary rig count inside United States using time-series data. 3 | 4 | See Full Report [`here`](./Drilling%20Activity%20Prediction%20-%20Report.pdf) 5 | 6 | The Project is divided into the following Jupyter Notebook Files: 7 | 8 | ## [`1. Obtain Data from EIA`](./Obtain%20Data%20from%20EIA.ipynb) 9 | - Obtain data from EIA (Energy Information Administration API) 10 | - Build DataFrame with data obtained from EIA 11 | 12 | ![EIA dataset](https://github.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/assets/76269794/8f2c8786-d2d6-4e52-8459-4e3bf8971f15) 13 | 14 | 15 | ## [`2. Exploratory Data Analysis`](./Exploratory%20Data%20Analysis.ipynb) 16 | - Data Overview 17 | - Reindex dataframe 18 | - Oil Variables Feature Engineering 19 | - Gas Variables Feature Engineering 20 | - Select Features for forecasting model 21 | - Final Pre-processing Activities 22 | Note: Variables we want to Predict: **Oil Rig Count** and **Gas Rig Count** separately 23 | 24 | 25 | ![Rig Count](https://github.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/assets/76269794/2af18ea1-55a9-4c25-8dca-d87dbcbb18fc) 26 | 27 | 28 | 29 | ## 3. Data Modeling 30 | 31 | **[`3.1 Data Modeling - VAR model`](./Data%20Modeling%20-%20VAR.ipynb)** 32 | - Load datasets and resample to monthly frequency 33 | - Use oil dataset to make predictions in oil rig count variable: 34 | - Train/test split 35 | - VAR Model Hyperparameter selection 36 | - Fit the model 37 | - Invert Transformation 38 | - Generate forecast values and plot results 39 | - Evaluation Metrics 40 | - Fit the model again but with 100% of the data 41 | - Forecast real future values 42 | - Use Gas dataset to predict Gas rig count 43 | 44 | ![VAR](https://github.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/assets/76269794/7c105e8a-5863-4fab-86a5-94439be09333) 45 | 46 | 47 | 48 | 49 | **[`3.2 Data Modeling - VARMA model`](./Data%20Modeling%20-%20VARMA.ipynb)** 50 | - Load datasets and resample to monthly frequency 51 | - Use oil dataset to make predictions on Oil Rig Count: 52 | - Get second order differencing data frame (stationary features dataframe) 53 | - Train/test split 54 | - VARMA Model Hyperparameter selection 55 | - Fit the model 56 | - Invert Transformation 57 | - Generate forecast values and plot results 58 | - Evaluation Metrics 59 | - Fit the model again but with 100% of the data 60 | - Forecast real future values 61 | - Use gas dataset to make predictions on Gas Rig Count 62 | 63 | ![VARMA](https://github.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/assets/76269794/beda195e-7bff-4038-91cd-df928e5e3a8e) 64 | 65 | 66 | **[`3.3 Data Modeling - ARIMA model`](./Data%20Modeling%20-%20ARIMA.ipynb)** 67 | - Import dataset and resample to monthly data 68 | - Use oil dataset to predict oil rig count: 69 | - Find what hyperparameters to be used in the model (p,d,q) 70 | - Train/test split 71 | - Create ARIMA model and fit with data 72 | - Generate Forecast and compare against Test set 73 | - Evaluation Measures 74 | - Refit the model with 100% of data and make REAL Forecasting 75 | - Create ARIMA model with Gas dataframe to predict Gas Rig Count 76 | 77 | ![ARIMA](https://github.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/assets/76269794/431e3206-974e-4057-b914-9327e14dcf12) 78 | 79 | 80 | **[`3.4 Data Modeling - Holt Winters model`](./Data%20Modeling%20-%20Holt%20Winters%20Method.ipynb)** 81 | - Import dataset and resample to monthly data 82 | - Use oil dataset to predict oil rig count: 83 | - Train/test split 84 | - Create Exponential Smoothing model and fit with data 85 | - Generate Forecast and compare against Test set 86 | - Evaluation Measures 87 | - Refit the model with 100% of data and make REAL Forecasting 88 | - Create Exponential Smoothing model with Gas dataframe to predict Gas Rig Count 89 | 90 | 91 | ![Holt Winters](https://github.com/antoniodagnino/Oil-Gas-Drilling-Activity-Prediction/assets/76269794/27ebb41f-0a85-42b9-8bcf-bee2a10517ff) 92 | 93 | 94 | 95 | **[`BONUS Data Modeling - RNN model`](./Data%20Modeling%20-%20RNN.ipynb)** 96 | - Load datasets and resample to monthly frequency 97 | - Use oil dataset to make predictions in oil rig count variable: 98 | - Tune Data: To adjust re-train models and check performances 99 | - ETS Decomposition: Identify Trend, Seasonality and Error 100 | - Train/test split 101 | - Scale and Transform data 102 | - TimeSeries Generator 103 | - Create RNN for OIL DF 104 | - EarlyStopping 105 | - Evaluation Batch 106 | - Inverse Transformed data 107 | - Plot Test Set Vs Predictions 108 | - Evaluation Metrics (Pending) 109 | - Create Model with Gas dataset to make predictions in Gas Rig Counts 110 | -------------------------------------------------------------------------------- /Data Modeling - Holt Winters Method.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Drilling Activity Prediction: Data Modeling - Holt Winters Method\n", 8 | "\n", 9 | "- Import dataset and resample to monthly data\n", 10 | "- Use oil dataset to predict oil rig count:\n", 11 | " - Find what hyperparameters to be used in the model (p,d,q)\n", 12 | " - Train/test split\n", 13 | " - Create Exponential Smoothing model and fit with data\n", 14 | " - Generate Forecast and compare against Test set\n", 15 | " - Evaluation Measures\n", 16 | " - Refit the model with 100% of data and make REAL Forecasting \n", 17 | " \n", 18 | " \n", 19 | " - Create Exponential Smoothing model with Gas dataframe to predict Gas Rig Count" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 1, 25 | "metadata": {}, 26 | "outputs": [], 27 | "source": [ 28 | "import numpy as np\n", 29 | "import pandas as pd\n", 30 | "import matplotlib.pyplot as plt\n", 31 | "import seaborn as sns\n", 32 | "\n", 33 | "# Load specific forecasting tools\n", 34 | "from statsmodels.tsa.seasonal import seasonal_decompose\n", 35 | "import datetime\n", 36 | "from pylab import rcParams\n", 37 | "from statsmodels.tsa.holtwinters import SimpleExpSmoothing #for single exponential smoothing\n", 38 | "from statsmodels.tsa.holtwinters import ExponentialSmoothing #for double exponential smoothing\n", 39 | "from statsmodels.tools.eval_measures import rmse, mse, meanabs\n", 40 | "from sklearn.model_selection import TimeSeriesSplit\n", 41 | "import time\n", 42 | "from pylab import rcParams\n", 43 | "\n", 44 | "# Ignore harmless warnings\n", 45 | "import warnings\n", 46 | "warnings.filterwarnings(\"ignore\")\n", 47 | "\n", 48 | "# Size of all plots\n", 49 | "rcParams['figure.figsize'] = 6,6" 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": 2, 55 | "metadata": {}, 56 | "outputs": [], 57 | "source": [ 58 | "dfoil = pd.read_csv('dfoil.csv',index_col=0,parse_dates=True)\n", 59 | "dfoil = dfoil.resample('M').mean()\n", 60 | "dfoil.index.freq = 'M'\n", 61 | "\n", 62 | "\n", 63 | "dfgas = pd.read_csv('dfgas.csv',index_col=0,parse_dates=True)\n", 64 | "dfgas = dfgas.resample('M').mean()\n", 65 | "dfgas.index.freq = 'M'" 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 3, 71 | "metadata": {}, 72 | "outputs": [ 73 | { 74 | "data": { 75 | "text/plain": [ 76 | "'\\nThis cell is used to evaluate forecasts in different points in time. Basically, the dataset is split to the point we want\\nso we can make predictions in different scenarios (increasing trend, decreasing trend or lateral behaviors in rig counts)\\n'" 77 | ] 78 | }, 79 | "execution_count": 3, 80 | "metadata": {}, 81 | "output_type": "execute_result" 82 | } 83 | ], 84 | "source": [ 85 | "\"\"\"\n", 86 | "This cell is used to evaluate forecasts in different points in time. Basically, the dataset is split to the point we want\n", 87 | "so we can make predictions in different scenarios (increasing trend, decreasing trend or lateral behaviors in rig counts)\n", 88 | "\"\"\"\n", 89 | "# dfoil = dfoil[:'2017'] \n", 90 | "# dfgas = dfgas[:'2017']" 91 | ] 92 | }, 93 | { 94 | "cell_type": "code", 95 | "execution_count": 4, 96 | "metadata": {}, 97 | "outputs": [], 98 | "source": [ 99 | "nobs = 12\n", 100 | "train_oil = dfoil.iloc[:len(dfoil)-nobs]\n", 101 | "test_oil = dfoil.iloc[len(dfoil)-nobs:] " 102 | ] 103 | }, 104 | { 105 | "cell_type": "code", 106 | "execution_count": 5, 107 | "metadata": {}, 108 | "outputs": [], 109 | "source": [ 110 | "oilmodel_exp = ExponentialSmoothing(train_oil['oilrig_count'],trend='add',seasonal='mul',seasonal_periods=nobs).fit()" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 6, 116 | "metadata": {}, 117 | "outputs": [], 118 | "source": [ 119 | "dfoil_forecast = oilmodel_exp.forecast(nobs)" 120 | ] 121 | }, 122 | { 123 | "cell_type": "code", 124 | "execution_count": 7, 125 | "metadata": {}, 126 | "outputs": [ 127 | { 128 | "data": { 129 | "image/png": "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\n", 130 | "text/plain": [ 131 | "
" 132 | ] 133 | }, 134 | "metadata": { 135 | "needs_background": "light" 136 | }, 137 | "output_type": "display_data" 138 | } 139 | ], 140 | "source": [ 141 | "train_oil['oilrig_count'].loc['2017':].plot(legend=True,label='Train',title='Oil Rig Count Test Vs Predictions - Holt Winters')\n", 142 | "test_oil['oilrig_count'].plot(legend=True,label='Test')\n", 143 | "dfoil_forecast.plot(legend=True,label='Predictions');" 144 | ] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": 8, 149 | "metadata": {}, 150 | "outputs": [ 151 | { 152 | "name": "stdout", 153 | "output_type": "stream", 154 | "text": [ 155 | "Oil Rig VAR(4) RMSE: 43.342\n", 156 | "Oil Rig VAR(4) MSE: 1878.522\n", 157 | "Oil Rig VAR(4) MAE: 29.241\n", 158 | "\n", 159 | "Oil Rig Mean Value: 345.055\n", 160 | "Oil Rig std Value: 54.791\n", 161 | "Oil Rig Percent Change: 12.561%\n" 162 | ] 163 | } 164 | ], 165 | "source": [ 166 | "RMSE1 = rmse(dfoil['oilrig_count'].loc[test_oil.index.min():],dfoil_forecast)\n", 167 | "MSE1 = mse(dfoil['oilrig_count'].loc[test_oil.index.min():],dfoil_forecast)\n", 168 | "MAE1 = meanabs(dfoil['oilrig_count'].loc[test_oil.index.min():],dfoil_forecast)\n", 169 | "\n", 170 | "print(f\"\"\"Oil Rig VAR(4) RMSE: {RMSE1:.3f}\n", 171 | "Oil Rig VAR(4) MSE: {MSE1:.3f}\n", 172 | "Oil Rig VAR(4) MAE: {MAE1:.3f}\\n\n", 173 | "Oil Rig Mean Value: {dfoil['oilrig_count'][-nobs:].mean():.3f}\n", 174 | "Oil Rig std Value: {dfoil['oilrig_count'][-nobs:].std():.3f}\n", 175 | "Oil Rig Percent Change: {RMSE1/dfoil['oilrig_count'][-nobs:].mean()*100:.3f}%\"\"\")" 176 | ] 177 | }, 178 | { 179 | "cell_type": "code", 180 | "execution_count": 9, 181 | "metadata": {}, 182 | "outputs": [ 183 | { 184 | "name": "stdout", 185 | "output_type": "stream", 186 | "text": [ 187 | "TRAIN: 178 TEST: 12\n", 188 | "TRAIN: 190 TEST: 12\n", 189 | "TRAIN: 202 TEST: 12\n", 190 | "TRAIN: 214 TEST: 12\n", 191 | "TRAIN: 226 TEST: 12\n", 192 | "TRAIN: 238 TEST: 12\n", 193 | "TRAIN: 250 TEST: 12\n", 194 | "TRAIN: 262 TEST: 12\n", 195 | "TRAIN: 274 TEST: 12\n", 196 | "TRAIN: 286 TEST: 12\n", 197 | "\n", 198 | "10-fold Cross Validation Oil Rig\n", 199 | "RMSE: 574.835,\n", 200 | "MSE: 501920.060\n", 201 | "MAE: 563.763\n", 202 | "\n", 203 | "Oil Rig Mean Value: 345.055\n", 204 | "Oil Rig std Value: 54.791\n", 205 | "Oil Rig Percent Change: 166.592%\n" 206 | ] 207 | } 208 | ], 209 | "source": [ 210 | "tscv = TimeSeriesSplit(n_splits=10, test_size=12)\n", 211 | "RMSE_oil = []\n", 212 | "MSE_oil = []\n", 213 | "MAE_oil = []\n", 214 | "for train_index, test_index in tscv.split(dfoil['oilrig_count']):\n", 215 | " print(\"TRAIN:\", len(train_index), \"TEST:\", len(test_index))\n", 216 | " train, test = dfoil['oilrig_count'][train_index], dfoil['oilrig_count'][test_index]\n", 217 | " oilmodel_exp = ExponentialSmoothing(train,trend='add',seasonal='mul',seasonal_periods=nobs).fit()\n", 218 | " dfoil_forecast = oilmodel_exp.forecast(nobs) \n", 219 | " RMSE_oil.append('{:.3f}'.format(rmse(dfoil['oilrig_count'].loc[test_oil.index.min():],dfoil_forecast)))\n", 220 | " MSE_oil.append('{:.3f}'.format(mse(dfoil['oilrig_count'].loc[test_oil.index.min():],dfoil_forecast)))\n", 221 | " MAE_oil.append('{:.3f}'.format(meanabs(dfoil['oilrig_count'].loc[test_oil.index.min():],dfoil_forecast)))\n", 222 | "\n", 223 | "RMSE_oil = np.array(RMSE_oil).astype('float')\n", 224 | "MSE_oil = np.array(MSE_oil).astype('float')\n", 225 | "MAE_oil = np.array(MAE_oil).astype('float')\n", 226 | "print(f\"\"\"\\n10-fold Cross Validation Oil Rig\n", 227 | "RMSE: {RMSE_oil.mean():.3f},\n", 228 | "MSE: {MSE_oil.mean():.3f}\n", 229 | "MAE: {MAE_oil.mean():.3f}\\n\n", 230 | "Oil Rig Mean Value: {dfoil['oilrig_count'][-nobs:].mean():.3f}\n", 231 | "Oil Rig std Value: {dfoil['oilrig_count'][-nobs:].std():.3f}\n", 232 | "Oil Rig Percent Change: {RMSE_oil.mean()/dfoil['oilrig_count'][-nobs:].mean()*100:.3f}%\"\"\")" 233 | ] 234 | }, 235 | { 236 | "cell_type": "code", 237 | "execution_count": 10, 238 | "metadata": {}, 239 | "outputs": [], 240 | "source": [ 241 | "test = np.array(RMSE_oil)\n", 242 | "test = test.astype('float')" 243 | ] 244 | }, 245 | { 246 | "cell_type": "code", 247 | "execution_count": 11, 248 | "metadata": {}, 249 | "outputs": [ 250 | { 251 | "data": { 252 | "text/plain": [ 253 | "574.8352" 254 | ] 255 | }, 256 | "execution_count": 11, 257 | "metadata": {}, 258 | "output_type": "execute_result" 259 | } 260 | ], 261 | "source": [ 262 | "test.mean()" 263 | ] 264 | }, 265 | { 266 | "cell_type": "code", 267 | "execution_count": 12, 268 | "metadata": {}, 269 | "outputs": [ 270 | { 271 | "data": { 272 | "image/png": "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3DS/BQUFZGRkcNlllwEcN91wbb7//ns++OADAM466yxycnLIz7fm0r/wwgsJDQ0lNDSUNm3asG/fPvr378+9997Lgw8+yLhx4xg1alS9x6iPJncf88p32ykoLueesU07YeRJE07pxMerMvjz5xs4s1cb2sbU/0+h3KgJLWx3iYz8dS6iuqbUNcYwadIk/vrXv9ZbXlWfe3VhYWFHP0DqKuujjz5qahWaLDQ09OjrqmmCe/bsycqVK/n888955JFHGDNmDH/605+adRztc/chOYUlvLZkBxcOSKJPe+8fZhgQIDxxxQBKyyv540drdYpgVavk5GRWrlwJwMqVK9mxYwdgTRf8/vvvs3//fsDqx961a1eTjlFXWcOGDWPRokXk5ORQVlbGe++9d9y+0dHRdOzY8egHQUlJCUVFRSec1rf69MELFy4kISGBmJi6/2f37t1LREQEEydO5P777z/682gOTe4+5MWF2yguq+D3Z/d0OpQGS0mI5Pdje/LV+n28s3yP0+EoL3TFFVeQm5tL3759ef755+nZ0/r77tOnD48//jjnnHMOAwYMYOzYsUfvndpYdZWVlJTE9OnTGTFiBCNHjqxzBs0333yTGTNmMGDAAE499VSysrIYMGAAgYGBDBw4kKeffvqY7adPn86KFSsYMGAA06ZNY9asWSeMb82aNUdP9j722GMumfRMp/z1EVl5xZzx9wWMG9Cef1w90OlwGqWi0nDD68tZtj2X924dwcBOcU6H1GK0pCl//Z1O+eunnl+whYpKw91n93A6lEYLDBBmTBhMYnQoU99eycHDOj2wUu6myd0H7MktYs5Pexh/Sic6tW78rcm8QavIEF64dgjZBSXcNWcVFZXOf2NUyp9pcvcBz87fgojwu7N8r9Ve3cBOcTx6cR8Wb87m2flbnA5HKb+myd3L7ThwmLkr05k4rAvtYn1/KOE1QztzxZCOzJi/hQUb9zsdTovgDefVVPM05Xeoyd3LPTd/CyFBAdw22j/maBERHr+0H72TYrjr3Z/Znl3odEh+LSwsjJycHE3wPswYQ05OToMunqpOL2LyYtuyC/loVQY3nZZCYnRo/Tv4iPAQa/bIS/61hJtnpfHh1JHERjR/Tnl1vI4dO5Kenk52drbToahmCAsLo2PHjo3aR5O7F3tu/hZCgwL57Rn+0WqvrlPrCF6aeDLX/udHps5ewczJQwnW6YFdLjg4mJSUFKfDUA7Q/yYvtXV/IfNW7+X6EV1IiPKfVnt1Q1Na85fL+rNkaw6PfbJOuw6UciFtuXupGfO3EBYcyJTTuzodiltdldqJrdmF/HvRdnq0iWbSqclOh6SUX9CWuxfasq+AT37Zy/Ujkon301Z7dQ+e24uxfdry2CfrWLRZ+4aVcgVN7l7o2flbiGgBrfYqAQHCM+MHcVI7awTN/oJip0NSyudpcvcym/cV8NmaTCadmkzryObfX9JXRIYG8dxvBlNUWsEjH+oMkko1lyZ3L1JZafjr5xuIDAnillEto9VeXfc2Udx3jjWD5LzVe50ORymf1qDkLiK/F5F1IrJWRN4RkTARSRGRZSKyVUTmiEiIvW2o/X6rvT7ZrTXwIy8s3MqCTdncM7YnrVpQq726m07rypDOcfzp43Xsz9fuGaWaqt7kLiIdgDuBVGNMPyAQmAA8CTxtjOkOHARusne5CThoL3/a3k7VY8HG/fzj681cOqg9k0cmOx2OYwIDhKeuGkhxWQV/0O4ZpZqsod0yQUC4iAQBEUAmcBbwvr1+FnCp/foS+z32+jGid0c+oZ0HDnPnuz/Tu10Mf718QIu/mXTXxCjuP/ckvtmwj49WZTgdjlI+qd7kbozJAJ4CdmMl9TxgBXDIGFNub5YOdLBfdwD22PuW29vH1yxXRKaISJqIpLXkS6MLS8qZ8mYaQQHCv687mfCQE980uKWYPDKF1C6tePTjdezT7hmlGq0h3TKtsFrjKUB7IBI4r7kHNsa8bIxJNcakVt15vKUxxnD/e6vZur+Q568Z4rNztbtDYIDwtysHUFpRya1vrdAbfCjVSA3pljkb2GGMyTbGlAFzgZFAnN1NA9ARqPr+nAF0ArDXxwI5Lo3aT7y+ZCdfrM3iofN7M7J7gtPheJ2uiVE8M34Q6/bmc/mLS9mVc9jpkJTyGQ1J7ruB4SISYfedjwHWAwuAK+1tJgEf26/n2e+x139r9KzYcYrLKnhh4VZO657AzaN0Yqe6nNcvidk3D+NgUSmXv7CUn3cfdDokpXxCQ/rcl2GdGF0JrLH3eRl4ELhHRLZi9am/au/yKhBvL78HmOaGuH3eByvTOVBYyu1ndm/xJ1Drk5rcmrm3nUpkaBC/eeVHvlqX5XRISnk98YZGdWpqqklLS3M6DI+pqDSM+cdCYsOD+ej2kZrcG+hAYQk3zfyJXzLy+MdVA7l8SOPmt1bK34jICmNMam3r9ApVB3y1LoudOUX89oxumtgbISEqlHenjGB4SjzT5q5hTXqe0yEp5bU0uXuYMYaXFm0jOT6Cc/u2czocnxMeEsjz1wwmITKE297WUTRK1UWTu4ct25HL6vQ8bjm9K4EB2mpvivioUF6YeDL780u4e84qKiqd71pUyttocvewlxZtIyEqhCu0v7hZBnWK408X9WHR5mxmzN/idDhKeR1N7h60ITOfhZuyueHUZMKC9UrU5rp2WGcuH9KBGd9uYcGm/U6Ho5RX0eTuQa8s3k5ESCATh3dxOhS/ICL8+dL+9GoXw93vriL9YJHTISnlNTS5e0jGoSPMW72XCad0Ji6iZU7n6w7hIYG8NHEIR8oqeHnxdqfDUcpraHL3kBnfWP3CN+nVqC7XJT6Scf2TmLsyg8KS8vp3UKoFaJHJ/dNf9vL/PllPVp5nZhtctecQ/12xhxtPS6FDXLhHjtnSTBzRhcKScj76WacIVgpaWHIvKa/gjx+t5Y7ZP/Pakh2MfmoBT/1vEwXFZW47ZmWl4dGP15IYFcrvzurutuO0dIM7xdG3fQxv/bhLb/ChFC0ouacfLOLql37gzR938dvTu7LgvtGM7dOO5xdsZfTfF/LGDzspq6h0+XHfW7GH1el5PHRBL6LDgl1evrKICNcN78LGrALSdunkYkq1iOS+YON+LpzxPduzD/Pv607moQt6k5IQyXO/GczHt4+ke5so/vTxOq58cSl5Ra5rxecVlfG3LzdxSnIrLh3Uof4dVLNcPKg90WFBvPnDLqdDUcpxfp/c/7cui8kzf6J9XDif3nnacZf8D+wUx7tThvPcbwazIbOA615b5rIE//Q3mzlYVMr0i/vqHDIeEBESxJUnd+SLtZlkF5Q4HY5SjvLr5G6MYcb8LXRLjOTDqafSJT6y1u1EhIsGtufFiUPY6KIEvyEznzd+2Mm1w7rQt31ss8pSDXftsC6UVRj+m7bH6VCUcpRfJ/cft+eybm8+t4zq2qArQsf0buuSBG+M4dF564gND+bec3o2qQzVNN3bRHFqt3hmL9utc86oFs2vk/ur328nPjKESwc3vL+7uQl+3d48bnj9J5bvyOX+c3vpBUsOuG54FzIOHWHBRp2SQLVcfpvct2UX8s2G/Uwc3qXR87hUT/AXPvddg5LErpzD3PnOz1w443tW7TnEwxf0ZsIpnZoavmqGs/u0pW1MKG/+qCdWVcsVVP8mvum173cQEhTAdSOaNo/LmN5tmX3LMKbNXcPkmT9xQf92/GlcX9rFhh3dpqyikhW7DvLJ6r3M+WkPQYHC1NHd+O0Z3YgN12GPTgkODOA3QzvzzDdb2HngMMkJtZ9rUcqf+WVyzz1cyvsr0rl8cAcSokKbXE5qcms+v3MULy/exnPfbmXx5gP8fmxPIkMCWbgpmyVbD1BQUk5woDD+lE7cNaYHbWLC6i9Yud01QzvzrwVbmfXDTh69qK/T4SjlcX6Z3N/+cRcl5ZXceFrz53EJCQrgjrN6cNHA9jzy0Vr+79P1ACTFhjFuYBJn9GzDyO7xeoGSl2kTE8a4Ae15Ly2de8b21N+PanH8LrkXl1Uw64ddnNEzkZ5to11Wbpf4SN64cSjLd+QSGxHMSW2jdey6l7txZAof/pzBnJ/2cPOork6Ho5RH+d0J1Xmr93KgsIRb3PDPLCIM6xpPr3Yxmth9QP+OsZyS3IqZS3fqsEjV4vhVcjfG8Op3O+jVLpqR3eOdDkd5gRtHppB+8Ahfr9/ndChKeZRfJfcftuWwaV8BN52Woi1rBcDYPm3pEBfOa0t2OB2KUh7lV8n9vRXpRIcFcdHA9k6HorxEUGAAk0cms3xHLmsz8pwORymP8ZvkXlhSzpdrsxg3oL3efFod4+pTOhEZEqitd9Wi+E1y/3xNJkfKKrjyZJ1aVx0rJiyYq1I78cnqvezP98zdt5Rymt8k9w9WpJOSEMmQzq2cDkV5oUmnJlNeaXhLpyRQLYRfJPc9uUUs25HL5YM76IlUVauUhEjG9GrDW8t2U1xW4XQ4SrmdXyT3uSutmyJfNkS7ZFTdbh7VldzDpcz5Sed6V/7P55O7MYa5P6czoms8HVtFOB2O8mLDUlqT2qUV/160jdJy198vVylv4vPJPW3XQXblFHHlyR2dDkV5ORHh9rO6szevmA9/Tnc6HKXcyueT+wcr0okICeS8fu3q31i1eKN7JtKvQwwvLtxGeYW23pX/qje5i8hJIrKq2iNfRO4WkdYi8rWIbLGfW9nbi4jMEJGtIvKLiAxxV/BHSiv49JdMzu+XRGSo382BptxARLjjzB7szCniszWZToejlNvUm9yNMZuMMYOMMYOAk4Ei4ENgGjDfGNMDmG+/Bzgf6GE/pgAvuiFuAL5an0VhSTlX6Nh21Qjn9GlLz7ZR/GvBVip1QjHlpxrbLTMG2GaM2QVcAsyyl88CLrVfXwK8YSw/AnEikuSKYGt6f0U6HeLCGZ6ik4SphgsIEG4/szub9xXylU4opvxUY5P7BOAd+3VbY0zV99osoK39ugNQfaxZur3sGCIyRUTSRCQtOzu7kWHA/oJilmw9wOVDOhAQoGPbVeNc2D+JLvER/GvBVozR1rvyPw1O7iISAlwMvFdznbH+Oxr1H2KMedkYk2qMSU1MTGzMrgAs2pRNpUFPpKomCQoMYOrobqzJyGPR5sY3LpTydo1puZ8PrDTGVH2P3VfV3WI/77eXZwCdqu3X0V7mUgs3Z9MmOpQ+STGuLlq1EJcN7kj72DCe+1Zb78r/NCa5/4Zfu2QA5gGT7NeTgI+rLb/eHjUzHMir1n3jEuUVlXy3OZszeibqdAOqyUKCAvjdmB6s2HWQ91fouHflXxqU3EUkEhgLzK22+AlgrIhsAc623wN8DmwHtgKvAFNdFq1t1Z5D5BeXM/qkNq4uWrUw41M7MTS5NY9/toHsghKnw1HKZRqU3I0xh40x8caYvGrLcowxY4wxPYwxZxtjcu3lxhhzuzGmmzGmvzEmzdVBL9yUTWCAcFqPBFcXrVqYgADhr1f050hpBdM/Wed0OEq5jE9eobpw836GdI4jNjzY6VCUH+iWGMWdY7rz2S+Zeq9V5Td8LrnvLyhmbUa+dskol/rtGd3o1S6aP360lvziMqfDUarZfC65L958AIAzejZ++KRSdQkODOCJKwawv6CYv3250elwlGo2n0vuCzftJzE6lL7tdQikcq1BneKYPDKFt37czfIduU6Ho1Sz+NRsW+UVlXy35QBj+7TVIZDKLe49pyf/W5fFNa/8yLCurRnbuy1n92l79F4BpeWVbMoq4JeMQ2zIzCc5PpJz+7ajU2u9l4DyLj6V3FenHyLvSBmjT9IuGeUeESFBvHPLcGYv383X6/cx/ZP1TP9kPX2SYggOFDZkFlBqTxUcGRLI4dIKHv9sA72TYjinT1vO69eO3nphnfIC4g1X5qWmppq0tPpHTP7jq038a8FWfv7jOcRG6EgZ5X47Dhzm6/VZzN+wHxEY2DGO/h1jGdgxjo6twtmTe4Sv1mfxv3VZpO06iDHw+uRTOFNP+CsPEJEVxpjU2tb5VMt94aZshnRupYldeUxKQiRTTu/GlNO71bq+c3wEN4/qys2jupJ+sIjTnlzApqwCTe7KcT5zQjW7oIQ1GXnaJaO8VsdWEUSHBpF56IjToSjlO8l9sT1zn45vV94sKS6MvXnFToehlO8k94Wbs0mI0lkglXdLig0nM09b7sp5PpHcKysN322xZoHUG3Mob9Y+Lpy9h7TlrpznE8l9Q1Y+h4rKOK2H3k5Pebf2sWHkHi6luKzC6VBUC+cTyf3H7dbVgsP0XqnKyyXFhQOQqf3uymE+ktxz6BIfQXv7H0cpb9U+NgxAR8wox3l9cq+sNCzfkctwbbUrH1DVAMnQ5K4c5vXJfUNWPnlHyhjerbXToShVr3ZVLXftllEO8/rkXtXfPryrttyV9wsLDiQ+MkSHQyrHeX1y/2FbDsnxESTFan+78g1JcWE6HFI5zquTe0WlYfmOHG21K5/SXi9kUl7Aq5P7hsx88ovLNbkrn6IXMilv4NXJ/cftOQAM66onU5XvSIoNo7CkXO/Fqhzl5ck9V/vblc+pGg6Zqa135SCvTe7a3658Vfs4azjkXu13Vw7y2uSu/e3KV1V909yrFzIpB3ltctf+duWr2kSHEiDaLaOc5dXJXfvblS8KCgygXUyYdssoR3llcq+oNCzbkatdMspnJcWFa8tdOcork/uGzHwKtL9d+bCkWG25K2d5ZXKv6m/X5K58Vfu4cDLzijHGOB2KaqG8NrmnJEQenWFPKV/TPjaM0vJKcg6XOh2KaqG8LrlX9bcPS9FRMsp3JemFTMphXpfcq/rbR3TTLhnlu9rH6k07lLMalNxFJE5E3heRjSKyQURGiEhrEflaRLbYz63sbUVEZojIVhH5RUSGNCago+Pb9c5LyoclxVXdtEOTu3JGQ1vuzwJfGmN6AQOBDcA0YL4xpgcw334PcD7Qw35MAV5sTEBV49u1v135svjIEEKCAvSOTMox9SZ3EYkFTgdeBTDGlBpjDgGXALPszWYBl9qvLwHeMJYfgTgRSWpIMBVV90vVUTLKx4kI7WPDdAoC5ZiGtNxTgGzgdRH5WUT+IyKRQFtjTKa9TRbQ1n7dAdhTbf90e9kxRGSKiKSJSFp2djag88ko/5IUG67JXTmmIck9CBgCvGiMGQwc5tcuGACMNZi3UQN6jTEvG2NSjTGpiYmJgM4no/xLUlyYdssoxzQkuacD6caYZfb797GS/b6q7hb7eb+9PgPoVG3/jvayeun87cqfdIgLZ19+MeUVlU6HolqgepO7MSYL2CMiJ9mLxgDrgXnAJHvZJOBj+/U84Hp71MxwIK9a902ddP525W+SYsOpNLC/oMTpUFQLFNTA7X4HvC0iIcB2YDLWB8N/ReQmYBdwtb3t58AFwFagyN62XtrfrvxN1XDIvYeOHL07k1Ke0qDkboxZBaTWsmpMLdsa4PbGBqL97crfVF3ItFf73ZUDvOYK1WU7cumi/e3Kj1Tdbi9TR8woB3hNcl++I5fhelWq8iPRYcFEhwbpiBnliIb2ubvVkbIKDh8pY3g37ZJR/iUpLkznl1GO8IqW++GSckDnk1H+Jyk2XOeXUY7wkuReQZf4CB1RoPxOe73dnnKIlyT3cu1vV36pfWwYOYdLKS6rcDoU1cJ4RXKvMEb725VfOnrTDj2pqjzMK5I7aH+78k9tokMBOFCoV6kqz/KK5B4SGKD97covRYdZA9IKi8sdjkS1NF6R3DtoYld+KjosGID84jKHI1EtjVck96gwrxhur5TLVbXcC7TlrjzMK5K7Uv5Kk7tyiiZ3pdwoPDiQwAChQLtllIdpclfKjUSE6LAgbbkrj9PkrpSbWcldW+7KszS5K+Vm0aHB2nJXHqfJXSk3024Z5QRN7kq5WXRYMAUlmtyVZ2lyV8rNYrTPXTlAk7tSbhal3TLKAZrclXKz6LAgCkvKse4dr5RnaHJXys2iw4KpqDQUleqc7spzNLkr5WY6BYFygiZ3pdysamZIPamqPEmTu1JuVtVyz9eWu/IgTe5KuVlM1Q07dKy78iBN7kq5mXbLKCdoclfKzfSEqnKCJnel3CwqtCq5a8tdeY4md6XcLDIkCBFtuSvP0uSulJsFBAhRoToFgfIsTe5KeUBMWDD52i2jPEiTu1IeoHO6K09rUHIXkZ0iskZEVolImr2stYh8LSJb7OdW9nIRkRkislVEfhGRIe6sgFK+QG+1pzytMS33M40xg4wxqfb7acB8Y0wPYL79HuB8oIf9mAK86KpglfJV0WHBehGT8qjmdMtcAsyyX88CLq22/A1j+RGIE5GkZhxHKZ+n3TLK0xqa3A3wlYisEJEp9rK2xphM+3UW0NZ+3QHYU23fdHuZUi2WJnflaUEN3O40Y0yGiLQBvhaRjdVXGmOMiDTqTgT2h8QUgM6dOzdmV6V8TlRoMAXFZRhjEBGnw1EtQINa7saYDPt5P/AhMBTYV9XdYj/vtzfPADpV272jvaxmmS8bY1KNMamJiYlNr4FSPiA6LIiyCkNJeaXToagWot7kLiKRIhJd9Ro4B1gLzAMm2ZtNAj62X88DrrdHzQwH8qp13yjVIsUcnfZXR8woz2hIt0xb4EP7q2QQMNsY86WI/AT8V0RuAnYBV9vbfw5cAGwFioDJLo9aKR/z68yQ5bSJdjgY1SLUm9yNMduBgbUszwHG1LLcALe7JDql/ITODKk8Ta9QVcoDdE535Wma3JXygKqWe6G23JWHaHJXygO0W0Z5miZ3pTygqltGR8soT9HkrpQH/Ho3Jm25K8/Q5K6UBwQGCJEhgZrclcdoclfKQ6LDgnW0jPIYTe5KeYhOHqY8SZO7Uh4SHRZEQYm23JVnaHJXykOiw4J1nLvyGE3uSnmIdssoT9LkrpSHRIcFk6/JXXmIJnelPCRGb5KtPEiTu1IeEhUaREl5JaV6ww7lAZrclfKQX+eX0da7cj9N7kp5SPUbdijlbprclfIQnRlSeZImd6U8RG/YoTxJk7tSHnK05V6iLXflfprclfKQGO1zVx6kyV0pD9HRMsqTNLkr5SFRekJVeZAmd6U8JDgwgLDgAG25K4/Q5K6UB1k37NCWu3I/Te5KeZDODKk8RZO7Uh5kzQyp3TLK/TS5K+VBMdpyVx6iyV0pD4oOC6JQL2JSHqDJXSkPig4N1tEyyiM0uSvlQXpCVXmKJnelPCg6LJii0grKK/SGHcq9NLkr5UFVV6lqv7tytyCnA1CqJak+p3tcRIjD0bQQeenw/TPQrh+07Q9tekNIhNNRuV2Dk7uIBAJpQIYxZpyIpADvAvHACuA6Y0ypiIQCbwAnAznAeGPMTpdHrpQPirGTu451b549uUV8tX4fCzbu59CR0uPW33Fmd87rl2S9yd0Bq9+BnwrttQLx3aDjKXD6/dZrP9SYlvtdwAYgxn7/JPC0MeZdEXkJuAl40X4+aIzpLiIT7O3GuzBmpXyW3mqv6fbkFjF3ZQZfrc9i3d58AHq2jaJTq+Nb4WHBgb++SRkF0/bAoV2wby1krbWeN3wKaz+AkXfBaff4XWu+QcldRDoCFwJ/Bu4REQHOAq6xN5kFTMdK7pfYrwHeB54XETHGGNeFrZRvquqWKdTk3ijbsgu5/IWl5BeXMaRzK/5wQS/G9mlHSkJkwwoICIDWKdaj90XWsoIs+PpPsPjvsHoOnPcX6DUORNxXEQ9qaMv9GeABINp+Hw8cMsZU/YWmAx3s1x2APQDGmHIRybO3P+CKgJXyZUdb7iXaLdNQBwpLuOH15QQFCN/ccwbdEqNcU3B0O7j8ZRgyCT6/D+ZMhM6nwknnQcrp0G4ABATWX46Xqje5i8g4YL8xZoWIjHbVgUVkCjAFoHPnzq4qVimvpjfJbpwjpRXcNCuN7IIS3p0ywnWJvbrkkfDbxbD8FVgx02rNA4TFQfJpVp98aRGUHobSQuu5vBgqSq1Huf0cHA6hMRAWYz2HRkNQKAQEQWAwBARb3wqK8+HIQSg+BEcOQUUJRCdBTAeI7QixHaB1N2jXv1kfLg1puY8ELhaRC4AwrD73Z4E4EQmyW+8dgQx7+wygE5AuIkFALNaJ1WMYY14GXgZITU3VLhvVImhyb7iKSsNd7/7ML+mH+PfEkxnUKc59BwsMhhFTrUdBFuxYDDsWWc9bvoKQSAiJsp6DI6xHSJSVvAODITAEyoqhJB/y90LxBigpgIoyqCyznk2FdayQKOuDI7wVhMdBcCzkbIPti6C04NeYQmOhy6nWOYPk0yChJ9DwLqN6k7sx5iHgIQC75X6fMeZaEXkPuBJrxMwk4GN7l3n2+x/s9d9qf7tSltCgQEKCAnS0TAM8/tl6vlq/j0cv6sM5fdt57sDR7WDA1dbDlYwBU3ni1nhxHuRlwL51sPM767H5iyYdrjnj3B8E3hWRx4GfgVft5a8Cb4rIViAXmNCMYyjld6JDdQqC+rzxw05eX7KTG0emMHlkitPhuIYISD3dLGGx1qNtHxhwlbUsLwN2fg/5GTU2NvDYfXUW1ajkboxZCCy0X28HhtayTTFwVWPKVaol0fllTmxDZj6Pf7qBMb3a8PCFvZ0Ox3mxHWBgXaPJ607uOv2AUh5m3WpPu2VqU1xWwd3vriImPJi/XTmAwAD/GJboBJ1+QCkP05Z73Z763yY27Svg9RtOIT4q1OlwfJq23JXysOiwIL2IqRZLtx7gP9/vYOLwzpzZq43T4fg8Te5KeZh2yxwvr6iMe99bTdeESB6+oI/T4fgF7ZZRysO0W+Z4f/x4LdkFJXxw26mEh/juVaHeRFvuSnlYdFgwhaXlVFbq5R8Ac1emM2/1Xu4c04OB7rxQqYXR5K6Uh8WEBWEMFOgNO1i95xAPzV3D0JTWTB3tn1PvOkWTu1Ie1sq+ScfBw8fPQ96S7M8vZsqbaSREhfLitUMICtR05Er601TKw1pHWck9pwUn9+KyCm55cwUFxeX8Z1KqDnt0Az2hqpSHxUdayT23hSZ3Ywx/mLuG1XsO8dLEk+mdFFP/TqrRtOWulIe1PprcSxyOxBmvfLeduT9ncM/YnpzXz4MTgrUwmtyV8rD4SKsLoiV2y3yzfh9//WIjF/ZP4ndndXc6HL+myV0pDwsPCSQ8OJDcwpaV3H/efZA73llJ/w6x/P2qAYif3M7OW2lyV8oBrSNDWlSf+44Dh7lpVhptosN47YZTiAjR033upsldKQfER4W0mG6ZqnugGmOYdeNQEnRkjEdoclfKAa0jQ8hpASdUi0rLuWnmT+zLL+bVG04hJSHS6ZBaDE3uSjmgdWSI3/e5l1dU8rvZP7MmI4/nfjOEIZ1bOR1Si6LJXSkHxEda3TL+fHvhN3/cxfyN+3ns4r6M7dPW6XBaHE3uSjkgPiqUkvJKikornA7FLbILSvjnV5sZ1SOBicO7OB1Oi6TJXSkHtPbzq1T/+sUGissreOzivjrk0SGa3JVyQNUUBP44YiZtZy5zV2Zw86iudE2McjqcFkuTu1IO8NcpCMorKvnjx+tIig3TK1AdpsldKQccnYLAz0bMvL1sNxsy8/njuD56oZLDNLkr5YCqaX/9qc/9QGEJT321idO6J3C+TgjmOE3uSjkgMiSQkKAAv0ruT36xkeKyCqbrSVSvoMldKQeIyNGx7v5g2fYc3luRzo2npdC9jZ5E9Qaa3JVyiL9MHlZcVsG0uWvo3DqCu8b0cDocZdMzHko5pLWftNyf+WYLOw4c5u2bh+lJVC+iLXelHBIfGeLzQyHXpOfxynfbGZ/aiZHdE5wOR1WjyV0ph7SODPXpycPKKip54INfiI8M4Q8X9nY6HFWDJnelHBIfFcLh0gqKy3xzfpmXF29nQ2Y+/3dpP2LDg50OR9WgyV0ph/jy/DJb9xfy7PwtXNC/Hef21THt3kiTu1IO8dXkXlZRyQPvryY8OJDpF/d1OhxVBz21rZRDfHXysP/3yXpW7j7EsxMG0SY6zOlwVB3qbbmLSJiILBeR1SKyTkQes5eniMgyEdkqInNEJMReHmq/32qvT3ZzHZTySVUt95xC3xkxM3vZbt78cRdTTu/KJYM6OB2OOoGGdMuUAGcZYwYCg4DzRGQ48CTwtDGmO3AQuMne/ibgoL38aXs7pVQNVZOH+Uq3zPIdufzp47Wc0TORB8/r5XQ4qh71JndjKbTfBtsPA5wFvG8vnwVcar++xH6PvX6M6EQTSh0nJjyIoADxiW6ZjENHuO2tFXRqHcGMCYMJDNB/aW/XoBOqIhIoIquA/cDXwDbgkDGm3N4kHaj6jtYB2ANgr88D4mspc4qIpIlIWnZ2drMqoZQvEhGfuFH2kdIKpryRRml5Ja9cn0pshA579AUNSu7GmApjzCCgIzAUaPZ3MmPMy8aYVGNMamJiYnOLU8on+cIUBI/OW8v6zHye/c0gnRTMhzRqKKQx5hCwABgBxIlI1WibjkCG/ToD6ARgr48FclwRrFL+Jj7Ku6cg2JRVwHsr0rllVFfO6tXW6XBUIzRktEyiiMTZr8OBscAGrCR/pb3ZJOBj+/U8+z32+m+NMcaFMSvlN1pHhnr1CdVn528mMiSI287o5nQoqpEaMs49CZglIoFYHwb/NcZ8KiLrgXdF5HHgZ+BVe/tXgTdFZCuQC0xwQ9xK+QVvntN9/d58Pl+TxZ1ndaeVPWxT+Y56k7sx5hdgcC3Lt2P1v9dcXgxc5ZLolPJzrSNDKCgup7S8kpAg77pg/JlvNhMdFsRNo7o6HYpqAu/6a1Kqham6kOlgkXe13tek5/HV+n3cMqqrTgrmozS5K+Wgo1MQeNlwyGe+2UxseDCTRyY7HYpqIk3uSjnIGycPW7XnEPM37mfK6V2JDtNWu6/S5K6Ug+KjqiYP857hkE9/vZnWkSFMOjXZ6VBUM2hyV8pBrb1sfpkVu3JZtDmb357elahQnTTWl2lyV8pBceHBBIj3JPfnv91KfGQI143o4nQoqpk0uSvloIAAoVWEd4x1355dyIJN2Vw3ogsRIdpq93Wa3JVymLdMHjZr6U5CAgO4dpi22v2BJnelHNY6MsTxbpm8I2W8tyKdcQOTSIwOdTQW5Rqa3JVyWHxUiOOjZd5L20NRaQU3jkxxNA7lOprclXKY0y33ikrDzKU7OSW5Ff06xDoWh3ItTe5KOSw+MpSDRWWUV1Q6cvxvNuwj/eARbbX7GU3uSjms6kKmg0Vljhz/9SU76BAXztg+Ol+7P9HkrpTDnJyCYENmPj9uz+X6EV0ICtR04E/0t6mUw6qSuxMnVV9fsoPw4EAmnNLZ48dW7qXJXSmHxTs0BUFOYQkfrdrL5UM66E2v/ZAmd6Uc5lS3zLs/7aG0vFKn9fVTmtyVclgru9XsyTndKyoNs5ftZmT3eLq3ifbYcZXnaHJXymFBgQHERQR7tOW+YON+Mg4dYaJONeC3NLkr5QU8fSHTW8t20SY6lLN1+KPf0uSulBeIj/TcFAR7cotYtDmbCad0IliHP/ot/c0q5QU82XKfvXw3AkwYqsMf/Zkmd6W8QGJ0KJl5xVRWGrcep6S8gv/+tIcxvdvSPi7crcdSztLkrpQXOLlLKwqKy1mfme/W43y5Noucw6VMHK4nUv2dJnelvMCp3RIAWLrtgFuP8/aPu+kSH8Go7gluPY5yniZ3pbxA25gwureJYsnWHLcdY1NWAct35nLN0M4EBIjbjqO8gyZ3pbzEyG7xLN+RS2m5e6b+fXvZLkKCArgqtZNbylfeRZO7Ul7i1O4JHCmrYNWeQy4v+3BJOXNXZnBh/6Sj0x0o/6bJXSkvMbxrPAECS7a6vt/9w58zKCwpZ+JwHf7YUmhyV8pLxIYH079DrMtPqlZWGl5fsoN+HWIY0rmVS8tW3kuTu1Je5NTuCfy8+xCHS8pdVuZ3Ww+wLfswN45MQURPpLYUmtyV8iIjuyVQXmlYvjPXZWW+vmQHCVGhXDggyWVlKu+nyV0pL5Ka3IqQoACWuqjffVt2IQs3ZXPd8C6EBgW6pEzlG+pN7iLSSUQWiMh6EVknInfZy1uLyNcissV+bmUvFxGZISJbReQXERni7koo5S/CggM5uXMrl413n7lkJyGBAVwzTE+ktjQNabmXA/caY/oAw4HbRaQPMA2Yb4zpAcy33wOcD/SwH1OAF10etVJ+bGT3eNZn5jd7IrG8ojLeX5HOxYPakxgd6qLolK+oN7kbYzKNMSvt1wXABqADcAkwy95sFnCp/foS4A1j+RGIExHt7FOqgU7t7pqpCOak7eZIWYXeRq+FalSfu4gkA4OBZUBbY0ymvSoLqJr1vwOwp9pu6faymmVNEZE0EUnLzs5ubNxK+a0BHWKJDg1qVtdMeUUls5buYlhKa/q2j3VhdMpXNDi5i0gU8AFwtzHmmKnrjDEGaNRcpcaYl40xqcaY1MTExMbsqpRfCwoMYFjX1s1quX+zYR8Zh44weWSKCyNTvqRByV1EgrES+9vGmLn24n1V3S328357eQZQffKKjvYypVQDndotgV05RaQfLGrS/q99v5OOrcIZq7fRa7EaMlpGgFeBDcaYf1ZbNQ+YZL+eBHxcbfn19qiZ4UBete4bpVQDjKzqd29C18ynv+xl+c5cbjg1mUCd/bHFakjLfSRwHXCWiKyyHxcATwBjRWQLcLb9HuBzYDuwFXgFmOr6sJXybz3bRpEQFcoXazOpaMTdmZZsPcDv56xiaHJrvSFHCxdU3wbGmO+Buj7+x9SyvQFub2ZcSrVoIsJ1w7vw9DebuWnWTzw7fjCxEcEn3GdtRh5T3kijW2IUr0xKJSxYL1pqyfQKVaW81F1n9+Avl/VnydYDXPyv79mUVVDntjsPHOaG15cTFxHCrBuHEht+4g8C5f80uSvlxa4Z1pl3pwynqLSCy15Ywhdrjj99tb+gmOtfW06lgTduGkrbmDAHIlXeRqxeFGelpqaatLQ0p8NQymvtyy/m1rdW8PPuQ/RqF01ggBAgQkCAkJV3hILicmbfMpxBneKcDlV5kIisMMak1rau3j53pZTz2saE8e6U4cyYv4XN+woxxlBpoNIY4iNDuHlUiiZ2dQxN7kr5iNCgQO4/t5fTYSgfoX3uSinlhzS5K6WUH9LkrpRSfkiTu1JK+SFN7kop5Yc0uSullB/S5K6UUn5Ik7tSSvkhTe5KKeWHNLkrpZQf0uSulFJ+SJO7Ukr5IU3uSinlh7xiPncRKQA2NXH3WCDPg/s1Z98E4ICHj+lEPaHpdXUiXq1n/VrK366v1bOHMSa21jXGGMcfQFoz9n3Zk/s185gtop7NqatDvxetp5vq6WC8Lf5/1B+6ZT7x8H7N3dfTx2wp9WzOvlpP99K/Xffsd8J9vaVbJs3Ucasof9JS6gktp65aT//iT/X0lpb7y04H4CEtpZ7Qcuqq9fQvflNPr2i5K6WUci1vabkrpZRyIbckdxHpJCILRGS9iKwTkbvs5a1F5GsR2WI/t7KX9xKRH0SkRETuq1bOSSKyqtojX0TudkfMTeGqetrrfm+XsVZE3hGRMCfqVBcX1/Uuu57rvOn3CU2q57Ui8ouIrBGRpSIysFpZ54nIJhHZKiLTnKpTbVxcz9dEZL+IrHWqPnVxVT3rKserNXUITj3Dc5KAIfbraGAz0Af4GzDNXj4NeNJ+3QY4BfgzcF8dZQYCWUAXd8TsZD2BDsAOINx+/1/gBqfr56a69gPWAhFAEPAN0N3p+jWjnqcCrezX5wPLqv29bgO6AiHAaqCP0/VzdT3t96cDQ4C1TtfLjb/PWstxun4nrLuHfsAfA2OxLlRKqvbD2lRju+nUndzPAZY4/QNzRz2xkvseoLWd8D4FznG6Pm6q61XAq9Xe/xF4wOn6NLee9vJWQIb9egTwv2rrHgIecro+rq5ntWXJ3pjcXV3PmuU4XZ8TPdze5y4iycBgYBnQ1hiTaa/KAto2oqgJwDuujc51mlNPY0wG8BSwG8gE8owxX7kv2uZp5u90LTBKROJFJAK4AOjkrlibown1vAn4wn5d9YFdJd1e5nWaWU+f4ap61ijHawW5s3ARiQI+AO42xuSLyNF1xhgjIg0aqiMiIcDFWK0fr9Pcetr9fZcAKcAh4D0RmWiMect9UTdNc+tqjNkgIk8CXwGHgVVAhfsibprG1lNEzsRKBqd5NNBm0no2rp41y3F74M3gtpa7iARj/RDeNsbMtRfvE5Eke30SsL+BxZ0PrDTG7HN9pM3jonqeDewwxmQbY8qAuVh9f17FVb9TY8yrxpiTjTGnAwex+i+9RmPrKSIDgP8AlxhjcuzFGRz7jaSjvcxruKieXs9V9ayjHK/lrtEyArwKbDDG/LPaqnnAJPv1JKx+q4b4DV7YJePCeu4GhotIhF3mGGCDq+NtDlf+TkWkjf3cGbgcmO3aaJuusfW06zAXuM4YU/1D6iegh4ik2N88J9hleAUX1tOruaqeJyjHe7mjIx/rq4wBfsH62r0Kq281HpgPbMEaJdHa3r4dVp9kPla3RDoQY6+LBHKAWKdPULi5no8BG7H6pN8EQp2unxvr+h2wHmsEyRin69bMev4H69tH1bZp1cq6AOtbyTbgYafr5sZ6voN1rqjM/j3f5HT9XF3Puspxun4neugVqkop5Yf0ClWllPJDmtyVUsoPaXJXSik/pMldKaX8kCZ3pZTyQ5rclVLKD2lyV0opP6TJXSml/ND/B2P/1XGBzWR5AAAAAElFTkSuQmCC\n", 273 | "text/plain": [ 274 | "
" 275 | ] 276 | }, 277 | "metadata": { 278 | "needs_background": "light" 279 | }, 280 | "output_type": "display_data" 281 | } 282 | ], 283 | "source": [ 284 | "startTime = time.time()\n", 285 | "oilmodel_exp = ExponentialSmoothing(dfoil['oilrig_count'],trend='add',seasonal='mul',seasonal_periods=nobs).fit()\n", 286 | "dfoil_forecast = oilmodel_exp.forecast(nobs)\n", 287 | "executionTime = (time.time() - startTime)\n", 288 | "dfoil['oilrig_count'].loc['2017':].plot(legend=True,label='Oil Rig Count', title='Oil Rig Count REAL FUTURE - Holt Winters')\n", 289 | "dfoil_forecast.plot(legend=True,label='True Predictions');" 290 | ] 291 | }, 292 | { 293 | "cell_type": "code", 294 | "execution_count": 13, 295 | "metadata": {}, 296 | "outputs": [ 297 | { 298 | "name": "stdout", 299 | "output_type": "stream", 300 | "text": [ 301 | "Execution time in seconds: 0.15563702583312988\n" 302 | ] 303 | } 304 | ], 305 | "source": [ 306 | "print('Execution time in seconds: ' + str(executionTime))" 307 | ] 308 | }, 309 | { 310 | "cell_type": "markdown", 311 | "metadata": {}, 312 | "source": [ 313 | "#### Holts Winter method with Gas dataset" 314 | ] 315 | }, 316 | { 317 | "cell_type": "code", 318 | "execution_count": 14, 319 | "metadata": {}, 320 | "outputs": [], 321 | "source": [ 322 | "train_gas = dfgas.iloc[:len(dfgas)-nobs]\n", 323 | "test_gas = dfgas.iloc[len(dfgas)-nobs:]\n", 324 | "gasmodel_exp = ExponentialSmoothing(train_gas['gasrig_count'],trend='add',seasonal='mul',seasonal_periods=nobs).fit()" 325 | ] 326 | }, 327 | { 328 | "cell_type": "code", 329 | "execution_count": 15, 330 | "metadata": {}, 331 | "outputs": [ 332 | { 333 | "data": { 334 | "image/png": "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\n", 335 | "text/plain": [ 336 | "
" 337 | ] 338 | }, 339 | "metadata": { 340 | "needs_background": "light" 341 | }, 342 | "output_type": "display_data" 343 | } 344 | ], 345 | "source": [ 346 | "dfgas_forecast = gasmodel_exp.forecast(nobs)\n", 347 | "train_gas['gasrig_count'].loc['2017':].plot(legend=True,label='Train',title='Gas Rig Count Test Vs Predictions - Holt Winters')\n", 348 | "test_gas['gasrig_count'].plot(legend=True,label='Test')\n", 349 | "dfgas_forecast.plot(legend=True,label='Predictions');" 350 | ] 351 | }, 352 | { 353 | "cell_type": "code", 354 | "execution_count": 16, 355 | "metadata": {}, 356 | "outputs": [ 357 | { 358 | "name": "stdout", 359 | "output_type": "stream", 360 | "text": [ 361 | "Gas Rig VAR(4) RMSE: 15.040\n", 362 | "Gas Rig VAR(4) MSE: 226.195\n", 363 | "Gas Rig VAR(4) MAE: 14.389\n", 364 | "\n", 365 | "Gas Rig Mean Value: 94.254\n", 366 | "Gas Rig std Value: 7.984\n", 367 | "Gas Rig Percent Change: 15.957%\n" 368 | ] 369 | } 370 | ], 371 | "source": [ 372 | "RMSE2 = rmse(dfgas['gasrig_count'].loc[test_gas.index.min():],dfgas_forecast)\n", 373 | "MSE2 = mse(dfgas['gasrig_count'].loc[test_gas.index.min():],dfgas_forecast)\n", 374 | "MAE2 = meanabs(dfgas['gasrig_count'].loc[test_gas.index.min():],dfgas_forecast)\n", 375 | "\n", 376 | "print(f\"\"\"Gas Rig VAR(4) RMSE: {RMSE2:.3f}\n", 377 | "Gas Rig VAR(4) MSE: {MSE2:.3f}\n", 378 | "Gas Rig VAR(4) MAE: {MAE2:.3f}\\n\n", 379 | "Gas Rig Mean Value: {dfgas['gasrig_count'][-nobs:].mean():.3f}\n", 380 | "Gas Rig std Value: {dfgas['gasrig_count'][-nobs:].std():.3f}\n", 381 | "Gas Rig Percent Change: {RMSE2/dfgas['gasrig_count'][-nobs:].mean()*100:.3f}%\"\"\")" 382 | ] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "execution_count": 17, 387 | "metadata": {}, 388 | "outputs": [ 389 | { 390 | "name": "stdout", 391 | "output_type": "stream", 392 | "text": [ 393 | "TRAIN: 178 TEST: 12\n", 394 | "TRAIN: 190 TEST: 12\n", 395 | "TRAIN: 202 TEST: 12\n", 396 | "TRAIN: 214 TEST: 12\n", 397 | "TRAIN: 226 TEST: 12\n", 398 | "TRAIN: 238 TEST: 12\n", 399 | "TRAIN: 250 TEST: 12\n", 400 | "TRAIN: 262 TEST: 12\n", 401 | "TRAIN: 274 TEST: 12\n", 402 | "TRAIN: 286 TEST: 12\n", 403 | "\n", 404 | "10-fold Cross Validation Gas Rig\n", 405 | "RMSE: 196.514,\n", 406 | "MSE: 83168.085\n", 407 | "MAE: 193.324\n", 408 | "\n", 409 | "Gas Rig Mean Value: 94.254\n", 410 | "Gas Rig std Value: 7.984\n", 411 | "Gas Rig Percent Change: 208.493%\n" 412 | ] 413 | } 414 | ], 415 | "source": [ 416 | "RMSE_gas = []\n", 417 | "MSE_gas = []\n", 418 | "MAE_gas = []\n", 419 | "for train_index, test_index in tscv.split(dfgas['gasrig_count']):\n", 420 | " print(\"TRAIN:\", len(train_index), \"TEST:\", len(test_index))\n", 421 | " train, test = dfgas['gasrig_count'][train_index], dfgas['gasrig_count'][test_index]\n", 422 | " gasmodel_exp = ExponentialSmoothing(train,trend='add',seasonal='mul',seasonal_periods=nobs).fit()\n", 423 | " dfgas_forecast = gasmodel_exp.forecast(nobs) \n", 424 | " RMSE_gas.append('{:.3f}'.format(rmse(dfgas['gasrig_count'].loc[test_gas.index.min():],dfgas_forecast)))\n", 425 | " MSE_gas.append('{:.3f}'.format(mse(dfgas['gasrig_count'].loc[test_gas.index.min():],dfgas_forecast)))\n", 426 | " MAE_gas.append('{:.3f}'.format(meanabs(dfgas['gasrig_count'].loc[test_gas.index.min():],dfgas_forecast)))\n", 427 | "\n", 428 | "RMSE_gas = np.array(RMSE_gas).astype('float')\n", 429 | "MSE_gas = np.array(MSE_gas).astype('float')\n", 430 | "MAE_gas = np.array(MAE_gas).astype('float')\n", 431 | "print(f\"\"\"\\n10-fold Cross Validation Gas Rig\n", 432 | "RMSE: {RMSE_gas.mean():.3f},\n", 433 | "MSE: {MSE_gas.mean():.3f}\n", 434 | "MAE: {MAE_gas.mean():.3f}\\n\n", 435 | "Gas Rig Mean Value: {dfgas['gasrig_count'][-nobs:].mean():.3f}\n", 436 | "Gas Rig std Value: {dfgas['gasrig_count'][-nobs:].std():.3f}\n", 437 | "Gas Rig Percent Change: {RMSE_gas.mean()/dfgas['gasrig_count'][-nobs:].mean()*100:.3f}%\"\"\")" 438 | ] 439 | }, 440 | { 441 | "cell_type": "code", 442 | "execution_count": 18, 443 | "metadata": {}, 444 | "outputs": [ 445 | { 446 | "data": { 447 | "image/png": "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\n", 448 | "text/plain": [ 449 | "
" 450 | ] 451 | }, 452 | "metadata": { 453 | "needs_background": "light" 454 | }, 455 | "output_type": "display_data" 456 | } 457 | ], 458 | "source": [ 459 | "gasmodel_exp = ExponentialSmoothing(dfgas['gasrig_count'],trend='add',seasonal='mul',seasonal_periods=nobs).fit()\n", 460 | "dfgas_forecast = gasmodel_exp.forecast(nobs)\n", 461 | "dfgas['gasrig_count'].loc['2017':].plot(legend=True,label='Gas Rig Count',title='Gas Rig Count REAL FUTURE - Holt Winters')\n", 462 | "dfgas_forecast.plot(legend=True,label='Predictions');" 463 | ] 464 | } 465 | ], 466 | "metadata": { 467 | "kernelspec": { 468 | "display_name": "Python 3 (ipykernel)", 469 | "language": "python", 470 | "name": "python3" 471 | }, 472 | "language_info": { 473 | "codemirror_mode": { 474 | "name": "ipython", 475 | "version": 3 476 | }, 477 | "file_extension": ".py", 478 | "mimetype": "text/x-python", 479 | "name": "python", 480 | "nbconvert_exporter": "python", 481 | "pygments_lexer": "ipython3", 482 | "version": "3.9.6" 483 | } 484 | }, 485 | "nbformat": 4, 486 | "nbformat_minor": 4 487 | } 488 | --------------------------------------------------------------------------------