Improving performance of a Combined Cycle Power Plant (CCP)using Explainable AI
Introduction
Improving the interpretability of an innovative solution can lead to better adoption rates and ultimately yield positive results. For instance, let’s say you want to predict the power output of a power plant or analyze the specific factors that contribute to the power consumption of a machine. After applying a model to the logged data, you receive a prediction. However, it’s important to understand why the model predicted in a certain way. Wouldn’t it be helpful to know how much each feature contributed to the prediction? That’s where Explainable AI comes in handy, and Shapley is just one method of achieving this. With Shapley, you can visualize the contribution of each feature to the prediction. Feature in Industrial set-up refers to various instruments installed in field to provide values of process parameters vital for the operation of machine.
In this blog i will explain how concepts of Explainable AI using SHAP values can be applied to the data of a Combined Cycle Power Plant (CCP).
Brief About Operations in a Combined Cycle Power Plant
A combined cycle power plant (CCPP) is a type of power generation plant that uses both gas and steam turbines to generate electricity. The basic idea behind a CCPP is to increase the efficiency of power generation by utilizing the waste heat from a gas turbine to produce steam, which then drives a steam turbine to produce additional electricity.
The process of a combined cycle power plant can be explained in the following steps:
- Air is drawn into a gas turbine where it is compressed and mixed with natural gas.
- The mixture is then ignited, creating a high-pressure stream of hot gas that drives the gas turbine’s blades, which in turn drives an electrical generator.
- The exhaust from the gas turbine is then used to produce steam by passing through a heat recovery steam generator (HRSG).
- The steam produced by the HRSG is then used to drive a steam turbine, which also drives an electrical generator.
- The electrical output from both the gas and steam turbines is combined to generate the plant’s total electrical output.
Combined cycle power plants are highly efficient and can achieve thermal efficiencies of up to 60%, compared to about 35% for a traditional gas turbine power plant. This increased efficiency makes combined cycle power plants a popular choice for electricity generation in many parts of the world.
About Explainable AI
Explainable AI (XAI) refers to the development of artificial intelligence (AI) systems that can be easily understood and interpreted by humans. The goal of XAI is to create AI systems that can provide clear explanations of their decision-making processes, so that humans can understand how and why they arrived at a particular decision.
Detailed about Explainable AI can be read from my previous article.
What are Shapley Values?
Shapley values are a concept from cooperative game theory that aims to quantify the contribution of each player in a game to a particular outcome or payoff. The concept is named after the economist Lloyd Shapley, who developed it in the early 1950s.
The idea behind Shapley values is to determine how much each player adds to the total payoff of the group, taking into account the unique contributions of each player. The Shapley value is calculated by considering all possible ways of forming coalitions between the players and averaging the marginal contributions of each player over all possible coalitions.
In simpler terms, the Shapley value of a player is the average of the player’s marginal contributions to all possible coalitions that include the player, weighted by the number of ways the coalition could have formed without the player.
Shapley values have a wide range of applications in economics, including in the analysis of voting systems, the distribution of profits in a business partnership, and the allocation of resources in a market.
They are also used in machine learning and artificial intelligence to explain the contributions of individual features or variables to the outcome of a model or algorithm.
About CCP Dataset
We are having a dataset containing logged vital parameters of a Combined Cycle Power Plant. Parameters are :
- AT : Atmospheric Temperature
- V: Steam Turbine Exhaust Pressure
- AP: Atmospheric Pressure
- RH: Relative Humidity
- Power Produced by Plant
The dataset contains 9568 data points collected from a Combined Cycle Power Plant over 6 years (2006–2011), when the power plant was set to work with full load. You can find data here
Step by Step Implementation of Explainable AI Concepts on CCP dataset using SHAP Values
Step 1 : Loading the data set
dataset = pd.read_excel('Folds5x2_pp.xlsx')
Step 2: Description about Dataset
- Features are : AT is Atmospheric Temperature ,V is Exhaust Vacuum Pressure of Steam Turbine,AP is Atmospheric Pressure,RH is Relative Humidity
- Target Variable: PE is Power Output
Step 3: Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
Step 4 : Standardisation of Input Features
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# Performing scaling of variable is important to reach to glabal minumum point at an earliest.
Step 5 : Deploying Random Forest Model
# First we build and train our Random Forest Model
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(max_depth=15, random_state=42, n_estimators = 60).fit(X_train, y_train)
Step 6 : Using SHAPLEY Values
# Installing Shapash Library
!pip install shapash
!pip install shapash --user
Step 7 : Using Kernel Explainer
explainer=shap.KernelExplainer(rf.predict,X_test)
- The KernelExplainer builds a weighted linear regression by using your data, your predictions, and whatever function that predicts the predicted values. It computes the variable importance values based on the Shapley values from game theory, and the coefficients from a local linear regression.
- The function KernelExplainer() below performs a local regression by taking the prediction method rf.predict and the data that you want to perform the SHAP values.
Step 8 : Local Interpretability Plots
- Local interpretability — each observation gets its own set of SHAP values (see the individual force plots below). This greatly increases its transparency. We can explain why a case receives its prediction and the contributions of the predictors. Traditional variable importance algorithms only show the results across the entire population but not in each case. The local interpretability enables us to pinpoint and contrast the impacts of the factors
# Local Interpretability
instance=X_test.loc[[19]]
shap_instance=explainer.shap_values(instance)
shap.initjs()
Individual Force Plot
Plot for each observation called the force plot.It shows value of each feature for particular sample.
shap.force_plot(explainer.expected_value,shap_instance,instance)
- 431.84 in bold is output value or prediction for the sample
- “the value that would be predicted if we did not know any features for the current output.” In other words, it is the mean prediction, or mean(yhat).
- Base value 454.6 is mean value for the prediction
- Feature in blue pushes the target to left or decreases the target variable. Here for example increase in AT decreases the target variable/power output.
- Feature in red increases the target output variable
Plots Depicting Global Interpretability
Summary Plot
# Global Interpretability
explainer=shap.TreeExplainer(rf)
shap_values=explainer.shap_values(X_test)
shap.summary_plot(shap_values,X_test,max_display=5)
- Summary plot shows the positive and negative relationships of the predictors with the target variable..
- AT increases, the impacts of predictor on model outpute (Target Variable) decreases.
Dependency Plot
- It shows the marginal effect that one or two variables have on the predicted outcome. It tells whether the relationship between the target and the variable is linear, monotonic, or more complex.
- SHAP Value is higher for lower temperature.This plot also shows feature which is strongly correlated with AT.
- Here we can see that as RH increases the shap value for AT increases.
Key Actionable Inferences derived from using Explainable AI through Shapley Values
- Increase in Ambient Air temperature (AT) decreases the performance a Power Plant.Their is inverse relationship between the both.
Technical Explanation :
Effect over performance of Gas Turine in CCP
The efficiency of the gas turbine is affected by the temperature of the air entering the combustion chamber. Higher ambient air temperatures can reduce the mass flow rate of air through the turbine, which reduces the amount of power that can be generated.
Effect over performance of Steam Turbine in CCP
Additionally, the temperature of the cooling water used in the heat recovery steam generator (HRSG) can be affected by the ambient air temperature. Higher ambient air temperatures can lead to higher cooling water temperatures, which can reduce the efficiency of the steam turbine. This is because the steam turbine is designed to operate with a certain temperature difference between the steam and the cooling water, and if the cooling water temperature increases, the temperature difference decreases, reducing the efficiency of the turbine.
Insight # 1 for Predictive Maintenance
To mitigate the effects of ambient temperature on CCPP performance, several methods can be employed, such as evaporative cooling, inlet air fogging, and thermal energy storage. Evaporative cooling involves spraying water into the air inlet of the gas turbine, reducing the air temperature and increasing the mass flow rate. Inlet air fogging involves injecting a fine mist of water into the air inlet, which cools the air and increases the mass flow rate. Thermal energy storage involves storing excess thermal energy during periods of low demand and using it to preheat the air or water used in the CCPP during periods of high demand.
2. Increase in Relative Humidity of air (RH) decreases the performance a Power Plant.Their is inverse relationship between the both.
Technical Explanation :
Effect over performance of Gas Turine in CCP
High relative humidity can reduce the performance of the gas turbine in a CCPP in two main ways. Firstly, the water vapor in the air reduces the mass flow rate of air through the turbine, thereby reducing its power output. Secondly, the moisture in the air can corrode the turbine blades, reducing their lifespan and efficiency.
Effect over performance of Steam Turbine in CCP
The impact of relative humidity on the performance of the HRSG is less significant compared to that on the gas turbine. However, high relative humidity can reduce the efficiency of heat transfer in the HRSG, as the moisture in the air can condense on the heat transfer surfaces and reduce the effectiveness of the heat transfer. This reduction in efficiency can reduce the power output of the steam turbine and overall performance of the CCPP.
Insight # 2 for Predictive Maintenance
To mitigate the impact of high relative humidity on the gas turbine, the air entering the turbine can be dried using an air dryer. The air dryer removes moisture from the air, increasing the mass flow rate of the air and preventing corrosion of the turbine blades.
To mitigate the impact of high relative humidity on the HRSG, several measures can be taken, such as increasing the surface area of the heat transfer surfaces, improving the insulation of the HRSG to reduce heat loss, and using a dehumidifier to remove moisture from the air before it enters the HRSG.
3. Increase in vacuum pressure (VP) decreases the performance a Power Plant.Their is inverse relationship between the both.
The vacuum pressure is the pressure maintained inside the condenser by the vacuum pump, which condenses the steam from the steam turbine back into water for reuse.
Technical Explanation
Effect over performance of Gas Turine in CCP
The performance of the gas turbine can also be affected by the vacuum pressure in the CCPP. The gas turbine’s power output depends on the mass flow rate of air through the turbine, which is affected by the pressure drop across the compressor. A lower vacuum pressure in the condenser can reduce the pressure drop across the compressor, which reduces the mass flow rate of air and power output of the gas turbine.
Effect over performance of Steam Turbine in CCP
A lower vacuum pressure in the condenser increases the saturation temperature of the steam, which reduces the temperature difference between the steam and the cooling water in the condenser. This reduces the efficiency of heat transfer from the steam to the cooling water, reducing the power output of the steam turbine.
Insight # 3 for Predictive Maintenance
To maintain an optimum vacuum pressure in the condenser, several measures can be taken. Firstly, the cooling water temperature should be kept as low as possible to maintain a high temperature difference between the steam and the cooling water in the condenser. Secondly, the vacuum pump should be properly maintained to ensure its efficiency and performance. Thirdly, air leaks into the condenser should be minimized to prevent the ingress of non-condensable gases, which can increase the pressure and reduce the vacuum.
Conclusion
In this article, we explored the fascinating world of Explainable AI (XAI) and how it can revolutionize the monitoring and control of Combined Cycle Power Plants (CCP). The beauty of XAI lies in its self-explanatory nature, making it easy for stakeholders to comprehend the complex workings of the “Black Box of ML” and maximize its benefits. What’s more, this concept is so versatile and scalable that it can be applied to any type and complexity of assets in an industrial setting. So, whether you are an industry professional or an enthusiast, join us on this journey of discovery to unlock the full potential of XAI. And, if you want to learn more, feel free to reach out to me on LinkedIn.
Keep Learning.Keep growing.Keep on trying to make things better then present.
You can contact me via my Linkedin.
Loved reading the article? Become a Medium member to continue learning without limits. I’ll receive a small portion of your membership fee if you use the following link, with no extra cost to you.