/CAISO-wind-prediction

California ISO Wind Energy Prediction Using LSTM.

Primary LanguageJupyter NotebookOtherNOASSERTION

California ISO Wind Power Generation Prediction

Project Description

The California Independent System Operator (CAISO) is a non-profit Independent System Operator (ISO) serving California. It oversees the operation of California’s bulk electric power system, transmission lines, and electricity market generated and transmitted by its member utilities. CAISO is one of the largest ISOs in the world, delivering 300 million megawatt-hours of electricity each year and managing about 80% of California's electric flow.

This project involves predicting the power generated by wind plants in the SP15 Hub of the ISO.

Part 1: Data Scraping

Scrap actual and forecasted wind generation data from 2024-03-16 onwards. The provided files only contain data up to 2024-03-15. The final goal is to predict the power generation by wind plants on 2024-04-09.

  1. Visit CAISO OASIS
  2. Navigate to SYSTEM DEMAND -> Wind and Solar Forecast
  3. Input dates from 2024-03-16 onwards and click apply to view the most recent data
  4. Download the CSV files and reference the following columns:
    • OPR_DT: Equivalent to DATE
    • OPR_HR: Equivalent to HE
    • TRADING_HUB: Keep only TRADING_HUB == SP15
    • RENEWABLE_TYPE: Keep only RENEWABLE_TYPE == Wind
    • MW
    • MARKET_RUN_ID: Use categories DAM (forecasted) and ACTUAL (realized)

Part 2: Wind Power Prediction

Predict actual power generation by wind plants of SP15 hub on 2024-04-09 using LSTM models built on Python, Pytorch, numpy, Pandas and scikit-learn

Initial setup

1. Clone the Repository

To get started, clone this repository to your local machine using the following command:

git clone https://github.com/tranhlok/market-forecaster.git

cd market-forecaster

2. Set Up a Virtual Environment (optional but recommended)

Create a new virtual environment by running:

python -m venv venv

OR

python3 -m venv venv

Activate the virtual environment:

  • On Windows:

    .\venv\Scripts\activate

  • On macOS and Linux:

    source venv/bin/activate

3. Install Dependencies

Install the required Python packages with pip:

pip install -r requirements.txt

Instructions

Please run the jupyter notebooks based on the following order:

    1. web-scraping.ipynb
    1. data_processing.ipynb
    1. visualization.ipynb
    1. wind_sp15_prediction.ipynb

Project Organization

├── README.md          
├── data               <- data folder
├── models             <- Trained and serialized models, model 
|                         predictions, or model summaries
├── notebooks          <- notebooks folder
    ├── 1. par1_web_scraping.ipynb
    ├── 2. data_processing.ipynb
    ├── 3. visualization.ipynb
    ├── 4. part2_wind_sp15_prediction.ipynb 
├── requirement.txt

Resources


 (                                     
 )\ )             *   )                
(()/(           ` )  /((      )        
 /(_)) (    (    ( )(_))(  ( /(  (     
(_))   )\   )\  (_(_()|()\ )(_)) )\ )  
| |   ((_) ((_) |_   _|((_|(_)_ _(_/(  
| |__/ _ \/ _|    | | | '_/ _` | ' \)) 
|____\___/\__|    |_| |_| \__,_|_||_|