Wind Turbine Fault Detection Using XGBoost & Random Forests

Version 1.0.0 (4.5 MB) by Yulin Si
NREL 5MW wind turbine simulink model based on FASTv8 and relevant machine learning algorithms implemented in Python for fault detection
1.4K Downloads
Updated 29 Apr 2019

View License

Please cite the following reference in your future publications.

Zhang, D., Qian, L., Mao, B., Huang, C., Huang, B., & Si, Y. (2018). A data-driven design for fault detection of wind turbines using random forests and xgboost. IEEE Access, 6, 21020-21031.

######################################################################
###Wind Turbine Fault Detection Using XGBoost, Random Forests and SVM###
######################################################################

Zhejiang Uniersity, Ocean Energy Lab, Insititute of Ocean Engineering and Technology

Yulin. Si
Mail:Yulinsi@zju.edu.cn

Liyang. Qian.
Mail:spectrum@zju.edu.cn

########################################################################

Directories:

.../FAST_V8/CertTest -- FAST input files (Read the FAST user's guide before use)

.../FAST_V8/Simulink/XGB_TreeModels -- XGBoost dump models
.../FAST_V8/Simulink/FaultDetection.mdl -- FD process simulink models (FAST V8 & MATLAB 2015b X86)
.../FAST_V8/Simulink/FDIBenchMarkData.m -- Simulation parameters setting
.../FAST_V8/Simulink/mat2data.m -- Transfer .mat data to .csv data
.../FAST_V8/Simulink/run.m -- Run the simulation (Note to set the path and name of .fst file)

.../Python/RF_XGBoost_Training.py -- Training and predicting with RF, XGBoost and SVM (Installed libraries first)
.../Python/Dump_XGBoost_Model.py -- Select features with RF and predict using XGBoost, classifier dumped as .txt file

########################################################################

How to observe the FD results:

1)Make sure how to run a FAST-Simulink combined model

2)Set parameters correctly and run 'run.m'

3)Results in scopes (FaultDetection/Fault Detection Subsystem/...)

########################################################################

How to save simulation data, train model and test model:

1)Make sure how to run a FAST-Simulink combined model

2)Set parameters correctly

3)Change one of the 'Terminator module' to 'To File' module. i.e. FaultDetection/Fault Detection Subsystem/claasification fault 2/Terminator2

4)Run 'run.m' and get a .mat file. Name it 'sensordata.mat'.

5)Run 'mat2data.m'. Transfer it to a CSV file. Prepare a training set and a testing set. Name them 'testdata.csv' and 'traindata.csv'

4)Run the 'RF_XGBoost_Training.py' in python 3.6. Note that you need install necessary py library in advance. They are sklearn, pylab, numpy, pandas, xgboost, scipy. 'Dump_XGBoost_Model.py' give a dump file of XGB and you can apply it in simulink model.

Cite As

Yulin Si (2024). Wind Turbine Fault Detection Using XGBoost & Random Forests (https://www.mathworks.com/matlabcentral/fileexchange/71395-wind-turbine-fault-detection-using-xgboost-random-forests), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Wind Power in Help Center and MATLAB Answers
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

WindTurbineFaultDetection/FAST_V8/CertTest

WindTurbineFaultDetection/FAST_V8/Simulink

WindTurbineFaultDetection/FAST_V8/Simulink

Version Published Release Notes
1.0.0