Predicting the future
[scikit-learn] [bokeh] [Azure Databricks] [Python]
Imagine getting an organized view of all the various error messages that could ultimately make your car break down half-way on a long road trip. Wouldn’t you want to fix it before it failed?
Now you might be able to do that - if your car is a wind turbine. We might be stretching the analogy a bit but the concept is the same. With help from Software Innovation (SI), the guys in the digitalization department of Equinor’s New Energy Solutions (NES) business area are developing a dashboard tool to help predict the future.
“It would be of great value to us if we can use machine learning to go back in time and look at the error message history, recognize patterns that lead to a wind turbine failure and then prevent them from happening,” Nenad Keseric tells us.
He’s the product owner for NES’ digital platform and the leader of their data science team, so naturally Nenad is working together with SI to create this new future-telling tool. With all of Equinor’s wind farms being located many miles out at sea, it’s not always easy to head on out to fix a turbine failure.
It's getting windy in the cloud
Our wind turbines are equipped with thousands of sensors (1), which all gather data. These data are now being uploaded into the cloud (2), which makes it easier to access and share the data (2a) - or create new tools (2b).
Tackling a challenge
The collaboration between Software Innovation and NES began when they wanted to upload data from their wind turbines into the cloud. This let them access and share data more easily, but NES also wanted to see what this data could offer them.
“We were tasked with making all this data available in the cloud, but we also came up with suggestions on what the data could be used for together with NES,” Marita Midthaug explains.
Together with Vidar Slåtten, Thomas H. Thoresen, Anton Eskov and Thibaut Forest, Marita is part of Software Innovation’s Green Team currently working on the project. Uploading data is still an ongoing project, but while some are focusing on uploading data, Thibaut and Thomas are working on the alarm predictions tool.
During the last months of 2018 they spent a few agile sprints, each spanning two weeks, hoping to build an initial working version of the alarm prediction dashboard.
Scrum sprints
- A Sprint is a short, time-boxed period when a Scrum team works to complete a set amount of work
- Scrum is an agile management framework
- Sprints divide complex projects into bite sized pieces
- Allowing teams to ship high-quality work faster and more frequently
- Sprints give teams more flexibility to adapt to change
- During a sprint, daily stand ups are held to discuss problems and issues
- At the end of the sprint the results are presented and evaluated
Training a model through history
The tool doesn’t predict when the failure happens, but helps predict the alarms that could possibly lead to a failure. Imagine a tool that looks at all the flashing warning signals in your car and helps tell you which ones can ultimately avoid a costly trip to a mechanic.
“We’ve trained the model using historical data. When it learns the patterns that lead to a failure, we can use this knowledge to get predictions in real time. This means we’ll be feeding it with the same data from the same sensors but doing it as they happen,” Thomas Thoresen explains.
One of the wind farms has data available for the last three years. Thomas and Thibaut trained the network using data from 2,5 years, then used the 6-months left of data to run a test.
“This is quite a good way of validating our data. Our tests show that it predicts new alarms quite well in “real time”. The next step is finding the balance between detecting as many failures as possible without generating too many false alarms,” Thomas says.
The dynamic duo
Thomas and Thibaut are quite the team and often work together through pair programming. Simply put, one of them watches the other code.
“It means that both of us get an understanding of all of the code, but I also think we create better solutions. The “spectator” can see if there are any errors or come up with suggestions to the code that the coder might not think about,” Thomas explains.
They usually only work in pair programming while developing the code and not when doing routine work.
“You might think pair programming would take twice as long but I think we save time by creating better solutions with fewer bugs. It’s also easier for both of us to continue working on the code when we know it as well as we do."
Thomas H. Thoresen
His pair programming pal Thibaut works in NES and tells us it’s like a dream come true to sit down with developers and work on new technology.
“We’re only 4 people in the team, but it’s really good to work together with them – and struggle with them. There’s been some challenges, but it’s in the tough times you can see if your team is good or not,” Thibaut laughs.
Wondering what it looks like when Thibaut and Thomas do a little bit of pair programming? Then watch this! (Video: Torstein Lund Eik)
Visualization is the way to go
Like most software development it’s not all sunshine and rainbows. Now, the team is in the middle of the agile sprint creating a newer version of the dashboard using Microsoft Power BI. While the team understands how the alarm predictions all work, it can be a challenge to communicate it to the operators, Thomas explains.
“To imagine that it can “predict the future” can be a little difficult if the traditional understanding is that these failures simply just happen. Then it’s our job to show how it all works and show them that it can be trusted,” he says.
He hopes to achieve this by explaining how the machine learning network works and that they’ve trained it using years of data. This will help the end user to get an intuitive relationship with it all.
“I think the way to do it is through good visualizations and by not removing information from the dashboard. We’re also working on a way to explain how the network is trained easily, so we can build trust and understanding of the tool,” Thomas explains.
Massive potential
After showing a minimum viable product (MVP), featuring basic usability and function, they’ve received solid feedback from their users at Dudgeon. Their suggestion was to focus on the big components of the wind turbines such as gear boxes or generators, product owner Nenad Keseric tells us.
“These gearboxes cost between 12 and 20 million NOK each and we have 88 turbines at Sheringham alone. Being able to predict failure on even a single one of them is an incredible potential,” he says.
He says that the machine learning algorithm works great as it is now and the next thing is to apply a larger data set and adapt it to bigger components.
Did you know...
That our wind farms and turbines have more than 80 000 sensors?
Getting in a predictive mode where we know what’s going to happen before it happens is alpha and omega – especially within renewable energy, Nenad explains
“The future is predicting these failures through an algorithm and thus getting a data driven operation. Then we won't need our operators checking these things manually."
Nenad Keseric
It’ll be interesting to see what the winds bring us, but we’ll be sure to keep you updated! Make sure you’re subscribed to the newsletter below and you’ll get a notification as soon as there’s new stories to be read.
Want to stay updated on Loop?
People
Marita Midthaug
Nenad Keseric
Thomas H. Thoresen
Thibaut Forest
Vidar Slåtten
Anton Eskov