diff --git a/H2O-NOVA/README.md b/H2O-NOVA/README.md new file mode 100644 index 000000000..233716edb --- /dev/null +++ b/H2O-NOVA/README.md @@ -0,0 +1,77 @@ + + + +--- + +#### **Project Name**: +**QATRA matters** ๐Ÿ’ง - AI-Powered Water Consumption Management + +--- +![looooogo (1)](https://github.com/user-attachments/assets/163e9365-a86d-4d4d-8af5-921024c72ef8) + +#### **Problem**: +Water scarcity ๐ŸŒ and inefficient water management are growing concerns, especially in regions like Morocco ๐Ÿ‡ฒ๐Ÿ‡ฆ. Despite existing efforts, many households and businesses lack tools to effectively track, manage, and reduce water consumption. Overuse, leaks, and wastage are common problems that lead to high bills and environmental strain . There is a need for a comprehensive, user-friendly solution to monitor, forecast, and optimize water usage. + +--- + +#### **Solution**: +**SmartWater** leverages **AI-driven technology** to provide real-time monitoring , predictive forecasting ๐Ÿ“Š, and personalized alerts to help users optimize water consumption. Our solution empowers individuals , businesses , and government bodies to adopt sustainable water usage practices ๐ŸŒฑ, reduce wastage ๐Ÿ’ฆ, and ultimately save resources ๐Ÿ’ฐ and costs. The integration of machine learning models, a chatbot ๐Ÿ—ฃ, and OCR technology makes our solution easy to use, efficient, and accessible for everyone. + +--- +#### **Workflow**: + +![Flowchart Building](https://github.com/user-attachments/assets/b2cc6812-3a6b-451c-99dc-75189dae6799) +![Flowchart Building (1)](https://github.com/user-attachments/assets/e2c66b4b-f5da-4e14-bd14-0c5c3ddffc86) + + +#### **Key Features**: +1. **Real-Time Water Consumption Tracking** ๐Ÿ“‰: + - Monitors water usage from traditional water meters ๐Ÿ’ง. + - Provides visualizations of current and historical water consumption data. + +2. **AI-Powered Forecasting** ๐Ÿ”ฎ: + - Uses **LSTM (Long Short-Term Memory)** models for predicting future water usage based on historical data ๐Ÿ“ˆ. + +3. **Threshold Alerts** ๐Ÿšจ: + - Notifies users when their water consumption exceeds a predefined limit . + - Encourages users to take corrective actions and reduce wastage. + +4. **Interactive Chatbot** : + - Provides personalized recommendations for reducing water consumption. + +5. **Water Bill Integration** ๐Ÿงพ: + - Scans and extracts data from water bills using **OCR** technology to automatically update and compare consumption data. + + +--- + +#### **Impact**: +1. **Sustainability** ๐ŸŒ: + - Promotes responsible water consumption and contributes to long-term environmental sustainability ๐ŸŒฑ. + +2. **Cost Savings** ๐Ÿ’ธ: + - Helps users reduce water bills by providing insights on where and how to save water . + +4. **Local Adaptation** : + - The chatbot will be enhanced with **Moroccan Arabic** ๐Ÿ—ฃ๏ธ to ensure accessibility and engagement for local users, making it easier for Moroccans to adopt sustainable water practices. + +5. **Scalability** ๐Ÿ“ˆ: + - Our solution can be scaled to address the needs of both urban and rural areas, impacting a wide range of users across Morocco. + +--- + +#### **Technologies Used**: +- **Machine Learning**: **LSTM (Long Short-Term Memory)** for predictive modeling ๐Ÿ“‰. +- **OCR**: **Tesseract** or **Google Vision API** for water bill scanning ๐Ÿงพ. +- **Web App**: Built using **Streamlit** for real-time dashboards and analytics ๐Ÿ“Š. +- **Chatbot**: Integrated with **Dialogflow** for natural language interactions ๐Ÿ—ฃ๏ธ. + +--- + +#### **Future Improvements**: +- **IoT Integration** : Compatibility with smart water meters for real-time, automated data collection ๐Ÿงญ. +- **Advanced AI Features** : More sophisticated anomaly detection algorithms for leaks or inefficiencies ๐Ÿš๏ธ. + +#### **Links**: +* DEMO:https://www.youtube.com/watch?v=ZPSJRCKDiYc&ab_channel=MeriameBoulaghrous +* PITCH:https://www.youtube.com/watch?v=1HCLl-bTkgU&ab_channel=MeriameBoulaghrous diff --git a/H2O-NOVA/admin/test_water_consumtion_api.py b/H2O-NOVA/admin/test_water_consumtion_api.py new file mode 100755 index 000000000..47e403842 --- /dev/null +++ b/H2O-NOVA/admin/test_water_consumtion_api.py @@ -0,0 +1,38 @@ +import requests +import matplotlib.pyplot as plt +from datetime import datetime + +# Define the API endpoint +api_url = "https://8791-34-40-149-146.ngrok-free.app/predict" + +payload = { + "days_to_predict": 7 # Predict the next 7 days +} + +try: + # Send a POST request to the API + response = requests.post(api_url, json=payload) + response.raise_for_status() # Raise an error for bad status codes + data = response.json() + + # Extract predictions and timestamps from the response + predictions = data["predictions"] + timestamps = data["timestamps"] + + # Convert timestamps to datetime objects + timestamps = [datetime.strptime(ts, "%Y-%m-%d") for ts in timestamps] + + # Plot the predictions + plt.figure(figsize=(10, 6)) + plt.plot(timestamps, predictions, marker="o", label="Predicted Meter Reading", color="orange") + plt.title("Forecasted Meter Reading") + plt.xlabel("Date") + plt.ylabel("Meter Reading") + plt.xticks(rotation=45) + plt.grid(True) + plt.legend() + plt.tight_layout() + plt.show() + +except requests.exceptions.RequestException as e: + print(f"An error occurred while fetching predictions: {e}") diff --git a/H2O-NOVA/admin/water_consumption_forecasting.ipynb b/H2O-NOVA/admin/water_consumption_forecasting.ipynb new file mode 100755 index 000000000..052a71c22 --- /dev/null +++ b/H2O-NOVA/admin/water_consumption_forecasting.ipynb @@ -0,0 +1 @@ +{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"colab":{"provenance":[],"gpuType":"T4"},"accelerator":"GPU","kaggle":{"accelerator":"gpu","dataSources":[],"dockerImageVersionId":30787,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"!git clone https://github.com/DAIAD/data.git\n!unzip data/swm_trialA_1k_clean.zip","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"zNFAQrOZyMi4","outputId":"f29c30e2-ec9f-4edc-d77c-f9b5841150f9","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:11.845713Z","iopub.execute_input":"2024-12-01T20:56:11.846052Z","iopub.status.idle":"2024-12-01T20:56:31.977985Z","shell.execute_reply.started":"2024-12-01T20:56:11.846027Z","shell.execute_reply":"2024-12-01T20:56:31.977140Z"}},"outputs":[{"name":"stdout","text":"Cloning into 'data'...\nremote: Enumerating objects: 80, done.\u001b[K\nremote: Total 80 (delta 0), reused 0 (delta 0), pack-reused 80 (from 1)\u001b[K\nReceiving objects: 100% (80/80), 184.00 MiB | 19.38 MiB/s, done.\nResolving deltas: 100% (25/25), done.\nUpdating files: 100% (26/26), done.\nArchive: data/swm_trialA_1k_clean.zip\n inflating: swm_trialA_1k_clean.csv \n creating: __MACOSX/\n inflating: __MACOSX/._swm_trialA_1k_clean.csv \n","output_type":"stream"}],"execution_count":2},{"cell_type":"code","source":"import pandas as pd","metadata":{"id":"vSLMHPU2yUoW","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:34.204836Z","iopub.execute_input":"2024-12-01T20:56:34.205193Z","iopub.status.idle":"2024-12-01T20:56:34.209018Z","shell.execute_reply.started":"2024-12-01T20:56:34.205163Z","shell.execute_reply":"2024-12-01T20:56:34.208205Z"}},"outputs":[],"execution_count":4},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom sklearn.preprocessing import MinMaxScaler","metadata":{"id":"zLctRW2v1fCF","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:34.609667Z","iopub.execute_input":"2024-12-01T20:56:34.610450Z","iopub.status.idle":"2024-12-01T20:56:35.753256Z","shell.execute_reply.started":"2024-12-01T20:56:34.610416Z","shell.execute_reply":"2024-12-01T20:56:35.752378Z"}},"outputs":[],"execution_count":5},{"cell_type":"code","source":"# Load the data\ndf = pd.read_csv('swm_trialA_1k_clean.csv' , sep=';')\n\ndf.rename(columns={'user.key': 'user_key',\n 'datetime': 'timestamp',\n 'meter.reading': 'meter_reading',\n 'diff': 'difference'}, inplace=True)","metadata":{"id":"u5xHC8wMyWyM","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:35.754718Z","iopub.execute_input":"2024-12-01T20:56:35.755180Z","iopub.status.idle":"2024-12-01T20:56:51.358395Z","shell.execute_reply.started":"2024-12-01T20:56:35.755154Z","shell.execute_reply":"2024-12-01T20:56:51.357672Z"}},"outputs":[],"execution_count":6},{"cell_type":"code","source":"df.head()","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":204},"id":"YV_oaP-LyfWV","outputId":"9cea033f-0a50-4e60-f96c-108a8316ea3c","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:51.359388Z","iopub.execute_input":"2024-12-01T20:56:51.359664Z","iopub.status.idle":"2024-12-01T20:56:51.375284Z","shell.execute_reply.started":"2024-12-01T20:56:51.359636Z","shell.execute_reply":"2024-12-01T20:56:51.374614Z"}},"outputs":[{"execution_count":7,"output_type":"execute_result","data":{"text/plain":" user_key timestamp meter_reading \\\n0 1c2c3f2d-c3ff-4487-b83c-6b9fce3818f5 19/05/2017 23:17:50 179015.0 \n1 1c2c3f2d-c3ff-4487-b83c-6b9fce3818f5 19/05/2017 22:17:50 179013.0 \n2 1c2c3f2d-c3ff-4487-b83c-6b9fce3818f5 19/05/2017 21:17:50 179006.0 \n3 1c2c3f2d-c3ff-4487-b83c-6b9fce3818f5 19/05/2017 20:17:50 179006.0 \n4 1c2c3f2d-c3ff-4487-b83c-6b9fce3818f5 19/05/2017 19:17:50 179002.0 \n\n difference \n0 2 \n1 7 \n2 0 \n3 4 \n4 9 ","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
user_keytimestampmeter_readingdifference
01c2c3f2d-c3ff-4487-b83c-6b9fce3818f519/05/2017 23:17:50179015.02
11c2c3f2d-c3ff-4487-b83c-6b9fce3818f519/05/2017 22:17:50179013.07
21c2c3f2d-c3ff-4487-b83c-6b9fce3818f519/05/2017 21:17:50179006.00
31c2c3f2d-c3ff-4487-b83c-6b9fce3818f519/05/2017 20:17:50179006.04
41c2c3f2d-c3ff-4487-b83c-6b9fce3818f519/05/2017 19:17:50179002.09
\n
"},"metadata":{}}],"execution_count":7},{"cell_type":"code","source":"df['user_key'].nunique()","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"wZNqeXEuyneF","outputId":"1ac9043d-1d93-42f2-b4d3-0856228e3087","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:51.376715Z","iopub.execute_input":"2024-12-01T20:56:51.376975Z","iopub.status.idle":"2024-12-01T20:56:52.575598Z","shell.execute_reply.started":"2024-12-01T20:56:51.376951Z","shell.execute_reply":"2024-12-01T20:56:52.574687Z"}},"outputs":[{"execution_count":8,"output_type":"execute_result","data":{"text/plain":"1099"},"metadata":{}}],"execution_count":8},{"cell_type":"code","source":"df['user_key'].value_counts()","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":484},"id":"9TCt4XLzyrVs","outputId":"af28888e-29d4-45b6-bedc-c613d19fb3d4","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:52.576644Z","iopub.execute_input":"2024-12-01T20:56:52.576970Z","iopub.status.idle":"2024-12-01T20:56:53.339348Z","shell.execute_reply.started":"2024-12-01T20:56:52.576941Z","shell.execute_reply":"2024-12-01T20:56:53.338272Z"}},"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":"user_key\n77852396-f4a2-4d47-a864-8723417d9591 69706\nc996d9cf-7826-4154-b141-e3e5e5a7b4aa 58428\nc0e7463c-8ed6-49b3-b4fd-a69449d8cee5 20649\nf12f91f7-81ca-4b7c-a5e8-3b81c4e5720b 20637\n0d060044-7b49-4fb7-9ad1-bc0f959d88e1 20633\n ... \n52710543-ce2c-4e4b-80bd-84cca4010ddb 83\n19423092-a8ea-404c-94aa-5c21f0c63197 59\nc6bc6412-cdb2-495d-99d0-febe68b2c924 39\nfaa66978-4d58-43df-ae8f-fc2611c43264 7\n54e5ebe6-72a3-404f-9f9e-9c7e3b8f306d 3\nName: count, Length: 1099, dtype: int64"},"metadata":{}}],"execution_count":9},{"cell_type":"code","source":"one_user_data = df[df['user_key'] == '77852396-f4a2-4d47-a864-8723417d9591']","metadata":{"id":"1Wjja4KtyvbE","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:53.340297Z","iopub.execute_input":"2024-12-01T20:56:53.340561Z","iopub.status.idle":"2024-12-01T20:56:54.488351Z","shell.execute_reply.started":"2024-12-01T20:56:53.340535Z","shell.execute_reply":"2024-12-01T20:56:54.487468Z"}},"outputs":[],"execution_count":10},{"cell_type":"code","source":"one_user_data","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":419},"id":"Qq2RN3ycy4ze","outputId":"df6fe183-9c41-40b5-ae5c-c083ac0e56c0","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.489579Z","iopub.execute_input":"2024-12-01T20:56:54.490060Z","iopub.status.idle":"2024-12-01T20:56:54.501467Z","shell.execute_reply.started":"2024-12-01T20:56:54.490019Z","shell.execute_reply":"2024-12-01T20:56:54.500638Z"}},"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":" user_key timestamp \\\n16069398 77852396-f4a2-4d47-a864-8723417d9591 19/05/2017 23:59:00 \n16069399 77852396-f4a2-4d47-a864-8723417d9591 19/05/2017 23:58:00 \n16069400 77852396-f4a2-4d47-a864-8723417d9591 19/05/2017 23:57:00 \n16069401 77852396-f4a2-4d47-a864-8723417d9591 19/05/2017 23:56:00 \n16069402 77852396-f4a2-4d47-a864-8723417d9591 19/05/2017 23:55:00 \n... ... ... \n16139099 77852396-f4a2-4d47-a864-8723417d9591 12/01/2017 01:15:00 \n16139100 77852396-f4a2-4d47-a864-8723417d9591 12/01/2017 01:00:00 \n16139101 77852396-f4a2-4d47-a864-8723417d9591 12/01/2017 00:45:00 \n16139102 77852396-f4a2-4d47-a864-8723417d9591 12/01/2017 00:30:00 \n16139103 77852396-f4a2-4d47-a864-8723417d9591 12/01/2017 00:15:00 \n\n meter_reading difference \n16069398 7868.0 0 \n16069399 7868.0 0 \n16069400 7868.0 0 \n16069401 7868.0 0 \n16069402 7868.0 0 \n... ... ... \n16139099 2546.0 0 \n16139100 2546.0 0 \n16139101 2546.0 0 \n16139102 2546.0 0 \n16139103 2546.0 0 \n\n[69706 rows x 4 columns]","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
user_keytimestampmeter_readingdifference
1606939877852396-f4a2-4d47-a864-8723417d959119/05/2017 23:59:007868.00
1606939977852396-f4a2-4d47-a864-8723417d959119/05/2017 23:58:007868.00
1606940077852396-f4a2-4d47-a864-8723417d959119/05/2017 23:57:007868.00
1606940177852396-f4a2-4d47-a864-8723417d959119/05/2017 23:56:007868.00
1606940277852396-f4a2-4d47-a864-8723417d959119/05/2017 23:55:007868.00
...............
1613909977852396-f4a2-4d47-a864-8723417d959112/01/2017 01:15:002546.00
1613910077852396-f4a2-4d47-a864-8723417d959112/01/2017 01:00:002546.00
1613910177852396-f4a2-4d47-a864-8723417d959112/01/2017 00:45:002546.00
1613910277852396-f4a2-4d47-a864-8723417d959112/01/2017 00:30:002546.00
1613910377852396-f4a2-4d47-a864-8723417d959112/01/2017 00:15:002546.00
\n

69706 rows ร— 4 columns

\n
"},"metadata":{}}],"execution_count":11},{"cell_type":"code","source":"one_user_data.drop(columns=['user_key'], inplace=True)","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xsXUgnjjy6qB","outputId":"c66b0de0-92cd-4e38-bd9b-5fd7cdb3e785","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.502364Z","iopub.execute_input":"2024-12-01T20:56:54.502660Z","iopub.status.idle":"2024-12-01T20:56:54.513304Z","shell.execute_reply.started":"2024-12-01T20:56:54.502635Z","shell.execute_reply":"2024-12-01T20:56:54.512476Z"}},"outputs":[{"name":"stderr","text":"/tmp/ipykernel_30/985255643.py:1: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n one_user_data.drop(columns=['user_key'], inplace=True)\n","output_type":"stream"}],"execution_count":12},{"cell_type":"code","source":"one_user_data","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":419},"id":"lj3P9JAAzCgF","outputId":"c1d7adb8-70b7-4c22-c259-cb541f360cea","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.516479Z","iopub.execute_input":"2024-12-01T20:56:54.516723Z","iopub.status.idle":"2024-12-01T20:56:54.526221Z","shell.execute_reply.started":"2024-12-01T20:56:54.516700Z","shell.execute_reply":"2024-12-01T20:56:54.525443Z"}},"outputs":[{"execution_count":13,"output_type":"execute_result","data":{"text/plain":" timestamp meter_reading difference\n16069398 19/05/2017 23:59:00 7868.0 0\n16069399 19/05/2017 23:58:00 7868.0 0\n16069400 19/05/2017 23:57:00 7868.0 0\n16069401 19/05/2017 23:56:00 7868.0 0\n16069402 19/05/2017 23:55:00 7868.0 0\n... ... ... ...\n16139099 12/01/2017 01:15:00 2546.0 0\n16139100 12/01/2017 01:00:00 2546.0 0\n16139101 12/01/2017 00:45:00 2546.0 0\n16139102 12/01/2017 00:30:00 2546.0 0\n16139103 12/01/2017 00:15:00 2546.0 0\n\n[69706 rows x 3 columns]","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
timestampmeter_readingdifference
1606939819/05/2017 23:59:007868.00
1606939919/05/2017 23:58:007868.00
1606940019/05/2017 23:57:007868.00
1606940119/05/2017 23:56:007868.00
1606940219/05/2017 23:55:007868.00
............
1613909912/01/2017 01:15:002546.00
1613910012/01/2017 01:00:002546.00
1613910112/01/2017 00:45:002546.00
1613910212/01/2017 00:30:002546.00
1613910312/01/2017 00:15:002546.00
\n

69706 rows ร— 3 columns

