{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "18dcf635-3dea-4054-8567-296692757af1", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "id": "98fd79c8-c47a-426b-98d1-fc94adaf75a2", "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", "import gpflow" ] }, { "cell_type": "code", "execution_count": 3, "id": "50d83b6a-604a-4416-bc51-c7d7377e9147", "metadata": {}, "outputs": [], "source": [ "import pickle\n", "from pathlib import Path" ] }, { "cell_type": "code", "execution_count": 10, "id": "612d3146-a2c4-4018-9573-edddc307c834", "metadata": {}, "outputs": [], "source": [ "from helpers import get_scaled_df, data_to_gpr, ScalerHelper" ] }, { "cell_type": "code", "execution_count": 5, "id": "dc95dc5f-b5ec-4563-a719-e0fc84201d92", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 29, "id": "27456734-f026-429f-a10e-b27142a46b49", "metadata": {}, "outputs": [], "source": [ "sim_path = Path(\"../Data/Simulation_results/Second batch/\", \"4_sparse_GP_500pts_12_averageYear\")\n", "scaler = pickle.load(open(Path(sim_path, \"controller_scaler.pkl\"), 'rb'))\n", "scaler_helper = ScalerHelper(scaler)\n", "model = pickle.load(open(Path(sim_path, \"controller_model.pkl\"), 'rb'))\n", "df = pd.read_pickle(Path(sim_path, \"controller_df.pkl\"))\n", "X_log = pickle.load(open(Path(sim_path,\"controller_X_log.pkl\"), 'rb'))\n", "model_log = pickle.load(open(Path(sim_path,\"controller_model_log.pkl\"), 'rb'))" ] }, { "cell_type": "code", "execution_count": 12, "id": "11fc2b92-5c79-40ff-8c3e-987143858e57", "metadata": {}, "outputs": [], "source": [ "t_cols = []\n", "w_cols = ['SolRad', 'OutsideTemp']\n", "u_cols = ['SimulatedHeat']\n", "y_cols = ['SimulatedTemp']\n", "\n", "t_lags = 0\n", "w_lags = 1\n", "u_lags = 2\n", "y_lags = 3\n", "\n", "dict_cols = {\n", " 't': (t_lags, t_cols),\n", " 'w': (w_lags, w_cols),\n", " 'u': (u_lags, u_cols),\n", " 'y': (y_lags, y_cols)\n", "}" ] }, { "cell_type": "code", "execution_count": 31, "id": "c9ff2027-72b0-4218-8ef8-95c6004e62a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "341" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(model_log)" ] }, { "cell_type": "code", "execution_count": 13, "id": "74de9917-1c6e-46f7-a1c8-e9fbec7d0232", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.60701006])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scaler_helper.scale_output(21)" ] }, { "cell_type": "code", "execution_count": 9, "id": "f882da29-3e5c-4262-a88e-7e52c1d7c3a5", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0123456
0-1.0-0.1962720.4396660.4465850.6118040.6107800.609699
1-1.0-0.1940790.4306610.4396660.6095550.6118040.610780
2-1.0-0.1995610.4333540.4306610.6070930.6095550.611804
3-1.0-0.2050440.4399000.4333540.6069960.6070930.609555
4-1.0-0.2105260.4472420.4399000.6068350.6069960.607093
5-1.0-0.2192980.4546800.4472420.6069020.6068350.606996
6-1.0-0.2280700.4626750.4546800.6067970.6069020.606835
7-1.0-0.2368420.4710040.4626750.6068700.6067970.606902
8-1.0-0.2456140.6073180.4710040.6070810.6068700.606797
\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6\n", "0 -1.0 -0.196272 0.439666 0.446585 0.611804 0.610780 0.609699\n", "1 -1.0 -0.194079 0.430661 0.439666 0.609555 0.611804 0.610780\n", "2 -1.0 -0.199561 0.433354 0.430661 0.607093 0.609555 0.611804\n", "3 -1.0 -0.205044 0.439900 0.433354 0.606996 0.607093 0.609555\n", "4 -1.0 -0.210526 0.447242 0.439900 0.606835 0.606996 0.607093\n", "5 -1.0 -0.219298 0.454680 0.447242 0.606902 0.606835 0.606996\n", "6 -1.0 -0.228070 0.462675 0.454680 0.606797 0.606902 0.606835\n", "7 -1.0 -0.236842 0.471004 0.462675 0.606870 0.606797 0.606902\n", "8 -1.0 -0.245614 0.607318 0.471004 0.607081 0.606870 0.606797" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.DataFrame(X_log[-1])" ] }, { "cell_type": "code", "execution_count": 14, "id": "af6d8095-e98c-4f1a-a145-aa939f4eff7b", "metadata": {}, "outputs": [], "source": [ "df_sc = get_scaled_df(df, dict_cols, scaler)\n", "df_gpr = data_to_gpr(df_sc, dict_cols)" ] }, { "cell_type": "code", "execution_count": 15, "id": "b4dc8f43-b3f5-4c8d-bf61-3e54432dccd4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SolRadSolRad_1OutsideTempOutsideTemp_1SimulatedHeatSimulatedHeat_1SimulatedHeat_2SimulatedTempSimulatedTemp_1SimulatedTemp_2SimulatedTemp_3
3-1.0-1.0-0.307018-0.307018-1.0000001.0000001.0000001.0000000.9680130.9569690.765691
4-1.0-1.0-0.307018-0.307018-0.993927-1.0000001.0000000.1408321.0000000.9680130.956969
5-1.0-1.0-0.321272-0.307018-0.987854-0.993927-1.000000-0.0455780.1408321.0000000.968013
6-1.0-1.0-0.335526-0.321272-0.981781-0.987854-0.993927-0.206770-0.0455780.1408321.000000
7-1.0-1.0-0.349781-0.335526-0.975709-0.981781-0.987854-0.345365-0.206770-0.0455780.140832
....................................
35028-1.0-1.0-0.219298-0.2247810.4562990.4597920.4639630.6088310.6088390.6096130.610534
35029-1.0-1.0-0.211623-0.2192980.4518220.4562990.4597920.6096990.6088310.6088390.609613
35030-1.0-1.0-0.203947-0.2116230.4465850.4518220.4562990.6107800.6096990.6088310.608839
35031-1.0-1.0-0.196272-0.2039470.4396660.4465850.4518220.6118040.6107800.6096990.608831
35032-1.0-1.0-0.188596-0.1962720.4313960.4396660.4465850.6122040.6118040.6107800.609699
\n", "

35030 rows × 11 columns

\n", "
" ], "text/plain": [ " SolRad SolRad_1 OutsideTemp OutsideTemp_1 SimulatedHeat \\\n", "3 -1.0 -1.0 -0.307018 -0.307018 -1.000000 \n", "4 -1.0 -1.0 -0.307018 -0.307018 -0.993927 \n", "5 -1.0 -1.0 -0.321272 -0.307018 -0.987854 \n", "6 -1.0 -1.0 -0.335526 -0.321272 -0.981781 \n", "7 -1.0 -1.0 -0.349781 -0.335526 -0.975709 \n", "... ... ... ... ... ... \n", "35028 -1.0 -1.0 -0.219298 -0.224781 0.456299 \n", "35029 -1.0 -1.0 -0.211623 -0.219298 0.451822 \n", "35030 -1.0 -1.0 -0.203947 -0.211623 0.446585 \n", "35031 -1.0 -1.0 -0.196272 -0.203947 0.439666 \n", "35032 -1.0 -1.0 -0.188596 -0.196272 0.431396 \n", "\n", " SimulatedHeat_1 SimulatedHeat_2 SimulatedTemp SimulatedTemp_1 \\\n", "3 1.000000 1.000000 1.000000 0.968013 \n", "4 -1.000000 1.000000 0.140832 1.000000 \n", "5 -0.993927 -1.000000 -0.045578 0.140832 \n", "6 -0.987854 -0.993927 -0.206770 -0.045578 \n", "7 -0.981781 -0.987854 -0.345365 -0.206770 \n", "... ... ... ... ... \n", "35028 0.459792 0.463963 0.608831 0.608839 \n", "35029 0.456299 0.459792 0.609699 0.608831 \n", "35030 0.451822 0.456299 0.610780 0.609699 \n", "35031 0.446585 0.451822 0.611804 0.610780 \n", "35032 0.439666 0.446585 0.612204 0.611804 \n", "\n", " SimulatedTemp_2 SimulatedTemp_3 \n", "3 0.956969 0.765691 \n", "4 0.968013 0.956969 \n", "5 1.000000 0.968013 \n", "6 0.140832 1.000000 \n", "7 -0.045578 0.140832 \n", "... ... ... \n", "35028 0.609613 0.610534 \n", "35029 0.608839 0.609613 \n", "35030 0.608831 0.608839 \n", "35031 0.609699 0.608831 \n", "35032 0.610780 0.609699 \n", "\n", "[35030 rows x 11 columns]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_gpr" ] }, { "cell_type": "markdown", "id": "8c618dec-fd4e-4fbb-9a20-69ff57ce5192", "metadata": {}, "source": [ "## Multistep prediction" ] }, { "cell_type": "code", "execution_count": 33, "id": "cf601d07-0fff-4e2f-8ac8-9169f749b399", "metadata": {}, "outputs": [], "source": [ "df_input = df_gpr.drop(columns = dict_cols['w'][1] + dict_cols['u'][1] + dict_cols['y'][1])\n", "df_output = df_gpr[dict_cols['y'][1]]" ] }, { "cell_type": "code", "execution_count": 82, "id": "7f1858cc-c54b-4fb1-9f96-6f6e1e0ab9e4", "metadata": {}, "outputs": [], "source": [ "start_idx = 500\n", "nb_predictions = 25\n", "N_pred = 20" ] }, { "cell_type": "code", "execution_count": 83, "id": "ea0a68ba-c4f4-463f-9ee1-474461086ebf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(df_output.iloc[start_idx:start_idx + nb_predictions + N_pred], 'o-', label = 'measured', color = 'darkblue')" ] }, { "cell_type": "code", "execution_count": 90, "id": "466c5e48-c0f1-4388-8509-201bdae017ad", "metadata": {}, "outputs": [], "source": [ "m = model_log[-1]" ] }, { "cell_type": "code", "execution_count": 91, "id": "6e46108b-f600-4ed7-bfd2-ca1d50d44dcf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Prediction over 20 steps')" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "\n", "y_name = dict_cols['y'][1][0]\n", "for idx in range(start_idx, start_idx + nb_predictions):\n", " df_iter = df_input.iloc[idx:(idx + N_pred)].copy()\n", " for idxx in range(N_pred - 1):\n", " idx_old = df_iter.index[idxx]\n", " idx_new = df_iter.index[idxx+1]\n", " mean, var = m.predict_f(df_iter.loc[idx_old, :].to_numpy().reshape(1, -1))\n", " df_iter.loc[idx_new, f'{y_name}_1'] = mean.numpy().flatten()\n", " for lag in range(2, dict_cols['y'][0] + 1):\n", " df_iter.loc[idx_new, f\"{y_name}_{lag}\"] = df_iter.loc[idx_old, f\"{y_name}_{lag-1}\"]\n", " \n", " mean_iter, var_iter = m.predict_f(df_iter.to_numpy())\n", " plt.plot(df_iter.index, mean_iter.numpy(), '.-', label = 'predicted', color = 'orange')\n", "plt.plot(df_output.iloc[start_idx:start_idx + nb_predictions + N_pred], 'o-', label = 'measured', color = 'darkblue')\n", "plt.title(f\"Prediction over {N_pred} steps\")\n", "#plt.ylim([0.55, 0.65])\n", "#plt.savefig(f\"prediction_{N_pred}_steps.png\")" ] }, { "cell_type": "code", "execution_count": 77, "id": "9d3635fb-cd7d-474e-aa6d-161ba89c5178", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([9.78609652, 8.55323373, 2.90362544, 4.93180936, 2.90045941,\n", " 3.29581621, 6.82360381])" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gpflow.utilities.parameter_dict(m)['.kernel.lengthscales'].numpy()" ] }, { "cell_type": "code", "execution_count": 99, "id": "10b690d6-3a28-452e-81fe-d99757da6fee", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[17.2, 17.2, 17.2, 17.2, 24.2]])" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.params = np.empty((1, 5))\n", "np.params" ] }, { "cell_type": "code", "execution_count": 98, "id": "632bc0e2-745b-40c8-846b-842e5f2eba52", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([20.88013634, 21.10070421])" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scaler_helper.inverse_scale_output([0.5975, 0.6150])" ] }, { "cell_type": "code", "execution_count": 16, "id": "dd58711c-3eea-46d9-a4e4-0a2cd5475d85", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SolRadOutsideTempSimulatedHeatSimulatedTemp
00.00-2.1-5415.28811523.000000
10.00-2.1-5415.28811517.702812
20.00-2.1-5415.28811515.713357
30.00-2.1-5415.28811514.400440
40.00-2.1-5415.28811513.350697
...............
5136440.001.630874.54873220.361186
5137442.251.830150.06501720.195354
5138444.502.029424.65650820.072103
5139446.752.229374.42692819.952978
5140449.002.429372.82949619.899728
\n", "

5141 rows × 4 columns

\n", "
" ], "text/plain": [ " SolRad OutsideTemp SimulatedHeat SimulatedTemp\n", "0 0.00 -2.1 -5415.288115 23.000000\n", "1 0.00 -2.1 -5415.288115 17.702812\n", "2 0.00 -2.1 -5415.288115 15.713357\n", "3 0.00 -2.1 -5415.288115 14.400440\n", "4 0.00 -2.1 -5415.288115 13.350697\n", "... ... ... ... ...\n", "5136 440.00 1.6 30874.548732 20.361186\n", "5137 442.25 1.8 30150.065017 20.195354\n", "5138 444.50 2.0 29424.656508 20.072103\n", "5139 446.75 2.2 29374.426928 19.952978\n", "5140 449.00 2.4 29372.829496 19.899728\n", "\n", "[5141 rows x 4 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 17, "id": "48f85cab-889a-4a55-8fc9-3090a8b38bfc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df['OutsideTemp'].plot()" ] }, { "cell_type": "code", "execution_count": null, "id": "e66a6360-ac83-4448-830e-7af553e89222", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.9.4" } }, "nbformat": 4, "nbformat_minor": 5 }