Wind Power

Renewable energy such as wind power depends on weather systems that may not be synchronized with demand profiles. Wind and solar power is not dispatchable, meaning that generation depends on external environmental conditions that may be highly variable. It is important to know the expected power production from renewable energy so that backup power generation or energy storage can provide any shortfall between generation and demand.

Dispatchable power sources can be turned on by the grid operators. These include fast dispatchable power such as hydroelectric plants that can reach full output in less than a minute. Base-load nuclear plants require require hours or days to cycle off and then back on. Natural gas plants can reach full capacity within minutes. As the fraction of renewable power generation increases, it is important to know the anticipated power generation so that dispatchable sources can be scheduled to start when there is an increase in power demand or sudden decrease in renewable generation.

Objective: Develop a prediction of the wind power (kW) from prior wind speed (m/s), prior wind direction (degrees), and prior wind power (kW). Rank the most important factors from most important to least important. Randomly select values that split the data into a train (80%) and test (20%) set. Take two approaches. In the first approach, use Gradient Boosting (XGBoost) and a Neural Network (Deep Learning). Use a single row of measurements to predict the wind power 10 minutes ahead. In the second approach, use a Recurrent Neural Network (LSTM). Use a window of 60 minutes of prior data to predict the wind power 10 minutes ahead. Discuss the performance of each with the Mean Absolute Error (MAE) for predicting wind power in the training and test set. Submit source code and a summary memo (max 2 pages) of your results.

Regression: Use 3 regression methods. Regression methods are:

Data: Data for a 3.6 MW wind turbine in Turkey is available for 1 year in 10 minute intervals.

import pandas as pd
url = 'http://apmonitor.com/pds/uploads/Main/wind.txt'
data = pd.read_csv(url)
data.head()
DataDescription
TimeTimestamp of the measurements taken every 10 minutes for 1 year
DirectionAngle of the wind turbine in degrees
SpeedWind speed in meters/sec
PowerElectrical power produced by the wind turbine (3600 kW max)

The data set has bad data so data visualization and exploration are needed to first cleanse the data set. There are time periods where the wind turbine produces no power because of scheduled maintenance or inspection.

The TCLab Data Science modules 2-6 (Import, Analyze, Visualize, Prepare Data, Regression) are available as a template for analyzing and performing the regression. There are visualization and analysis notebooks on Kaggle such as Wind Power Curve Modeling that give additional insight on wind power predictions.

References

Solutions