\n
"},"metadata":{}}],"execution_count":13},{"cell_type":"code","source":"one_user_data.iloc[69700:69706]","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"RFQM9h2yzL6M","outputId":"a433be89-88d4-480e-f82b-5c09009312e8","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.527266Z","iopub.execute_input":"2024-12-01T20:56:54.527902Z","iopub.status.idle":"2024-12-01T20:56:54.537808Z","shell.execute_reply.started":"2024-12-01T20:56:54.527864Z","shell.execute_reply":"2024-12-01T20:56:54.537046Z"}},"outputs":[{"execution_count":14,"output_type":"execute_result","data":{"text/plain":" timestamp meter_reading difference\n16139098 12/01/2017 01:30:00 2546.0 0\n16139099 12/01/2017 01:15:00 2546.0 0\n16139100 12/01/2017 01:00:00 2546.0 0\n16139101 12/01/2017 00:45:00 2546.0 0\n16139102 12/01/2017 00:30:00 2546.0 0\n16139103 12/01/2017 00:15:00 2546.0 0","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
timestampmeter_readingdifference
1613909812/01/2017 01:30:002546.00
1613909912/01/2017 01:15:002546.00
1613910012/01/2017 01:00:002546.00
1613910112/01/2017 00:45:002546.00
1613910212/01/2017 00:30:002546.00
1613910312/01/2017 00:15:002546.00
\n
"},"metadata":{}}],"execution_count":14},{"cell_type":"code","source":"one_user_data.info()","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"wfBuIyMYzTcd","outputId":"62cc3afe-bd12-40f1-8709-f493ac76d549","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.538796Z","iopub.execute_input":"2024-12-01T20:56:54.539068Z","iopub.status.idle":"2024-12-01T20:56:54.561856Z","shell.execute_reply.started":"2024-12-01T20:56:54.539044Z","shell.execute_reply":"2024-12-01T20:56:54.561055Z"}},"outputs":[{"name":"stdout","text":"\nIndex: 69706 entries, 16069398 to 16139103\nData columns (total 3 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 timestamp 69706 non-null object \n 1 meter_reading 69706 non-null float64\n 2 difference 69706 non-null int64 \ndtypes: float64(1), int64(1), object(1)\nmemory usage: 2.1+ MB\n","output_type":"stream"}],"execution_count":15},{"cell_type":"code","source":"one_user_data['timestamp'] = pd.to_datetime(one_user_data['timestamp'], format='%d/%m/%Y %H:%M:%S')","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2Owlr44xzzoV","outputId":"73cf68b6-832b-4517-a5a8-75c28c12f104","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.562763Z","iopub.execute_input":"2024-12-01T20:56:54.563047Z","iopub.status.idle":"2024-12-01T20:56:54.758960Z","shell.execute_reply.started":"2024-12-01T20:56:54.563024Z","shell.execute_reply":"2024-12-01T20:56:54.758149Z"}},"outputs":[{"name":"stderr","text":"/tmp/ipykernel_30/3075762036.py:1: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame.\nTry using .loc[row_indexer,col_indexer] = value instead\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n one_user_data['timestamp'] = pd.to_datetime(one_user_data['timestamp'], format='%d/%m/%Y %H:%M:%S')\n","output_type":"stream"}],"execution_count":16},{"cell_type":"code","source":"one_user_data.info()","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"7TMl0kxE0A9V","outputId":"7797d8c2-14f5-4298-c2cc-de861b67be39","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.760116Z","iopub.execute_input":"2024-12-01T20:56:54.760615Z","iopub.status.idle":"2024-12-01T20:56:54.775135Z","shell.execute_reply.started":"2024-12-01T20:56:54.760586Z","shell.execute_reply":"2024-12-01T20:56:54.774351Z"}},"outputs":[{"name":"stdout","text":"\nIndex: 69706 entries, 16069398 to 16139103\nData columns (total 3 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 timestamp 69706 non-null datetime64[ns]\n 1 meter_reading 69706 non-null float64 \n 2 difference 69706 non-null int64 \ndtypes: datetime64[ns](1), float64(1), int64(1)\nmemory usage: 2.1 MB\n","output_type":"stream"}],"execution_count":17},{"cell_type":"code","source":"# Set timestamp as index\none_user_data.set_index(\"timestamp\", inplace=True)","metadata":{"id":"C3u7xpcF0aKO","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.776123Z","iopub.execute_input":"2024-12-01T20:56:54.776394Z","iopub.status.idle":"2024-12-01T20:56:54.782638Z","shell.execute_reply.started":"2024-12-01T20:56:54.776369Z","shell.execute_reply":"2024-12-01T20:56:54.781805Z"}},"outputs":[],"execution_count":18},{"cell_type":"code","source":"one_user_data","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":450},"id":"IDLkittF8gXw","outputId":"82d669bf-dcdf-4339-ec28-4d7542ac0577","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.783657Z","iopub.execute_input":"2024-12-01T20:56:54.783956Z","iopub.status.idle":"2024-12-01T20:56:54.798226Z","shell.execute_reply.started":"2024-12-01T20:56:54.783931Z","shell.execute_reply":"2024-12-01T20:56:54.797464Z"}},"outputs":[{"execution_count":19,"output_type":"execute_result","data":{"text/plain":" meter_reading difference\ntimestamp \n2017-05-19 23:59:00 7868.0 0\n2017-05-19 23:58:00 7868.0 0\n2017-05-19 23:57:00 7868.0 0\n2017-05-19 23:56:00 7868.0 0\n2017-05-19 23:55:00 7868.0 0\n... ... ...\n2017-01-12 01:15:00 2546.0 0\n2017-01-12 01:00:00 2546.0 0\n2017-01-12 00:45:00 2546.0 0\n2017-01-12 00:30:00 2546.0 0\n2017-01-12 00:15:00 2546.0 0\n\n[69706 rows x 2 columns]","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
meter_readingdifference
timestamp
2017-05-19 23:59:007868.00
2017-05-19 23:58:007868.00
2017-05-19 23:57:007868.00
2017-05-19 23:56:007868.00
2017-05-19 23:55:007868.00
.........
2017-01-12 01:15:002546.00
2017-01-12 01:00:002546.00
2017-01-12 00:45:002546.00
2017-01-12 00:30:002546.00
2017-01-12 00:15:002546.00
\n

69706 rows ร— 2 columns

\n
"},"metadata":{}}],"execution_count":19},{"cell_type":"code","source":"one_user_data.info()","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"5rgRT51z8itj","outputId":"f3d35aec-3f2e-4ada-9f58-799a5bf91698","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.799089Z","iopub.execute_input":"2024-12-01T20:56:54.799292Z","iopub.status.idle":"2024-12-01T20:56:54.812228Z","shell.execute_reply.started":"2024-12-01T20:56:54.799271Z","shell.execute_reply":"2024-12-01T20:56:54.811421Z"}},"outputs":[{"name":"stdout","text":"\nDatetimeIndex: 69706 entries, 2017-05-19 23:59:00 to 2017-01-12 00:15:00\nData columns (total 2 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 meter_reading 69706 non-null float64\n 1 difference 69706 non-null int64 \ndtypes: float64(1), int64(1)\nmemory usage: 1.6 MB\n","output_type":"stream"}],"execution_count":20},{"cell_type":"code","source":"# Sort the data by timestamp (just in case it's not sorted)\none_user_data = one_user_data.sort_index()\n\n# Filter the data for March 2017\nmarch_data = one_user_data['2017-03-01':'2017-03-31']","metadata":{"id":"o9cUaJlJ9aAs","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.813208Z","iopub.execute_input":"2024-12-01T20:56:54.813471Z","iopub.status.idle":"2024-12-01T20:56:54.833627Z","shell.execute_reply.started":"2024-12-01T20:56:54.813445Z","shell.execute_reply":"2024-12-01T20:56:54.832873Z"}},"outputs":[],"execution_count":21},{"cell_type":"code","source":"# Plot the meter_reading for March 2017\nplt.figure(figsize=(10, 6))\nplt.plot(march_data.index, march_data['meter_reading'], label='Actual Meter Reading', color='blue')\nplt.title('Meter Reading for March 2017')\nplt.xlabel('Timestamp')\nplt.ylabel('Meter Reading')\nplt.xticks(rotation=45)\nplt.legend()\nplt.grid(True)\nplt.tight_layout()\nplt.show()","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":575},"id":"_AdSggFq9ml6","outputId":"cc93e7ba-4105-4ec9-be5b-b87425226e06","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:54.834595Z","iopub.execute_input":"2024-12-01T20:56:54.834863Z","iopub.status.idle":"2024-12-01T20:56:55.300240Z","shell.execute_reply.started":"2024-12-01T20:56:54.834812Z","shell.execute_reply":"2024-12-01T20:56:55.299496Z"}},"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACPqklEQVR4nOzdeZyNdf/H8feZfSwzg8GgsZddZCkUsswIiZRkFJGUrWhFKWs/rbRKoeU2pW4tkjAttrJnzRIhwpBlDIaZM3Ou3x/nnsNpZjhnZs6cc828no+Hx3XOdX2vcz7n+hjOe67NYhiGIQAAAAAAkO/8vF0AAAAAAACFFaEbAAAAAAAPIXQDAAAAAOAhhG4AAAAAADyE0A0AAAAAgIcQugEAAAAA8BBCNwAAAAAAHkLoBgAAAADAQwjdAAAAAAB4CKEbAACTaNu2rdq2bet4fuDAAVksFn344YdeqWfPnj2KiYlReHi4LBaLvv76a6/U4Qsye/HKK694uxQAgI8hdAMA8uTDDz+UxWKRxWLRqlWrsiw3DEPR0dGyWCzq2rVrrt7jnXfeKfBgWbVqVcfnslgsKl68uJo3b66PP/64QOvwZf369dO2bds0efJkffLJJ2ratKnH3isz1FosFk2aNCnbMXFxcbJYLCpRooTH6vCUXbt26amnnlKjRo1UsmRJVahQQV26dNGGDRuyHX/48GH16tVLERERCgsL0x133KF9+/ZlGffuu+/q7rvvVuXKlWWxWNS/f/9sX69t27ZOf98v/xMYGJifHxUAipwAbxcAACgcQkJCFB8fr5tvvtlp/vLly/X3338rODg416/9zjvvKDIyMsfA4CmNGjXS448/Lkk6evSoPvjgA/Xr10+pqakaNGhQgdaSnSpVqujChQteCUUXLlzQ6tWrNXbsWA0bNqzA3jckJESffvqpnn32Waf558+f1zfffKOQkJACqyU/ffDBB5o1a5Z69uypIUOG6MyZM3rvvfd00003afHixerQoYNj7Llz53TrrbfqzJkzGjNmjAIDA/X666+rTZs22rx5s8qUKeMYO3XqVJ09e1bNmzfX0aNHc3z/sWPH6sEHH3Sad/78eT388MOKiYnJ/w8MAEUIoRsAkC86d+6sL774Qm+88YYCAi799xIfH68mTZroxIkTXqwuq/T0dNlsNgUFBeU4plKlSurbt6/jef/+/VW9enW9/vrrPhG6LRaL10LmP//8I0mKiIjIt9c8f/68ihcvfsUxnTt31pdffqktW7bo+uuvd8z/5ptvlJaWpk6dOumnn37Kt5pSUlJUrFixfHu9nNx777164YUXnPbSDxgwQHXq1NELL7zgFLrfeecd7dmzR+vWrVOzZs0kSbfddpvq16+vV199VVOmTHGMXb58uWMv95WOAOjYsWOWef/5z38k2Y8gAADkHoeXAwDyxb333quTJ08qISHBMS8tLU3//e9/1adPn2zXsdlsmjZtmurVq6eQkBCVL19egwcP1unTpx1jqlatqt9//13Lly93HO56+XnNSUlJeuyxxxQdHa3g4GDVrFlTU6dOlc1mc4y5/HzbadOmqUaNGgoODtaOHTvc+oxly5ZV7dq19eeff7r9OSR7MOzSpYsqVqyo4OBg1ahRQxMnTlRGRkaW95o5c6Zq1Kih0NBQNW/eXCtXrswyJrtzuvv3768SJUro8OHD6t69u0qUKKGyZcvqiSeeyPI+J0+e1H333aewsDBFRESoX79+2rJly1XPE3/hhRdUpUoVSdKTTz4pi8WiqlWrOpZv2rRJt912m8LCwlSiRAm1b99ea9ascXqNzNMSli9friFDhqhcuXK65pprcnzPTC1atFC1atUUHx/vNH/u3Lnq1KmTSpcunWUdV7d727ZtVb9+fW3cuFGtW7dWsWLFNGbMGEnSxYsX9cILL+i6665TSEiIKlSooDvvvDPL3wXpUu+Cg4PVrFkzrV+//qqfq0mTJllCcZkyZXTLLbdo586dTvP/+9//qlmzZo7ALUm1a9dW+/bt9fnnnzuNrVKliiwWy1XfPzvx8fEqXry47rjjjlytDwCwY083ACBfVK1aVS1atNCnn36q2267TZL0/fff68yZM+rdu7feeOONLOsMHjxYH374oR544AGNGDFC+/fv11tvvaVNmzbpl19+UWBgoKZNm6bhw4erRIkSGjt2rCSpfPnykux7Idu0aaPDhw9r8ODBqly5sn799VeNHj1aR48e1bRp05zeb86cObp48aIeeughBQcHZxvQriQ9PV1///23SpUq5fbnkOxBs0SJEho1apRKlCihn376SePGjVNycrJefvllx+vNmjVLgwcPVsuWLfXYY49p37596tatm0qXLq3o6Oir1pmRkaHY2FjdeOONeuWVV/TDDz/o1VdfVY0aNfTII49Isv+i4Pbbb9e6dev0yCOPqHbt2vrmm2/Ur1+/q77+nXfeqYiICI0cOVL33nuvOnfu7AiMv//+u2655RaFhYXpqaeeUmBgoN577z21bdtWy5cv14033uj0WkOGDFHZsmU1btw4nT9//qrvLdl/wfOf//xH//d//yeLxaITJ05o6dKl+uSTT7R48eIs413d7pL9FxG33Xabevfurb59+6p8+fLKyMhQ165d9eOPP6p379569NFHdfbsWSUkJGj79u2qUaOGY/34+HidPXtWgwcPlsVi0UsvvaQ777xT+/bty9VpAImJiYqMjHQ8t9ls2rp1qwYMGJBlbPPmzbV06VKdPXtWJUuWdPu9LvfPP/8oISFB99xzz1WPPgAAXIUBAEAezJkzx5BkrF+/3njrrbeMkiVLGikpKYZhGMbdd99t3HrrrYZhGEaVKlWMLl26ONZbuXKlIcmYO3eu0+stXrw4y/x69eoZbdq0yfLeEydONIoXL2788ccfTvOfeeYZw9/f3zh48KBhGIaxf/9+Q5IRFhZmHD9+3KXPVaVKFSMmJsb4559/jH/++cfYtm2bcd999xmSjKFDh+bqc2Rul8sNHjzYKFasmHHx4kXDMAwjLS3NKFeunNGoUSMjNTXVMW7mzJmGJKftkPm55syZ45jXr18/Q5IxYcIEp/dp3Lix0aRJE8fz+fPnG5KMadOmOeZlZGQY7dq1y/Ka2cl875dfftlpfvfu3Y2goCDjzz//dMw7cuSIUbJkSaN169aOeZl/b26++WYjPT39iu/17/fbvn27IclYuXKlYRiG8fbbbxslSpQwzp8/b/Tr188oXry407qubHfDMIw2bdoYkowZM2Y4jZ09e7YhyXjttdeyvI7NZnOqr0yZMsapU6ccy7/55htDkvHtt99e9TP+24oVKwyLxWI899xzjnn//PNPtv01DPt2kGTs2rUr29crXry40a9fP5fe+8033zQkGYsWLXK7bgCAMw4vBwDkm169eunChQtauHChzp49q4ULF+Z4aPkXX3yh8PBwdezYUSdOnHD8yTzM9ueff77q+33xxRe65ZZbVKpUKafX6NChgzIyMrRixQqn8T179lTZsmVd/jxLly5V2bJlVbZsWTVo0ECffPKJHnjgAae9o+58jtDQUMfjs2fP6sSJE7rllluUkpKiXbt2SZI2bNig48eP6+GHH3Y637x///4KDw93ufaHH37Y6fktt9zidHXrxYsXKzAw0OncdD8/Pw0dOtTl9/i3jIwMLV26VN27d1f16tUd8ytUqKA+ffpo1apVSk5Odlpn0KBB8vf3d+t96tWrp4YNG+rTTz+VZN+7fMcdd+R47rUr2z1TcHCwHnjgAad58+fPV2RkpIYPH57ltf996PY999zjdCTELbfcIknZXln8So4fP64+ffqoWrVqeuqppxzzL1y44Kjz3zLP788ckxfx8fEqW7Zstud6AwDcw+HlAIB8U7ZsWXXo0EHx8fFKSUlRRkaG7rrrrmzH7tmzR2fOnFG5cuWyXX78+PGrvt+ePXu0devWHIP0v1+jWrVqV33Ny914442aNGmSMjIytH37dk2aNEmnT592CsPufI7ff/9dzz77rH766acs4fPMmTOSpL/++kuSdO211zotDwwMdAqyVxISEpJlm5QqVcrpHPO//vpLFSpUyBJUa9as6dJ7ZOeff/5RSkqKatWqlWVZnTp1ZLPZdOjQIdWrV88x392eZOrTp49effVVjRw5Ur/++qvj3OvsuLLdM1WqVCnLxfX+/PNP1apVy+kCgTmpXLmy0/PMAP7v8/uv5Pz58+ratavOnj2rVatWOZ3rnfkLhNTU1CzrXbx40WlMbu3bt0+rV6/WsGHDXPrMAIAr419SAEC+6tOnjwYNGqTExETddtttOV7d2mazqVy5cpo7d262y13ZI22z2dSxY0enPYGXu+6665yeuxtGIiMjHVeNjo2NVe3atdW1a1dNnz5do0aNctTgyudISkpSmzZtFBYWpgkTJqhGjRoKCQnRb7/9pqefftrpwm955e6eY2/KbUC89957NXr0aA0aNEhlypTJ8bZW7m73vAbWnLa9YRgurZ+WlqY777xTW7du1ZIlS1S/fn2n5aVLl1ZwcHC2t//KnFexYkU3q3aWeZE6rloOAPmD0A0AyFc9evTQ4MGDtWbNGs2bNy/HcTVq1NAPP/ygVq1aXTXo5HT15Ro1aujcuXNOt1PypC5duqhNmzaaMmWKBg8erOLFi7v8OZYtW6aTJ0/qyy+/VOvWrR3z9+/f7zQu86rge/bsUbt27RzzrVar9u/f73SbrLyoUqWKfv755yy3xNq7d2+uX7Ns2bIqVqyYdu/enWXZrl275Ofn59KF4FxRuXJltWrVSsuWLdMjjzyS4x5ZV7f7ldSoUUNr166V1Wr16D3RbTab7r//fv3444/6/PPP1aZNmyxj/Pz81KBBA23YsCHLsrVr16p69ep5vohafHy8atSooZtuuilPrwMAsOOcbgBAvipRooTeffddvfDCC7r99ttzHNerVy9lZGRo4sSJWZalp6crKSnJ8bx48eJOzy9/jdWrV2vJkiVZliUlJSk9PT1Xn+FKnn76aZ08eVLvv/++owZXPkfmHtDL93impaXpnXfecVqnadOmKlu2rGbMmKG0tDTH/A8//DDbbZBbsbGxslqtjs8h2UPf22+/nevX9Pf3V0xMjL755hsdOHDAMf/YsWOKj4/XzTffrLCwsLyU7WTSpEl6/vnnsz3X+vKapKtv9yvp2bOnTpw4obfeeivLMlf3YLti+PDhmjdvnt555x3deeedOY676667tH79eqfgvXv3bv3000+6++6781TDpk2btHPnzhyvxQAAcB97ugEA+c6V2061adNGgwcP1osvvqjNmzcrJiZGgYGB2rNnj7744gtNnz7dcT54kyZN9O6772rSpEmqWbOmypUrp3bt2unJJ5/UggUL1LVrV/Xv319NmjTR+fPntW3bNv33v//VgQMHnG63lB9uu+021a9fX6+99pqGDh3q8udo2bKlSpUqpX79+mnEiBGyWCz65JNPsoS2wMBATZo0SYMHD1a7du10zz33aP/+/ZozZ47L53S7onv37mrevLkef/xx7d27V7Vr19aCBQt06tQpSTkfXXA1kyZNUkJCgm6++WYNGTJEAQEBeu+995SamqqXXnop3+qX7H+HstsbfDlXt/uV3H///fr44481atQorVu3TrfccovOnz+vH374QUOGDMmX+1hPmzZN77zzjlq0aKFixYrpP//5j9PyHj16OG7dNWTIEL3//vvq0qWLnnjiCQUGBuq1115T+fLl9fjjjzut9+2332rLli2S7EdLbN26VZMmTZIkdevWTQ0bNnQan3maBIeWA0D+IXQDALxmxowZatKkid577z2NGTNGAQEBqlq1qvr27atWrVo5xo0bN05//fWXXnrpJZ09e1Zt2rRRu3btVKxYMS1fvlxTpkzRF198oY8//lhhYWG67rrrNH78eLeu9u2OJ554Qv3799fcuXPVv39/lz5HmTJltHDhQj3++ON69tlnVapUKfXt21ft27dXbGys0+s/9NBDysjI0Msvv6wnn3xSDRo00IIFC/Tcc8/l22fw9/fXd999p0cffVQfffSR/Pz81KNHDz3//PNq1aqV40rY7qpXr55Wrlyp0aNH68UXX5TNZtONN96o//znP1nu0V0Q3NnuOfH399eiRYs0efJkxcfHa/78+SpTpoxuvvlmNWjQIF/q3Lx5syRp9erVWr16dZbl+/fvd4TukiVLatmyZRo5cqQmTZokm82mtm3b6vXXX89yLYT58+fro48+cjzftGmTNm3aJEm65pprnEK3zWbTZ599phtuuCHbi+EBAHLHYuTncVEAAMDUvv76a/Xo0UOrVq1y+sUHAADIHUI3AABF1IULF5wu/paRkaGYmBht2LBBiYmJeb6SNwAA4PByAACKrOHDh+vChQtq0aKFUlNT9eWXX+rXX3/VlClTCNwAAOQT9nQDAFBExcfH69VXX9XevXt18eJF1axZU4888oiGDRvm7dIAACg0CN0AAAAAAHgI9+kGAAAAAMBDCN0AAAAAAHgIF1Jzkc1m05EjR1SyZElZLBZvlwMAAAAA8CLDMHT27FlVrFhRfn45788mdLvoyJEjio6O9nYZAAAAAAAfcujQIV1zzTU5Lid0u6hkyZKS7Bs0LCzMy9Vkz2q1aunSpYqJiVFgYKC3y0EO6JM50CdzoE/mQa/MgT6ZA30yB/qUN2bYfsnJyYqOjnZkxZwQul2UeUh5WFiYT4fuYsWKKSwszGf/YoI+mQV9Mgf6ZB70yhzokznQJ3OgT3ljpu13tdOPuZAaAAAAAAAeQugGAAAAAMBDCN0AAAAAAHgI53Tno4yMDFmtVq+9v9VqVUBAgC5evKiMjAyv1YErKyp9CgwMlL+/v7fLAAAAALyK0J0PDMNQYmKikpKSvF5HVFSUDh06xL3EfVhR6lNERISioqIK/ecEAAAAckLozgeZgbtcuXIqVqyY1wKGzWbTuXPnVKJEiSvenB3eVRT6ZBiGUlJSdPz4cUlShQoVvFwRAAAA4B2E7jzKyMhwBO4yZcp4tRabzaa0tDSFhIQU2jBXGBSVPoWGhkqSjh8/rnLlynGoOQAAAIqkwvuNv4BknsNdrFgxL1cC+J7MnwtvXusAAAAA8CZCdz7hnFUgK34uAAAAUNQRugEAAAAA8BBCN3yWxWLR119/7e0yCo3Lt+eBAwdksVi0efNmr9YEAAAAFHaEbmj16tXy9/dXly5d3F63atWqmjZtWv4X5YL+/fvLYrHo4YcfzrJs6NChslgs6t+/v8uvt2zZMlksFo/e+s1iscjf31+lSpVSRESEmjVrpm+++cZj75eT6OhoHT16VPXr1y/w9wYAAACKEkI3NGvWLA0fPlwrVqzQkSNHvF2OW6Kjo/XZZ5/pwoULjnkXL15UfHy8Kleu7JWaDMNQenp6jstnzZqlXbt2ad26dWrVqpXuuusubdu2rQArlPz9/RUVFaWAAG5gAAAAAHgSobuIO3funObNm6dHHnlEXbp00YcffphlzLfffqtmzZopJCREkZGR6tGjhySpbdu2+uuvvzRy5EhZLBbHRbNeeOEFNWrUyOk1pk2bpqpVqzqer1+/Xh07dlRkZKTCw8PVpk0b/fbbb27Xf8MNNyg6OlpffvmlY96XX36pypUrq3Hjxk5jbTabXnzxRVWrVk2hoaG6/vrr9d///leS/XDrW2+9VZJUqlQpp73kV1pPurSH/Pvvv1eTJk0UHBysVatW5VhzRESEypcvr+uuu04TJ05Uenq6fv75Z8fyQ4cOqVevXoqIiFDp0qV1xx136MCBA25tuz179qh169YKCQlR3bp1lZCQ4LT834eXZ36GH3/8UU2bNlWxYsXUsmVL7d6922m9SZMmqVy5cipZsqQefPBBPfPMM1l6DQAAAOASQrcHGIZ0/rx3/hiGe7V+/vnnql27tmrVqqW+fftq9uzZMi57ke+++049evRQ586dtWnTJv34449q3ry5JHu4veaaazRhwgQdPXpUR48edfl9z549q379+mnVqlVas2aNrr32WnXu3Flnz5517wNIGjBggObMmeN4Pnv2bD3wwANZxr344ov6+OOPNWPGDP3+++8aOXKk+vbtq+XLlys6Olrz58+XJO3evVtHjx7V9OnTr7re5Z555hn93//9n3bu3KmGDRtete709HTNmjVLkhQUFCTJfmut2NhYlSxZUitXrtQvv/yiEiVKqFOnTkpLS3Np29lsNt15550KCgrS2rVrNWPGDD399NMubcuxY8fq1Vdf1YYNGxQQEKABAwY4ls2dO1eTJ0/W1KlTtXHjRlWuXFnvvvuuS68LAAAAFFUcW+oBKSlSiRLeeGc//f23FB7u+hqzZs1S3759JUmdOnXSmTNntHz5crVt21aSNHnyZPXu3Vvjx493rHP99ddLkkqXLi1/f3+VLFlSUVFRblXarl07p+czZ85URESEli9frq5du7r1Wn379tXo0aP1119/SZJ++eUXffbZZ1q2bJljTGpqqqZMmaIffvhBLVq0kCRVr15dq1at0nvvvac2bdqodOnSkqRy5copIiLC5fUyTZgwQR07drxqvXFxcfL399eFCxdks9lUtWpV9erVS5I0b9482Ww2ffDBB44jB+bMmaOIiAgtW7ZMMTExV912P/zwg3bt2qUlS5aoYsWKkqQpU6botttuu2ptkydPdnymZ555Rl26dNHFixcVEhKiN998UwMHDnT8QmPcuHFaunSpzp07d9XXBQAAAIoqQncRtnv3bq1bt05fffWVJCkgIED33HOPZs2a5Qjdmzdv1qBBg/L9vY8dO6Znn31Wy5Yt0/Hjx5WRkaGUlBQdPHjQ7dcqW7as49B4wzDUpUsXRUZGOo3Zu3evUlJSsoTitLS0LIeh53a9pk2bulTvq6++qptuuknHjx/X448/rjfeeMMR+Lds2aK9e/eqZMmSTutcvHhRf/75p6Srb7udO3cqOjraEbglOX5hcDWX76GvUKGCJOn48eOqXLmydu/erSFDhjiNb968uX766SeXXhsAAAC4mr//ls6ckaxW6fDh4t4uJ18Quj2gWDHJGzv/bDabrnD9rixmzZql9PR0p3BmGIaCg4P11ltvKTw8XKGhoW7X4efn53SIumQ/bPpy/fr108mTJzV9+nRVqVJFwcHBatGiheMQancNGDBAw4YNkyS9/fbbWZZn7o397rvvVKlSJadlwcHBOb6uO+sVL+7aPwpRUVGqXr26GjVqpDlz5qhz587asWOHypUrp3PnzqlJkyaaO3dulvXKli0rKf+33eUCAwMdjzP3tNtstjy/LgAAAJCTf/6R4uOlRYukpUsz5wYqMrKlPLD/r8ARuj3AYpFczF/5ymaTkpNdG5uenq6PP/5Yr776qmJiYpyWde/eXZ9++qkefvhhNWzYUD/++GO250hL9nORMzIynOaVLVtWiYmJMgzDEdz+fT/oX375Re+88446d+4syX7xsBMnTrhWfDYyz3m2WCyKjY3Nsrxu3boKDg7WwYMHnQ4J//dnkeT0eVxZLy+aN2+uJk2aaPLkyZo+fbpuuOEGzZs3T+XKlVNYWFi261xt29WpU0eHDh3S0aNHHXur16xZk+daa9WqpfXr1+v+++93zFu/fn2eXxcAAABF29Ch0hdfOM+LjDRUooRVUmC265gJF1IrohYuXKjTp09r4MCBql+/vtOfnj17Oi7w9fzzz+vTTz/V888/r507d2rbtm2aOnWq43WqVq2qFStW6PDhw47g17ZtW/3zzz966aWX9Oeff+rtt9/W999/7/T+1157rT755BPt3LlTa9euVVxcXK72qmfy9/fXzp07tWPHDvn7+2dZXrJkST3xxBMaOXKkPvroI/3555/67bff9Oabb+qjjz6SJFWpUkUWi0ULFy7UP//8o3Pnzrm0Xl499thjeu+993T48GHFxcUpMjJSd9xxh1auXKn9+/dr2bJlGjFihP7++29JV992HTp00HXXXad+/fppy5YtWrlypcaOHZvnOocPH65Zs2bpo48+0p49ezRp0iRt3brV8YsVAAAAwF1//HEpcN97r/Too/bDy48cSde0acu8Wlt+8XroPnz4sPr27asyZcooNDRUDRo00IYNGxzL+/fv77gdVeafTp06Ob3GqVOnFBcXp7CwMEVERGjgwIFZLu60detW3XLLLQoJCVF0dLReeumlAvl8vmrWrFnq0KGDwrO56lrPnj21YcMGbd26VW3bttUXX3yhBQsWqFGjRmrXrp3WrVvnGDthwgQdOHBANWrUcBz+XKdOHb3zzjt6++23df3112vdunV64oknsrz/6dOndcMNN+i+++7TiBEjVK5cuTx9prCwsBz3DkvSxIkT9dxzz+nFF19UnTp11KlTJ3333XeqVq2aJKlSpUoaP368nnnmGZUvX95xuPrV1surTp06qVq1apo8ebKKFSumFStWqHLlyrrzzjtVp04dDRw4UBcvXnR8tqttOz8/P3311Ve6cOGCmjdvrgcffFCTJ0/Oc51xcXEaPXq0nnjiCd1www3av3+/+vfvr5CQkDy/NgAAAIqmzJvlNG9uP8R82jTpCl/pTcli/Pvk2wJ0+vRpNW7cWLfeeqseeeQRlS1bVnv27FGNGjVUo0YNSfbQfezYMadbQgUHB6tUqVKO57fddpuOHj2q9957T1arVQ888ICaNWum+Ph4SVJycrKuu+46dejQQaNHj9a2bds0YMAATZs2TQ899JBLtSYnJys8PFxnzpxxCnYXL17U/v37Va1aNa+HD5vNpuTkZIWFhcnP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YID69esnSfL391dGRoaXK4Rk71PLli31448/6tNPP9Vrr72mr776yttl4V+2bNmim266Sb1791ZUVJTi4+O9XRKywXcJ8+C7hDnwXSJvvPVvEqEb2frrr7/Us2dPrVixQm+//bYWLFjAf5Y+avv27WrZsqVGjhypV155RYZhKDExUVu2bJHVavV2efif48eP695779WDDz6oBQsWaPfu3brtttv0ySef6LbbbpNk/8/SZrN5udKi7Y8//lDnzp01cOBALViwQL/88otSUlJ09OhRb5eGy2zatEktWrTQY489prfeektDhw7V559/rq1bt3q7NFyG7xLmwXcJc+C7RN54898kQjeyyMjI0Pz581WzZk2tW7dOERERmjJlCv9Z+qBz587p0UcfVWBgoMaPHy9J6tmzpzp37qzGjRurY8eOmjZtmneLhCRpz549CgwM1JAhQxQQEKAyZcronnvuUeXKlbVhwwbHf5Z+fvyz7C1paWmaOXOmYmJiNG7cOElSZGSkGjRooG3btunRRx/V1KlTvVwlDh8+rDvuuEPDhw/Xiy++KElq2bKl0tLStGHDBkliT48P4LuEefBdwjz4LpF73v43iY4gC39/f7Vr107333+/rr/+en333XcqX7684y9mamoq/1n6iICAAD344IOqUKGCbr/9dsXGxio9PV3PPvusfv31V1WpUkXx8fH66KOPvF1qkZeamqqkpCQdOXLEMe/ixYsqW7asnnvuOe3fv1+ffvqpFyuEv7+/evXqpREjRigoKEgWi0WTJ09WfHy8DMPQ0aNH9fHHH6tHjx7eLrVICwwM1DvvvOP0C5CWLVuqS5cumjRpkpKTkzmn0QfwXcI8+C5hHnyXyD2v/5tkANlIS0tzep6ammp06tTJaNy4sfHFF184ln/99dfeKA+XSUlJMebPn2/UqFHDaNGihXHkyBHHsqSkJOOWW24x7rnnHi9WCMMwjL/++suoVq2aERcXZ8THxxvLli0zwsPDjTFjxhiGYRgtWrQwHn/8cS9XWXTZbDbDMAwjPT3dMW/v3r3GNddcY3z77beOeR988IFRrVo1Y+fOnQVeIwwjIyMjx3nLly83atSoYXz++ec5jkXBslqtTs/5LuG7+C5hDgcPHjSqV6/Od4lc8ma+CfBMlIfZnDhxQocOHVKxYsVUrlw5lSpVSjabTX5+fkpPT1dQ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"},"metadata":{}}],"execution_count":22},{"cell_type":"code","source":"one_user_data.shape","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"xy_xHorrAECt","outputId":"4849a53e-7771-4229-af4f-9d01ec8541c7","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:55.301467Z","iopub.execute_input":"2024-12-01T20:56:55.301848Z","iopub.status.idle":"2024-12-01T20:56:55.307690Z","shell.execute_reply.started":"2024-12-01T20:56:55.301795Z","shell.execute_reply":"2024-12-01T20:56:55.306799Z"}},"outputs":[{"execution_count":23,"output_type":"execute_result","data":{"text/plain":"(69706, 2)"},"metadata":{}}],"execution_count":23},{"cell_type":"code","source":"69706 * 0.7","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"oy3E_8yxAL6D","outputId":"5f36ca1b-50c5-4c7e-8934-41b49a3b9971","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:55.308697Z","iopub.execute_input":"2024-12-01T20:56:55.308995Z","iopub.status.idle":"2024-12-01T20:56:55.316634Z","shell.execute_reply.started":"2024-12-01T20:56:55.308970Z","shell.execute_reply":"2024-12-01T20:56:55.315883Z"}},"outputs":[{"execution_count":24,"output_type":"execute_result","data":{"text/plain":"48794.2"},"metadata":{}}],"execution_count":24},{"cell_type":"code","source":"# Split the data into training and testing sets\ntrain_data = one_user_data[:50000]\ntest_data = one_user_data[50000:]\n\n# Print the shapes of the splits to confirm\nprint(f\"Training data shape: {train_data.shape}\")\nprint(f\"Testing data shape: {test_data.shape}\")","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_zYj3Ymd_9T1","outputId":"d0b1c4b5-7c2f-484a-c722-33b659cdb63b","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:55.317525Z","iopub.execute_input":"2024-12-01T20:56:55.317805Z","iopub.status.idle":"2024-12-01T20:56:55.326122Z","shell.execute_reply.started":"2024-12-01T20:56:55.317781Z","shell.execute_reply":"2024-12-01T20:56:55.325388Z"}},"outputs":[{"name":"stdout","text":"Training data shape: (50000, 2)\nTesting data shape: (19706, 2)\n","output_type":"stream"}],"execution_count":25},{"cell_type":"code","source":"from sklearn.preprocessing import MinMaxScaler\n\n# Initialize the scaler\nscaler = MinMaxScaler(feature_range=(0, 1))\n\n# Normalize the training data\ntrain_scaled = scaler.fit_transform(train_data['meter_reading'].values.reshape(-1, 1))\n\n# Create lag features for training data\nlags = 5\nX_train, y_train = [], []\nfor i in range(lags, len(train_scaled)):\n X_train.append(train_scaled[i-lags:i].flatten())\n y_train.append(train_scaled[i])\n\nX_train = np.array(X_train)\ny_train = np.array(y_train)\n\n# Reshape X_train for LSTM input\nX_train = X_train.reshape(X_train.shape[0], X_train.shape[1], 1)\n\n# Normalize the test data using the same scaler\ntest_scaled = scaler.transform(test_data['meter_reading'].values.reshape(-1, 1))\n\n# Create lag features for test data\nX_test = []\nfor i in range(lags, len(test_scaled)):\n X_test.append(test_scaled[i-lags:i].flatten())\n\nX_test = np.array(X_test)\nX_test = X_test.reshape(X_test.shape[0], X_test.shape[1], 1)","metadata":{"id":"T8RO41k4-s-L","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:55.326928Z","iopub.execute_input":"2024-12-01T20:56:55.327135Z","iopub.status.idle":"2024-12-01T20:56:55.476364Z","shell.execute_reply.started":"2024-12-01T20:56:55.327113Z","shell.execute_reply":"2024-12-01T20:56:55.475693Z"}},"outputs":[],"execution_count":26},{"cell_type":"code","source":"from tensorflow.keras.models import Sequential\nfrom tensorflow.keras.layers import LSTM, Dense\n\n# Define the LSTM model\nmodel = Sequential()\nmodel.add(LSTM(units=50, return_sequences=False, input_shape=(X_train.shape[1], 1)))\nmodel.add(Dense(units=1)) # Output layer to predict the next meter_reading\nmodel.compile(optimizer='adam', loss='mean_squared_error')\n\n# Train the model\nmodel.fit(X_train, y_train, epochs=20, batch_size=32)","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"V3u3CUKuAdXT","outputId":"36d44615-7101-4ac0-cd2b-a65bc552b586","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:56:55.477546Z","iopub.execute_input":"2024-12-01T20:56:55.477911Z","iopub.status.idle":"2024-12-01T20:58:45.202205Z","shell.execute_reply.started":"2024-12-01T20:56:55.477875Z","shell.execute_reply":"2024-12-01T20:58:45.201406Z"}},"outputs":[{"name":"stderr","text":"/opt/conda/lib/python3.10/site-packages/keras/src/layers/rnn/rnn.py:204: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n super().__init__(**kwargs)\n","output_type":"stream"},{"name":"stdout","text":"Epoch 1/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 3ms/step - loss: 0.0354\nEpoch 2/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 1.4049e-05\nEpoch 3/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 1.5313e-05\nEpoch 4/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 7.7981e-06\nEpoch 5/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 9.3218e-06\nEpoch 6/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 9.3995e-06\nEpoch 7/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 9.6425e-06\nEpoch 8/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 9.8646e-06\nEpoch 9/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 1.5991e-05\nEpoch 10/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 1.1916e-05\nEpoch 11/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 5.6587e-06\nEpoch 12/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 7.5372e-06\nEpoch 13/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 4.7886e-06\nEpoch 14/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 3.9073e-06\nEpoch 15/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 4.3122e-06\nEpoch 16/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 1.1387e-05\nEpoch 17/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 4.7042e-06\nEpoch 18/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 7.0252e-06\nEpoch 19/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 4.8542e-06\nEpoch 20/20\n\u001b[1m1563/1563\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 3ms/step - loss: 9.6775e-06\n","output_type":"stream"},{"execution_count":27,"output_type":"execute_result","data":{"text/plain":""},"metadata":{}}],"execution_count":27},{"cell_type":"code","source":"# Make predictions for the test data\npredictions_scaled = model.predict(X_test)\n\n# Convert the predictions back to the original scale\npredictions = scaler.inverse_transform(predictions_scaled)\n\n# Actual meter readings for January 2017\nactual = test_data['meter_reading'].iloc[lags:].values","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"uJpUbuTSAgxs","outputId":"ae242986-e967-4655-c6ac-e2dde1cfdb7a","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:45.206207Z","iopub.execute_input":"2024-12-01T20:58:45.206880Z","iopub.status.idle":"2024-12-01T20:58:46.434307Z","shell.execute_reply.started":"2024-12-01T20:58:45.206816Z","shell.execute_reply":"2024-12-01T20:58:46.433557Z"}},"outputs":[{"name":"stdout","text":"\u001b[1m616/616\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 1ms/step\n","output_type":"stream"}],"execution_count":28},{"cell_type":"code","source":"from sklearn.metrics import mean_squared_error, r2_score\nimport numpy as np\n\n# Calculate Rยฒ and RMSE\nr2 = r2_score(actual, predictions.flatten())\nrmse = np.sqrt(mean_squared_error(actual, predictions.flatten()))\n\n# Print the results\nprint(f\"Rยฒ: {r2:.4f}\")\nprint(f\"RMSE: {rmse:.4f}\")","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"u85VyVajA1AJ","outputId":"9f604e00-f62c-47d1-c563-66bc98acd541","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:46.435325Z","iopub.execute_input":"2024-12-01T20:58:46.435587Z","iopub.status.idle":"2024-12-01T20:58:46.517540Z","shell.execute_reply.started":"2024-12-01T20:58:46.435561Z","shell.execute_reply":"2024-12-01T20:58:46.516767Z"}},"outputs":[{"name":"stdout","text":"Rยฒ: 0.9989\nRMSE: 3.6972\n","output_type":"stream"}],"execution_count":29},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# Plot actual vs predicted values for May 2017\nplt.figure(figsize=(10, 6))\nplt.plot(test_data.index[lags:], actual, label='Actual Meter Reading', color='blue')\nplt.plot(test_data.index[lags:], predictions.flatten(), label='Predicted Meter Reading', color='red', linestyle='--')\nplt.title('Actual vs Predicted Meter Readings for May 2017')\nplt.xlabel('Timestamp')\nplt.ylabel('Meter Reading')\nplt.xticks(rotation=45)\nplt.legend()\nplt.grid(True)\nplt.tight_layout()\nplt.show()","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":575},"id":"9YuVs-KVA8mw","outputId":"4ebe0d2f-297e-48d7-f587-0e4fbeee7e8f","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:46.518631Z","iopub.execute_input":"2024-12-01T20:58:46.519020Z","iopub.status.idle":"2024-12-01T20:58:46.939107Z","shell.execute_reply.started":"2024-12-01T20:58:46.518979Z","shell.execute_reply":"2024-12-01T20:58:46.938249Z"}},"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC99UlEQVR4nOzdd3gU1dvG8e+mB9IoCQESSAhd6QiCSCc0CyIdpIuoiILgCz8F6VURFRSQpnREQARUAkhRUBDpTekovSYBUnfeP5ZsWJJAAkk2hPtzXXvtzJkzZ56Zswt5dsoxGYZhICIiIiIiIiLpzsHeAYiIiIiIiIhkV0q6RURERERERDKIkm4RERERERGRDKKkW0RERERERCSDKOkWERERERERySBKukVEREREREQyiJJuERERERERkQyipFtEREREREQkgyjpFhEREREREckgSrpFRLIJk8nEkCFD7B2G3dWuXZvatWtb50+cOIHJZGL27Nl2i+lud8co9rVhwwZMJhMbNmywlnXu3JmgoCC7xXQ/kZGRdO/eHX9/f0wmE++88469QxIRkRQo6RYRScYXX3yByWSiatWqD9zGmTNnGDJkCLt27Uq/wLK4hOQl4eXs7EyRIkXo2LEjx44ds3d4abJlyxaGDBnCtWvX7BZDUFAQJpOJ+vXrJ7v8q6++sh7rP//8M83tHzhwgCFDhnDixImHjDT1Zs+ebfMZcXJyomDBgnTu3Jn//vsv0+J41I0aNYrZs2fz+uuvM2fOHF555ZUM3V5GfxYfxqFDh3jvvfcoX748np6e5M+fn6ZNm6YYx3///UerVq3w8fHBy8uLF198Mdl/n7788ktatmxJoUKFMJlMdO7cOdn2ateubfOZvvvfQBERJ3sHICKSFc2bN4+goCC2bdvGkSNHKFq0aJrbOHPmDEOHDiUoKIjy5cunf5BZWO/evXnqqaeIjY3lr7/+Ytq0aaxatYq9e/dSoECBTI2lcOHC3Lp1K81//G7ZsoWhQ4fSuXNnfHx8Mia4VHBzc+OXX37h3Llz+Pv72yybN28ebm5uREVFPVDbBw4cYOjQodSuXTvTz+oOGzaM4OBgoqKi+P3335k9eza//vor+/btw83NLVNjSc5XX32F2Wy2dxgpWr9+PU8//TQffvhhpm0zIz+LD2P69OnMmDGDl19+mTfeeIPr168zdepUnn76aX766SebHwoiIyOpU6cO169f53//+x/Ozs588skn1KpVi127dpEnTx5r3bFjxxIREUGVKlU4e/Zsitt///336d69u03ZjRs36NmzJ6Ghoem/wyLyyNGZbhGRuxw/fpwtW7YwYcIEfH19mTdvnr1DeuQ8++yzdOjQgS5duvD555/z0UcfceXKFb7++usU17lx40aGxGIymXBzc8PR0TFD2s9ozzzzDB4eHixatMim/N9//2Xz5s00bdrUTpGlLDV92bhxYzp06ED37t2ZPn06/fr14+jRo6xYsSITIrw/Z2dnXF1d7R1Gii5cuJCuPwbFxcURExNzzzpZ9bPYtm1bTp8+zfTp0+nRowf9+/fnjz/+IHfu3Eluufniiy/4559/WLlyJe+99x59+vRhzZo1nD17lo8//tim7saNG7l06RI//vjjPT8LDRo0oEOHDjavnDlzAtC+fft0318RefQo6RYRucu8efPIlSsXTZs2pUWLFikm3deuXaNPnz4EBQXh6upKQEAAHTt25NKlS2zYsIGnnnoKgC5dulgvNUy4rzgoKCjZSxXvvtc3JiaGwYMHU6lSJby9vcmZMyfPPvssv/zyS5r36/z58zg5OTF06NAkyw4fPozJZGLSpEkAxMbGMnToUIoVK4abmxt58uShRo0ahIWFpXm7AHXr1gUsP2gADBkyBJPJxIEDB2jXrh25cuWiRo0a1vpz586lUqVKuLu7kzt3btq0acPp06eTtDtt2jRCQkJwd3enSpUqbN68OUmdlO7pPnToEK1atcLX1xd3d3dKlCjB+++/b42vf//+AAQHB1v7787LsNMzxntxc3OjefPmzJ8/36Z8wYIF5MqVi4YNGya73qFDh2jRogW5c+fGzc2NypUr2yS0s2fPpmXLlgDUqVPHuo933tf8448/8uyzz5IzZ048PT1p2rQp+/fvt9lO586d8fDw4OjRozRp0gRPT88HSjSeffZZAI4ePZqm/QC4cuUK/fr1o0yZMnh4eODl5UXjxo3ZvXt3ku38+++/NGvWjJw5c+Ln50efPn2Ijo5OUu/ue7oTPkcfffSRtU9dXV156qmn2L59e5L1v/32W0qXLo2bmxtPPvkky5YtS/Y+8YULF1KpUiU8PT3x8vKiTJkyfPrppykep4RbOI4fP86qVauSfDYvXLhAt27dyJcvH25ubpQrVy7Jj113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27erbdu26tq1q2usX79+Gj9+vGu5WLFiWdYzY8YMtW/f3rVcunRp1+39+/crPDxc/fv316xZs7RixQo9/fTTCg4OVrt27fL4FQF564MPpHu1LmOgVi37igEAAACQa7Y23eXLl8+0PGnSJFWvXl3333+/a6xYsWIKCgq65npKly6d7Zzp06erWrVqmjx5siSpTp06Wr16td5//32abuSp5GTpzTel2Ni8W+fq1VJzHZAkWQEBclSokHcrBwAAAJDvbG26r5SUlKSZM2fqxRdflMPhcI3PmjVLM2fOVFBQkDp16qRRo0Zl2do9cOBAPf3007rtttvUv39/PfXUU651rF27Vm3atMk0v127dho8eHC+vyaY7/hxacYM6fJladEiafPmvH+Ox3VIkuR46KG8XzkAAACAfOU2TffChQsVFxen3r17u8a6d++uKlWqqFKlStq6dauGDRum6OhozZ8/3zVn/PjxeuCBB1SsWDH99NNPGjBggM6fP69BgwZJko4fP66KFStmeq6KFSsqPj5ely5dUtGiRbPUkpiYqMTERNdyfHy8JCk5OVnJyRw9+mak//xM+Tl26uStqKish0YYPTr1KrNvTPXSvZXcuLlUorhzc7obMy1fZEa+5iNjs5Gv2cjXfGTsfnKahcOyLCufa8mRdu3ayc/PT99//322c37++WeFhoZq7969ql69+lXnjB49WjNmzNDhw86jPdeqVUtPPfWUhg8f7przww8/KDw8XBcvXrxq0z127FiNGzcuy/js2bOv+p1yFD6xscW1Y0eg/vGPuyRJJUsm6b77jsjHJ00dOuxX1SJHFXDwYLaPj69cWYlly0qS/OLiVOrAgWznnqlTR6n+/nlaPwAAAICbc/HiRXXv3l3nzp1TQEBAtvPcYkv3wYMHtXz58kxbsK/m3nvvlaRrNt333nuvJkyYoMTERPn7+ysoKEgnTpzINOfEiRMKCAi4asMtScOHD9eLL77oWo6Pj1dISIjCwsKu+cPE9SUnJysiIkJt27aVr69vgTynZUlbt0rx8Y7rT86BpCTp2WczfnWqaZ+2LDmtIkUk1awpFa8ix9y58hk7Ntt1pMyYIatjR0mSY9GibOdaDRootW5dWU2bSn806e7MjnxRcMjXfGRsNvI1G/maj4zdT/oe0dfjFk33jBkzVKFCBYWHh19z3uY/vjAbHBx8zTll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9957TwsWLLC7LOShLVu26P7779eQIUNouA2U/nfW448/rqCgIM2ePdvukpCHtm3bpnvuuUfz58/XtGnT9Oqrr6p169aKj4/n/+M8RtMNj7V582Y1a9ZML7zwgj7//HP16NFD8+bN09GjR+0uDXng5MmT6tatm55++mktWrRI0dHR6tChg7766it16NBBkrPxZhcoz3Xo0CF169ZNhw8f1rJly/TPf/6Txtsge/bsUceOHdW3b18tWrRIa9as0cWLFxUbG2t3acgj27dvV/PmzfXCCy9o8uTJsixL//vf/7Rq1SpyNsCmTZvUrFkzDR48WP/4xz80cOBAzZs3T1u3brW7NOSBM2fO6Mknn1Tfvn21YMECRUVF6aWXXtKqVavUsWNHxcbGyuFw8HdWHqHphkfav3+/WrdurcGDB+vNN9+UJIWGhmrHjh3auXOnJL6P4un+97//ydfXVwMGDJCPj48CAwP12GOPqXLlyoqKinI13l5evI15IsuytHTpUgUFBWnJkiWqX7++/v3vf2dqvPkd9lxJSUn6+OOPFRYWptGjR0uSypUrp3r16mnbtm164YUX9NZbb9lcJW5GYmKiRo4cqUuXLmnChAmSpAcffFCPPfaYWrdurU6dOmnw4MH2FokbdvToUXXu3FnPP/+86++s5s2bKykpSVFRUZLE3mYe7tixY0pJSVHfvn0lSSVLltQDDzygO+64Q/v27VN4eLgk/s7KK/wU4ZF8fHw0depUvfHGG66xzp07KzQ0VOPGjdOlS5d4k/BwiYmJiouL07Fjx1xjly9fVvny5TVq1Cjt379fc+bMsbFC3AyHw6GHHnpIf//739W4cWN9+OGHaty4savxvnDhgry8vNji7aG8vb316KOPatCgQfLz85PD4dDEiRM1e/ZsWZal2NhYffnll/rb3/5md6m4QX5+fnrttddUp04d3XvvvWrbtq28vb31zjvvaNu2berUqZNWrlyp8ePH210qboCvr6+mTZuW6cOx5s2bKzw8XK+//rri4+M5rooBEhIStG3bNtfyuXPn5OXlpffff19xcXF8OJqH6ErgkUJCQtSzZ0/Xcvof5g8//LBiY2NdbyBsKfNcNWrUkJeXl6ZMmaI5c+Zo1apVuv/++xUWFqZBgwapbNmy2rBhg91l4iYEBwdnaro++OADV+M9bdo01xbvL774wr4ikWuW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"},"metadata":{}}],"execution_count":30},{"cell_type":"code","source":"test_march_data = one_user_data['2017-03-01':'2017-03-31']","metadata":{"id":"5n92ewwKHTNl","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:46.940359Z","iopub.execute_input":"2024-12-01T20:58:46.941046Z","iopub.status.idle":"2024-12-01T20:58:46.947023Z","shell.execute_reply.started":"2024-12-01T20:58:46.941001Z","shell.execute_reply":"2024-12-01T20:58:46.946200Z"}},"outputs":[],"execution_count":31},{"cell_type":"code","source":"test_march_data","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":450},"id":"WjtpoeVzXiwz","outputId":"4caf9765-6876-4d12-e31b-9bae3b15ffef","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:46.948046Z","iopub.execute_input":"2024-12-01T20:58:46.948305Z","iopub.status.idle":"2024-12-01T20:58:46.960762Z","shell.execute_reply.started":"2024-12-01T20:58:46.948280Z","shell.execute_reply":"2024-12-01T20:58:46.960005Z"}},"outputs":[{"execution_count":32,"output_type":"execute_result","data":{"text/plain":" meter_reading difference\ntimestamp \n2017-03-01 00:00:00 5930.0 1\n2017-03-01 00:15:00 5930.0 0\n2017-03-01 00:30:00 5930.0 0\n2017-03-01 00:45:00 5930.0 0\n2017-03-01 01:00:00 5930.0 0\n... ... ...\n2017-03-31 22:45:00 6509.0 0\n2017-03-31 23:00:00 6509.0 0\n2017-03-31 23:15:00 6509.0 0\n2017-03-31 23:30:00 6509.0 0\n2017-03-31 23:45:00 6509.0 0\n\n[2909 rows x 2 columns]","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
meter_readingdifference
timestamp
2017-03-01 00:00:005930.01
2017-03-01 00:15:005930.00
2017-03-01 00:30:005930.00
2017-03-01 00:45:005930.00
2017-03-01 01:00:005930.00
.........
2017-03-31 22:45:006509.00
2017-03-31 23:00:006509.00
2017-03-31 23:15:006509.00
2017-03-31 23:30:006509.00
2017-03-31 23:45:006509.00
\n

2909 rows ร— 2 columns

\n
"},"metadata":{}}],"execution_count":32},{"cell_type":"code","source":"# Normalize the test data using the same scaler\ntest_march_scaled = scaler.transform(test_march_data['meter_reading'].values.reshape(-1, 1))\n\n# Create lag features for test data\nX_test_march = []\nfor i in range(lags, len(test_march_scaled)):\n X_test_march.append(test_march_scaled[i-lags:i].flatten())\n\nX_test_march = np.array(X_test_march)\nX_test_march = X_test_march.reshape(X_test_march.shape[0], X_test_march.shape[1], 1)","metadata":{"id":"kseALnfSHTHN","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:46.961644Z","iopub.execute_input":"2024-12-01T20:58:46.961938Z","iopub.status.idle":"2024-12-01T20:58:46.977939Z","shell.execute_reply.started":"2024-12-01T20:58:46.961913Z","shell.execute_reply":"2024-12-01T20:58:46.977120Z"}},"outputs":[],"execution_count":33},{"cell_type":"code","source":"# Make predictions for the test data\npredictions_scaled = model.predict(X_test_march)\n\n# Convert the predictions back to the original scale\npredictions = scaler.inverse_transform(predictions_scaled)\n\n# Actual meter readings for January 2017\nactual = test_march_data['meter_reading'].iloc[lags:].values","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"opVVTQrkHTAh","outputId":"e7cd5c6a-15e7-4b0f-fd88-2c02c5699979","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:46.978737Z","iopub.execute_input":"2024-12-01T20:58:46.978992Z","iopub.status.idle":"2024-12-01T20:58:47.190733Z","shell.execute_reply.started":"2024-12-01T20:58:46.978967Z","shell.execute_reply":"2024-12-01T20:58:47.190102Z"}},"outputs":[{"name":"stdout","text":"\u001b[1m91/91\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step\n","output_type":"stream"}],"execution_count":34},{"cell_type":"code","source":"from sklearn.metrics import mean_squared_error, r2_score\nimport numpy as np\n\n# Calculate Rยฒ and RMSE\nr2 = r2_score(actual, predictions.flatten())\nrmse = np.sqrt(mean_squared_error(actual, predictions.flatten()))\n\n# Print the results\nprint(f\"Rยฒ: {r2:.4f}\")\nprint(f\"RMSE: {rmse:.4f}\")","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Pd9V1gCRHS6b","outputId":"a1d1a994-2c19-43f6-d0ee-e3569b7f7d3c","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.191679Z","iopub.execute_input":"2024-12-01T20:58:47.191970Z","iopub.status.idle":"2024-12-01T20:58:47.198849Z","shell.execute_reply.started":"2024-12-01T20:58:47.191944Z","shell.execute_reply":"2024-12-01T20:58:47.197950Z"}},"outputs":[{"name":"stdout","text":"Rยฒ: 0.9999\nRMSE: 1.6859\n","output_type":"stream"}],"execution_count":35},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# Plot actual vs predicted values for January 2017\nplt.figure(figsize=(10, 6))\nplt.plot(test_march_data.index[lags:], actual, label='Actual Meter Reading', color='blue')\nplt.plot(test_march_data.index[lags:], predictions.flatten(), label='Predicted Meter Reading', color='red', linestyle='--')\nplt.title('Actual vs Predicted Meter Readings for May 2017')\nplt.xlabel('Timestamp')\nplt.ylabel('Meter Reading')\nplt.xticks(rotation=45)\nplt.legend()\nplt.grid(True)\nplt.tight_layout()\nplt.show()","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":575},"id":"AiRN2GmRHS0B","outputId":"996835dc-415b-4cd5-c1e6-06ae08595cc5","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.200020Z","iopub.execute_input":"2024-12-01T20:58:47.200358Z","iopub.status.idle":"2024-12-01T20:58:47.590448Z","shell.execute_reply.started":"2024-12-01T20:58:47.200318Z","shell.execute_reply":"2024-12-01T20:58:47.589609Z"}},"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC450lEQVR4nOzdd3QUVRvH8e+mF1IIJIQSSOi9g9KrBAEVkA7SQUUEQRDRVwRpYgUroDSRojRFioBSFUSK9N57DySB9J33j5iVJQkkkGQT8vucsyc7d+7MPDN3A3n2ztxrMgzDQERERERERETSnJ2tAxARERERERF5XCnpFhEREREREUknSrpFRERERERE0omSbhEREREREZF0oqRbREREREREJJ0o6RYRERERERFJJ0q6RURERERERNKJkm4RERERERGRdKKkW0RERERERCSdKOkWEXlMmEwmRo4caeswbK5+/frUr1/fsnzq1ClMJhMzZ860WUz3ujdGsa3169djMplYv369pax79+4EBgbaLKYHCQ8Pp3fv3vj7+2MymXjttddsHZKIiCRDSbeISBK++uorTCYTTzzxxEPv48KFC4wcOZJdu3alXWCZXELykvBydHSkcOHCdO3alRMnTtg6vFTZvHkzI0eO5ObNmzaLITAwEJPJROPGjZNc/80331iu9fbt21O9/wMHDjBy5EhOnTr1iJGm3MyZM60+Iw4ODuTPn5/u3btz/vz5DIsjqxs3bhwzZ87k5ZdfZvbs2bzwwgvperz0/iw+ikOHDvHGG29QsWJFPDw8yJs3L82bN082jvPnz9OuXTu8vb3x9PTkueeeS/Lfp6+//pq2bdtSsGBBTCYT3bt3T3J/9evXt/pM3/tvoIiIg60DEBHJjObMmUNgYCB///03x44do2jRoqnex4ULFxg1ahSBgYFUrFgx7YPMxAYMGEC1atWIiYlh586dTJ06leXLl7N3717y5cuXobEUKlSIiIiIVP/xu3nzZkaNGkX37t3x9vZOn+BSwMXFhXXr1nHp0iX8/f2t1s2ZMwcXFxciIyMfat8HDhxg1KhR1K9fP8N7dd977z2CgoKIjIzkr7/+YubMmfzxxx/s27cPFxeXDI0lKd988w1ms9nWYSRr7dq1PPnkk7z77rsZdsz0/Cw+im+//ZZp06bx/PPP069fP27dusWUKVN48skn+fXX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DaQmIiIikoZy5sxJlSpV+Pbbb7l69Sru7u40b96c999/Xwl3Mr7++mu+//57KlasyMyZM20djohImlJPt4iIiIiIiEg60TPdIiIiIiIiIulESbeIiIiIiIhIOtEz3SlkNpu5cOECHh4emEwmW4cjIiIiIiIiNmQYBmFhYeTLlw87u+T7s5V0p9CFCxcICAiwdRgiIiIiIiKSiZw9e5YCBQoku15Jdwp5eHgA8RfU09PTxtFYi4mJYfXq1TRp0gRHR0dbhyP3obbKGtROWYfaKmtQO2UNaqesQ22VNaidHk1WuH6hoaEEBARYcsXkKOlOoYRbyj09PTNl0u3m5oanp2em/UBKPLVV1qB2yjrUVlmD2ilrUDtlHWqrrEHt9Giy0vV70OPHGkhNREREREREJJ0o6RYRERERERFJJ0q6RURERERERNKJnulOQ3FxccTExGT4cWNiYnBwcCAyMpK4uLgMP76knNrq0Tk5Od13SgYRERERkcxESXcaMAyDS5cucfPmTZsd39/fn7Nnz2oO8UxObfXo7OzsCAoKwsnJydahiIiIiIg8kJLuNJCQcPv5+eHm5pbhyZTZbCY8PJwcOXKoBzCTU1s9GrPZzIULF7h48SIFCxbUFxciIiIikukp6X5EcXFxloQ7V65cNonBbDYTHR2Ni4uLErlMTm316Hx9fblw4QKxsbGZfvoIERERERH91f+IEp7hdnNzs3EkItlDwm3leiZeRERERLICJd1pRLe5imQM/a6JiIiISFaipFtEREREREQknSjplkzLZDLx008/2TqMx8bd1/PUqVOYTCZ27dpl05hERERERB53SrqFLVu2YG9vT/PmzVO9bWBgIBMnTkz7oFKge/fumEwmXnrppUTrXnnlFUwmE927d0/x/tavX4/JZErXqd/s7e3JmTMn9vb2eHp6Uq1aNX7++ed0O15yAgICuHjxImXLls3wY4uIiIiIZCdKuoVp06bx6quvsnHjRi5cuGDrcFIlICCA+fPnExERYSmLjIxk7ty5FCxY0CYxGYZBbGxssuu//PJLzp8/z/bt26lVqxZt2rRh7969GRhhfPLv7++Pg4MmMBARERERSU9KurO58PBwfvjhB15++WWaN2/OzJkzE9X55ZdfqFatGi4uLuTOnZtWrVoBUL9+fU6fPs2gQYMwmUyWAa5GjhxJxYoVrfYxceJE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y8NZDh8+rK5du+rhhx/WrFmztHXrVrVu3Vrvv/++WrduLSn7D2VWVpbDlZZsP/30k9q0aaOHHnpIs2bN0qJFi5SSkqIDBw44XRp+Z/Xq1WrWrJkGDhyoV155Rf3799eHH36odevWOV0azsLxhB04nrAHxxOF4+TvJJpu5OLxePTJJ5/ommuu0fLlyxUdHa2xY8fyh9LHnD59Wk888YQCAwM1cuRISVL79u3Vpk0bNWjQQK1atdJLL73kbJHw+vnnnxUYGKh+/fopICBAZcuWVefOnXXllVdq5cqV3j+Ufn78SnZKRkaGJk2apISEBA0bNkySVK5cOcXHx2v9+vV64oknNG7cOIerhCTt27dPd999tx577DE999xzkqTmzZsrIyNDK1eulCRmenwAxxN24HjCLhxPFJzTv5NIBLn4+/vrtttuU48ePXTdddfpiy++UExMjPebMj09nT+UPiAgIEAPP/yw4uLi1K5dOyUmJiozM1NDhgzR4sWLVaVKFU2ZMkXvvvuu06VCUnp6upKSkrR//37vurS0NJUvX15Dhw7Vzp07NXXqVAcrhL+/vzp16qTHH39cQUFBcrlcevbZZzVlyhQZY3TgwAG99957uvfee50utcQLDAzUa6+9lutFkObNm+vOO+/UmDFjlJyczDmNPoDjCTtwPGEXjicKzvHfSQb4nYyMjFzL6enp5o477jANGjQwH330kXf7zJkznSgPv0pJSTGffPKJufrqq02zZs3M/v37vduSkpLMzTffbDp37uxghcixe/duU7VqVdOtWzczZcoUM3/+fBMVFWUGDx5sjDGmWbNm5qmnnnK4ypIrKyvLGGNMZmamd922bdvMFVdcYT7//HPvurfeestUrVrVbN68udhrRDaPx3PBdd9//725+uqrzYcffnjBfVG83G53rmWOJ3wTxxP22LNnj6lWrRrHEwXkZI8TUDStPGxy9OhR7d27V6VKlVKFChVUunRpZWVlyc/PT5mZmQoKCtLMmTN1zz33aOzYsfJ4PPruu+80a9YsNWnSRBUrVnT6SygRzs6pfPnyKlOmjBISEhQSEiI/Pz9VqFBBUvbbZ6KiotSwYUOtWrXKmyWKz9lZlStXTldeeaU+/PBD9enTR0uWLJHb7dajjz6qZ599VpJUtWpV7du3z+GqSx63263AwEDv8tmzo1dffbXWrFmjsmXL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gZzsQE72IKvCudj43XXXXebEiRNm7dq1plevXmb16tXGGOPz58HTdFts586dplq1arkuyJCenm4mT55smjVrZrp162aSk5ONMcZs2LDBdOrUydSoUcP7zYniQU72ICs7kJM9yMoO5GQHcrIHWRXOxcbvhhtuMD169DDp6enG7XY7WGX++Dk9046CCw8PV6lSpbR+/XpJkjFGQUFB6tmzp7p3767Nmzdr5syZkqSrr75ajz32mObOnav69es7V3QJRE72ICs7kJM9yMoO5GQHcrIHWRXOxcavR48eWrdunT788EMFBAR4z4f3ddyn22Jut1tdu3bVgQMHNGXKFFWpUiXX9sTERAUEBOiLL75wqEJI5GQTsrIDOdmDrOxATnYgJ3uQVeHkZfwCAwM1e/ZshyrMP2a6LWWMUWBgoF577TVt375djz/+uA4fPpzr1Z527drp2LFjSktLc7DSko2c7EFWdiAne5CVHcjJDuRkD7IqnLyO39GjR60aP5puS7lcLmVkZKhChQr66quvtGzZMnXv3l0rV66Ux+ORJK1Zs0Zly5aVnx8xO4Wc7EFWdiAne5CVHcjJDuRkD7IqnMt1/Hh7uQXS0tIUEhKirKws7zeXx+ORv7+/jh07poyMDKWmpqp169YKDw9XZmamqlWrpm+++UYLFy5UvXr1HP4KSgZysgdZ2YGc7EFWdiAnO5CTPciqcErS+Nnz8kAJtWnTJtWqVUtr164955tx165dqlevnr755htVq1ZNK1as0MCBA9WqVSs1adJEK1assOqb0WbkZA+ysgM52YOs7EBOdiAne5BV4ZS48Sv6C6SjoFavXm3KlCljXC6Xef75540xxng8HmOMMXv37jXR0dGmT58+Jisry7sexY+c7EFWdiAne5CVHcjJDuRkD7IqnJI4fry93EetXbtWTZs21eDBg3X8+HF9/vnn2rJliwICApSVlaVZs2Zp4cKFev755+VyuZwut8QiJ3uQlR3IyR5kZQdysgM52YOsCqfEjp/TXT/OtXr1ahMQEGCefvppY0z2DeIrV65sxo8f790nIyPDqfLwK3KyB1nZgZzsQVZ2ICc7kJM9yKpwSvL4MdPtY06dOqWuXbsqPj5ezz33nHddt27dlJmZqS+//NLhCiGRk03Iyg7kZA+ysgM52YGc7EFWhVPix8/prh/n2rp1q/fjnPMYFi5caFwul/n444+dKgu/Q072ICs7kJM9yMoO5GQHcrIHWRVOSR4/Zrp9iNvtVmBg4DnrjTE6ffq0unfvrqioKP373/9WcHCwVfemu5yQkz3Iyg7kZA+ysgM52YGc7EFWhcP4ccswn5CUlCRJCgwMVFZW1jnbXS6XIiIi1LJlS3366afat2+f/Pz8xOslxYuc7EFWdiAne5CVHcjJDuRkD7IqHMbvLMU7sY7f27Rpk6lataoZOnSod93vL42flZXlfWzevLl54IEHLtuLDPgqcrIHWdmBnOxBVnYgJzuQkz3IqnAYv9yY6XbQ3r17df/99ysgIEAzZszQqFGjJEl+fn65Xg3KuVy+y+XStddeq59++kkZGRmO1FwSkZM9yMoO5GQPsrIDOdmBnOxBVoXD+J0rwOkCSipjjKZOnaqKFStq4MCBWrRokaZOnSpJGjZsmPz8/OTxeOTv75/r81544QUdPXpUYWFhTpRd4pCTPcjKDuRkD7KyAznZgZzsQVaFw/idH023Q1wul3r06KGYmBi1atVK1113nSRp6tSpMsZo+PDh8vf3V1ZWlvdiApmZmYqMjFRkZKSTpZco5GQPsrIDOdmDrOxATnYgJ3uQVeEwfhdQ3O9nx4Xt37/fDB8+3NSqVcuMGDHCu37mzJnnnAMB55CTPcjKDuRkD7KyAznZgZzsQVaFw/gZw0x3MTpw4ID27t2rEydOqGXLlt63VWRlZcnlcikuLk6PPPKIJGnatGkyxujkyZOaMGGCfvnlF1WsWNHJ8ksMcrIHWdmBnOxBVnYgJzuQkz3IqnAYvzxwrN0vYdauXWuqVKliatSoYaKiokytWrXMlClTzLFjx4wx2Vfzy7mC3/79+82wYcOMy+UypUuXNitXrnSy9BKFnOxBVnYgJ3uQlR3IyQ7kZA+yKhzGL2+4enkxOHLkiDp37qxu3bppzpw52rRpk6677jqNHj1aEydO1JEjR3LdBD4uLk47d+5URESEFi5cqEaNGjlYfclBTvYgKzuQkz3Iyg7kZAdysgdZFQ7jlw9Od/0lwcaNG81VV111zqs5f/vb30x8fLwZP368OXPmjHf9W2+9ZaKjo82qVauKu9QSjZzsQVZ2ICd7kJUdyMkO5GQPsiocxi/vmOkuBm63W5mZmUpJSZEkpaamSpL+8Y9/6NZbb9Xrr7+ubdu2efdv27atVq1apQYNGjhSb0lFTvYgKzuQkz3Iyg7kZAdysgdZFQ7jl3cuY4xxuoiS4Prrr1d4eLi+/fZbSVJ6erqCg4MlSU2aNNE111yjqVOnnve+dSg+5GQPsrIDOdmDrOxATnYgJ3uQVeEwfnnDTHcROHPmjE6dOqXk5GTvun//+9/auHGj7r//fklScHCwMjMzJUktWrTQmTNnJKlEfzMWN3KyB1nZgZzsQVZ2ICc7kJM9yKpwGL+Co+m+xDZt2qT77rtPf/rTn1S7dm198MEHkqTatWtrwoQJmjdvnjp27Ci32+29sMDhw4cVFhamzMxM8caD4kFO9iArO5CTPcjKDuRkB3KyB1kVDuNXONyn+xLatGmTWrRooR49eqhx48b68ccf1bt3b9WpU0cNGjTQXXfdpbCwMPXr10/16tVTrVq1FBQUpC+++EJLly5VQABxFAdysgdZ2YGc7EFWdiAnO5CTPciqcBi/wuOc7kvk+PHj6tq1q2rVqqUJEyZ41996662Kj4/XxIkTvetOnTqlMWPG6Pjx4woJCVHfvn1Vp04dJ8ouccjJHmRlB3KyB1nZgZzsQE72IKvCYfwuDV52uETcbreSkpLUoUMHSVJWVpb8/PxUtWpVHT9+XJJkjJExRhERERo3blyu/VA8yMkeZGUHcrIHWdmBnOxATvYgq8Jh/C4NRuISiYmJ0X//+1/dfPPNkiSPxyNJqlSpkvcbzuVyyc/PL9fFB1wuV/EXW4KRkz3Iyg7kZA+ysgM52YGc7EFWhcP4XRo03ZdQ9erVJWW/shMYGCgp+5Wfw4cPe/d57rnn9NZbb3mv6sc3ZPEjJ3uQlR3IyR5kZQdysgM52YOsCofxKzzeXl4E/Pz8ZIzxfrPlvAo0bNgwjRkzRqtXr+aCAj6AnOxBVnYgJ3uQlR3IyQ7kZA+yKhzGr+CY6S4iOdenCwgIUOXKlfXCCy9o/PjxWrlypa677jqHq0MOcrIHWdmBnOxBVnYgJzuQkz3IqnAYv4LhpYgikvPKT2BgoN58801FRkZq4cKFatiwocOV4WzkZA+ysgM52YOs7EBOdiAne5BV4TB+BcNMdxFLTEyUJC1evFiNGzd2uBpcCDnZg6zsQE72ICs7kJMdyMkeZFU4jF/+cJ/uYnDmzBmFhYU5XQb+ADnZg6zsQE72ICs7kJMdyMkeZFU4jF/e0XQDAAAAAFBEeHs5AAAAAABFhKYbAAAAAIAiQtMNAAAAAEARoekGAAAAAKCI0HQDAAAAAFBEaLoBAAAAACgiNN0AAFiqV69euueee5wuAwAAXESA0wUAAIBzuVyui24fPny4JkyYIGNMMVV0fr169VJSUpJmzpzpaB0AAPgqmm4AAHzQgQMHvB9Pnz5dw4YN09atW73rwsPDFR4e7kRpAAAgH3h7OQAAPig2Ntb7LyoqSi6XK9e68PDwc95efsstt+ixxx7TwIEDVbp0acXExOjNN9/UmTNn1Lt3b0VEROiaa67RnDlzcv1fGzZsUOvWrRUeHq6YmBg98MADOnr0qHf7xx9/rPj4eIWGhqps2bJq2bKlzpw5oxEjRujdd9/VZ599JpfLJZfLpfnz50uS/va3v6lGjRoqVaqUqlWrpqFDh8rtdnufc8SIEapfv74mT56sK6+8UuHh4erXr588Ho/Gjx+v2NhYVahQQc8++2yuWl0ul15//XW1bt1aoaGhqlatmj7++ONLHwAAAJcITTcAAJeRd999V+XKldPy5cv12GOPqW/fvurYsaOaN2+uVatWKSEhQQ888IBSUlIkSUlJSbrtttvUoEEDrVy5Ul999ZUOHTqkTp06Scqece/atasefPBBbd68WfPnz9d9990nY4z+8pe/qFOnTrrjjjt04MABHThwQM2bN5ckRURE6J133tGmTZs0YcIEvfnmm/rXv/6Vq9bt27drzpw5+uqrrzR16lT95z//0Z133qlffvlF33//vcaNG6chQ4Zo2bJluT5v6NChat++vdauXatu3bqpS5cu2rx5czGMLgAA+ecyTp8MBgAALuqdd97RwIEDlZSUlGv978+nvuWWW+TxeLRgwQJJksfjUVRUlO677z699957kqSDBw8qLi5OS5YsUdOmTTVmzBgtWLBAX3/9tfd5f/nlF1WuXFlbt27V6dOn1ahRI+3atUtVqlQ5p7a8ntP9wgsvaNq0aVq5cqWk7Jnu559/XgcPHlRERIQk6Y477tDWrVu1fft2+fllzwvUqlVLvXr10t///ndJ2TPdjz76qF5//XXvczdt2lQNGzbUa6+9lscRBQCg+HBONwAAl5F69ep5P/b391fZsmUVHx/vXRcTEyNJOnz4sCRp7dq1+u677857fvj27duVkJCg22+/XfHx8UpMTFRCQoI6dOig0qVLX7SO6dOna+LEidq+fbtOnz6tzMxMRUZG5trnqquu8jbcObX5+/t7G+6cdTm15mjWrNk5y2vWrLloPQAAOIW3lwMAcBkJDAzMtexyuXKty7kqelZWliTp9OnTateundasWZPr388//6wWLVrI399f8+bN05w5c1SnTh29/PLLqlmzpnbu3HnBGpYsWaJu3bqpTZs2mj17tlavXq1nnnlGGRkZ+ao1Z11OrQAA2IimGwCAEqxhw4bauHGjrrrqKl1zzTW5/oWFhUnKbnxvvPFGjRw5UqtXr1ZQUJBmzJghSQoKCpLH48n1nIsXL1aVKlX0zDPPqHHjxqpevbp27959yWpeunTpOcu1a9e+ZM8PAMClRNMNAEAJ1r9/fx0/flxdu3bVihUrtH37dn399dfq3bu3PB6Pli1bprFjx2rlypXas2ePPv30Ux05csTb5F511VVat26dtm7dqqNHj8rtdqt69eras2ePpk2bpu3bt2vixIneJv1S+OijjzR58mT99NNPGj58uJYvX64BAwZcsucHAOBSoukGAKAEq1ixohYtWiSPx6OEhATFx8dr4MCBio6Olp+fnyIjI/XDDz+oTZs2qlGjhoYMGaIXX3xRrVu3liT16dNHNWvWVOPGjVW+fHktWrRId911lwYNGqQBAwaofv36Wrx4sYYOHXrJah45cqSmTZumevXq6b333tPUqVNVp06dS/b8AABcSly9HAAAWMPlcmnGjBm57k8OAIAvY6YbAAAAAIAiQtMNAAAAAEAR4T7dAADAGpwVBwCwDTPdAAAAAAAUEZpuAAAAAACKCE03AAAAAABFhKYbAAAAAIAiQtMNAAAAAEARoekGAAAAAKCI0HQDAAAAAFBEaLoBAAAAACgiNN0AAAAAABSR/wcjuiKjEPSO/gAAAABJRU5ErkJggg=="},"metadata":{}}],"execution_count":36},{"cell_type":"code","source":"one_week_test = one_user_data['2017-03-01':'2017-03-07']","metadata":{"id":"-GcrxnVCHStN","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.591461Z","iopub.execute_input":"2024-12-01T20:58:47.591716Z","iopub.status.idle":"2024-12-01T20:58:47.596739Z","shell.execute_reply.started":"2024-12-01T20:58:47.591691Z","shell.execute_reply":"2024-12-01T20:58:47.595888Z"}},"outputs":[],"execution_count":37},{"cell_type":"code","source":"one_week_test","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":450},"id":"OGv5PLzzHSm6","outputId":"28b09942-3a5d-4ab3-ba6a-f819c099f51e","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.597717Z","iopub.execute_input":"2024-12-01T20:58:47.598032Z","iopub.status.idle":"2024-12-01T20:58:47.610129Z","shell.execute_reply.started":"2024-12-01T20:58:47.598006Z","shell.execute_reply":"2024-12-01T20:58:47.609310Z"}},"outputs":[{"execution_count":38,"output_type":"execute_result","data":{"text/plain":" meter_reading difference\ntimestamp \n2017-03-01 00:00:00 5930.0 1\n2017-03-01 00:15:00 5930.0 0\n2017-03-01 00:30:00 5930.0 0\n2017-03-01 00:45:00 5930.0 0\n2017-03-01 01:00:00 5930.0 0\n... ... ...\n2017-03-07 22:45:00 6205.0 0\n2017-03-07 23:00:00 6205.0 0\n2017-03-07 23:15:00 6205.0 0\n2017-03-07 23:30:00 6205.0 0\n2017-03-07 23:45:00 6205.0 0\n\n[672 rows x 2 columns]","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
meter_readingdifference
timestamp
2017-03-01 00:00:005930.01
2017-03-01 00:15:005930.00
2017-03-01 00:30:005930.00
2017-03-01 00:45:005930.00
2017-03-01 01:00:005930.00
.........
2017-03-07 22:45:006205.00
2017-03-07 23:00:006205.00
2017-03-07 23:15:006205.00
2017-03-07 23:30:006205.00
2017-03-07 23:45:006205.00
\n

672 rows ร— 2 columns

\n
"},"metadata":{}}],"execution_count":38},{"cell_type":"code","source":"# Normalize the test data using the same scaler\ntest_week_scaled = scaler.transform(one_week_test['meter_reading'].values.reshape(-1, 1))\n\n# Create lag features for test data\nX_test_week = []\nfor i in range(lags, len(test_week_scaled)):\n X_test_week.append(test_week_scaled[i-lags:i].flatten())\n\nX_test_week = np.array(X_test_week)\nX_test_week = X_test_week.reshape(X_test_week.shape[0], X_test_week.shape[1], 1)","metadata":{"id":"sdeUUfvqHSf8","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.611108Z","iopub.execute_input":"2024-12-01T20:58:47.611382Z","iopub.status.idle":"2024-12-01T20:58:47.620343Z","shell.execute_reply.started":"2024-12-01T20:58:47.611358Z","shell.execute_reply":"2024-12-01T20:58:47.619691Z"}},"outputs":[],"execution_count":39},{"cell_type":"code","source":"# Make predictions for the test data\npredictions_scaled = model.predict(X_test_week)\n\n# Convert the predictions back to the original scale\npredictions = scaler.inverse_transform(predictions_scaled)\n\n# Actual meter readings for January 2017\nactual = one_week_test['meter_reading'].iloc[lags:].values","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"wYoGaez4HSaJ","outputId":"efe67762-2b50-45e8-aa74-e3e2f2f0ff1f","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.621285Z","iopub.execute_input":"2024-12-01T20:58:47.621626Z","iopub.status.idle":"2024-12-01T20:58:47.721407Z","shell.execute_reply.started":"2024-12-01T20:58:47.621601Z","shell.execute_reply":"2024-12-01T20:58:47.720750Z"}},"outputs":[{"name":"stdout","text":"\u001b[1m21/21\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step \n","output_type":"stream"}],"execution_count":40},{"cell_type":"code","source":"from sklearn.metrics import mean_squared_error, r2_score\nimport numpy as np\n\n# Calculate Rยฒ and RMSE\nr2 = r2_score(actual, predictions.flatten())\nrmse = np.sqrt(mean_squared_error(actual, predictions.flatten()))\n\n# Print the results\nprint(f\"Rยฒ: {r2:.4f}\")\nprint(f\"RMSE: {rmse:.4f}\")","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"T1Hntx0SHSTV","outputId":"7258b84c-00b1-424f-dbc4-93b26e4d0e66","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.722316Z","iopub.execute_input":"2024-12-01T20:58:47.722576Z","iopub.status.idle":"2024-12-01T20:58:47.729145Z","shell.execute_reply.started":"2024-12-01T20:58:47.722550Z","shell.execute_reply":"2024-12-01T20:58:47.728189Z"}},"outputs":[{"name":"stdout","text":"Rยฒ: 0.9991\nRMSE: 3.2415\n","output_type":"stream"}],"execution_count":41},{"cell_type":"code","source":"import matplotlib.pyplot as plt\n\n# Plot actual vs predicted values for January 2017\nplt.figure(figsize=(10, 6))\nplt.plot(one_week_test.index[lags:], actual, label='Actual Meter Reading', color='blue')\nplt.plot(one_week_test.index[lags:], predictions.flatten(), label='Predicted Meter Reading', color='red', linestyle='--')\nplt.title('Actual vs Predicted Meter Readings for one week')\nplt.xlabel('Timestamp')\nplt.ylabel('Meter Reading')\nplt.xticks(rotation=45)\nplt.legend()\nplt.grid(True)\nplt.tight_layout()\nplt.show()","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":575},"id":"XQYk9YdrHSN0","outputId":"61d35ad3-aecd-4922-82b1-011e2a17bc8c","trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:47.730454Z","iopub.execute_input":"2024-12-01T20:58:47.731190Z","iopub.status.idle":"2024-12-01T20:58:47.999809Z","shell.execute_reply.started":"2024-12-01T20:58:47.731162Z","shell.execute_reply":"2024-12-01T20:58:47.999059Z"}},"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACz2klEQVR4nOzdd3gU1dvG8e+mh5BCICEBQghFiiIdpINUAZUuAkoTbIiCoGJBioCoKGKhKaAINtqPF0EBpSkdpPeOQughEEjdef9YdmFJAgkmbLJ7f64r186cOTvzzB4CPHvOnGMyDMNARERERERERLKcm6MDEBEREREREXFWSrpFREREREREsomSbhEREREREZFsoqRbREREREREJJso6RYRERERERHJJkq6RURERERERLKJkm4RERERERGRbKKkW0RERERERCSbKOkWERERERERySZKukVEnIjJZGLo0KGODsPhGjRoQIMGDWz7R48exWQyMX36dIfFdKtbYxTHWrFiBSaTiRUrVtjKunfvTrFixRwW051cuXKFZ555hrCwMEwmE6+88oqjQ3JJDRo04IEHHnB0GCKSgynpFhFJx5dffonJZKJGjRp3fY6TJ08ydOhQtm7dmnWB5XDW5MX64+npSfHixXn66ac5fPiwo8PLlDVr1jB06FBiYmIcFkOxYsUwmUw0btw4zeNTpkyxfdabNm3K9Pl3797N0KFDOXr06H+MNOOmT59u92fEw8ODwoUL0717d/799997FkduN2rUKKZPn87zzz/PjBkzeOqppxwdkoiIpMHD0QGIiORUM2fOpFixYmzYsIGDBw9SsmTJTJ/j5MmTDBs2jGLFilGxYsWsDzIH69evH9WqVSMpKYktW7YwefJkfvnlF3bs2EGhQoXuaSyRkZFcu3YNT0/PTL1vzZo1DBs2jO7duxMUFJQ9wWWAj48Py5cvJzo6mrCwMLtjM2fOxMfHh/j4+Ls69+7duxk2bBgNGjS45726w4cPJyoqivj4eNatW8f06dP5888/2blzJz4+Pvc0lrRMmTIFs9ns6DDS9ccff/DQQw/x7rvvOjoUERG5DfV0i4ik4ciRI6xZs4aPP/6YkJAQZs6c6eiQcp26devStWtXevTowWeffcZHH33EhQsX+Oabb9J9T1xcXLbEYjKZ8PHxwd3dPVvOn91q165N3rx5+fHHH+3K//nnH1avXk3Lli0dFFn6MtKWjzzyCF27duWZZ57hq6++YuDAgRw6dIgFCxbcgwjvzNPTE29vb0eHka4zZ85k6ZdBycnJJCYmZtn5RETEQkm3iEgaZs6cSb58+WjZsiXt27dPN+mOiYmhf//+FCtWDG9vb4oUKcLTTz/NuXPnWLFiBdWqVQOgR48etqG01ueKixUrRvfu3VOd89ZnfRMTExkyZAhVqlQhMDAQPz8/6taty/LlyzN9X6dPn8bDw4Nhw4alOrZv3z5MJhOff/45AElJSQwbNoxSpUrh4+ND/vz5qVOnDkuXLs30dQEefvhhwPKFBsDQoUMxmUzs3r2bzp07ky9fPurUqWOr/91331GlShV8fX0JDg6mU6dOnDhxItV5J0+eTIkSJfD19aV69eqsXr06VZ30nuneu3cvHTt2JCQkBF9fX0qXLs1bb71li2/QoEEAREVF2drv5mHYWRnj7fj4+NC2bVtmzZplV/7999+TL18+mjVrlub79u7dS/v27QkODsbHx4eqVavaJbTTp0+nQ4cOADRs2NB2jzc/17x48WLq1q2Ln58f/v7+tGzZkl27dtldp3v37uTNm5dDhw7RokUL/P396dKlS6buESxf1AAcOnQoU/cBcOHCBQYOHEj58uXJmzcvAQEBPPLII2zbti3Vdf755x9at26Nn58foaGh9O/fn4SEhFT1bn2m2/rn6KOPPrK1qbe3N9WqVWPjxo2p3v/zzz9Trlw5fHx8eOCBB5g3b16az4n/8MMPVKlSBX9/fwICAihfvjyffvppup+T9RGOI0eO8Msvv6T6s3nmzBl69epFwYIF8fHxoUKFCqm+7Lr5XsaNG2e7l927d6d73eTkZEaMGGGrW6xYMd58881Un12xYsVo1aoVf/75J9WrV8fHx4fixYvz7bffpjpnTEwMr7zyChEREXh7e1OyZEnGjBlzxxEGAwYMIH/+/BiGYSt76aWXMJlMjB8/3lZ2+vRpTCYTEyZMsJUlJCTw7rvvUrJkSby9vYmIiOC1115L889ARn/Hb7VkyRLy5MnDk08+SXJy8h3ri4hz0/ByEZE0zJw5k7Zt2+Ll5cWTTz7JhAkT2Lhxoy2JBsskRnXr1mXPnj307NmTypUrc+7cORYsWMA///xD2bJlGT58OEOGDKFPnz62hKJWrVqZiiU2NpavvvqKJ598kt69e3P58mW+/vprmjVrxoYNGzI1bL1gwYLUr1+fn376KdWQ1B9//BF3d3dbEjZ06FBGjx7NM888Q/Xq1YmNjWXTpk1s2bKFJk2aZOoe4EYilT9/frvyDh06UKpUKUaNGmX7D/TIkSN555136NixI8888wxnz57ls88+o169evz999+23r2vv/6aZ599llq1avHKK69w+PBhHnvsMYKDg4mIiLhtPNu3b6du3bp4enrSp08fihUrxqFDh/i///s/Ro4cSdu2bdm/fz/ff/89n3zyCQUKFAAgJCTknsV4s86dO9O0aVMOHTpEiRIlAJg1axbt27dPc9j8rl27qF27NoULF+aNN97Az8+Pn376idatWzNnzhzatGlDvXr16NevH+PHj+fNN9+kbNmyALbXGTNm0K1bN5o1a8aYMWO4evUqEyZMoE6dOvz99992yWNycjLNmjWjTp06fPTRR+TJkyfD92ZlTRrz5cuXqfsAOHz4MPPnz6dDhw5ERUVx+vRpJk2aRP369dm9e7ftkYZr167RqFEjjh8/Tr9+/ShUqBAzZszgjz/+yHCcs2bN4vLlyzz77LOYTCY++OAD2rZty+HDh21t8csvv/DEE09Qvnx5Ro8ezcWLF+nVqxeFCxe2O9fSpUt58sknadSoEWPGjAFgz549/PXXX7z88stpXr9s2bLMmDGD/v37U6RIEV599VXA8mfz2rVrNGjQgIMHD9K3b1+ioqL4+eef6d69OzExManOOW3aNOLj4+nTpw/e3t4EBwene9/PPPMM33zzDe3bt+fVV19l/fr1jB49mj179jBv3jy7ugcPHqR9+/b06tWLbt26MXXqVLp3706VKlW4//77Abh69Sr169fn33//5dlnn6Vo0aKsWbOGwYMHc+rUKcaNG5duLHXr1uWTTz5h165dtknMVq9ejZubG6tXr6Zfv362MoB69eoBYDabeeyxx/jzzz/p06cPZcuWZceOHXzyySfs37+f+fPn266R0d/xWy1cuJD27dvzxBNPMHXq1Fw7wkZEspAhIiJ2Nm3aZADG0qVLDcMwDLPZbBQpUsR4+eWX7eoNGTLEAIy5c+emOofZbDYMwzA2btxoAMa0adNS1YmMjDS6deuWqrx+/fpG/fr1bfvJyclGQkKCXZ2LFy8aBQsWNHr27GlXDhjvvvvube9v0qRJBmDs2LHDrrxcuXLGww8/bNuvUKGC0bJly9ueKy3Lly83AGPq1KnG2bNnjZMnTxq//PKLUaxYMcNkMhkbN240DMMw3n33XQMwnnzySbv3Hz161HB3dzdGjhxpV75jxw7Dw8PDVp6YmGiEhoYaFStWtPt8Jk+ebAB2n+GRI0dStUO9evUMf39/49ixY3bXsbadYRjGhx9+aADGkSNHsj3G9ERGRhotW7Y0kpOTjbCwMGPEiBGGYRjG7t27DcBYuXKlMW3aNAOwfbaGYRiNGjUyypcvb8THx9vdW61atYxSpUrZyn7++WcDMJYvX2533cuXLxtBQUFG79697cqjo6ONwMBAu/Ju3boZgPHGG2/c8X4Mw7DFu2zZMuPs2bPGiRMnjNmzZxshISGGt7e3ceLEiUzfR3x8vJGSkmJ3nSNHjhje3t7G8OHDbWXjxo0zAOOnn36ylcXFxRklS5ZM9Tl069bNiIyMtDsfYOTPn9+4cOGCrfx///ufARj/93//ZysrX768UaRIEePy5cu2shUrVhiA3TlffvllIyAgwEhOTs7QZ3cz65+Nm1nv77vvvrOVJSYmGjVr1jTy5s1rxMbG2t1LQECAcebMmTtea+vWrQZgPPPMM3blAwcONADjjz/+sIsLMFatWmUrO3PmjOHt7W28+uqrtrIRI0YYfn5+xv79++3O+cYbbxju7u7G8ePH043nzJkzBmB8+eWXhmEYRkxMjOHm5mZ06NDBKFiwoK1ev379jODgYNvv9YwZMww3Nzdj9erVduebOHGiARh//fWXYRgZ/x03DMvf2ffff79hGIYxZ84cw9PT0+jdu3eqP48i4ro0vFxE5BYzZ86kYMGCNGzYELA8D/zEE0/www8/kJKSYqs3Z84cKlSoYOtpu5nJZMqyeNzd3fHy8gIsvTQXLlwgOTmZqlWrsmXLlkyfr23btnh4eNg9H7xz5052797NE088YSsLCgpi165dHDhw4K7i7tmzJyEhIRQqVIiWLVsSFxfHN998Q9WqVe3qPffcc3b7c+fOxWw207FjR86dO2f7CQsLo1SpUrZh9Zs2beLMmTM899xzts8HLEOCAwMDbxvb2bNnWbVqFT179qRo0aJ2xzLSdvcixlu5u7vTsWNHvv/+e8Dy5zQiIsI2guJmFy5c4I8//qBjx45cvnzZFt/58+dp1qwZBw4cuOMs4UuXLiUmJoYnn3zS7h7d3d2pUaNGmo83PP/885m6p8aNGxMSEkJERATt27fHz8+PBQsWUKRIkUzfh7e3N25ulv/WpKSkcP78efLmzUvp0qXtfk8WLVpEeHg47du3t5XlyZOHPn36ZDjuJ554wq433toG1tn5T548yY4dO3j66afJmzevrV79+vUpX7683bmCgoKIi4u768c2brVo0SLCwsJ48sknbWWenp7069ePK1eusHLlSrv67dq1s43euNN5wTKs+2bWXvZffvnFrrxcuXJ2fzZDQkIoXbq03QoGP//8M3Xr1iVfvnx2f8YaN25MSkoKq1atSjeekJAQypQpY6vz119/4e7uzqBBgzh9+rTt763Vq1dTp04d2+/1zz//TNmyZSlTpozdNa2Pv1j/XGf0d/xm33//PU888QTPPvsskyZNsv15FBHR8HIRkZukpKTwww8/0LBhQ9uzxwA1atRg7Nix/P777zRt2hSwDJdu167dPYnrm2++YezYsezdu5ekpCRbeVRUVKbPVaBAARo1asRPP/3EiBEjAMvQcg8PD9q2bWurN3z4cB5//HHuu+8+HnjgAZo3b85TTz3Fgw8+mKHrDBkyhLp16+Lu7k6BAgUoW7YsHh6p/9m59R4OHDiAYRiUKlUqzfNah+8eO3YMIFU96xJlt2P9j//drq17L2JMS+fOnRk/fjzbtm1j1qxZdOrUKc0vCQ4ePIhhGLzzzju88847aZ7rzJkzqYY638yatFiTkVsFBATY7Xt4eNiS5Yz64osvuO+++7h06RJTp05l1apVdhOXZeY+zGYzn376KV9++SVHjhyx+4Ls5kcajh07RsmSJVN9bqVLl85w3Ld+UWNNwC9evGi7BpDmigclS5a0+xLghRde4KeffuKRRx6hcOHCNG3alI4dO9K8efMMx3OzY8eOUapUqVQJn/WRAWtsVhn9O+TYsWO4ubmluqewsDCCgoJSnffWzwgsn5P1MwLLn7Ht27enm/SfOXPmtjHVrVvX9mXA6tWrqVq1KlWrViU4OJjVq1dTsGBBtm3bRufOne2uuWfPnjteM6O/41ZHjhyha9eudOjQgc8+++y2cYuI61HSLSJykz/++INTp07xww8/8MMPP6Q6PnPmTFvS/V+l16OakpJi9wzgd999R/fu3WndujWDBg0iNDQUd3d3Ro8enWrCqYzq1KkTPXr0YOvWrVSsWJGffvqJ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EUlTpnu6X375ZapWrWpbp9uqTZs2/P7771kanIiIiORM1qS7xO7/g0cfhS++cGxAIiIiOVSme7pXr17NmjVr8LplCFmxYsX4999/sywwERERybmsSXfIP1tg4UIIC3NsQCIiIjlUpnu6zWYzKSkpqcr/+ecf/P39syQoERERydmsSbf/+WOWjchIxwUjIiKSg2U66W7atCnjxo2z7ZtMJq5cucK7775LixYtsjI2ERERyaGsc6f6nr2edBcr5rBYREREcrJMDy8fO3YszZo1o1y5csTHx9O5c2cOHDhAgQIF+P7777MjRhEREclhrD3dPqeOWjbU0y0iIpKmTCfdRYoUYdu2bfz4449s27aNK1eu0KtXL7p06WI3sZqIiIg4J8OAq1fBjRQ8ok9YCtXTLSIikqZMJ90AHh4edOnShS5dutjKTp06xaBBg/j888+zLDgRERHJea5dsyTeoZzFlJQEbm5QqJCjwxIREcmRMpV079q1i+XLl+Pl5UXHjh0JCgri3LlzjBw5kokTJ1K8ePHsilNERERyCOvQ8nxcxMiTB1PevODu7tigREREcqgMJ90LFiygffv2JCcnA/DBBx8wZcoUOnbsSJUqVZg3bx7NmzfPtkBFREQkZ7Am3cd8y2KKi7N0fYuIiEiaMjx7+XvvvceLL75IbGwsH3/8MYcPH6Zfv34sWrSIX3/9VQm3iIiIi7Am3X5+1ws0p4uIiEi6Mpx079u3jxdffJG8efPy0ksv4ebmxieffEK1atWyMz4RERHJYazLhdmSbhEREUlXhpPuy5cvExAQAIC7uzu+vr56hltERMQFWXu6n0n4Ah59FH780bEBiYiI5GCZmkjtt99+IzAwEACz2czvv//Ozp077eo89thjWRediIiI5DjWpLti8iZYuBBq13ZsQCIiIjlYppLubt262e0/++yzdvsmk4mUlJT/HpWIiIjkWNakO8R82rIRGuq4YERERHK4DCfdZrM5O+MQERGRXMKadAennLFsFCzouGBERERyuAw/0y0iIiICNyXdierpFhERuRMl3SIiIpIplqTbICBBPd0iIiJ3oqRbREREMuy99+DNNyGAWDzNiZbCkBDHBiUiIpKDZWoiNREREXFdkybBO+9YtoO5QJK3H55ebuDr69jAREREcrBM9XSnpKSwatUqYmJisikcERERyYmSk2HgQMv2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FqNGjaJjx45s2LCByZMn25byMplMvPLKK7z33nuUKlWKqKgo3nnnHQoVKkTr1q0ByyRp69evp2HDhvj7+7N27Vr69+9P165dbQl1586dGTZsGL169eL1119n586dfPrpp3zyySeZildERMQVHTtmeS1hsjzTzS3zpIiIiEj6Mpx0169fH7DMKF60aFFMJtN/vni1atWYN28egwcPZvjw4URFRTFu3Di6dOliq/Paa68RFxdHnz59iImJoU6dOvz666+24e3e3t788MMPDB06lISEBKKioujfv7/d0PDAwECWLFnCiy++SJUqVShQoABDhgzRcmEiIiK3ceAAzJgB33xj2Y9S0i0iIpJpmZ69PDIyktWrVzNp0iQOHz7Mzz//TOHChZkxYwZRUVHUqVMnU+dr1aoVrVq1Sve4yWRi+PDhDB8+PM3jlStXZt26dXe8zoMPPsjq1aszFZuIiIgr69sXliyxbJcqYcaj6yCY+jmUKOHYwERERHKRTK/TPWfOHJo1a4avry9btmyxLat16dIlRo0aleUBioiIyL1nNoP1O+3HHoM/VriRZ+hrcOQI+Ps7NjgREZFcJNNJ93vvvcfEiROZMmWK3YPjtWvXZsuWLVkanIiIiDjG/v0QGwu+vjBnDhQpcv2Au7tD4xIREcltMj28fN++fdSrVy9VeWBgIDExMVkRk4iIiDjYxo2W18qVweN/c8AwoEULyJPHsYGJiIjkMpnu6Q4LC+PgwYOpyv/880+KFy+eJUGJiIiIY1mT7mrVgCFDoEMH+Plnh8YkIiKSG2U66e7duzcvv/wy69evx2QycfLkSWbOnMnAgQNvu3a2iIiI5B7WpLtR+G7YvRs8PeHxxx0blIiISC6U6eHlb7zxBmazmUaNGnH16lXq1auHt7c3AwcO5KWXXsqOGEVEROQeMgzYts2yXePM/1k2mjSBoCCHxSQiIpJbZTrpNplMvPXWWwwaNIiDBw9y5coVypUrR968ebMjPhEREbnHzp6Fa9fAZIL8h693eTds6NigREREcqlMJ91WXl5elCtXLitjERERkRzg+HHLa3g4uG29vjJJ5cqOC0hERCQXy3DS3bNnzwzVmzp16l0HIyIiIo537Jjl9f5CF2HTEcuOkm4REZG7kuGke/r06URGRlKpUiUMw8jOmERERMSBrD3ddfJutWwUL67nuUVERO5S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3SIiIi7mn38ggNgbBYGBjgtGRETEySnpFhERcTG7d0MQMZYdHx/w9nZoPCIiIs5MSbeIiIgLiYuDI0cgkEuWAg0tFxERyVZKukVERFzI3r2W12KBMZYNDS0XERHJVkq6RUREXMiuXZbX+4rGQ5486ukWERHJZloyTERExIXs3m15javbHLbHQUqKYwMSERFxcurpFhERcRGzZ8OYMZbt+++/Xuju7rB4REREXIGSbhERERdw8SI88cSN/QoVHBeLiIiIK1HSLSIi4gJOnwaz2bI94fMUaj1TFtq0gQsXHBuYiIiIk9Mz3SIiIi7g4kXLa1QUPNdwH/TdCydOaPZyERGRbKaebhERERdg7dAODgY2b7bsVKyoZ7pFRESymZJuERERF5Bm0l2lisPiERERcRVKukVERFyAdXh5cDDw55+WnRo1HBaPiIiIq1DSLSIi4gKsPd3heS7B339bdurXd1xAIiIiLkJJt4iIiAuwJt0V4/6yTGNeogQULuzYoERERFyAZi8XERFxAdbh5Xn9TfDQQ1qoW0RE5B5R0i0iIuICrD3dl2o9Al89Aobh2IBERERchIaXi4iIuAC7idQATCaHxSIiIuJKlHSLiIi4gAsXwJNE8vvFOzoUERERl6KkW0RExAVcuAAP8wd1mvtBixaODkdERMRlKOkWERFxcoZhGV5elj2YzGbIk8fRIYmIiLgMJd0iIiJO7soVSE62JN0AlC3r2IBERERciJJuERERJ2edufwB027LRrlyjgtGRETExWjJMBEREWdz7Zqla9vfH4DYw+d4k0k8wA7LcfV0i4iI3DNKukVERJzAhg3w+4g1NN7+MRX+/YW5FUew+P6BAHgdOssU3gYD8PSE0qUdG6yIiIgLUdItIiKSQbGxcO4ceBw5QOD4odTesg4SX8B86QKmxARbvSuPd+Hs2BmWnYQEou73TfecV5u24fSXc2z7UaU9ISUlzbrX6jQlevqvtv1iFQIxxV0GoKoB1TFuxLB5L99utmyHEcRkelM0App/1Bh8049HREREspaSbhERkbRcvQp//w1HjsCFC+zZ50b1b/ty5QrkIz+n+QlPktN86//mGzw137LtBSTclAzf6rffDNqVuLGfhIFHOvVXrzZoflPdSxgEXK9rApJxZ3e17vxduy8XwyvwgclaM5w4j8mUbQtEZuTmRUREJKso6RYR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iyzgCOU5RjkMjlzfc+8DTg6RfbetCk+MY75zPOlhEVQHqv9lXGZmJv9at4ro6Gj8/f2BO/OuFeic69Et+Y69IdejvBvuCy+EK67Id1UiIiIiIlIIarrlvCUmQq9ecOQI/OvENl5OvJNLj23g5iZ7ORSY3VY+t2Mjd+6bnec6btsxjt/KZE/32hXP/cl5j+3+60iSymVPP7QngUf35j324cQX2RySPd0tOYmnd+U99omEp1lbIXv61n076Lfj9LGVgVuBF8Mn882FTwIwK2soXzMclzPojOuNBFrXggkTIDKyRp4/3+UyBAYm06mTISAgz2EiIiIiIuJD1HTLeRs2DP77X6jKPmbTigj2c5iKpMZuY+XJfblv0JUF+Ryq/N8NlTlycjqL21jMxXmOnbvxAv44OZ3BTazOtb84t+/iL2L/yeljdGAj7+c59vtf6vLbyelU2rAtj7G1akH/qU0Z3iJnTtk81ykiIiIiIqWbmm45L/v3w4wZAIZVjR4hIm4/RyIbsHbEAl6odAEveEa2PPl1ZrkPlW528qsgY6NPfhVkbCPyO0c599gGJ79yCwyEa6+FoDPv1BYREREREclFTbecl//8J/sU7qfq/kDNuG8hMJCQ76bRodEF3i5NRERERETE65zeLkB824yTt3TuW+at7InHHjt1MTIREREREZFSTk23nLN9+yA2Fi7iVyLj5mTPfPJJ7xYlIiIiIiJSgujwcjln//1v9r/VoqrieHxi9s2r69TxblEiIiIiIiIliJpuOWfz52f/26ZT+ex7homIiIiIiEguOrxczsmvv8J3s91cxkY6dvR2NSIiIiIiIiWT9nTb5MAB2LQp7+V160KNGtnThw/Dhg15j73kEoiMzJ7+809Yt86zKC0NxvY6xozUcbR0riAgeDH53bZLRERERESktFLTbYldu2DPxKW0HHtrnmPWPvY+29s/AkDEhjW0finvXdTre7zBtht7A1Dpl020HdzOsywYeOfktAkIwrF3J2q6RURERERETqem2xKLF8OUsSGMp2GeY155ryJfvZc93YLyvJ/P2Nc/qsRnH2VPX045Pv3bWIcDIjo1pfKbg7L3iouIiIiIiMhp1HRbompVyGxzHU+Qz+HlQBvPVMtCjG2Sa2xQEPTtCw1jzrFYERERERGRUkJNtyU6dMj+EhERERERkZJDVy8XERERERERKSZqukVERERERESKiZpuERERERERkWKipltERERERESkmKjpFhERERERESkmarpFREREREREiomabhEREREREZFioqZbREREREREpJio6RYREREREREpJmq6RURERERERIqJmm4RERERERGRYqKmW0RERERERKSYqOkWERERERERKSZqukVERERERESKiZpuERERERERkWKipltERERERESkmKjpFhERERERESkm/t4uwFcYYwBITU31ciXgcrk4duwYqampBAQEeLscKSLK1V7K1k7K1V7K1l7K1k7K1V4lPduc3jCnV8yLmu4COnLkCACRkZFerkRERERERERKiiNHjlChQoU8lzvM2dpyASArK4vffvuNkJAQHA6HV2tJTU0lMjKS3bt3Exoa6tVapOgoV3spWzspV3spW3spWzspV3uV9GyNMRw5coQaNWrgdOZ95rb2dBeQ0+nkX//6l7fLyCU0NLREvvjk/ChXeylbOylXeylbeylbOylXe5XkbPPbw51DF1ITERERERERKSZqukVERERERESKiZpuHxQUFMTQoUMJCgrydilShJSrvZStnZSrvZStvZStnZSrvWzJVhdSExERERERESkm2tMtIiIiIiIiUkzUdIuIiIiIiIgUEzXdIiIiIiIiIsVETbeIiIiIiIhIMVHTLSIiUkLpWqf2UrYiIqWHmm7JRX8EiIh434kTJwBwOBx6X7bM4cOHgexsxR779u0jMTHR22VIMdi2bRujR4/2dhlSDLKysvJ9XJTUdAsAR48exeVy6Q88C+3bt4/Vq1czd+5c0tLSvF2OFJFdu3bx+eefM2HCBFavXu3tcqQIxcfHc+uttzJ//nxAjbdNYmNjqVy5MmvWrPF2KVKE4uLiuPrqq5k/fz779+/3djlShOLi4rjqqquYOHEiBw8e9HY5UoQSExN5/vnneeyxxxg1ahQATmfxtcZquoUtW7Zw66238sUXX5CRkaE/8CyyceNGrr32Wh599FFuvPFGbr/9duLi4rxdlpynjRs30qpVKz788EOGDh3K888/T2xsrLfLkiJgjOH1119n2bJlvPXWW2q8LbJ+/XquueYann32WZo2bertcqSIJCYm0q5dO2688UZ69OhB1apVcy0vzj1nUrw2bNhA8+bN6dKlC8ePH+fTTz/1dklSRDZu3EjLli3Zs2cPv/76K199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Gm+WLvkozDZrjDFpaWlmwIABpkqVKtpmS7j8sv3888+NMcZMmzbNNG/e/LRtNC0tzRslSwHll+3UqVNPG5+z3VarVs388ssvXqhYCiK/XD/99FNjjDGJiYnmrrvuMhdeeKGpWrWqad26talUqZJZt26dl6uX/BT2d21CQoIJCgoyr7/+uheqlcIoSLb79u0zV155pbnuuuvM7bffbh588EETHh5uYmNji7weNd2lRGxsrLnsssvM9u3bPfOOHTtm+vbtawIDA813331njDl1fsrbb79tHA6Hfln4gIJma4wxy5cvNw6Hw4SHh5u1a9d6oVopqMJss7NnzzYPPPCAufDCC7XN+oD8sg0ICDDffvutMcaYgwcPepbnfHAmJVthttuZM2earl27murVq2u7LeHOts3mXPdm//79Ji4uzowZM8ZMmzZN53L7gIJus5mZmZ734ddee00fbvuAs2Wbcz2czZs3myeeeMLceOON5vHHHy+2ax2p6S4lFi1aZBwOh/n111+NMaea66ysLPPEE0+Y0NBQs3XrVs/4gwcP6peFjyhMtrt37zbNmzc3mzdv9lq9UjCFyXXv3r3mzTffNNu2bfNavVJw+WXbq1ev096PxXcU9v141KhRJjEx0Wv1SsGcLdeQkBCzZcsWb5Yo56gw26w+/PQtBdlucxrs9PR0Y4wxLper2OpxGKP7jpQGbrebdu3aUb16dSZNmkR4eLjnAhF79+6lW7duXHfddQwePBhjjC4O4UMKkm27du0YOHAg/v7+ZGRkEBgY6O2y5SwKmuugQYPw8/PDGKPzQX1EQd+PhwwZolx9TGG3W11kyzcUNNecbVaZ+o7CvB9re/UtBd1uc3qf4v5bSq+cUsLPz4+7776bHTt2MGHCBFJTUz1vHBdccAHly5fnl19+weFw6A3FxxQk24SEBPz9s6+bqIbbNxQ015wLMakx8x0FfT8G5eprCrvd6vetbyhorvobyvcU5v1Y2fqWgm63f724ZXH+ztXVy0uBnE9tevbsSVJSErNnz+b48eMMHDiQ0NBQACpVqkTFihVxu904nU79oecjlK2dlKu9lK29lK2dlKu9lK29SmK2Ory8FHC73bkOYxs5ciRz5swhJSWFzp07s3v3br777jtWrFhBw4YNvV2uFIKytZNytZeytZeytZNytZeytVdJzFbHSVguMzMTPz8/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gmfekSNHeOmllzh8+DBlypShZ8+eNGjQwBtlSwEoWzspV3spW3spWzspV3spW3sp2/NXuj9yOEcul4uUlBTuuOMOALKysnA6nVx00UUcPnwYAGMMxhhCQkJ49dVXc42TkkvZ2km52kvZ2kvZ2km52kvZ2kvZnj/9L5yDiIgIPvvsM1q3bg2A2+0G4IILLvC8sBwOB06nM9dFBhwOxz9frBSKsrWTcrWXsrWXsrWTcrWXsrWXsj1/arrP0aWXXgpkf4ITEBAAZH/Cs3//fs+YV155hQ8++MBz9T698HyDsrWTcrWXsrWXsrWTcrWXsrWXsj0/Orz8PDmdTowxnhdVzqc9Q4YM4aWXXiI2NrbUXzjAVylbOylXeylbeylbOylXeylbeynbc6M93UUg51p0/v7+REZG8tprrzFmzBjWrFlD48aNvVydnA9layflai9lay9layflai9lay9lW3j6GKII5HzCExAQwOTJkwkNDWXJkiVER0d7uTI5X8rWTsrVXsrWXsrWTsrVXsrWXsq28LSnuwh17NgRgGXLltG0aVMvVyNFSdnaSbnaS9naS9naSbnaS9naS9kWnO7TXcTS0tIIDg72dhlSDJStnZSrvZStvZStnZSrvZStvZRtwajpFhERERERESkmOrxcREREREREpJio6RYREREREREpJmq6RURERERERIqJmm4RERERERGRYqKmW0RERERERKSYqOkWERERERERKSZqukVERHxUjx49uOWWW7xdhoiIiOTD39sFiIiIyOkcDke+y4cOHcr48eMxxvxDFZ1Zjx49SElJYdasWV6tQ0REpKRS0y0iIlICJScne6a/+OILhgwZQkJCgmde+fLlKV++vDdKExERkULQ4eUiIiIlULVq1TxfFSpUwOFw5JpXvnz50w4vv/baa3nqqafo3bs3FStWJCIigsmTJ5OWlsaDDz5ISEgIl1xyCXPnzs31szZt2sQNN9xA+fLliYiI4L777uPgwYOe5V9++SVRUVGULVuWSpUq0b59e9LS0hg2bBgff/wxs2fPxuFw4HA4WLRoEQD9+vWjTp06lCtXjtq1azN48GBcLpdnncOGDePyyy9nypQpXHjhhZQvX55evXrhdrsZM2YM1apVo2rVqrz88su5anU4HLzzzjvccMMNlC1bltq1a/Pll18WfQAiIiJFRE23iIiIRT7++GMqV67MqlWreOqpp+jZsyd33nknLVu2ZN26dcTExHDfffdx7NgxAFJSUmjXrh1NmjRhzZo1zJs3j3379nHXXXcB2Xvcu3btykMPPcSWLVtYtGgRt912G8YY+vbty1133cX1119PcnIyycnJtGzZEoCQkBA++ugj4uPjGT9+PJMnT+aNN97IVWtSUhJz585l3rx5TJs2jf/85z/ceOON7Nmzh59++olXX32VQYMGsXLlylzfN3jwYG6//XY2bNhA9+7dueeee9iyZcs/8L8rIiJSeA7j7ZPBREREJF8fffQRvXv3JiUlJdf8v59Pfe211+J2u1m8eDEAbrebChUqcNttt/HJJ58A8Pvvv1O9enWWL19O8+bNeemll1i8eDHz58/3rHfPnj1ERkaSkJDA0aNHueKKK9ixYwc1a9Y8rbaCntP92muvMX36dNasWQNk7+keO3Ysv//+OyEhIQBcf/31JCQkkJSUhNOZvV+gXr169OjRgxdffBHI3tP9+OOP884773jW3bx5c6Kjo5k0aVIB/0dFRET+OTqnW0RExCKNGjXyTPv5+VGpUiWioqI88yIiIgDYv38/ABs2bOB///vfGc8PT0pKIiYmhuuuu46oqCg6duxITEwMd9xxBxUrVsy3ji+++IIJEyaQlJTE0aNHyczMJDQ0NNeYWrVqeRrunNr8/Pw8DXfOvJxac7Ro0eK0x+vXr8+3HhEREW/R4eUiIiIWCQgIyPXY4XDkmpdzVfSsrCwAjh49ys0338z69etzfSUmJtKmTRv8/Pz44YcfmDt3Lg0aNOCtt96ibt26bN++Pc8ali9fTvfu3enUqRPfffcdsbGxDBw4kIyMjELVmjMvp1YRERFfpKZbRESkFIuOjmbz5s3UqlWLSy65JNdXcHAwkN34tmrViuHDhxMbG0tgYCAzZ84EIDAwELfbnWudy5Yto2bNmgwcOJCmTZty6aWXsnPnziKrecWKFac9rl+/fpGtX0REpCip6RYRESnFnnjiCQ4fPkzXrl1ZvXo1SUlJzJ8/nwcffBC3283KlSsZNWoUa9asYdeuXXz99dccOHDA0+TWqlWLuLg4EhISOHjwIC6Xi0svvZRdu3Yxffp0kpKSmDBhgqdJLwozZsxgypQpbN26laFDh7Jq1SqefPLJIlu/iIhIUVLTLSIiUorVqFGDpUuX4na7iYmJISoqit69exMWFobT6SQ0NJSff/6ZTp06UadOHQYNGsTrr7/ODTfcAMAjjzxC3bp1adq0KVWqVGHp0qV07tyZPn368OSTT3L55ZezbNkyBg8eXGQ1Dx8+nOnTp9OoUSM++eQTpk2bRoMGDYps/SIiIkVJVy8XERERn+FwOJg5c2au+5OLiIiUZNrTLSIiIiIiIlJM1HSLiIiIiIiIFBPdp1tERER8hs6KExERX6M93SIiIiIiIiLFRE23iIiIiIiISDFR0y0iIiIiIiJSTNR0i4iIiIiIiBQTNd0iIiIiIiIixURNt4iIiIiIiEgxUdMtIiIiIiIiUkzUdIuIiIiIiIgUEzXdIiIiIiIiIsXk/wE96472ioSf3AAAAABJRU5ErkJggg=="},"metadata":{}}],"execution_count":42},{"cell_type":"code","source":"# Parameters\nn_timesteps = 10 # Adjust based on the model's training configuration\n\n# Step 1: Extract the last n_timesteps from 'meter_reading'\nlast_data = one_user_data['meter_reading'][-n_timesteps:] # Shape: (10,)\n\n# Step 2: Reshape the data for LSTM input\ninput_sequence = np.array(last_data).reshape(1, n_timesteps, 1) # Shape: (1, 10, 1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.001011Z","iopub.execute_input":"2024-12-01T20:58:48.001611Z","iopub.status.idle":"2024-12-01T20:58:48.006334Z","shell.execute_reply.started":"2024-12-01T20:58:48.001559Z","shell.execute_reply":"2024-12-01T20:58:48.005485Z"}},"outputs":[],"execution_count":43},{"cell_type":"code","source":"# Step 3: Make predictions using the trained model\nnext_week_predictions = []\n# Predict for each step in the future\nfor _ in range(7): # Predict for 7 steps (1 week)\n next_pred = model.predict(input_sequence) # Output shape: (1, 1)\n next_week_predictions.append(next_pred[0, 0]) # Extract scalar value\n\n # Update input_sequence by appending the new prediction\n next_pred_reshaped = np.expand_dims(next_pred, axis=-1) # Shape: (1, 1, 1)\n input_sequence = np.append(input_sequence[:, 1:, :], next_pred_reshaped, axis=1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.007300Z","iopub.execute_input":"2024-12-01T20:58:48.007543Z","iopub.status.idle":"2024-12-01T20:58:48.446229Z","shell.execute_reply.started":"2024-12-01T20:58:48.007506Z","shell.execute_reply":"2024-12-01T20:58:48.445568Z"}},"outputs":[{"name":"stdout","text":"\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 104ms/step\n\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 15ms/step\n\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 15ms/step\n\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 15ms/step\n\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 15ms/step\n\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 15ms/step\n\u001b[1m1/1\u001b[0m \u001b[32mโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 16ms/step\n","output_type":"stream"}],"execution_count":44},{"cell_type":"code","source":"# Step 4: Denormalize predictions (if scaling was applied)\npredictions = scaler.inverse_transform(np.array(next_week_predictions).reshape(-1, 1))\n\n# Step 5: Create timestamps for the next week\nfuture_timestamps = pd.date_range(start=one_user_data.index[-1], periods=8, freq='D')[1:]\n\n# Step 6: Combine predictions and timestamps into a DataFrame\nforecast = pd.DataFrame({'timestamp': future_timestamps, 'predicted_meter_reading': predictions.flatten()})","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.447250Z","iopub.execute_input":"2024-12-01T20:58:48.447521Z","iopub.status.idle":"2024-12-01T20:58:48.454910Z","shell.execute_reply.started":"2024-12-01T20:58:48.447493Z","shell.execute_reply":"2024-12-01T20:58:48.454057Z"}},"outputs":[],"execution_count":45},{"cell_type":"code","source":"# Display the forecast\nprint(forecast)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.456081Z","iopub.execute_input":"2024-12-01T20:58:48.456476Z","iopub.status.idle":"2024-12-01T20:58:48.466327Z","shell.execute_reply.started":"2024-12-01T20:58:48.456439Z","shell.execute_reply":"2024-12-01T20:58:48.465629Z"}},"outputs":[{"name":"stdout","text":" timestamp predicted_meter_reading\n0 2017-05-20 23:59:00 23013.353516\n1 2017-05-21 23:59:00 21692.072266\n2 2017-05-22 23:59:00 22034.564453\n3 2017-05-23 23:59:00 22361.880859\n4 2017-05-24 23:59:00 22549.281250\n5 2017-05-25 23:59:00 22574.304688\n6 2017-05-26 23:59:00 22477.658203\n","output_type":"stream"}],"execution_count":46},{"cell_type":"code","source":"# Plot the forecasted data for the next week\nplt.figure(figsize=(10, 6))\nplt.plot(forecast['timestamp'], forecast['predicted_meter_reading'], label='Predicted Meter Reading', color='blue', linestyle='--', marker='o')\n\n# Add titles and labels\nplt.title('Predicted Meter Reading for the Next Week')\nplt.xlabel('Date')\nplt.ylabel('Meter Reading')\nplt.xticks(rotation=45)\n\n# Add grid, legend, and layout adjustments\nplt.legend()\nplt.grid(True)\nplt.tight_layout()\n\n# Show the plot\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.467379Z","iopub.execute_input":"2024-12-01T20:58:48.467651Z","iopub.status.idle":"2024-12-01T20:58:48.721679Z","shell.execute_reply.started":"2024-12-01T20:58:48.467627Z","shell.execute_reply":"2024-12-01T20:58:48.720760Z"}},"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"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29ubhg0bOs7h4eFBvXr1WLduHZGRkQQFBTl+jjJar4sVK4a/vz+JiYkZ/kzbtWtHaGgo3bt3x9/f3zE7u4hIVtNXeiIiuVinTp1ITExkxIgRKY4lJCQ4kqiWLVvi6enJp59+6tTCOG7cuBteo3bt2pQrV45x48alSMquPVeBAgUAUpTJiRjT8tJLLzF06FDeeuutNMvUqVOHChUqMHr0aKd1hO2uXeoprXts37497u7uDB8+PEULrmEYjla4rNS1a1dKlSrFBx98AGTuPtzd3VPE+emnnzqtlQzQpk0bNm7c6LQW+KlTp9LstXAz6taty2233cZXX31FQkKCY//06dNv6ssWuzZt2pCYmMhnn33mtH/s2LHYbDYeeOCBmz53gQIFUtSBzAgLCyMgIID33nuP+Pj4FMdTW17sRuyt3QsWLHBafiuz19u0aROjR49m4MCBvPjii7z88st89tlnrFq1yuk9mf0MPDw8aNCgAevWrWPdunWO8dx29957L6tXr2bjxo2ObueQ8Xrt7u7OY489xpw5c9i5c2e693itp59+mk8++YSJEyfyyiuvZPh+REQyQy3dIiK5WNOmTenTpw+jRo1i+/bthIaG4unpyb59+5g1axbjx4+nQ4cOFCtWjJdeeolRo0bx4IMP0qZNG7Zt28Yvv/ySZguwnZubGxMmTOChhx6iZs2a9OjRgxIlSrBnzx527drF0qVLARzL/fTv35+wsDDc3d3p3LlzjsSYlho1alCjRo0b3t/XX3/NAw88QLVq1ejRowclS5bk6NGjrFixgoCAAH766Sene3zjjTfo3Lkznp6ePPTQQ1SoUIF3332X1157zbHclb+/P5GRkcybN49nn32Wl1566abuIS2enp4MGDCAl19+mSVLltC6desM38eDDz7I1KlTCQwMpGrVqmzYsIFff/3VaYk6gCFDhjB16lRat27NgAEDHEuGlSlThj///DNL7sPLy4thw4bRr18/7r//fjp16sTBgweZMmUKFSpUuOlW5YceeojmzZvzxhtvcPDgQWrUqMGyZctYsGABAwcOTHeJqxupU6cOEyZM4N1336VixYoEBQWlOV46NQEBAUyYMIGnnnqK2rVr07lzZ4oVK8bhw4f5+eefadSoUYovCzLCPrZ7x44dji+IMnO9K1eu0K1bNypVqsTIkSMBGD58OD/99BM9evTgr7/+cpy3Tp06/Prrr4wZM4bbb7+dcuXKpTr+/1r33XefY9K2axNrMJNu+5Jv167PnZmfz/fff58VK1bQoEEDnnnmGapWrcrZs2fZunUrv/76K2fPnk01rr59+xITE8Mbb7xBYGAgr7/+emY+dhGRG7NiynQRETHZlxjavHlzuuWuXwLoel9++aVRp04dw9fX1/D39zfuuusuY8iQIcaxY8ccZRITE43hw4cbJUqUMHx9fY1mzZoZO3fuNMqUKZPukmF2a9euNVq1amX4+/sbBQoUMO6++27j008/dRxPSEgw+vXrZxQrVsyw2Wwplg/LyhjTwv+WDEvP9UuG2W3bts1o3769cdtttxne3t5GmTJljE6dOhnLly93KjdixAijZMmShpubW4pls+bMmWPcd999RoECBYwCBQoYd955pxEeHm7s3bvXUSa15a1uJl7DMIzo6GgjMDDQafmqjNzHuXPnjB49ehhFixY1ChYsaISFhRl79uxJ9XP+888/jaZNmxo+Pj5GyZIljREjRhjffPNNhpcMmzVrltP5IiMjDcCYPHmy0/5PPvnEKFOmjOHt7W3Ur1/fWLdunVGnTh2jdevWN/yM0vpML1y4YAwaNMi4/fbbDU9PT6NSpUrGRx995LT0lGFkrN5cKyoqymjbtq3h7+/vtKxZWj/Paf1MrVixwggLCzMCAwMNHx8fo0KFCkb37t2NP/74I93rp/XZGkZyfUnt98WNrmdf2uzaJeIMwzD++OMPw8PDw3j++ecd+/bs2WM0adLE8PX1zfCSfkuXLjUAw8PDw7HUnd2ZM2ccvzeuv75hZPzn88SJE0Z4eLgREhJieHp6GsHBwUaLFi2ML7/88oaf35AhQwzA+Oyzz254LyIimWEzDBebyURERETyvaSkJIoVK0b79u356quvrA5HRETkpmlMt4iIiFjqypUrKcaYf/fdd5w9e5ZmzZpZE5SIiEgWUUu3iIiIWGrlypUMGjSIjh07ctttt7F161a++eYbqlSpwpYtWzK9prmIiIgr0URqIiIiYqmyZcsSEhLCJ598wtmzZylSpAhPP/0077//vhJuERHJ9dTSLSIiIiIiIpJNNKZbREREREREJJso6RYRERERERHJJhrTnUWSkpI4duwY/v7+2Gw2q8MRERERERGRbGQYBhcuXOD222/HzS3t9mwl3Vnk2LFjhISEWB2GiIiIiIiI5KAjR45QqlSpNI8r6c4i/v7+gPmBBwQEWBxN6uLj41m2bBmhoaF4enpaHY64GNUPSY/qh6RH9UPSo/ohaVHdkPTkhvoRExNDSEiIIxdMi5LuLGLvUh4QEODSSbefnx8BAQEuW3HFOqofkh7VD0mP6oekR/VD0qK6IenJTfXjRsOLNZGaiIiIiIiISDZR0i0iIiIiIiKSTZR0i4iIiIiIiGQTjekWEREREcmFEhMTiY+PtzqMmxYfH4+HhwdXrlwhMTHR6nDExbhC/fD09MTd3f2Wz6OkW0REREQkFzEMg6ioKM6fP291KLfEMAyCg4M5cuTIDSeikvzHVepHoUKFCA4OvqUYlHSLiIiIiOQi9oQ7KCgIPz+/XJuwJiUlcfHiRQoWLIibm0a9ijOr64dhGFy6dImTJ08CUKJEiZs+l5JuEREREZFcIjEx0ZFw33bbbVaHc0uSkpK4evUqPj4+SrolBVeoH76+vgCcPHmSoKCgm+5qrtotIiIiIpJL2Mdw+/n5WRyJSP5g/1m7lfkTlHSLiIiIiOQyubVLuUhukxU/a0q6RURERERERLKJkm4REREREclTunfvTrt27RzbzZo1Y+DAgTkex8qVK7HZbLl+pnlXcf3nOWXKFAoVKmRpTBmhpFtEREREJB9KTISVK+H7783n7F4KuXv37thsNmw2G15eXtxxxx18+OGHJCQkZO+Fgblz5zJixIgMlc3pRLls2bLYbDZ++OGHFMeqVauGzWZjypQpGT7fsGHDqFmzZtYFeB3752N/FCtWjDZt2vDXX39l2zXT8vjjj/PPP//k+HUzS0m3iIiIiEg+M3culC0LzZtDly7mc9my5v7s1Lp1a44fP86+ffsYNGgQ77//PqNHj0617NWrV7PsukWKFMHf3z/LzpfVQkJCmDx5stO+jRs3EhUVRYECBSyJ6Uaf/969ezl+/DhLly4lLi6Otm3bZum/WUb4+voSFBSUo9e8GUq684nERFi1ysbq1SVZtcqW7d9kioiIiIhrmjsXOnSA//5z3n/0qLk/OxNvb29vgoODKVOmDM8//zzNmjXjp59+ApK7hI8cOZLbb7+dypUrA3DkyBE6depEoUKFKFKkCI888ggHDx50nDMxMZHBgwdTqFAhbrvtNoYMGYJhGE7Xvb57eVxcHK+88gohISF4e3tTsWJFvvnmGw4ePEjz5s0BKFy4MDabje7duwPmElajRo2iXLly+Pr6UqNGDWbPnu10ncWLF3PHHXfg6+tL8+bNneJMT9euXVm1ahVHjhxx7Js0aRJdu3bFw8N5lefz58/Tu3dvihUrRkBAAPfffz87duwAzO7Ww4cPZ8eOHY6WaHsreXrvg+QW8q+//ppy5crh4+OTbsxBQUEEBwdTu3ZtBg4cyJEjR9izZ4/j+Nq1a2ncuDG+vr6EhITQv39/YmNjHcenTp1K3bp18ff3Jzg4mC5dujjWxLZbtmwZd955Z5qf5/Xdy+33MHXqVMqWLUtgYCCdO3fmwoULjjIXLlyga9euFChQgBIlSjB27NhsH36gpDsfsH+T2aqVB2PG1KVVK48c+SZTRERERHJObGzajytXzDKJiTBgAFyXkwLJ+wYMcO5qntY5s4KPj49T6+jy5cvZu3cvERERLFq0iPj4eMLCwvD392fNmjWsW7eOggUL0rp1a8f7Pv74Y6ZMmcKkSZNYu3YtZ8+eZd68eele9+mnn+b777/nk08+Yffu3fzf//0fBQsWJCQkhDlz5gDJLbnjx48HYNSoUXz33XdMnDiRXbt2MWjQIJ588klWrVoFmF8OtG/fnoceeojt27fTu3dvXn311Qx9DsWLFycsLIxvv/0WgEuXLjFz5kx69uyZomzHjh05efIkv/zyC1u2bKF27dq0aNGCs2fP8vjjj/Piiy9SrVo1jh8/zvHjx3n88cdv+D67f//9lzlz5jB37ly2b9+eodijo6MdXeO9vLwA2L9/P61bt+axxx7jzz//ZObMmaxdu5a+ffs63hcfH8+IESPYsWMH8+fP5+DBg44vOOyf59NPP82DDz6Yqc9z//79zJ8/n0WLFrFo0SJWrVrF+++/7zg+ePBg1q1bx8KFC4mIiGDNmjVs3bo1Q/d60wzJEtHR0QZgREdHWx2KkzlzDMNmMwzz12jyw2YzH3PmWB2huIqrV68a8+fPN65evWp1KOKCVD8kPaofkh7Vj6x1+fJl4++//zYuX76c4tj1f+9d+2jTxiyzYkX65eyPFSuSz1u0aOplMqtbt27GI488YhiGYSQlJRlLly41vL29jRdffNFxvHjx4kZcXJzjPVOnTjUqV65sJCUlOfbFxcUZvr6+xtKlSw3DMIwSJUoYH374oeN4fHy8UapUKce1DMMwmjZtagwYMMAwDMPYu3evARgRERGpxrlixQoDMM6dO+fYd+XKFcPPz89Yv369U9levXoZTzzxhGEYhvHaa68ZVatWdTr+yiuvpDjX9cqUKWOMHTvWmD9/vlGhQgUjKSnJ+Pbbb41atWoZhmEYgYGBxuTJkw3DMIw1a9YYAQEBxpUrV5zOUaFCBeP//u//DMMwjKFDhxo1atRwOp7R93l6ehonT55MM1bDSP58ChQoYBQoUMAADMB4+OGHnT6XZ599NkUMbm5uqdZdwzCMzZs3G4Bx4cIFwzAM49VXXzXuvPNOIzEx0VHm+s9z8uTJRmBgoOP40KFDDT8/PyMmJsax7+WXXzYaNGhgGIZhxMTEGJ6ensasWbMcx8+fP2/4+fk56sf10vuZy2gO6JFWMi65342+ybTZYOBAeOQRcHfP8fBEREREJIcdP5615TJr0aJFFCxYkPj4eJKSkujQoQNDhw51HL/rrrscraUAO3bs4N9//00xHvvKlSvs37+f6Ohojh8/ToMGDRzHPDw8qFu3boou5nbbt2/H3d2dpk2bZjjuf//9l0uXLtGqVSun/VevXqVWrVoA7N692ykOgIYNG2b4Gm3btqVPnz6sXr2aSZMmpdrKvWPHDi5evMhtt93mtP/y5cvs378/zXNn9H1lypShWLFiGYp3zZo1+Pn5sXHjRt577z0mTpzodL0///yT6dOnO/YZhkFSUhKRkZFUqVKFLVu2MGzYMHbs2MG5c+dISkoC4PDhw1StWpXdu3dTp04dp2tm5PMsW7asU30pUaKEo9v6gQMHiI+Pp379+o7jgYGBjqEM2UVJdx62Zk3KsTrXMgw4csQs16xZjoUlIiIiItng4sW0j9kbWEqUyNi5ri2XwWHJGdK8eXMmTJiAl5cXwcHBXLp0yWmisOsnDbt48SJ16tRxSt7sMpocXs/X1zfT77n4vw/3559/pmTJkk7HvL29byqO63l4ePDUU08xdOhQNm3alGoX+YsXL1KiRAlWrlyZ4lh6S2dl9H2ZmbStXLlyFCpUiMqVK3Py5Ekef/xxVq9e7bhenz596N+/f4r3lS5dmtjYWMLCwggLC2P69OkUK1aMw4cPExYWdsuTsXl6ejpt22w2R0JvFUvHdI8aNYp69erh7+9PUFAQ7dq1Y+/evU5l+vTpQ4UKFfD19aVYsWI88sgjTgP0wfw2pG3btvj5+REUFMTLL7+cYumBlStXUrt2bcdECalNu//5559TtmxZfHx8aNCgAb///nuW33NOsvqbTBERERHJOQUKpP2wz4nVuDGUKmX2eEyNzQYhIWa5G5335mIsQMWKFSldunSKCcJSU7t2bfbt20dQUBAVK1Z0egQGBhIYGEiJEiXYtGmT4z0JCQls2bIlzXPeddddJCUlOcZiX8/e0p54zcD2qlWr4u3tzeHDh1PEERISAkCVKlVS5A8bN2684T1eq2fPnqxatYpHHnmEwoULpzheu3ZtoqKi8PDwSBFH0aJFHfEnXjdrckbedyvCw8PZuXOn44uC2rVr8/fff6e4VsWKFfHy8mLPnj2cOXOG999/n8aNG3PnnXemmETN3hp+rcx+ntcrX748np6ebN682bEvOjo625cdszTpXrVqFeHh4WzcuJGIiAji4+MJDQ11mtWuTp06TJ48md27d7N06VIMwyA0NNRRkRITEx3T069fv55vv/2WKVOm8PbbbzvOERkZSdu2bWnevDnbt29n4MCB9O7dm6VLlzrKzJw5k8GDBzN06FC2bt1KjRo1CAsLS/GPn5vczDeZIiIiIpJ3ubvD/+YFS5F427fHjXOdoYddu3alaNGiPPLII6xZs4bIyEhWrlxJ//79+e9/XToHDBjA+++/z/z589mzZw8vvPBCumtsly1blm7dutGzZ0/mz5/vOOePP/4ImF2sbTYbixYt4tSpU1y8eBF/f39eeuklBg0axLfffsv+/fvZunUrn376qWPys+eee459+/bx8ssvs3fvXmbMmJGp9bXBTDRPnz6dYvkwu5YtW9KwYUPatWvHsmXLOHjwIOvXr+eNN97gjz/+cNxfZGQk27dv5/Tp08TFxWXofbfCz8+PZ555hqFDh2IYBq+88grr16+nb9++bN++nX379rFgwQLHRGqlS5fGy8uLTz/9lAMHDrBw4cIU66j36dOHAwcOMGTIkJv+PK/n7+9Pt27dePnll1mxYgW7du2iV69euLm5YUvrm6iskO6I7xx28uRJAzBWrVqVZpkdO3YYgPHvv/8ahmEYixcvNtzc3IyoqChHmQkTJhgBAQGOSRiGDBliVKtWzek8jz/+uBEWFubYrl+/vhEeHu7YTkxMNG6//XZj1KhRGYrdFSdSS0gwjFKlUp9IzT6ZWkiIWU5EE91IelQ/JD2qH5Ie1Y+sld6kTpkxZ475d+K1fxuGhGTvJLvXTqRmGObf2+fOnXNMlHX9cbvjx48bTz/9tFG0aFHD29vbKF++vPHMM884/u6Oj483BgwYYAQEBBiFChUyBg8ebDz99NNpTqRmGObnOGjQIKNEiRKGl5eXUbFiRWPSpEmO4++8844RHBxs2Gw2o1u3boZhmJO/jRs3zqhcubLh6elpFCtWzAgLC3PKXX766SejYsWKhre3t9G4cWNj0qRJGZ5ILS3XTqRmGOZkYP369TNuv/12w9PT0wgJCTG6du1qHD582DAMc9K3xx57zChUqJABON57o/elNgFbalKbaM4wDOPw4cOGh4eHMXPmTMMwDOP33383WrVqZRQsWNAoUKCAcffddxsjR450lJ8xY4ZRtmxZw9vb22jYsKGxcOFCAzC2bdtmGIZZP77//vt0P8/UJlK7/h7Gjh1rlClTxunz69Kli+Hn52cEBwcbY8aMMerXr2+8+uqrqd5vVkykZjOMNGYYsMC///5LpUqV+Ouvv6hevXqK47Gxsbz55pssWLCAPXv24OXlxdtvv83ChQudprSPjIykfPnybN26lVq1atGkSRNq167NuHHjHGUmT57MwIEDiY6O5urVq/j5+TF79mzatWvnKNOtWzfOnz/PggULUsQSFxdHXFycYzsmJoaQkBBOnz5NQEBAlnweWWHePBudO5tfVRrGtd/eGNhs8MMPiTz6qMtUAbFQfHw8ERERtGrVKsVYGBHVD0mP6oekR/Uja125coUjR444hkTeisREc26f48fNno+NG+dsC7dhGFy4cAF/f//sbWWUXCmn6kdsbCwhISF89NFH9OrVK8XxK1eucPDgQUJCQlL8zMXExFC0aFGio6PTzQFdZiK1pKQkBg4cSKNGjVIk3F988QVDhgwhNjaWypUrExER4RhrERUVRfHixZ3K27ejoqLSLRMTE8Ply5c5d+4ciYmJqZa5fvy43ahRoxg+fHiK/cuWLcPPzy8Td569vL1hyJASfP31XZw5kzxphJdXIoMGbcXb+ziLF1sYoLiciIgIq0MQF6b6IelR/ZD0qH5kDQ8PD4KDg7l48eItTzgFULt28uusWns7sy5cuGDNhSVXyOr68eeff/LPP/9Qp04dYmJi+PDDDzEMg/vvv5+YmJgU5a9evcrly5dZvXp1innDLl26lKFrukzSbR98v3bt2hTH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y48/Qs2aMGqU1ZGIiIiIiIi4BiXdkmUuXoQdO2DWLKsjERERERERcQ1KuiXLPPKI2a38zz/hn3+sjkZERERERMR6Sroly9x2G7RoYb6ePdvaWERERERERFyBkm7JUvZ56JR0i4iIiIiIKOmWLNaundnFfNs22L/f6mhERERERESspaRbslTRotC8uflard0iIiIiIpLfWbpOt+RNTz8NxYpB/fpWRyIiIiIiImItJd2S5Z56ynyIiIiIiIjkd+peLiIiIiIiIpJNlHRLtjAM2LkTJkywOhIRERERERHrqHu5ZIszZ6BGDUhKggcegLJlrY5IREREREQk56mlW7JF0aLQpIn5WrOYi4iIiIhIfqWkW7JNx47ms5JuERERERHJr5R0S7Zp3x5sNti0CQ4ftjoaERERERGRnKekW7JNcDA0bmy+Vmu3iIiIiIjkR0q6JVupi7mIiIiIiORnSrolW9m7mO/ZA9HRVkcjIiIiIiKSs5R0S7a6/XZYswaioiAw0OpoREREREREcpbW6ZZs16iR1RGIiIiIiIhYQy3dkmMMA+LjrY5CREREREQk5yjplhzx5ZdQsSJMmGB1JCIiIiIiIjlHSbfkiEuX4MABzWIuIiIiIiL5i5JuyRGPPWY+r10Lx49bG4uIiIiIiEhOUdItOSIkBO65xxzXPWeO1dGIiIiIiIjkDCXdkmM6djSf1cVcRERERETyCyXdkmPsXcxXrzbX7RYREREREcnrlHRLjilTBurXN7uYz5tndTQiIiIiIiLZz8PqACR/6d0bataEevWsjkRERERERCT7KemWHPXMM+ZDREREREQkP1D3chEREREREZFsoqRbclxSEqxfD59/bnUkIiIiIiIi2UvdyyXHHToEjRqBmxt06gTFilkdkYiIiIiISPZQS7fkuHLloHZts8V7/nyroxEREREREck+SrrFEh07ms+zZlkbh4iIiIiISHZS0i2W6NDBfP7tNzh92tpYREREREREsouSbrFExYrmet2JiepiLiIiIiIieZeSbrGMvYv57NnWxiEiIiIiIpJdlHSLZexdzPfsgatXrY1FREREREQkOyjpFsvccQds3gwHDoCXl9XRiIiIiIiIZD2t0y2WqlvX6ghERERERESyj1q6xSUkJqqLuYiIiIiI5D1KusVy778Pt98OM2ZYHYmIiIiIiEjWUtItlouLg5MnNYu5iIiIiIjkPUq6xXL2pcOWLYPz5y0NRUREREREJEsp6RbLVa1qPuLj4aefrI5GREREREQk6yjpFpdgX7N71ixr4xAREREREclKSrrFJdi7mC9dCjEx1sYiIiIiIiKSVZR0i0uoVg3uvNNcNkxdzEVEREREJK/wsDoAEQCbDcLD4fBhqF3b6mhERERERESyhpJucRl9+1odgYiIiIiISNaytHv5qFGjqFevHv7+/gQFBdGuXTv27t3rOH727Fn69etH5cqV8fX1pXTp0vTv35/o6OgU55oyZQp33303Pj4+BAUFER4e7nT8zz//pHHjxvj4+BASEsKHH36Y4hyzZs3izjvvxMfHh7vuuovFixdn/U2LiIiIiIhIvmFp0r1q1SrCw8PZuHEjERERxMfHExoaSmxsLADHjh3j2LFjjB49mp07dzJlyhSWLFlCr169nM4zZswY3njjDV599VV27drFr7/+SlhYmON4TEwMoaGhlClThi1btvDRRx8xbNgwvvzyS0eZ9evX88QTT9CrVy+2bdtGu3btaNeuHTt37syZD0MAc0z3kiXw+edWRyIiIiIiInLrLO1evmTJEqftKVOmEBQUxJYtW2jSpAnVq1dnzpw5juMVKlRg5MiRPPnkkyQkJODh4cG5c+d48803+emnn2jRooWj7N133+14PX36dK5evcqkSZPw8vKiWrVqbN++nTFjxvDss88CMH78eFq3bs3LL78MwIgRI4iIiOCzzz5j4sSJ2fkxyDV274YHHgAfH+jWDQoWtDoiERERERGRm+dSY7rt3caLFCmSbpmAgAA8PMzQIyIiSEpK4ujRo1SpUoULFy5w77338vHHHxMSEgLAhg0baNKkCV5eXo7zhIWF8cEHH3Du3DkKFy7Mhg0bGDx4sNO1wsLCmD9/fqpxxMXFERcX59iO+d86V/Hx8cTHx2f+5nOAPS5XjQ+gShWoWNGDf/+1sWBBAp06GVaHlG/khvoh1lH9kPSofkh6VD8kLaobkp7cUD8yGpvLJN1JSUkMHDiQRo0aUb169VTLnD59mhEjRjhapwEOHDhAUlIS7733HuPHjycwMJA333yTVq1a8eeff+Ll5UVUVBTlypVzOlfx4sUBiIqKonDhwkRFRTn2XVsmKioq1VhGjRrF8OHDU+xftmwZfn5+mbr3nBYREWF1COmqUaMK//57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1rW+VeHh4cyYMYMFCxbg7+9PVFQUAIGBgfj6+hITE0NoaCiXLl1i2rRpxMTEOL5NKFasGO7u7uzcuZP777+fsLAwBg8e7DiHu7s7xYoVA+C5557js88+Y8iQIfTs2ZPffvuNH3/80Wnc9+DBg+nWrRt169alfv36jBs3jtjYWMds5iLX69jRTLoXL4bYWChQwOqIRCQ7+PrC8eNQpAhMnQpt2lgdkYiIiOQmmZpILatNmDABgGbNmjntnzx5Mt27d2fr1q1s2rQJgIoVKzqViYyMpGzZssyePZtTp04xbdo0pk2b5jhepkwZDh48CEC5cuX4+eefGTRoEOPHj6dUqVJ8/fXXjuXCAB5//HFOnTrF22+/TVRUFDVr1mTJkiUpJlcTsatVC8qXNydVWrzYTMJFJG9ISAD7IhlBQeZKBcHBEBJiaVgiIiKSC1madBtG+uNgmzVrdsMyw4YNS3NitevPtW3btnTL9O3bN83u5CLXs9nMRHvePEhKsjoaEckq//4LnTrBoEHw1FPmvnr1rI1JREREci8NSBO5BcOHw5498PjjVkciIllh1iyoXRu2bYO33oKrV62OSERERHI7Jd0it8Db22zxFpHc7coVCA83W7gvXIBGjWDtWvDysjoyERERye2UdItkgStX4I8/rI5CRG7Gv//CvffCF1+Y26+9BitXQiorWIqIiIhkmqVjukXygshIqFHDHNd96pQ507GI5A6nTkHduhAdDUWLmrOTt25tdVQiIiKSl6ilW+QWlS1rLiUUGwtLllgdjYhkRrFi8Nxz0LgxbN+uhFtERESynpJukVtks0GHDubrWbOsjUVEbuzff+HQoeTtd9+F336DkiWti0lERETyLiXdIlnAnnT/9BNcvmxtLCKStpkzzdnJO3VKnpncwyN5TW4RERGRrKakWyQLNGgAISFw8SIsW2Z1NCJyvStX4IUXoHNnc3Zyb2+IibE6KhEREckPlHSLZAGbDR57zHytLuYirmXfPmjYECZMMLffeMPsTl60qLVxiYiISP6gpFski3TsaD4vXAhxcdbGIiKmH34wu5Nv324m2UuWmGO41Z1cREREcoqSbpEscs89MHo0/P672XVVRKyVkAAffmgO+2jSxEy8w8KsjkpERETyG33XL5JF3NzgxRetjkJE7Dw84McfYdo0ePNNtW6LiIiINdTSLSIiecb3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Z06ctmULtG5tdUQiIiIikhlKukVcWIcO5vPPP1sbh+SsmBhzvLbdAw/A779DuXLWxSQiIiIiN0frdIu4sPbtzRbvBx6wOhLJKbt3w6OPwsmTZsu2PdFWd3IRERGR3El/xom4sNtuMxNvX1+rI5GcMGsW1K9vLhPn56flwERERETyAiXdIiIWS0iAl1+GTp3g4kVznfatW6F2basjExEREZFbpaRbxMUZhrlEVLVqcOCA1dFIVjt5Elq1gtGjze2XX4ZlyyAoyNq4RERERCRrKOkWcXE2G6xcCX//DbNnWx2NZLXRo81/34IFze7lH34IHpptQ0RERCTPUNItkgvYZzFX0p33vPMOdOlizk5u/3cWERERkbxDSbdILtC+vTl79ebNcPCg1dHIrbh8GcaOhcREc9vHB6ZPhypVrI1LRERERLKHkm6RXKB4cWjSxHw9Z461scjNi4yERo1g8GAYNszqaEREREQkJyjpFsklOnY0n2fNsjYOuTlLlkCdOrBtGxQrBvffb3VEIiIiIpITlHSL5BLt25uTqm3aBIcPWx2NZFRSkjn7fJs25rrb9evDli3msmAiIiIikvdpjlyRXCI4GB5+GAoVgvh4q6ORjDh/Hp56ChYtMrf79IHx48Hb29KwRERERCQHKekWyUXmz7c6AsmMQ4fg11/NJHvCBOjRw+qIRERERCSnKekWEckmNWrA1KlQvjzUrm11NCIiIiJiBY3pFsllDMMcE7xundWRyPWuXoVBg8xx93YdOijhFhEREcnPlHSL5DLffAN168Irr1gdiVzr2DFzcrRx48yZ5i9ftjoiEREREXEFSrpFcpkHHjCf162Do0etjUVMq1ebrdnr10NAAHz2Gfj6Wh2ViIiIiLgCJd0iuUzJknDvvebruXOtjSW/MwyzZfv+++HECaheHf74w5xlXkREREQElHSL5EodO5rPs2ZZG0d+duUKdO1qjuFOTIQuXWDjRqhUyerIRERERMSVKOkWyYUee8x8XrsWjh+3Npb8yssLYmPBwwM++QSmTYMCBayOSkRERERcjZJukVwoJATuucfs3qwu5jkrKcl8dnOD774zx3P36wc2m7VxiYiIiIhrUtItkkt16GA+L11qbRz5RWIivPkmPP20+WUHQGAgNGxobVwiIiIi4to8rA5ARG5O165QsyY0bWp1JHnfmTPmmO1ly8zt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Q4sXL6bxhs++ffvUtWtX3XXXXVqwYIH27dun3bt36+2337a6NFjs66+/VpcuXfTAAw9o6dKl2rlzp3bu3Kndu3dbXRpKCJvNpqioKN14442KjIzUpEmTlJKS4rsPoWvHjh1q06aNnnzySb322msyDENHjhxRRkaGnE6n1eWhBHj77bfVuXNnvf7664qKitLcuXP1+uuva86cOZIku91O4x2itm3bptatW+uJJ57Qu+++q/79++ujjz7Sjz/+GPDXpunGFXG73frvf/+r+vXr68svv1SFChU0fvx4Gm9IknJzczVlyhTdcccdeuGFFxQXF6frr79eo0aN0qpVq3ThwgXyEaLOnz+vyZMnq1evXhozZowiIiJUo0YNdejQQd9++63GjBmjuXPnWl0mSoCbb75ZycnJGjFihCIiIjRlyhRt2bJFEyZM0IEDB6wuDxbIycnRE088ofDwcL344ouSpL59++qOO+5QQkKCr9FCaDt48KBatGghSWrdurVmzJih6dOna9y4cUpKSpLT6ZTdbud7SIjZv3+/OnTooKFDh2rChAmSpNtuu007d+7Url27JAX2LAiablyRsLAwdezYUQMGDFB8fLyWLVumqlWr+hrvvLw8Gu8QZhiGnE6n2rZtq4iICIWFhUmSqlatqpMnTyovL8/iCmGVsLAwJScn67HHHpPD4ZDdbtfYsWP1ySefaO/evVq1apUmTpyooUOHWl0qLBYTE6PFixerWbNmGj58uGJiYtS7d2+NHDlSZcqUkcQEnqHG4XDo4YcfVvXq1dWzZ0917dpVLpdLzz//vDZu3KjatWtr7ty5vhFNhCaPx6P09HTNmDFD5cuX14IFC/TFF19o7ty5ysvLU3JysiTOmgk1DodD06ZN0/jx433bkpOTddttt+nFF19Ubm6u7PbAtcY03bhijRs31l133SXJe6rOokWLfI33kiVLfJOrLVq0yOJKUdzKlSunsWPH6qGHHpLkPTNC8jbdVapUUXR0tO+PHacUh5bIyEjddtttio+Pl+Q9VXTSpElauHCh/v3vf2vdunXq0aOH1q1bp6NHj1pcLaxQMNJw/fXX+35v3769srOzderUKbVo0UJff/21JL40h5oyZcqod+/eGj9+vHbv3q2zZ89q5syZ6tOnj1q1aqVp06apTJkyWr58udWlwgIFB+GSk5OVlZWl+fPnq0WL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"},"metadata":{}}],"execution_count":47},{"cell_type":"code","source":"model.save('forecasting_model.h5')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.722757Z","iopub.execute_input":"2024-12-01T20:58:48.723057Z","iopub.status.idle":"2024-12-01T20:58:48.753630Z","shell.execute_reply.started":"2024-12-01T20:58:48.723030Z","shell.execute_reply":"2024-12-01T20:58:48.752967Z"}},"outputs":[],"execution_count":48},{"cell_type":"code","source":"!pip install pyngrok","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:48.754649Z","iopub.execute_input":"2024-12-01T20:58:48.754953Z","iopub.status.idle":"2024-12-01T20:58:58.186157Z","shell.execute_reply.started":"2024-12-01T20:58:48.754925Z","shell.execute_reply":"2024-12-01T20:58:58.185199Z"}},"outputs":[{"name":"stderr","text":"/opt/conda/lib/python3.10/pty.py:89: RuntimeWarning: os.fork() was called. os.fork() is incompatible with multithreaded code, and JAX is multithreaded, so this will likely lead to a deadlock.\n pid, fd = os.forkpty()\n","output_type":"stream"},{"name":"stdout","text":"Collecting pyngrok\n Downloading pyngrok-7.2.1-py3-none-any.whl.metadata (8.3 kB)\nRequirement already satisfied: PyYAML>=5.1 in /opt/conda/lib/python3.10/site-packages (from pyngrok) (6.0.2)\nDownloading pyngrok-7.2.1-py3-none-any.whl (22 kB)\nInstalling collected packages: pyngrok\nSuccessfully installed pyngrok-7.2.1\n","output_type":"stream"}],"execution_count":49},{"cell_type":"code","source":"!ngrok config add-authtoken 23hnlTma9r1hTKDbZv8f5Hh4NxI_38HzDMRPjV1NF4JoaL344","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:58:58.187538Z","iopub.execute_input":"2024-12-01T20:58:58.187874Z","iopub.status.idle":"2024-12-01T20:59:02.372890Z","shell.execute_reply.started":"2024-12-01T20:58:58.187813Z","shell.execute_reply":"2024-12-01T20:59:02.372007Z"}},"outputs":[{"name":"stdout","text":"Authtoken saved to configuration file: /root/.config/ngrok/ngrok.yml \n","output_type":"stream"}],"execution_count":50},{"cell_type":"code","source":"!pip install fastapi nest-asyncio uvicorn","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T20:59:14.374172Z","iopub.execute_input":"2024-12-01T20:59:14.374989Z","iopub.status.idle":"2024-12-01T20:59:22.475102Z","shell.execute_reply.started":"2024-12-01T20:59:14.374951Z","shell.execute_reply":"2024-12-01T20:59:22.474189Z"},"collapsed":true,"jupyter":{"outputs_hidden":true}},"outputs":[{"name":"stdout","text":"Requirement already satisfied: fastapi in /opt/conda/lib/python3.10/site-packages (0.111.0)\nRequirement already satisfied: nest-asyncio in /opt/conda/lib/python3.10/site-packages (1.6.0)\nRequirement already satisfied: uvicorn in /opt/conda/lib/python3.10/site-packages (0.30.1)\nRequirement already satisfied: starlette<0.38.0,>=0.37.2 in /opt/conda/lib/python3.10/site-packages (from fastapi) (0.37.2)\nRequirement already satisfied: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 in /opt/conda/lib/python3.10/site-packages (from fastapi) (2.9.2)\nRequirement already satisfied: typing-extensions>=4.8.0 in /opt/conda/lib/python3.10/site-packages (from fastapi) (4.12.2)\nRequirement already satisfied: fastapi-cli>=0.0.2 in /opt/conda/lib/python3.10/site-packages (from fastapi) (0.0.4)\nRequirement already satisfied: httpx>=0.23.0 in /opt/conda/lib/python3.10/site-packages (from fastapi) (0.27.0)\nRequirement already satisfied: jinja2>=2.11.2 in /opt/conda/lib/python3.10/site-packages (from fastapi) (3.1.4)\nRequirement already satisfied: python-multipart>=0.0.7 in /opt/conda/lib/python3.10/site-packages (from fastapi) (0.0.9)\nRequirement already satisfied: ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1 in /opt/conda/lib/python3.10/site-packages (from fastapi) (5.10.0)\nRequirement already satisfied: orjson>=3.2.1 in /opt/conda/lib/python3.10/site-packages (from fastapi) (3.10.4)\nRequirement already satisfied: email_validator>=2.0.0 in /opt/conda/lib/python3.10/site-packages (from fastapi) (2.1.1)\nRequirement already satisfied: click>=7.0 in /opt/conda/lib/python3.10/site-packages (from uvicorn) (8.1.7)\nRequirement already satisfied: h11>=0.8 in /opt/conda/lib/python3.10/site-packages (from uvicorn) (0.14.0)\nRequirement already satisfied: dnspython>=2.0.0 in /opt/conda/lib/python3.10/site-packages (from email_validator>=2.0.0->fastapi) (2.6.1)\nRequirement already satisfied: idna>=2.0.0 in /opt/conda/lib/python3.10/site-packages (from email_validator>=2.0.0->fastapi) (3.7)\nRequirement already satisfied: typer>=0.12.3 in /opt/conda/lib/python3.10/site-packages (from fastapi-cli>=0.0.2->fastapi) (0.12.3)\nRequirement already satisfied: anyio in /opt/conda/lib/python3.10/site-packages (from httpx>=0.23.0->fastapi) (4.4.0)\nRequirement already satisfied: certifi in /opt/conda/lib/python3.10/site-packages (from httpx>=0.23.0->fastapi) (2024.8.30)\nRequirement already satisfied: httpcore==1.* in /opt/conda/lib/python3.10/site-packages (from httpx>=0.23.0->fastapi) (1.0.5)\nRequirement already satisfied: sniffio in /opt/conda/lib/python3.10/site-packages (from httpx>=0.23.0->fastapi) (1.3.1)\nRequirement already satisfied: MarkupSafe>=2.0 in /opt/conda/lib/python3.10/site-packages (from jinja2>=2.11.2->fastapi) (2.1.5)\nRequirement already satisfied: annotated-types>=0.6.0 in /opt/conda/lib/python3.10/site-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi) (0.7.0)\nRequirement already satisfied: pydantic-core==2.23.4 in /opt/conda/lib/python3.10/site-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi) (2.23.4)\nRequirement already satisfied: httptools>=0.5.0 in /opt/conda/lib/python3.10/site-packages (from uvicorn[standard]>=0.12.0->fastapi) (0.6.1)\nRequirement already satisfied: python-dotenv>=0.13 in /opt/conda/lib/python3.10/site-packages (from uvicorn[standard]>=0.12.0->fastapi) (1.0.1)\nRequirement already satisfied: pyyaml>=5.1 in /opt/conda/lib/python3.10/site-packages (from uvicorn[standard]>=0.12.0->fastapi) (6.0.2)\nRequirement already satisfied: uvloop!=0.15.0,!=0.15.1,>=0.14.0 in /opt/conda/lib/python3.10/site-packages (from uvicorn[standard]>=0.12.0->fastapi) (0.19.0)\nRequirement already satisfied: watchfiles>=0.13 in /opt/conda/lib/python3.10/site-packages (from uvicorn[standard]>=0.12.0->fastapi) (0.22.0)\nRequirement already satisfied: websockets>=10.4 in /opt/conda/lib/python3.10/site-packages (from uvicorn[standard]>=0.12.0->fastapi) (12.0)\nRequirement already satisfied: exceptiongroup>=1.0.2 in /opt/conda/lib/python3.10/site-packages (from anyio->httpx>=0.23.0->fastapi) (1.2.0)\nRequirement already satisfied: shellingham>=1.3.0 in /opt/conda/lib/python3.10/site-packages (from typer>=0.12.3->fastapi-cli>=0.0.2->fastapi) (1.5.4)\nRequirement already satisfied: rich>=10.11.0 in /opt/conda/lib/python3.10/site-packages (from typer>=0.12.3->fastapi-cli>=0.0.2->fastapi) (13.7.1)\nRequirement already satisfied: markdown-it-py>=2.2.0 in /opt/conda/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.12.3->fastapi-cli>=0.0.2->fastapi) (3.0.0)\nRequirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/conda/lib/python3.10/site-packages (from rich>=10.11.0->typer>=0.12.3->fastapi-cli>=0.0.2->fastapi) (2.18.0)\nRequirement already satisfied: mdurl~=0.1 in /opt/conda/lib/python3.10/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer>=0.12.3->fastapi-cli>=0.0.2->fastapi) (0.1.2)\n","output_type":"stream"}],"execution_count":51},{"cell_type":"code","source":"from fastapi import FastAPI\nfrom fastapi.middleware.cors import CORSMiddleware\nimport nest_asyncio\nfrom pyngrok import ngrok\nimport uvicorn\nfrom pydantic import BaseModel\nfrom fastapi import HTTPException\nimport datetime","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T22:03:23.859713Z","iopub.execute_input":"2024-12-01T22:03:23.860355Z","iopub.status.idle":"2024-12-01T22:03:23.864449Z","shell.execute_reply.started":"2024-12-01T22:03:23.860321Z","shell.execute_reply":"2024-12-01T22:03:23.863610Z"}},"outputs":[],"execution_count":89},{"cell_type":"code","source":"# FastAPI app setup\napp = FastAPI()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T22:05:19.474035Z","iopub.execute_input":"2024-12-01T22:05:19.474814Z","iopub.status.idle":"2024-12-01T22:05:19.478636Z","shell.execute_reply.started":"2024-12-01T22:05:19.474779Z","shell.execute_reply":"2024-12-01T22:05:19.477743Z"}},"outputs":[],"execution_count":94},{"cell_type":"code","source":"one_user_data = one_user_data.copy()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T22:05:19.847761Z","iopub.execute_input":"2024-12-01T22:05:19.848128Z","iopub.status.idle":"2024-12-01T22:05:19.852645Z","shell.execute_reply.started":"2024-12-01T22:05:19.848098Z","shell.execute_reply":"2024-12-01T22:05:19.851651Z"}},"outputs":[],"execution_count":95},{"cell_type":"code","source":"one_user_data.head()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T22:12:44.049029Z","iopub.execute_input":"2024-12-01T22:12:44.049375Z","iopub.status.idle":"2024-12-01T22:12:44.058054Z","shell.execute_reply.started":"2024-12-01T22:12:44.049345Z","shell.execute_reply":"2024-12-01T22:12:44.057236Z"}},"outputs":[{"execution_count":104,"output_type":"execute_result","data":{"text/plain":" meter_reading difference\ntimestamp \n2017-01-12 00:15:00 2546.0 0\n2017-01-12 00:30:00 2546.0 0\n2017-01-12 00:45:00 2546.0 0\n2017-01-12 01:00:00 2546.0 0\n2017-01-12 01:15:00 2546.0 0","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
meter_readingdifference
timestamp
2017-01-12 00:15:002546.00
2017-01-12 00:30:002546.00
2017-01-12 00:45:002546.00
2017-01-12 01:00:002546.00
2017-01-12 01:15:002546.00
\n
"},"metadata":{}}],"execution_count":104},{"cell_type":"code","source":"# Define the input data model\nclass PredictionRequest(BaseModel):\n days_to_predict: int # Number of days to predict\n\n@app.get(\"/\")\ndef index():\n return {\"message\": \"Welcome to the forecasting API!\"}\n\n@app.post(\"/predict\")\nasync def predict(request: PredictionRequest):\n days_to_predict = request.days_to_predict\n\n # Parameters\n n_timesteps = 10 # Adjust based on the model's training configuration\n\n # Step 1: Extract the last n_timesteps from 'meter_reading'\n last_data = one_user_data['meter_reading'][-n_timesteps:] # Shape: (10,)\n\n # Step 2: Reshape the data for LSTM input\n input_sequence = np.array(last_data).reshape(1, n_timesteps, 1) # Shape: (1, 10, 1)\n\n # Step 3: Extract the last timestamp\n last_timestamp = one_user_data['timestamp'].iloc[-1]\n\n # Generate predictions for the specified number of days\n next_predictions = []\n future_timestamps = [] # List to hold future timestamps\n\n for i in range(days_to_predict):\n next_pred = model.predict(input_sequence)\n next_predictions.append(next_pred[0, 0])\n\n # Update the sequence with the new prediction\n next_pred_reshaped = np.expand_dims(next_pred, axis=-1)\n input_sequence = np.append(input_sequence[:, 1:, :], next_pred_reshaped, axis=1)\n\n # Increment the last timestamp by one day\n future_timestamps.append(last_timestamp + pd.Timedelta(days=i + 1))\n\n # Denormalize predictions (if scaling was applied)\n predictions = scaler.inverse_transform(np.array(next_predictions).reshape(-1, 1))\n\n # Prepare the response\n forecast_data = {\n \"predictions\": predictions.flatten().tolist(),\n \"timestamps\": [timestamp.strftime(\"%Y-%m-%d\") for timestamp in future_timestamps],\n }\n\n return forecast_data","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T22:20:17.790216Z","iopub.status.idle":"2024-12-01T22:20:17.790655Z","shell.execute_reply.started":"2024-12-01T22:20:17.790431Z","shell.execute_reply":"2024-12-01T22:20:17.790454Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Set up the FastAPI app to run on a public URL via ngrok\nport = 8004\nngrok_tunnel = ngrok.connect(port)\nprint(f\"Public URL: {ngrok_tunnel.public_url}\")\n\nnest_asyncio.apply()\nuvicorn.run(app, port=port)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-01T22:20:25.805798Z","iopub.execute_input":"2024-12-01T22:20:25.806181Z"}},"outputs":[{"name":"stdout","text":"Public URL: https://24ae-34-40-149-146.ngrok-free.app\n","output_type":"stream"},{"name":"stderr","text":"INFO: Started server process [30]\nINFO: Waiting for application startup.\nINFO: Application startup complete.\nINFO: Uvicorn running on http://127.0.0.1:8004 (Press CTRL+C to quit)\n","output_type":"stream"},{"name":"stdout","text":"INFO: 160.176.8.200:0 - \"GET / HTTP/1.1\" 200 OK\nINFO: 160.176.8.200:0 - \"GET /favicon.ico HTTP/1.1\" 404 Not Found\nINFO: 160.176.8.200:0 - \"GET / HTTP/1.1\" 200 OK\nINFO: 160.176.8.200:0 - \"GET /docs HTTP/1.1\" 200 OK\nINFO: 160.176.8.200:0 - \"GET /openapi.json HTTP/1.1\" 200 OK\nINFO: 160.176.8.200:0 - \"POST /predict HTTP/1.1\" 500 Internal Server Error\n","output_type":"stream"},{"name":"stderr","text":"ERROR: Exception in ASGI application\nTraceback (most recent call last):\n File \"/opt/conda/lib/python3.10/site-packages/pandas/core/indexes/base.py\", line 3805, in get_loc\n return self._engine.get_loc(casted_key)\n File \"index.pyx\", line 167, in pandas._libs.index.IndexEngine.get_loc\n File \"index.pyx\", line 196, in pandas._libs.index.IndexEngine.get_loc\n File \"pandas/_libs/hashtable_class_helper.pxi\", line 7081, in pandas._libs.hashtable.PyObjectHashTable.get_item\n File \"pandas/_libs/hashtable_class_helper.pxi\", line 7089, in pandas._libs.hashtable.PyObjectHashTable.get_item\nKeyError: 'timestamp'\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/opt/conda/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py\", line 399, in run_asgi\n result = await app( # type: ignore[func-returns-value]\n File \"/opt/conda/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py\", line 70, in __call__\n return await self.app(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/fastapi/applications.py\", line 1054, in __call__\n await super().__call__(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/applications.py\", line 123, in __call__\n await self.middleware_stack(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/middleware/errors.py\", line 186, in __call__\n raise exc\n File \"/opt/conda/lib/python3.10/site-packages/starlette/middleware/errors.py\", line 164, in __call__\n await self.app(scope, receive, _send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/middleware/exceptions.py\", line 65, in __call__\n await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/_exception_handler.py\", line 64, in wrapped_app\n raise exc\n File \"/opt/conda/lib/python3.10/site-packages/starlette/_exception_handler.py\", line 53, in wrapped_app\n await app(scope, receive, sender)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/routing.py\", line 756, in __call__\n await self.middleware_stack(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/routing.py\", line 776, in app\n await route.handle(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/routing.py\", line 297, in handle\n await self.app(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/routing.py\", line 77, in app\n await wrap_app_handling_exceptions(app, request)(scope, receive, send)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/_exception_handler.py\", line 64, in wrapped_app\n raise exc\n File \"/opt/conda/lib/python3.10/site-packages/starlette/_exception_handler.py\", line 53, in wrapped_app\n await app(scope, receive, sender)\n File \"/opt/conda/lib/python3.10/site-packages/starlette/routing.py\", line 72, in app\n response = await func(request)\n File \"/opt/conda/lib/python3.10/site-packages/fastapi/routing.py\", line 278, in app\n raw_response = await run_endpoint_function(\n File \"/opt/conda/lib/python3.10/site-packages/fastapi/routing.py\", line 191, in run_endpoint_function\n return await dependant.call(**values)\n File \"/tmp/ipykernel_30/742843632.py\", line 23, in predict\n last_timestamp = one_user_data['timestamp'].iloc[-1]\n File \"/opt/conda/lib/python3.10/site-packages/pandas/core/frame.py\", line 4102, in __getitem__\n indexer = self.columns.get_loc(key)\n File \"/opt/conda/lib/python3.10/site-packages/pandas/core/indexes/base.py\", line 3812, in get_loc\n raise KeyError(key) from err\nKeyError: 'timestamp'\n","output_type":"stream"}],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]} \ No newline at end of file diff --git a/H2O-NOVA/presentation.pdf b/H2O-NOVA/presentation.pdf new file mode 100755 index 000000000..7a17a6a15 Binary files /dev/null and b/H2O-NOVA/presentation.pdf differ diff --git a/H2O-NOVA/user_app/README.md b/H2O-NOVA/user_app/README.md new file mode 100644 index 000000000..f1590f822 --- /dev/null +++ b/H2O-NOVA/user_app/README.md @@ -0,0 +1,19 @@ +# User App + +## Description + +Streamlit app to track water consumption + +## Installation + +1. **Install requirements:** + ```bash + python -m venv venv + source venv/bin/activate + pip install -r requirements.txt + ``` + +2. **Run the app:** + ```bash + streamlit run app.py + ``` diff --git a/H2O-NOVA/user_app/app.py b/H2O-NOVA/user_app/app.py new file mode 100644 index 000000000..dea8baf9f --- /dev/null +++ b/H2O-NOVA/user_app/app.py @@ -0,0 +1,95 @@ +import altair as alt +import pandas as pd +import streamlit as st + +THRESHOLD = 10 +materials = ['Shower', 'Bathtub', 'Faucet', 'Washing Machine', 'Dishwasher', + 'Water Heater', 'Irrigation System', 'Water Filter', 'Other'] + + +df = pd.read_csv("data/user_data.csv") +df_melted = df.drop(columns=["Price"]).melt("Month", var_name="Category", value_name="Liters") + +user_name = "John Bob" +current_water_usage = df.iloc[-1]['User Water Usage (liters)'] +city_threshold = f"{THRESHOLD} liters" + + +# App layout +st.set_page_config(layout="wide") +st.title("Water Usage") + +# User details +col1, col2 = st.columns(2) +with col1: + st.subheader("User Details") + st.info(f"**First Name:** {user_name.split()[0]}") + st.info(f"**Last Name:** {user_name.split()[1]}") + +with col2: + st.subheader("Last month Water Usage") + st.warning(f"**Water Usage:** {current_water_usage} liters") + st.warning(f"**City Threshold:** {city_threshold}") + + +# Users material +st.subheader("Select Water-Related Materials/Devices") + +if "selected_materials" not in st.session_state: + st.session_state.selected_materials = [] + +# Create checkboxes for each material +cols = st.columns(3) + +for i, material in enumerate(materials): + col_idx = i % 3 + with cols[col_idx]: + if st.checkbox(material, value=(material in st.session_state.selected_materials)): + # Add to session state if selected + if material not in st.session_state.selected_materials: + st.session_state.selected_materials.append(material) + else: + # Remove from session state if unchecked + if material in st.session_state.selected_materials: + st.session_state.selected_materials.remove(material) + +# Plots +col1, col2 = st.columns(2) + +st.header("Track your water usage") + +chart = ( + alt.Chart(df_melted) + .mark_line(point=True) + .encode( + x=alt.X("Month:T", title="Month"), + y=alt.Y("Liters:Q", title="Liters"), + color=alt.Color("Category:N", title="Category"), + tooltip=["Month:T", "Category:N", "Liters:Q"], + ) + .properties( + width=800, + height=400, + title="Water Usage Evolution" + ) + .interactive() +) + +price_chart = ( + alt.Chart(df) + .mark_line(color="red", point=True) + .encode( + x=alt.X("Month:T", title="Month"), + y=alt.Y("Price:Q", title="Price (in MAD)"), + tooltip=["Month:T", "Price:Q"], + ) + .properties( + width=800, + height=200, + title="Monthly Price Paid (MAD)", + ) + .interactive() +) + +st.altair_chart(price_chart, use_container_width=True) +st.altair_chart(chart, use_container_width=True) diff --git a/H2O-NOVA/user_app/constants.py b/H2O-NOVA/user_app/constants.py new file mode 100644 index 000000000..ea4d3015f --- /dev/null +++ b/H2O-NOVA/user_app/constants.py @@ -0,0 +1,2 @@ +DATA_PATH = "data/user_data.csv" +THRESHOLD = 10 diff --git a/H2O-NOVA/user_app/data/user_data.csv b/H2O-NOVA/user_app/data/user_data.csv new file mode 100644 index 000000000..28adde645 --- /dev/null +++ b/H2O-NOVA/user_app/data/user_data.csv @@ -0,0 +1,13 @@ +Month,User Water Usage (liters),City Threshold (liters),Price +2024-01-31,51,60,190.8 +2024-02-29,36,65,175.8 +2024-03-31,67,55,202.14 +2024-04-30,42,60,173.45 +2024-05-31,55,70,193.2 +2024-06-30,73,55,205.45 +2024-07-31,79,65,210.15 +2024-08-31,64,60,200.2 +2024-09-30,46,45,177.8 +2024-10-31,51,50,190.8 +2024-11-30,36,60,175.8 +2024-12-31,21,45,144.8 diff --git a/H2O-NOVA/user_app/data_utils.py b/H2O-NOVA/user_app/data_utils.py new file mode 100644 index 000000000..12dc5688a --- /dev/null +++ b/H2O-NOVA/user_app/data_utils.py @@ -0,0 +1,30 @@ +import calendar + +import pandas as pd +from constants import DATA_PATH, THRESHOLD + + +def update_data(price, water_usage, city_threshold=THRESHOLD): + df = pd.read_csv(DATA_PATH) + # Extract the last row's month (assuming the 'Month' column is in YYYY-MM-DD format) + last_row_date = pd.to_datetime(df['Month'].iloc[-1]) + + # Calculate the next month and handle year change if necessary + next_month = (last_row_date.month % 12) + 1 + next_year = last_row_date.year if next_month != 1 else last_row_date.year + 1 + + _, last_day = calendar.monthrange(next_year, next_month) + next_month_last_day = f"{next_year}-{next_month:02d}-{last_day:02d}" + + next_month_data = pd.DataFrame({ + 'Month': [next_month_last_day], + 'User Water Usage (liters)': [water_usage], + 'City Threshold (liters)': [city_threshold], + 'Price': [price] + }) + + # Concatenate the new row to the existing DataFrame + df = pd.concat([df, next_month_data], ignore_index=True) + df.to_csv(DATA_PATH, index=False) + + return df diff --git a/H2O-NOVA/user_app/extractor.py b/H2O-NOVA/user_app/extractor.py new file mode 100644 index 000000000..03057c055 --- /dev/null +++ b/H2O-NOVA/user_app/extractor.py @@ -0,0 +1,65 @@ +import re + +import pytesseract +from PyPDF2 import PdfReader + +pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract' + + +class PpdExtractor: + @staticmethod + def extract(pdf_path, page_number=2): + reader = PdfReader(pdf_path) + + assert page_number >= 1 or page_number <= len(reader.pages) + + extracted_text = reader.pages[page_number - 1].extract_text() + price_match = re.search(r'Total TTC\s+(\d+,\d+)', extracted_text) + price = None + if price_match: + # Replace the comma with a dot and convert to float + price = float(price_match.group(1).replace(",", ".")) + + water_consumption = re.findall(r'(\d+)\s+Tranche', extracted_text) + if len(water_consumption) == 0: + water_consumption = 0 + + elif len(water_consumption) >= 2: + # Take only the first which corresponds to water consumption, other is for electricity + water_consumption = int(water_consumption[0]) + + return price, water_consumption + + +class ImageExtractor: + def __init__(self, image): + self.width, self.height = image.size + self.image = image + + def extract_water_usage(self, text): + # Extract water usage + try: + water_usage = re.findall(r"\d{2}/\d{2}/\d{4}\s+(\d+)", text.split("Nยฐ")[1])[-1] + water_usage = int(water_usage) + except Exception: + water_usage = None + + return water_usage + + def extract_price(self, text): + # Number that comes after "Sous total TTC" + price = re.search(r"Sous total TTC[:\s]+([\d,]+(?:\.\d{1,2})?)", text) + try: + price = price.group(1) + price = float(price.replace(",", ".")) + except Exception: + price = None + + return price + + def extract(self): + text = pytesseract.image_to_string(self.image) + price = self.extract_price(text) + water_usage = self.extract_water_usage(text) + + return price, water_usage diff --git a/H2O-NOVA/user_app/packages.txt b/H2O-NOVA/user_app/packages.txt new file mode 100644 index 000000000..70620a7a4 --- /dev/null +++ b/H2O-NOVA/user_app/packages.txt @@ -0,0 +1,3 @@ +tesseract-ocr +libtk8.6 +poppler-utils \ No newline at end of file diff --git a/H2O-NOVA/user_app/pages/bot.py b/H2O-NOVA/user_app/pages/bot.py new file mode 100644 index 000000000..d516df8c7 --- /dev/null +++ b/H2O-NOVA/user_app/pages/bot.py @@ -0,0 +1,68 @@ +import time + +import openai +import pandas as pd +import streamlit as st +from constants import DATA_PATH, THRESHOLD + +openai.api_key = "" + +st.title("Ask for Help") + +df = pd.read_csv(DATA_PATH) +last_water_usage = df.iloc[-1]['User Water Usage (liters)'] +if last_water_usage > THRESHOLD: + st.warning(f"Water usage ({last_water_usage} liters) exceeded the threshold " + f"({THRESHOLD} liters). Ask me for suggestions.") + +# Messages for the conversation +if "messages" not in st.session_state: + st.session_state.messages = [] + +# Display previous messages +for message in st.session_state.messages: + with st.chat_message(message["role"]): + st.markdown(message["content"]) + + +def get_chatgpt_response(messages): + """Function to call the OpenAI API and get a response""" + try: + response = openai.Completion.create( + model="gpt-3.5-turbo", # Adjust the model version as needed + messages=messages, + max_tokens=150, + n=1, + stop=None, + temperature=0.7, + ) + return response.choices[0].message['content'] + except Exception as e: + st.error(f"Error calling OpenAI API: {str(e)}") + return "Sorry, there was an issue getting a response. Please try again later." + + +if prompt := st.chat_input("Hi"): + st.session_state.messages.append({"role": "user", "content": prompt}) + with st.chat_message("user"): + st.markdown(prompt) + + # Set up dynamic conversation context + context = [{"role": "system", "content": "You are an assistant providing water-saving tips."}] + + # Add the last water usage and appliances to the context for a more personalized response + context.append( + {"role": "user", "content": f"My last water usage was {last_water_usage} liters, and my threshold is {THRESHOLD} liters. " + f"I have the following appliances: shower, washing machine, bathtub, and dishwasher."} + ) + + response = get_chatgpt_response(context) + + # Stream the response character by character with a delay + stream = [word + " " for word in response.split()] + for word in stream: + time.sleep(0.1) + st.write(word, end="") + + # Append the assistant's response to the conversation + st.session_state.messages.append({"role": "assistant", "content": response}) diff --git a/H2O-NOVA/user_app/pages/file.py b/H2O-NOVA/user_app/pages/file.py new file mode 100644 index 000000000..698465f33 --- /dev/null +++ b/H2O-NOVA/user_app/pages/file.py @@ -0,0 +1,37 @@ +import time + +import streamlit as st +from constants import THRESHOLD +from data_utils import update_data +from extractor import PpdExtractor +from pdf2image import convert_from_bytes + +st.title("File Uploader") + +# File upload widget +uploaded_file = st.file_uploader("Choose a file", type=["pdf"]) + +if uploaded_file: + # Display file name + st.write(f"Uploaded file: {uploaded_file.name}") + + assert uploaded_file.name.endswith('.pdf') + price, water_consumption = PpdExtractor.extract(uploaded_file) + + # Display the results + st.write("### Extraction Results:") + st.write(f"- **Price (Total TTC):** {price} MAD") + st.write(f"- **Water Consumption:** {water_consumption} mยณ") + + update_data(price, water_consumption, city_threshold=40) + st.success("Data updated") + + if water_consumption > 5: + st.warning(f"Water usage ({water_consumption} liters) exceeded the threshold " + f"({THRESHOLD} liters). Redirecting to talk to the chatbot.") + time.sleep(3) + st.switch_page("pages/bot.py") + + st.subheader("Your bill") + pdf_images = convert_from_bytes(uploaded_file.read()) + st.image(pdf_images[1], caption="Page 2", use_container_width=True) diff --git a/H2O-NOVA/user_app/pages/scan.py b/H2O-NOVA/user_app/pages/scan.py new file mode 100644 index 000000000..25d8e55fb --- /dev/null +++ b/H2O-NOVA/user_app/pages/scan.py @@ -0,0 +1,34 @@ +import io + +import streamlit as st +from data_utils import update_data +from extractor import ImageExtractor +from PIL import Image + +st.set_page_config(page_title="Scan your water bill", page_icon="๐Ÿ“ธ", layout="wide") + +st.title("Scan your water bill") + +captured_image = st.camera_input("Please capture only the part related to water") + +if captured_image is not None: + image = Image.open(io.BytesIO(captured_image.getvalue())) + # image = Image.open("water_bill_maroc.jpg") + st.image(image, use_container_width=True) + + # OCR + with st.spinner("Extracting text..."): + extractor = ImageExtractor(image) + price, water_usage = extractor.extract() + if price is None or water_usage is None: + st.warning( + """ + ### โš ๏ธ Alert + Could not extract price or water usage. Please retake the photo. + """ + ) + st.stop() + + update_data(price, water_usage, city_threshold=30) + + st.success("Data updated") diff --git a/H2O-NOVA/user_app/requirements.txt b/H2O-NOVA/user_app/requirements.txt new file mode 100644 index 000000000..7b175594d --- /dev/null +++ b/H2O-NOVA/user_app/requirements.txt @@ -0,0 +1,45 @@ +altair==5.5.0 +attrs==24.2.0 +blinker==1.9.0 +cachetools==5.5.0 +certifi==2024.8.30 +charset-normalizer==3.4.0 +click==8.1.7 +gitdb==4.0.11 +GitPython==3.1.43 +idna==3.10 +Jinja2==3.1.4 +jsonschema==4.23.0 +jsonschema-specifications==2024.10.1 +markdown-it-py==3.0.0 +MarkupSafe==3.0.2 +mdurl==0.1.2 +narwhals==1.14.3 +numpy==2.1.3 +packaging==24.2 +pandas==2.2.3 +pdf2image==1.17.0 +pillow==11.0.0 +protobuf==5.29.0 +pyarrow==18.1.0 +pydeck==0.9.1 +Pygments==2.18.0 +PyPDF2==3.0.1 +pytesseract==0.3.13 +python-dateutil==2.9.0.post0 +pytz==2024.2 +referencing==0.35.1 +requests==2.32.3 +rich==13.9.4 +rpds-py==0.21.0 +six==1.16.0 +smmap==5.0.1 +streamlit==1.40.2 +tenacity==9.0.0 +toml==0.10.2 +tornado==6.4.2 +typing_extensions==4.12.2 +tzdata==2024.2 +urllib3==2.2.3 +watchdog==6.0.0 +openai