- Streamlit Dashboard
- Application Overview
- Application Architecture
- How to Use Application
- Github Folder Structure
- Running Locally
Live Application: Streamlit Dashboard
PJM is a regional transmission organization (RTO) that manages transmission of electricity for 21 utilities in mid-Atlantic and mid-west states of the US. Each utility in PJM’s territory comprises its own transmission zone. PJM and its member utilities use load forecasts to allocate capacity efficiently, affordably, safely, and reliably. Accurate load forecasting is integral to maintaining a positive reputation with customers, preventing litigation issues, and keeping unexpected/emergency costs down. This visualization tool allows users to interact with the load forecasts. It automatically pulls in weather forecasts to engineer the predictor variables that feed into the final XGBoost models to predict load. The tool is built in Streamlit and utilitizes Folium for mapping and Plotly for interactivity.
- Open application - Streamlit Dashboard
- Select a date parameter to see predictions for that time - will default to current date
- Select one or more zones to see specific areas - will default to all zones
- Note: you can also click the circle on the map to select a specific zone
- Select a specific hour to see system load - will update real time load on graph
- Hover over each zone to view peak load and other factors that may contribute to this load
├── PJM Load Forecast Visualizer.twb ## code to build streamlit application
├── forecastPJMLoad.py ## code to generate new forecast with model
├── load_streamlit.py ## code to load streamlit application
├── model_neuralprophet.py ## Legacy
├── model_np.py ## Legacy
├── model_prophet.py ## Legacy
├── model_xgb.py ## xg boost model code
├── Data ## data used as input to model
├── Legacy ## EDA and Model Discovery
├── images ## images for README
├── models ## model files for each zone
├── output ## output of model used for visualization
├── README.md
├── requirements.txt ## packages required to run application locally
└── .gitignore
- Install dependencies
pip install -r requirements.txt
- Run
streamlit run load_streamlit.py
Now you can view the App locally: http://localhost:8501/