{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "a684e4ed", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "from sklearn.preprocessing import MinMaxScaler\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error\n", "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import LSTM, Dense\n", "import matplotlib.pyplot as plt\n", "import matplotlib.dates as mdates\n", "import tensorflow as tf\n", "import random as python_random\n", "\n", "# Set random seeds for reproducibility\n", "np.random.seed(123)\n", "python_random.seed(123)\n", "tf.random.set_seed(1234)\n", "\n", "# Load Data\n", "df = pd.read_csv('MLinput.csv', parse_dates=['Date (monthly)'], index_col='Date (monthly)')\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "28dcf730", "metadata": {}, "outputs": [], "source": [ "# Split Data into Training and Validation Sets (important to do before scaling)\n", "train_size = int(len(df) * 0.8)\n", "train_df = df.iloc[:train_size]\n", "val_df = df.iloc[train_size:]\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "72e4d172", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Precipitation (kAc-Ft) | \n", "Evaporation (kAc-Ft) | \n", "Natural Runoff (kAc-Ft) | \n", "Diversions (kAc-Ft) | \n", "Change in storage (kAc-Ft) | \n", "
---|---|---|---|---|---|
Date (monthly) | \n", "\n", " | \n", " | \n", " | \n", " | \n", " |
1970-01-01 | \n", "12.328710 | \n", "6.425218 | \n", "6.804114 | \n", "13.668706 | \n", "-0.96110 | \n", "
1970-02-01 | \n", "3.676514 | \n", "9.057319 | \n", "7.070839 | \n", "-15.129216 | \n", "16.81925 | \n", "
1970-03-01 | \n", "2.656069 | \n", "14.099995 | \n", "7.324371 | \n", "-13.250005 | \n", "9.13045 | \n", "
1970-04-01 | \n", "4.788619 | \n", "19.447691 | \n", "9.925182 | \n", "-7.136640 | \n", "2.40275 | \n", "
1970-05-01 | \n", "1.308202 | \n", "29.178491 | \n", "26.432535 | \n", "6.251046 | \n", "-7.68880 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2008-10-01 | \n", "0.793674 | \n", "17.186696 | \n", "2.718801 | \n", "-4.666421 | \n", "-9.00780 | \n", "
2008-11-01 | \n", "4.411859 | \n", "9.990581 | \n", "2.868001 | \n", "10.800978 | \n", "-13.51170 | \n", "
2008-12-01 | \n", "3.640571 | \n", "7.009702 | \n", "3.099347 | \n", "-4.773685 | \n", "4.50390 | \n", "
2009-01-01 | \n", "4.206015 | \n", "6.831017 | \n", "4.114347 | \n", "5.993246 | \n", "-4.50390 | \n", "
2009-02-01 | \n", "6.190850 | \n", "8.143695 | \n", "6.993458 | \n", "0.536714 | \n", "4.50390 | \n", "
470 rows × 5 columns
\n", "\n", " | Precipitation (kAc-Ft) | \n", "Evaporation (kAc-Ft) | \n", "Natural Runoff (kAc-Ft) | \n", "Diversions (kAc-Ft) | \n", "Change in storage (kAc-Ft) | \n", "
---|---|---|---|---|---|
Date (monthly) | \n", "\n", " | \n", " | \n", " | \n", " | \n", " |
2009-03-01 | \n", "5.086544 | \n", "12.623348 | \n", "8.370772 | \n", "-8.173832 | \n", "9.0078 | \n", "
2009-04-01 | \n", "3.379984 | \n", "18.568137 | \n", "11.947761 | \n", "-7.744292 | \n", "4.5039 | \n", "
2009-05-01 | \n", "2.764621 | \n", "27.394257 | \n", "31.999025 | \n", "16.377190 | \n", "-9.0078 | \n", "
2009-06-01 | \n", "4.079371 | \n", "30.843676 | \n", "36.540441 | \n", "0.768336 | \n", "9.0078 | \n", "
2009-07-01 | \n", "1.188636 | \n", "39.095761 | \n", "17.365300 | \n", "-20.541825 | \n", "0.0000 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2018-08-01 | \n", "0.928764 | \n", "34.846666 | \n", "8.031034 | \n", "-25.886868 | \n", "0.0000 | \n", "
2018-09-01 | \n", "0.913654 | \n", "26.597726 | \n", "4.290761 | \n", "-7.985612 | \n", "-13.4077 | \n", "
2018-10-01 | \n", "0.968221 | \n", "16.784118 | \n", "2.825964 | \n", "4.817666 | \n", "-17.8076 | \n", "
2018-11-01 | \n", "6.109718 | \n", "9.910800 | \n", "2.600511 | \n", "3.251329 | \n", "-4.4519 | \n", "
2018-12-01 | \n", "3.315002 | \n", "7.039989 | \n", "3.618710 | \n", "-0.106278 | \n", "0.0000 | \n", "
118 rows × 5 columns
\n", "