scieee AI-readable full text Open interactive document viewer

AutoEmulate: Python library for automatically creating accurate and efficient emulators of complex simulations.

Brown, Edwin

Abstract

Physical systems are understood and developed through simulations. The complexity of these systems often results in costly and time-consuming simulations. Emulators (surrogate models) can approximate the solution of simulations at a fraction of the computational expense. However, building effective emulators typically requires significant machine learning (ML) expertise, posing a barrier for domain experts. To overcome this limitation, we present AutoEmulate, a Python package that automates the construction of the best emulator suited for a given simulation, employing state-of-the-art advancements in the field. AutoEmulate supports a wide range of emulator models as well as data preprocessing, calibration, and analysis methods. AutoEmulate’s user-friendly interface enables domain experts to deploy high-performance emulators with minimal ML expertise, offering a reliable solution for simulation-driven exploration across various disciplines. Acknowledgements Alan Turing Institute

Full text

To understand complex realworld systems, researchers and engineers often construct computer simulations. Simulations are computationally expensive and can take hours, days or even weeks to run. Emulators are fast, accurate models trained to replace simulations in real world applications. Sensitvity Analysis quantifies how much each input parameter contributes to the output variance of a model. Calibration adjusts input parameter values to find those that match real world observed data. Active Learning intelligently chooses where in the parameter space to run the simulator for training the emulator. What is Emulation? What is AutoEmulate? Step 1: Train an Emulator using simulated data. Simulated data AutoEmulate Trained Emulator Step 3: Calibrate the most important input parameters to real world observations. Real Observations Trained Emulator Feature Sensitivity Input parameter distributions Example Workflow Step 2: Perform sensitivity analysis to find the most important input parameters. Trained Emulator AutoEmulate Feature Sensitivity AutoEmulate Features AutoEmulate Replace complex simulations with fast, accurate emulators www.autoemulate.com AutoEmulate is a Python library for automatically creating accurate and efficient emulators of complex simulations. AutoEmulate loops through suitable emulator models, tunes each model and returns the best performing emulator. Edwin Brown¹ ³, Radka Jersakova¹, Sam Greenbury¹, Ed Chalstrey¹, Marjan Famili², Christopher Sprague², Paolo Conti², Jason McEwen² 1. Research Engineering Group, The Alan Turing Institute 2.Fundamental Research in AI, The Alan Turing Institute 3. Research Software Engineering Team, University of Sheffield