Equinor has developed and open-sourced a library to combine cybernetics and machine learning ideas
steinelg
362 views
24 slides
Sep 25, 2024
Slide 1 of 24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
About This Presentation
Presentation for Instutite of Cybernetics at NTNU
2024.09.24
https://github.com/equinor/timeseriesanalysis
Size: 3.43 MB
Language: en
Added: Sep 25, 2024
Slides: 24 pages
Slide Content
Equinor has developed and open-sourced a library to combine cybernetics with machine learning ideas Steinar Elgsæter 2024.09.24 Presentation at NTNU Institute of Engineering Cybernetics github.com/ equinor / timeseriesanalysis
Unique selling points tailored for “as is” O&G real-world data sets that are often sparse in information “control” approach to time-series modeling inspired by Model-Predictive Control(MPC) invite open collaboration (vendors, academia, other energy companies) modelling library open-source https://github.com/equinor/timeseriesanalysis 2 | models numerically robust millisecond fast dynamic representative of the past «advanced analytics» automate analysis numerical optimization «what if» on-the-fly models behind your dashboards understandable enables
Background: Control engineers in industry are under pressure to dramatically improve the way we work: Increase efficiency, modernize, learn from other domains like data science and machine learning Control engineering requires a purpose- built «data-science» library : ARX, dynamics / time- constants , PID, feedback, disturbance , identifiability , graph models . Library Based on classical system identification , but inspired by modern machine learning ideas ARX, graphs , linear regression , grey-box , PID- models , feedback loops Some unique features : automated structure selection , disturbance signal estimation . Suitable for industrial use ( high numerical reliability and code stability , unit testing, documented ) 3 | github.com/equinor/timeseriesanalysis github.com/ equinor / timeseriesanalysis
Why open-source ? What’s in it for us ? General Removing obstacles to collaboration Getting farther by working together as a community - increase the possibility of innovation Prevent vendor lock -in « Freedom to operate » Publishing as an «IPR» strategy Read more: opensource.equinor.com 4 | github.com/equinor/timeseriesanalysis For this library specifically Create a benchmark for IT-driven initatives in the cybernetics space SAS vendors integration ?
Using the library - What’s in it for you ? Get inspired : read the code and documentation , learn and borrow with pride Compare : Use as a reference to compare your method against (in papers ?) Re- cycle : to reduce time to re- implement boilerplate code make synthetic datasets for your algorithm ? testing your method on a simulator? Share : illustrate your idea with the use of the library , pushing your ideas as a «fork» to this code makes it easier to disseminate ideas to others Extend : get more time to focus on higher-level ideas by building on top of the library Replace : use the library as a stand-in for commerical tools for practical reasons ( price , interface , sharing , robustness , speed) 5 | github.com/ equinor / timeseriesanalysis
Part1: Pitch 8min
What is « advanced analytics »? - google maps analogy Level Travel analogy Information provided / Value 1 Mapbook «as- built » 2 Traffic app « current » + «as built » 3 Google maps « actionable insights » equivalent Process simulator «Digital twin » «Advanced analytics » 7 | github.com/equinor/timeseriesanalysis
4 Key traits of « advanced analytics » Advanced analytics : Aims to understand relationships between factors Starting from small then building to large Gives actionable insights through forecasts or estimates Analysis is autonomous or semi-autonomous 8 | github.com/equinor/timeseriesanalysis
First use -case: maintenance of feedback control loops (PID) 2. Understanding relationships between factors Actionable suggestions 1. Starting from small 3. Actionable insights through automated forecasts or estimates (ranking) F orecasts and estimates 9 | github.com/equinor/timeseriesanalysis
Part 2: why ? - what it is and how it fits 15min
“advanced analytics” definition "Advanced analytics is the autonomous or semi-autonomous examination of data or content using sophisticated techniques and tools, typically, beyond those of traditional business intelligence (BI), to discover deeper insights , make predictions , or generate recommendations . Imitate Summarize Prioritze One of 17 emerging technologies fften referred to as «Industry 4.0» 11 | github.com/equinor/timeseriesanalysis
Advanced analytics Full scale full fidelity dynamic training simulator what in-house sections PID-tuning external whole field or sections 53 existing “lifecycle simulator (LCS)”(mandatory) why ? Diganose case studies Screen/prioritize optimize/recommend operator training, testing and verification of control system process design “what-if” modeling - how semi-automatic dynamic data-driven graph network of unit models manual dynamic first principles ( describes transients ) speed 1.000-10.000x ( sections ) 1-10x ( whole field ) 10-100x ( sections ) suitable for automatic optimization yes no time to establish ( capex ) days months (online), built on existing LCS opex cost low-low high Integration Digital twin component (API) Complete «Simulator as a service» «Advanced analytics » requires a different kind of digital twin . 12 | github.com/equinor/timeseriesanalysis
How?
1 Nonlinear black-box modeling in system identification: a unified overview ,1995 2 Perspectives on system identification,2010 Bias- varaiance tradeoff Applies when fitting a model to data: « adding an extra parameter to your model can hurt overall model performance , if it increases variance more than it decreases bias» Fitting favors smaller , simpler models (« grey » as opposed to « white ») Try simple models first fit , and « argue -in» each additional term (re- fit and compare ) Remembering the forgotten field of «System Identification » Four central problems for industrial of system identification stated by Lennart Ljung Automatically polishing data and finding informative portions Integrating grey-box identification methods into modeling tools Taking care of structural information Simple models for control tuning and performance monitoring Septic /MPC are based on these ideas , already in extensive use in Equinor 14 | github.com/equinor/timeseriesanalysis
15 | Tools for advaned analytics y[t]= b *( u [t]-u0) + q y[t]= a*y[k-1]+ b *( u [t]-u0) + q y[t]= a *y[t-1]+ b * u [k- t_d ] + q y[t]= b *( u [t]-u0) + c *( u [t]-u0])^2+ q The simples conceivable model : (linear and static ) Argue in: dynamics term Argue in: nonlinear term Argue in: time delay Automate model selection based on the simplest conceivable models ( including transients and nonlinearities ) Unit models that can be combined in graphs and simulated Support PID and feedback loops Unit Output (y) Inputs(u) «Advanced analytics » approach based on system identification Unit PID Unit1 Unit2 15 | github.com/equinor/timeseriesanalysis
How to work with the library Directly in code Created models can be persisted to file and shared /re-used. 16 | github.com/equinor/timeseriesanalysis
Min- select of two unit models Min- select of two unit models with PID Two units as input into a third unit model Three unit models in series with one feedback loop Cascade control Basic feedback system Combining «unit models into graphs that can be automatically / manually simulated 17 | github.com/equinor/timeseriesanalysis
Unique selling point : able to estimate disturbances acting on closed loop by means of a machine learning iterative guessing /testing approach 18 | github.com/equinor/timeseriesanalysis Closed -loop disturbance signal estimation | TimeSeriesAnalysis reference documentation (equinor.github.io) Read more:
A completely novel way to see the connections between PID- controllers 19 | github.com/equinor/timeseriesanalysis
An extensive set of unit test A good way to understand the code Plotting of time-series results can be enabled An essential feature to develop the code (test driven development ) An essential feature for re- using the code and for others to extend the code 22 | github.com/equinor/timeseriesanalysis
Summary
Summary Speed 1.000-10.000x ( sections ) * Semi-automatic modelling Data-driven models Graph- network of «unit» models Support for PID- and feedback loops Disturbance estimation special sauce Some nonlinearities Model understandable by humans Time to develop: days instead of months Opex cost : low-low In-house developed and open-source (« free » and easy to collaborate externally ) Library that can be integrated seamless to make our existing solutions « smarter » *= Suitable for optimization and interactive simulations 24 | github.com/equinor/timeseriesanalysis