alan-turing-institute / autoemulate

emulate simulations easily
MIT License
16 stars 2 forks source link

Defining Core Features and Differentiators of AutoEmulate #228

Open aranas opened 1 month ago

aranas commented 1 month ago

This issue is intended to document and consolidate our discussions regarding the main features that AutoEmulate offers in order to achieve its goal: "to replace simulations with fast, accurate emulators."

The focus will be on clearly identifying and outlining the unique capabilities of AutoEmulate that distinguish it from other AutoML or general-purpose model libraries. Our aim is to ensure that the core functionalities align with this mission while highlighting the specific advantages AutoEmulate brings to the table in comparison to existing tools.

related issues:

163

aranas commented 1 month ago

Current Features

Preprocessing - Support for basic preprocessing steps including standardization and PCA. Fitting - Capability to fit multiple emulator models with default settings and perform hyperparameter optimization. Application - Easy refitting of the best model and prediction of new data points. Evaluation - Cross-validation, R² and RMSE calculation, and comparison of models with performance overview tables. Visualization - Built-in functionality for visualizing fits and residuals. Ease of Use - Designed to minimize the number of code lines required for surrogate modelling

Aspirational Features

Advanced preprocessing - dimensionality reduction Domain-Specific Emulators - Guidance for user-driven model selection based on data and problem boundaries Experimental Design - Functionality for finding optimal experimental designs Enhanced Model Comparison - Assess model similarity beyond fit, uncertainty quantification Improved prediction - Integration of ensemble methods and model composition for better predictive performance.

aranas commented 1 month ago

@pyatsysh @zackxconti documenting our discussion today, feel free to add anything missing @mastoffel have I captured the current features well? should we add this feature list to the README?